summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbeck <beck@openbsd.org>2012-10-17 23:58:25 +0000
committerbeck <beck@openbsd.org>2012-10-17 23:58:25 +0000
commit2ee83f03a9eff99d30b0293de40fc358a465ba83 (patch)
treeb066b68b2a4cc8cfedacc2a7a4653b9663afd84c /sys
parentsync (diff)
downloadwireguard-openbsd-2ee83f03a9eff99d30b0293de40fc358a465ba83.tar.xz
wireguard-openbsd-2ee83f03a9eff99d30b0293de40fc358a465ba83.zip
use wakeup here, not wakeup_one - avoids problem of not waking up writers
when there are more of them than size of queue waiting, and nothing else going on. ok miod@ kettenis@
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_bufq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_bufq.c b/sys/kern/kern_bufq.c
index 9cebc7a6e4f..9838dd0827c 100644
--- a/sys/kern/kern_bufq.c
+++ b/sys/kern/kern_bufq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_bufq.c,v 1.22 2012/10/09 16:44:15 beck Exp $ */
+/* $OpenBSD: kern_bufq.c,v 1.23 2012/10/17 23:58:25 beck Exp $ */
/*
* Copyright (c) 2010 Thordur I. Bjornsson <thib@openbsd.org>
* Copyright (c) 2010 David Gwynne <dlg@openbsd.org>
@@ -278,7 +278,7 @@ bufq_done(struct bufq *bq, struct buf *bp)
if (bq->bufq_stop && bq->bufq_outstanding == 0)
wakeup(&bq->bufq_outstanding);
if (bq->bufq_waiting && bq->bufq_outstanding < bq->bufq_low)
- wakeup_one(&bq->bufq_waiting);
+ wakeup(&bq->bufq_waiting);
mtx_leave(&bq->bufq_mtx);
bp->b_bq = NULL;
}