patch-2.1.132 linux/net/ax25/af_ax25.c
Next file: linux/net/ax25/ax25_ds_in.c
Previous file: linux/net/appletalk/ddp.c
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
Fri Dec 18 13:56:21 1998
- Orig file:
v2.1.131/linux/net/ax25/af_ax25.c
- Orig date:
Thu Sep 17 17:53:39 1998
diff -u --recursive --new-file v2.1.131/linux/net/ax25/af_ax25.c linux/net/ax25/af_ax25.c
@@ -1242,21 +1242,17 @@
return -EINVAL;
/*
- * The write queue this time is holding sockets ready to use
+ * The read queue this time is holding sockets ready to use
* hooked into the SABM we saved
*/
do {
- cli();
if ((skb = skb_dequeue(&sk->receive_queue)) == NULL) {
- if (flags & O_NONBLOCK) {
- sti();
+ if (flags & O_NONBLOCK)
return -EWOULDBLOCK;
- }
+
interruptible_sleep_on(sk->sleep);
- if (signal_pending(current)) {
- sti();
+ if (signal_pending(current))
return -ERESTARTSYS;
- }
}
} while (skb == NULL);
@@ -1264,10 +1260,10 @@
newsk->pair = NULL;
newsk->socket = newsock;
newsk->sleep = &newsock->wait;
- sti();
/* Now attach up the new socket */
skb->sk = NULL;
+ skb->destructor = NULL;
kfree_skb(skb);
sk->ack_backlog--;
newsock->sk = newsk;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov