patch-2.3.99-pre4 linux/net/socket.c
Next file: linux/net/sunrpc/clnt.c
Previous file: linux/net/netsyms.c
Back to the patch index
Back to the overall index
-  Lines: 25
-  Date:
Mon Mar 27 10:35:57 2000
-  Orig file: 
v2.3.99-pre3/linux/net/socket.c
-  Orig date: 
Sat Feb 12 11:22:11 2000
diff -u --recursive --new-file v2.3.99-pre3/linux/net/socket.c linux/net/socket.c
@@ -690,20 +690,17 @@
 	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);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)