diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-12-16 23:30:09 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-12-16 23:30:09 +0000 |
commit | 7a1e8c8807b8ec609170f36ca7802f32c25c3a70 (patch) | |
tree | e957ff87fa778898195814a233c30edd11a0ab4a | |
parent | 2ff3518d59760ea61f11d33c0ddd7a428cc307ef (diff) |
2003-12-16 Joel Sherrill <joel@OARcorp.com>
PR 543/rtems
* src/threadclose.c: Make the task delete extension run outside a
dispatch disabled critical section so extensions can free resources.
-rw-r--r-- | cpukit/score/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/score/src/threadclose.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/cpukit/score/ChangeLog b/cpukit/score/ChangeLog index d31dabc5e3..c3ef49c96e 100644 --- a/cpukit/score/ChangeLog +++ b/cpukit/score/ChangeLog @@ -1,3 +1,9 @@ +2003-12-16 Joel Sherrill <joel@OARcorp.com> + + PR 543/rtems + * src/threadclose.c: Make the task delete extension run outside a + dispatch disabled critical section so extensions can free resources. + 2003-11-25 Joel Sherrill <joel@OARcorp.com> PR 526/rtems diff --git a/cpukit/score/src/threadclose.c b/cpukit/score/src/threadclose.c index 8f46c2c242..6e006f97c4 100644 --- a/cpukit/score/src/threadclose.c +++ b/cpukit/score/src/threadclose.c @@ -41,6 +41,8 @@ void _Thread_Close( Thread_Control *the_thread ) { + _User_extensions_Thread_delete( the_thread ); + _Objects_Close( information, &the_thread->Object ); _Thread_Set_state( the_thread, STATES_TRANSIENT ); @@ -50,8 +52,6 @@ void _Thread_Close( (void) _Watchdog_Remove( &the_thread->Timer ); } - _User_extensions_Thread_delete( the_thread ); - #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE ) #if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE ) if ( _Thread_Is_allocated_fp( the_thread ) ) |