mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 09:05:06 +08:00
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:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user