diff options
author | 2001-11-28 13:49:08 +0000 | |
---|---|---|
committer | 2001-11-28 13:49:08 +0000 | |
commit | 45c93d19e994e73b41d474d8543f6b5457ef2f6e (patch) | |
tree | 60fe6d3627c2886bebadf995db662ca62e8ed948 /sys/kern/uipc_socket2.c | |
parent | Sync in more uvm changes from NetBSD. (diff) | |
download | wireguard-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.c | 4 |
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); |