patch-2.3.47 linux/net/ipv4/tcp_output.c
Next file: linux/net/irda/irlan/irlan_client.c
Previous file: linux/net/ipv4/ipconfig.c
Back to the patch index
Back to the overall index
- Lines: 18
- Date:
Sun Feb 20 20:23:20 2000
- Orig file:
v2.3.46/linux/net/ipv4/tcp_output.c
- Orig date:
Thu Feb 10 17:11:24 2000
diff -u --recursive --new-file v2.3.46/linux/net/ipv4/tcp_output.c linux/net/ipv4/tcp_output.c
@@ -857,11 +857,15 @@
}
} else {
/* Socket is locked, keep trying until memory is available. */
- do {
+ for (;;) {
skb = sock_wmalloc(sk,
MAX_TCP_HEADER + 15,
1, GFP_KERNEL);
- } while (skb == NULL);
+ if (skb)
+ break;
+ current->policy |= SCHED_YIELD;
+ schedule();
+ }
/* Reserve space for headers and prepare control bits. */
skb_reserve(skb, MAX_TCP_HEADER);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)