* tcp.c, tcp_in.c, tcp_out.c, tcp.h: Modify way the retransmission

timer is reset to fix bug#19434, with help from Oleg Tyshev.
This commit is contained in:
kieranm
2007-04-12 14:56:07 +00:00
parent 58b3b0603d
commit 79be888b6f
4 changed files with 42 additions and 18 deletions

View File

@@ -551,7 +551,9 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)
ip_addr_set(&(pcb->local_ip), &(netif->ip_addr));
}
pcb->rtime = 0;
/* Set retransmission timer running if it is not currently enabled */
if(pcb->rtime == -1)
pcb->rtime = 0;
if (pcb->rttest == 0) {
pcb->rttest = tcp_ticks;
@@ -674,7 +676,6 @@ tcp_rexmit(struct tcp_pcb *pcb)
/* Do the actual retransmission. */
snmp_inc_tcpretranssegs();
tcp_output(pcb);
}