diff packages/redboot/current/src/net/tcp.c @ 156:b939e9cada46

Merge from eCos master repository on 2001-03-29-21:44:39-BST
author jlarmour
date Fri, 06 Apr 2001 17:20:13 +0000
parents 52c99470ec11
children ea3f0bd33a73
line wrap: on
line diff
--- a/packages/redboot/current/src/net/tcp.c
+++ b/packages/redboot/current/src/net/tcp.c
@@ -504,6 +504,7 @@ void
 		    handle_ack(s, pkt);
 		    if (ntohl(tcp->acknum) == (s->seq + 1)) {
 			/* got ACK for FIN packet */
+			s->seq++;
 			if (tcp->flags & TCP_FLAG_FIN) {
 			    BSPLOG(bsp_log("_FIN_WAIT_1 --> _TIME_WAIT\n"));
 			    s->ack++;
@@ -548,7 +549,8 @@ void
 
 	      case _TIME_WAIT:
 		BSPLOG(bsp_log("_TIME_WAIT resend.\n"));
-		tcp_send(s, 0, 1); /* just resend ack */
+		if (tcp->flags & TCP_FLAG_FIN)
+		    tcp_send(s, 0, 1); /* just resend ack */
 		break;
 	    }
 	} else {