mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-04 14:29:39 +00:00
2008-01-15 Kieran Mansley
* tcp_out.c: BUG20511. Modify persist timer to start when we are prevented from sending by a small send window, not just a zero send window.
This commit is contained in:
parent
7518acf634
commit
6f00cbb6ef
@ -592,6 +592,12 @@ HISTORY
|
||||
|
||||
++ Bug fixes:
|
||||
|
||||
|
||||
2008-01-15 Kieran Mansley
|
||||
* tcp_out.c: BUG20511. Modify persist timer to start when we are
|
||||
prevented from sending by a small send window, not just a zero
|
||||
send window.
|
||||
|
||||
2008-01-09 Jonathan Larmour
|
||||
* opt.h, ip.c: Rename IP_OPTIONS define to IP_OPTIONS_ALLOWED to avoid
|
||||
conflict with Linux system headers.
|
||||
|
@ -510,11 +510,7 @@ tcp_output(struct tcp_pcb *pcb)
|
||||
ntohl(seg->tcphdr->seqno), pcb->lastack));
|
||||
}
|
||||
#endif /* TCP_CWND_DEBUG */
|
||||
if (seg != NULL && pcb->snd_wnd == 0 && pcb->persist_backoff == 0) {
|
||||
/* prepare for persist timer */
|
||||
pcb->persist_cnt = 0;
|
||||
pcb->persist_backoff = 1;
|
||||
} /* data available and window allows it to be sent? */
|
||||
/* data available and window allows it to be sent? */
|
||||
while (seg != NULL &&
|
||||
ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len <= wnd) {
|
||||
LWIP_ASSERT("RST not expected here!",
|
||||
@ -579,8 +575,16 @@ tcp_output(struct tcp_pcb *pcb)
|
||||
}
|
||||
seg = pcb->unsent;
|
||||
}
|
||||
pcb->flags &= ~TF_NAGLEMEMERR;
|
||||
return ERR_OK;
|
||||
|
||||
if (seg != NULL && pcb->persist_backoff == 0 &&
|
||||
ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len > pcb->snd_wnd) {
|
||||
/* prepare for persist timer */
|
||||
pcb->persist_cnt = 0;
|
||||
pcb->persist_backoff = 1;
|
||||
}
|
||||
|
||||
pcb->flags &= ~TF_NAGLEMEMERR;
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user