summaryrefslogtreecommitdiff
path: root/sys/kern/kern_bufq.c
diff options
context:
space:
mode:
authorMatthew Dempsky <matthew@cvs.openbsd.org>2010-06-30 02:29:19 +0000
committerMatthew Dempsky <matthew@cvs.openbsd.org>2010-06-30 02:29:19 +0000
commit33b7839043d910d0f0716c663c93ee804eea219c (patch)
treee749a8b0a2133964aa4f251fb3c8f5c35a243039 /sys/kern/kern_bufq.c
parentee0711ecf155f99de3bedc9c7f0f55258f3b6adb (diff)
Call msleep(9) with PNORELOCK rather than calling mtx_leave()
immediately afterwards. ok thib@, tedu@
Diffstat (limited to 'sys/kern/kern_bufq.c')
-rw-r--r--sys/kern/kern_bufq.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/kern/kern_bufq.c b/sys/kern/kern_bufq.c
index ec6312d436d..1f0c4a97521 100644
--- a/sys/kern/kern_bufq.c
+++ b/sys/kern/kern_bufq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_bufq.c,v 1.10 2010/06/30 02:26:58 matthew Exp $ */
+/* $OpenBSD: kern_bufq.c,v 1.11 2010/06/30 02:29:18 matthew Exp $ */
/*
* Copyright (c) 2010 Thordur I. Bjornsson <thib@openbsd.org>
*
@@ -157,9 +157,8 @@ restart:
bq->bufq_stop = 1;
if (bq->bufq_outstanding) {
mtx_leave(&bufqs_mtx);
- msleep(&bq->bufq_outstanding, &bq->bufq_mtx, PRIBIO,
- "bufqqui", 0);
- mtx_leave(&bq->bufq_mtx);
+ msleep(&bq->bufq_outstanding, &bq->bufq_mtx,
+ PRIBIO | PNORELOCK, "bufqqui", 0);
goto restart;
}
mtx_leave(&bq->bufq_mtx);