summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/keysetspecific.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2014-03-04 15:54:12 -0600
committerJoel Sherrill <joel.sherrill@oarcorp.com>2014-03-07 13:21:11 -0600
commite6c87f78724743bc74a38678f93ed579ace840f2 (patch)
treedce3962edb00574dade0c8caf837cd85b9607831 /cpukit/posix/src/keysetspecific.c
parentRemove trailing whitespace in previous patches (diff)
downloadrtems-e6c87f78724743bc74a38678f93ed579ace840f2.tar.bz2
POSIX keys now enabled in all configurations.
Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
Diffstat (limited to 'cpukit/posix/src/keysetspecific.c')
-rw-r--r--cpukit/posix/src/keysetspecific.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/cpukit/posix/src/keysetspecific.c b/cpukit/posix/src/keysetspecific.c
index 5cfa90e4e7..c6e2d30151 100644
--- a/cpukit/posix/src/keysetspecific.c
+++ b/cpukit/posix/src/keysetspecific.c
@@ -7,7 +7,7 @@
/*
* Copyright (c) 2012 Zhongwei Yao.
- * COPYRIGHT (c) 1989-2007.
+ * COPYRIGHT (c) 1989-2014.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -20,7 +20,7 @@
#endif
#include <rtems/posix/keyimpl.h>
-#include <rtems/posix/threadsup.h>
+#include <rtems/score/thread.h>
#include <rtems/score/chainimpl.h>
#include <errno.h>
@@ -37,7 +37,6 @@ int pthread_setspecific(
POSIX_Keys_Control *the_key;
Objects_Locations location;
POSIX_Keys_Key_value_pair *value_pair_ptr;
- POSIX_API_Control *api;
the_key = _POSIX_Keys_Get( key, &location );
switch ( location ) {
@@ -55,7 +54,7 @@ int pthread_setspecific(
value_pair_ptr->thread_id = _Thread_Executing->Object.id;
value_pair_ptr->value = value;
if ( _RBTree_Insert( &_POSIX_Keys_Key_value_lookup_tree,
- &(value_pair_ptr->Key_value_lookup_node) ) ) {
+ &(value_pair_ptr->Key_value_lookup_node) ) ) {
_Freechain_Put( (Freechain_Control *)&_POSIX_Keys_Keypool,
(void *) value_pair_ptr );
_Objects_Put( &the_key->Object );
@@ -64,9 +63,10 @@ int pthread_setspecific(
}
/** append rb_node to the thread API extension's chain */
- api = (POSIX_API_Control *)\
- (_Thread_Executing->API_Extensions[THREAD_API_POSIX]);
- _Chain_Append_unprotected( &api->Key_Chain, &value_pair_ptr->Key_values_per_thread_node );
+ _Chain_Append_unprotected(
+ &_Thread_Executing->Key_Chain,
+ &value_pair_ptr->Key_values_per_thread_node
+ );
_Objects_Put( &the_key->Object );