mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-04 14:29:39 +00:00
patch #8237 by Brian Fahs: tcp_rexmit_rto fails to update pcb->unsent_oversize when necessary
This commit is contained in:
parent
018719d9d3
commit
32b1a9fc8a
@ -84,6 +84,10 @@ HISTORY
|
||||
|
||||
++ Bugfixes:
|
||||
|
||||
2014-01-18: Brian Fahs
|
||||
* tcp_out.c: patch #8237: tcp_rexmit_rto fails to update pcb->unsent_oversize
|
||||
when necessary
|
||||
|
||||
2014-01-17: Grant Erickson, Jay Logue, Simon Goldschmidt
|
||||
* ipv6.c, netif.c: patch #7913 Enable Support for IPv6 Loopback
|
||||
|
||||
|
@ -1261,11 +1261,16 @@ tcp_rexmit_rto(struct tcp_pcb *pcb)
|
||||
for (seg = pcb->unacked; seg->next != NULL; seg = seg->next);
|
||||
/* concatenate unsent queue after unacked queue */
|
||||
seg->next = pcb->unsent;
|
||||
#if TCP_OVERSIZE && TCP_OVERSIZE_DBGCHECK
|
||||
/* if last unsent changed, we need to update unsent_oversize */
|
||||
if (pcb->unsent == NULL) {
|
||||
pcb->unsent_oversize = seg->oversize_left;
|
||||
}
|
||||
#endif /* TCP_OVERSIZE && TCP_OVERSIZE_DBGCHECK*/
|
||||
/* unsent queue is the concatenated queue (of unacked, unsent) */
|
||||
pcb->unsent = pcb->unacked;
|
||||
/* unacked queue is now empty */
|
||||
pcb->unacked = NULL;
|
||||
/* last unsent hasn't changed, no need to reset unsent_oversize */
|
||||
|
||||
/* increment number of retransmissions */
|
||||
++pcb->nrtx;
|
||||
|
Loading…
Reference in New Issue
Block a user