summaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-04-19 04:00:00 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-04-19 04:00:00 +0000
commit46e045034336a2cc90c1798cd7cc07af744ddfd6 (patch)
tree3b9b51fc482e729f663d25333e77fbed9aaa939a /net/socket.c
parent31dc59d503a02e84c4de98826452acaeb56dc15a (diff)
Merge with Linux 2.3.99-pre4.
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/net/socket.c b/net/socket.c
index edaf48a3b..fb5158241 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -690,20 +690,17 @@ int sock_wake_async(struct socket *sock, int how, int band)
switch (how)
{
case 1:
- if (sock->flags & SO_WAITDATA)
+
+ if (test_bit(SOCK_ASYNC_WAITDATA, &sock->flags))
break;
goto call_kill;
case 2:
- if (!(sock->flags & SO_NOSPACE))
+ if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sock->flags))
break;
- sock->flags &= ~SO_NOSPACE;
/* fall through */
case 0:
call_kill:
- /* read_lock(&sock->sk->callback_lock); */
- if(sock->fasync_list != NULL)
- kill_fasync(sock->fasync_list, SIGIO, band);
- /* read_unlock(&sock->sk->callback_lock); */
+ kill_fasync(sock->fasync_list, SIGIO, band);
break;
case 3:
kill_fasync(sock->fasync_list, SIGURG, band);