2007-11-06 Joel Sherrill <joel.sherrill@OARcorp.com>

PR 1266/cpukit
	* posix/src/keycreate.c, posix/src/keyrundestructors.c: Use API instead
	of class for key indexing.
This commit is contained in:
Joel Sherrill
2007-11-06 21:39:23 +00:00
parent 63fa36ea60
commit 1d0efc105e
3 changed files with 13 additions and 7 deletions
+6
View File
@@ -1,3 +1,9 @@
2007-11-06 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1266/cpukit
* posix/src/keycreate.c, posix/src/keyrundestructors.c: Use API instead
of class for key indexing.
2007-11-06 Joel Sherrill <joel.sherrill@OARcorp.com>
* telnetd/icmds.c, telnetd/pty.c, telnetd/telnetd.c, telnetd/telnetd.h:
+1 -1
View File
@@ -46,7 +46,7 @@ int pthread_key_create(
/*
* This is a bit more complex than one might initially expect because
* APIs are optional. Thus there may be no ITRON tasks to have keys
* for. [NOTE: Currently RTEMS Classic API tasks are not always enabled.]
* for. [NOTE: Currently RTEMS Classic API tasks are always enabled.]
*/
for ( the_api = 1;
+6 -6
View File
@@ -31,15 +31,15 @@ void _POSIX_Keys_Run_destructors(
)
{
uint32_t index;
uint32_t pthread_index;
uint32_t pthread_class;
uint32_t thread_index;
uint32_t thread_api;
uint32_t iterations;
boolean are_all_null;
POSIX_Keys_Control *the_key;
void *value;
pthread_index = _Objects_Get_index( thread->Object.id );
pthread_class = _Objects_Get_class( thread->Object.id );
thread_index = _Objects_Get_index( thread->Object.id );
thread_api = _Objects_Get_API( thread->Object.id );
iterations = 0;
@@ -53,10 +53,10 @@ void _POSIX_Keys_Run_destructors(
_POSIX_Keys_Information.local_table[ index ];
if ( the_key && the_key->is_active && the_key->destructor ) {
value = the_key->Values[ pthread_class ][ pthread_index ];
value = the_key->Values[ thread_api ][ thread_index ];
if ( value ) {
(*the_key->destructor)( value );
if ( the_key->Values[ pthread_class ][ pthread_index ] )
if ( the_key->Values[ thread_api ][ thread_index ] )
are_all_null = FALSE;
}
}