diff options
| -rw-r--r-- | sys/kern/kern_condvar.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c index 75a60c7594b8..160434b041fe 100644 --- a/sys/kern/kern_condvar.c +++ b/sys/kern/kern_condvar.c @@ -291,9 +291,9 @@ cv_wait_sig(struct cv *cvp, struct mtx *mp) else rval = ERESTART; } - PROC_UNLOCK(p); if (p->p_flag & P_WEXIT) rval = EINTR; + PROC_UNLOCK(p); #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) @@ -454,10 +454,9 @@ cv_timedwait_sig(struct cv *cvp, struct mtx *mp, int timo) else rval = ERESTART; } - PROC_UNLOCK(p); - if (p->p_flag & P_WEXIT) rval = EINTR; + PROC_UNLOCK(p); #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) |
