diff options
author | davidxu <davidxu@FreeBSD.org> | 2005-01-08 06:57:46 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2005-01-08 06:57:46 +0000 |
commit | 6f1e481e4d62797bb30f0ce0886b8512437c3df2 (patch) | |
tree | 2937fcc6bee9fab0037c48ec7fd5453f95cf921d /sys/kern/kern_umtx.c | |
parent | 61aaea5fa050bd9aa261f8e0d5fa45248ff90eb4 (diff) | |
download | FreeBSD-src-6f1e481e4d62797bb30f0ce0886b8512437c3df2.zip FreeBSD-src-6f1e481e4d62797bb30f0ce0886b8512437c3df2.tar.gz |
Break out of loop earlier if it is not timeout.
Diffstat (limited to 'sys/kern/kern_umtx.c')
-rw-r--r-- | sys/kern/kern_umtx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index 5f1394f..158210c 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -651,7 +651,7 @@ do_wait(struct thread *td, struct umtx *umtx, long id, struct timespec *abstime) error = umtxq_sleep(td, &uq.uq_key, td->td_priority | PCATCH, "ucond", timo); - if (!(td->td_flags & TDF_UMTXQ)) + if (error != ETIMEDOUT || !(td->td_flags & TDF_UMTXQ)) break; umtxq_unlock(&uq.uq_key); } |