diff options
Diffstat (limited to 'cpukit/posix/src/cancelrun.c')
-rw-r--r-- | cpukit/posix/src/cancelrun.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/cpukit/posix/src/cancelrun.c b/cpukit/posix/src/cancelrun.c index caa7967594..3e93b3dd57 100644 --- a/cpukit/posix/src/cancelrun.c +++ b/cpukit/posix/src/cancelrun.c @@ -25,43 +25,6 @@ #include <rtems/posix/cancel.h> #include <rtems/posix/threadsup.h> -#ifndef HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT - -#include <rtems/score/chainimpl.h> -#include <rtems/score/isr.h> -#include <rtems/score/wkspace.h> -#include <rtems/posix/pthreadimpl.h> - -void _POSIX_Threads_cancel_run( - Thread_Control *the_thread -) -{ - POSIX_Cancel_Handler_control *handler; - Chain_Control *handler_stack; - POSIX_API_Control *thread_support; - ISR_Level level; - - thread_support = the_thread->API_Extensions[ THREAD_API_POSIX ]; - - handler_stack = &thread_support->Cancellation_Handlers; - - thread_support->cancelability_state = PTHREAD_CANCEL_DISABLE; - - while ( !_Chain_Is_empty( handler_stack ) ) { - _ISR_Disable( level ); - handler = (POSIX_Cancel_Handler_control *) - _Chain_Tail( handler_stack )->previous; - _Chain_Extract_unprotected( &handler->Node ); - _ISR_Enable( level ); - - (*handler->routine)( handler->arg ); - - _Workspace_Free( handler ); - } -} - -#else /* HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT */ - void _POSIX_Threads_cancel_run( Thread_Control *the_thread ) @@ -85,5 +48,3 @@ void _POSIX_Threads_cancel_run( context = context->_previous; } } - -#endif /* HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT */ |