summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket2.c
diff options
context:
space:
mode:
authorprovos <provos@openbsd.org>2001-11-28 13:49:08 +0000
committerprovos <provos@openbsd.org>2001-11-28 13:49:08 +0000
commit45c93d19e994e73b41d474d8543f6b5457ef2f6e (patch)
tree60fe6d3627c2886bebadf995db662ca62e8ed948 /sys/kern/uipc_socket2.c
parentSync in more uvm changes from NetBSD. (diff)
downloadwireguard-openbsd-45c93d19e994e73b41d474d8543f6b5457ef2f6e.tar.xz
wireguard-openbsd-45c93d19e994e73b41d474d8543f6b5457ef2f6e.zip
avoid "thundering herd" problem in accept by waking just one process.
based on freebsd. okay art@ markus@
Diffstat (limited to 'sys/kern/uipc_socket2.c')
-rw-r--r--sys/kern/uipc_socket2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index be3fb91993c..59ef43433f0 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uipc_socket2.c,v 1.23 2001/11/28 02:28:55 provos Exp $ */
+/* $OpenBSD: uipc_socket2.c,v 1.24 2001/11/28 13:49:08 provos Exp $ */
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
/*
@@ -111,7 +111,7 @@ soisconnected(so)
if (head && soqremque(so, 0)) {
soqinsque(head, so, 1);
sorwakeup(head);
- wakeup((caddr_t)&head->so_timeo);
+ wakeup_one((caddr_t)&head->so_timeo);
} else {
wakeup((caddr_t)&so->so_timeo);
sorwakeup(so);