diff options
author | peter <peter@FreeBSD.org> | 1998-05-31 18:38:43 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1998-05-31 18:38:43 +0000 |
commit | a4063ba4e26d0e7f8252f48af7e9b4fa5a86fea1 (patch) | |
tree | eab0781e30bd29bb74b821baa548a59a4b618026 /sys | |
parent | 55de15ff4348a19da5300c33637af428c596e934 (diff) | |
download | FreeBSD-src-a4063ba4e26d0e7f8252f48af7e9b4fa5a86fea1.zip FreeBSD-src-a4063ba4e26d0e7f8252f48af7e9b4fa5a86fea1.tar.gz |
Have the wakeup routine do the upcall if needed.
Obtained from: NetBSD
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/uipc_sockbuf.c | 4 | ||||
-rw-r--r-- | sys/kern/uipc_socket2.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index fd3277e..79de43c 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_socket2.c,v 1.34 1998/05/15 20:11:30 wollman Exp $ + * $Id: uipc_socket2.c,v 1.35 1998/05/17 11:52:56 phk Exp $ */ #include <sys/param.h> @@ -327,6 +327,8 @@ sowakeup(so, sb) else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0) psignal(p, SIGIO); } + if (sb->sb_flags & SB_UPCALL) + (*so->so_upcall)(so, so->so_upcallarg, M_DONTWAIT); } /* diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index fd3277e..79de43c 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_socket2.c,v 1.34 1998/05/15 20:11:30 wollman Exp $ + * $Id: uipc_socket2.c,v 1.35 1998/05/17 11:52:56 phk Exp $ */ #include <sys/param.h> @@ -327,6 +327,8 @@ sowakeup(so, sb) else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0) psignal(p, SIGIO); } + if (sb->sb_flags & SB_UPCALL) + (*so->so_upcall)(so, so->so_upcallarg, M_DONTWAIT); } /* |