diff options
| author | David Xu <davidxu@FreeBSD.org> | 2003-07-03 10:12:21 +0000 |
|---|---|---|
| committer | David Xu <davidxu@FreeBSD.org> | 2003-07-03 10:12:21 +0000 |
| commit | 8b258c151d8d0cb6c04331767b23bdf09a72c8a1 (patch) | |
| tree | 4a59d2c78e3667e8a1c78d85d486c1cc12daec59 /lib/libpthread/thread | |
| parent | 9b5c4b66944c8228e686e2963bf77872812ce6bf (diff) | |
Notes
Diffstat (limited to 'lib/libpthread/thread')
| -rw-r--r-- | lib/libpthread/thread/thr_kern.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c index f7575adb4317..d2567b75e84c 100644 --- a/lib/libpthread/thread/thr_kern.c +++ b/lib/libpthread/thread/thr_kern.c @@ -673,7 +673,8 @@ _thr_sched_switch_unlocked(struct pthread *curthread) /* * This thread is being resumed; check for cancellations. */ - if ((psf.psf_valid || curthread->check_pending)) { + if ((psf.psf_valid || + (curthread->check_pending && !THR_IN_CRITICAL(curthread)))) { resume_once = 0; THR_GETCONTEXT(&uc); if (resume_once == 0) { |
