diff options
Diffstat (limited to 'sys-kernel/win4lin-sources/files/win4lin-sources.AF_UNIX.patch')
-rw-r--r-- | sys-kernel/win4lin-sources/files/win4lin-sources.AF_UNIX.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys-kernel/win4lin-sources/files/win4lin-sources.AF_UNIX.patch b/sys-kernel/win4lin-sources/files/win4lin-sources.AF_UNIX.patch new file mode 100644 index 000000000000..6ced78404a2d --- /dev/null +++ b/sys-kernel/win4lin-sources/files/win4lin-sources.AF_UNIX.patch @@ -0,0 +1,24 @@ +--- linux-2.4.27/net/unix/af_unix.c 2004-11-24 08:23:21 -08:00 ++++ linux-2.4.28/net/unix/af_unix.c 2004-11-24 08:23:21 -08:00 +@@ -1403,9 +1403,11 @@ + + msg->msg_namelen = 0; + ++ down(&sk->protinfo.af_unix.readsem); ++ + skb = skb_recv_datagram(sk, flags, noblock, &err); + if (!skb) +- goto out; ++ goto out_unlock; + + wake_up_interruptible(&sk->protinfo.af_unix.peer_wait); + +@@ -1449,6 +1451,8 @@ + + out_free: + skb_free_datagram(sk,skb); ++out_unlock: ++ up(&sk->protinfo.af_unix.readsem); + out: + return err; + } |