#2831: libstdc++ silently fails in case POSIX key operations fail due to
insufficient resources
-----------------------------+------------------
Reporter: sebastian.huber | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: 5.0
Component: cpukit | Version: 4.11
Severity: normal | Keywords:
-----------------------------+------------------
libstdc++ uses POSIX keys for thread-local storage in some places. It
silently fails in case POSIX key operations fail due to insufficient
resources. The storage space for POSIX keys is system provided via the
workspace which must be configured accordingly.
To remove the need for a detailed configuration one option is this.
1. Make the pthread_key_t self-contained, e.g. add something like this to
<pthread.h>
{{{
#!c
struct _pthread_key_value_pair;
typedef struct {
void (*_destructor)(void *);
struct _pthread_key_value_pair *_first;
struct _pthread_key_value_pair *_null;
struct _pthread_key_value_pair *_last;
} pthread_key_t;
}}}
2. Add a configurable allocator for POSIX key value pairs to the
configuration.
3. Add a simple slab based allocator to RTEMS.
--
Ticket URL: <http://devel.rtems.org/ticket/2831>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs