thr_cancel.c (117300) | thr_cancel.c (117706) |
---|---|
1/* 2 * David Leonard <d@openbsd.org>, 1999. Public domain. | 1/* 2 * David Leonard <d@openbsd.org>, 1999. Public domain. |
3 * $FreeBSD: head/lib/libkse/thread/thr_cancel.c 117300 2003-07-07 04:28:23Z davidxu $ | 3 * $FreeBSD: head/lib/libkse/thread/thr_cancel.c 117706 2003-07-17 23:02:30Z davidxu $ |
4 */ 5#include <sys/errno.h> 6#include <pthread.h> 7#include "thr_private.h" 8 9__weak_reference(_pthread_cancel, pthread_cancel); 10__weak_reference(_pthread_setcancelstate, pthread_setcancelstate); 11__weak_reference(_pthread_setcanceltype, pthread_setcanceltype); --- 90 unchanged lines hidden (view full) --- 102 break; 103 104 case PS_DEAD: 105 case PS_DEADLOCK: 106 case PS_STATE_MAX: 107 /* Ignore - only here to silence -Wall: */ 108 break; 109 } | 4 */ 5#include <sys/errno.h> 6#include <pthread.h> 7#include "thr_private.h" 8 9__weak_reference(_pthread_cancel, pthread_cancel); 10__weak_reference(_pthread_setcancelstate, pthread_setcancelstate); 11__weak_reference(_pthread_setcanceltype, pthread_setcanceltype); --- 90 unchanged lines hidden (view full) --- 102 break; 103 104 case PS_DEAD: 105 case PS_DEADLOCK: 106 case PS_STATE_MAX: 107 /* Ignore - only here to silence -Wall: */ 108 break; 109 } |
110 if ((pthread->blocked != 0) && 111 ((pthread->cancelflags & THR_AT_CANCEL_POINT) != 0)) 112 kse_thr_interrupt(&pthread->tmbx, -1); | 110 if ((pthread->cancelflags & THR_AT_CANCEL_POINT) && 111 (pthread->blocked != 0 || 112 pthread->attr.flags & PTHREAD_SCOPE_SYSTEM)) 113 kse_thr_interrupt(&pthread->tmbx, 114 KSE_INTR_INTERRUPT, 0); |
113 } 114 115 /* 116 * Release the thread's scheduling lock and remove the 117 * reference: 118 */ 119 THR_SCHED_UNLOCK(curthread, pthread); 120 _thr_ref_delete(curthread, pthread); --- 170 unchanged lines hidden --- | 115 } 116 117 /* 118 * Release the thread's scheduling lock and remove the 119 * reference: 120 */ 121 THR_SCHED_UNLOCK(curthread, pthread); 122 _thr_ref_delete(curthread, pthread); --- 170 unchanged lines hidden --- |