summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_resume_np.c
diff options
context:
space:
mode:
authordeischen <deischen@FreeBSD.org>2003-04-18 07:09:43 +0000
committerdeischen <deischen@FreeBSD.org>2003-04-18 07:09:43 +0000
commitd729efd111ee19870b3bb070e86f12c4057aa3b1 (patch)
treec4540fbdb5dd93853283bd4d70315482a539912b /lib/libpthread/thread/thr_resume_np.c
parent556bb64555ef5aede171c8ea3372a6c814dd324d (diff)
downloadFreeBSD-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.c5
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);
OpenPOWER on IntegriCloud