From b45b0ff7832361bbbccb5bb0006c9755139a9d30 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 6 Aug 2013 15:41:44 +0200 Subject: posix: Use _Objects_Put() for POSIX keys --- cpukit/posix/src/keygetspecific.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'cpukit/posix/src/keygetspecific.c') 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) -- cgit v1.2.3