summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/canceleval.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-21 14:16:00 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-21 14:16:00 +0000
commit75eaf66aa17ba449dbf6d860c933c1ea6cf89566 (patch)
tree318a4b1226d922040a0969470a281bf218ef05c6 /cpukit/posix/src/canceleval.c
parent2009-07-21 Santosh G Vattam <vattam.santosh@gmail.com> (diff)
downloadrtems-75eaf66aa17ba449dbf6d860c933c1ea6cf89566.tar.bz2
2009-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* posix/include/rtems/posix/cancel.h, posix/src/cancel.c, posix/src/canceleval.c, posix/src/setcancelstate.c, posix/src/setcanceltype.c: Fix a minor bug in the previous modification which resulted in psxcancel failing.
Diffstat (limited to 'cpukit/posix/src/canceleval.c')
-rw-r--r--cpukit/posix/src/canceleval.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpukit/posix/src/canceleval.c b/cpukit/posix/src/canceleval.c
index 72932da07f..784b91ffb6 100644
--- a/cpukit/posix/src/canceleval.c
+++ b/cpukit/posix/src/canceleval.c
@@ -20,10 +20,14 @@
#include <rtems/posix/pthread.h>
void _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch(
- POSIX_API_Control *thread_support
+ Thread_Control *the_thread
)
{
- bool cancel = false;
+ POSIX_API_Control *thread_support;
+ bool cancel;
+
+ cancel = false;
+ thread_support = the_thread->API_Extensions[ THREAD_API_POSIX ];
if ( thread_support->cancelability_state == PTHREAD_CANCEL_ENABLE &&
thread_support->cancelability_type == PTHREAD_CANCEL_ASYNCHRONOUS &&
@@ -33,5 +37,5 @@ void _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch(
_Thread_Enable_dispatch();
if ( cancel )
- _POSIX_Thread_Exit( _Thread_Executing, PTHREAD_CANCELED );
+ _POSIX_Thread_Exit( the_thread, PTHREAD_CANCELED );
}