diff options
author | deischen <deischen@FreeBSD.org> | 2003-04-18 07:09:43 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2003-04-18 07:09:43 +0000 |
commit | d729efd111ee19870b3bb070e86f12c4057aa3b1 (patch) | |
tree | c4540fbdb5dd93853283bd4d70315482a539912b /lib/libpthread/thread/thr_resume_np.c | |
parent | 556bb64555ef5aede171c8ea3372a6c814dd324d (diff) | |
download | FreeBSD-src-d729efd111ee19870b3bb070e86f12c4057aa3b1.zip FreeBSD-src-d729efd111ee19870b3bb070e86f12c4057aa3b1.tar.gz |
Sorry folks; I accidentally committed a patch from what I was working
on a couple of days ago. This should be the most recent changes.
Noticed by: davidxu
Diffstat (limited to 'lib/libpthread/thread/thr_resume_np.c')
-rw-r--r-- | lib/libpthread/thread/thr_resume_np.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libpthread/thread/thr_resume_np.c b/lib/libpthread/thread/thr_resume_np.c index d0b45b3..ceb2cde 100644 --- a/lib/libpthread/thread/thr_resume_np.c +++ b/lib/libpthread/thread/thr_resume_np.c @@ -55,7 +55,10 @@ _pthread_resume_np(pthread_t thread) /* Lock the threads scheduling queue: */ THR_SCHED_LOCK(curthread, thread); - resume_common(thread); + if ((curthread->state != PS_DEAD) && + (curthread->state != PS_DEADLOCK) && + ((curthread->flags & THR_FLAGS_EXITING) != 0)) + resume_common(thread); /* Unlock the threads scheduling queue: */ THR_SCHED_UNLOCK(curthread, thread); |