summaryrefslogtreecommitdiffstats
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/unix/af_unix.c')
-rw-r--r--net/unix/af_unix.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 7b3c63e87..a57c2a06d 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -8,7 +8,7 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
- * Version: $Id: af_unix.c,v 1.88 2000/01/18 08:24:28 davem Exp $
+ * Version: $Id: af_unix.c,v 1.89 2000/02/27 19:52:50 davem Exp $
*
* Fixes:
* Linus Torvalds : Assorted bug cures.
@@ -1556,8 +1556,10 @@ static int unix_shutdown(struct socket *sock, int mode)
other->shutdown |= peer_mode;
unix_state_wunlock(other);
other->state_change(other);
- if (peer_mode&RCV_SHUTDOWN)
- sock_wake_async(sk->socket,1,POLL_HUP);
+ if (peer_mode == SHUTDOWN_MASK)
+ sock_wake_async(other->socket,1,POLL_HUP);
+ else if (peer_mode & RCV_SHUTDOWN)
+ sock_wake_async(other->socket,1,POLL_IN);
}
if (other)
sock_put(other);