patch-2.1.57 linux/net/ipv4/tcp.c

Next file: linux/net/netlink.c
Previous file: linux/net/ipv4/af_inet.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.56/linux/net/ipv4/tcp.c linux/net/ipv4/tcp.c
@@ -724,7 +724,7 @@
 		sk->socket->flags &= ~SO_NOSPACE;
 		add_wait_queue(sk->sleep, &wait);
 		for (;;) {
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				break;
 			current->state = TASK_INTERRUPTIBLE;
 			if (tcp_memory_free(sk))
@@ -792,7 +792,7 @@
 		if (flags&MSG_DONTWAIT)
 			return -EAGAIN;
 		
-		if (current->signal & ~current->blocked)
+		if (signal_pending(current))
 			return -ERESTARTSYS;
 		
 		wait_for_tcp_connect(sk);
@@ -915,7 +915,7 @@
 					return -EAGAIN;
 				}
 
-				if (current->signal & ~current->blocked) {
+				if (signal_pending(current)) {
 					if (copied)
 						return copied;
 					return -ERESTARTSYS;
@@ -1155,7 +1155,7 @@
 		 * handling. FIXME: Need to check this doesnt impact 1003.1g
 		 * and move it down to the bottom of the loop
 		 */
-		if (current->signal & ~current->blocked) {
+		if (signal_pending(current)) {
 			if (copied)
 				break;
 			copied = -ERESTARTSYS;
@@ -1473,7 +1473,7 @@
 		current->timeout = timeout;
 		while(closing(sk) && current->timeout) {
 			interruptible_sleep_on(sk->sleep);
-			if (current->signal & ~current->blocked)
+			if (signal_pending(current))
 				break;
 		}
 		current->timeout=0;
@@ -1518,7 +1518,7 @@
 		req = tcp_find_established(&(sk->tp_pinfo.af_tcp), pprev);
 		if (req) 
 			break;
-		if (current->signal & ~current->blocked)
+		if (signal_pending(current))
 			break;
 	}
 	remove_wait_queue(sk->sleep, &wait);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov