patch-1.3.22 linux/net/unix/af_unix.c
Next file: linux/scripts/Configure
Previous file: linux/net/ipv4/udp.c
Back to the patch index
Back to the overall index
-  Lines: 59
 -  Date:
Thu Aug 31 08:09:07 1995
 -  Orig file: 
v1.3.21/linux/net/unix/af_unix.c
 -  Orig date: 
Mon Aug 28 14:52:27 1995
 
diff -u --recursive --new-file v1.3.21/linux/net/unix/af_unix.c linux/net/unix/af_unix.c
@@ -524,6 +524,7 @@
 		sk->protinfo.af_unix.other->protinfo.af_unix.locks--;
 		sk->protinfo.af_unix.other=NULL;
 		sock->state=SS_UNCONNECTED;
+		sti();
 		return -ECONNREFUSED;
 	}
 	
@@ -532,6 +533,7 @@
 	 */
 	 
 	sock->state=SS_CONNECTED;
+	sti();
 	return 0;
 	
 }
@@ -722,6 +724,7 @@
 			other->protinfo.af_unix.locks--;
 			sk->protinfo.af_unix.other=NULL;
 			sock->state=SS_UNCONNECTED;
+			sti();
 			return -ECONNRESET;
 		}
 	}
@@ -732,6 +735,7 @@
 		if(other==NULL)
 		{
 			kfree_skb(skb, FREE_WRITE);
+			sti();
 			return err;
 		}
 	}
@@ -790,11 +794,18 @@
 			{
 				up(&sk->protinfo.af_unix.readsem);
 				if(sk->shutdown & RCV_SHUTDOWN)
+				{
+					sti();
 					return copied;
+				}
 				if(copied)
+				{
+					sti();
 					return copied;
+				}
 				if(noblock)
 				{
+					sti();
 					return -EAGAIN;
 				}
 				sk->socket->flags |= SO_WAITDATA;
@@ -845,6 +856,7 @@
 						break;
 				}
 			}
+			sti();
 		}	
 	}	
 	up(&sk->protinfo.af_unix.readsem);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this