diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-06 15:41:44 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-06 15:49:34 +0200 |
commit | b45b0ff7832361bbbccb5bb0006c9755139a9d30 (patch) | |
tree | 5714fd619e1a337e0b89e2fadebf08d0056e75f1 /cpukit/posix/src/keygetspecific.c | |
parent | posix: Create key implementation header (diff) | |
download | rtems-b45b0ff7832361bbbccb5bb0006c9755139a9d30.tar.bz2 |
posix: Use _Objects_Put() for POSIX keys
Diffstat (limited to 'cpukit/posix/src/keygetspecific.c')
-rw-r--r-- | cpukit/posix/src/keygetspecific.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpukit/posix/src/keygetspecific.c b/cpukit/posix/src/keygetspecific.c index 568a98cf71..011917b325 100644 --- a/cpukit/posix/src/keygetspecific.c +++ b/cpukit/posix/src/keygetspecific.c @@ -38,13 +38,14 @@ void *pthread_getspecific( pthread_key_t key ) { + POSIX_Keys_Control *the_key; Objects_Locations location; POSIX_Keys_Key_value_pair search_node; RBTree_Node *p; void *key_data; POSIX_Keys_Key_value_pair *value_pair_p; - _POSIX_Keys_Get( key, &location ); + the_key = _POSIX_Keys_Get( key, &location ); switch ( location ) { case OBJECTS_LOCAL: @@ -62,7 +63,9 @@ void *pthread_getspecific( /* Key_value_lookup_node )->value; */ key_data = value_pair_p->value; } - _Thread_Enable_dispatch(); + + _Objects_Put( &the_key->Object ); + return key_data; #if defined(RTEMS_MULTIPROCESSING) |