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

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

diff -urN v2.2.15/linux/net/ipv4/tcp.c linux/net/ipv4/tcp.c
@@ -5,7 +5,7 @@
  *
  *		Implementation of the Transmission Control Protocol(TCP).
  *
- * Version:	$Id: tcp.c,v 1.140.2.10 2000/03/21 20:54:13 davem Exp $
+ * Version:	$Id: tcp.c,v 1.140.2.11 2000/04/17 05:57:01 davem Exp $
  *
  * Authors:	Ross Biro, <bir7@leland.Stanford.Edu>
  *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -1484,15 +1484,18 @@
 	while(req) {
 		struct open_request *iter;
 		
-		if (req->sk)
-			tcp_close(req->sk, 0);
-
 		iter = req;
 		req = req->dl_next;
 		
+		if (iter->sk) {
+			tcp_close(iter->sk, 0);
+			sk->ack_backlog--;
+		} else {
+			tcp_dec_slow_timer(TCP_SLT_SYNACK);
+			sk->tp_pinfo.af_tcp.syn_backlog--;
+		}
 		(*iter->class->destructor)(iter);
-		tcp_dec_slow_timer(TCP_SLT_SYNACK);
-		sk->ack_backlog--;
+
 		tcp_openreq_free(iter);
 	}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)