[RTEMS Project] #2831: libstdc++ silently fails in case POSIX key operations fail due to insufficient resources
RTEMS trac
trac at rtems.org
Tue Dec 6 07:32:27 UTC 2016
#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
More information about the bugs
mailing list