mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-19 05:10:40 +00:00
Fixed bug #32820 (Outgoing TCP connections created before route is present never times out) by starting retransmission timer before checking route.
This commit is contained in:
parent
4495516497
commit
3bad9f013e
@ -13,7 +13,7 @@ HISTORY
|
|||||||
|
|
||||||
++ New features:
|
++ New features:
|
||||||
|
|
||||||
2011-03-22: Simon Goldschmidt
|
2011-03-27: Simon Goldschmidt
|
||||||
* tcp_impl.h, tcp_in.c, tcp_out.c: Removed 'dataptr' from 'struct tcp_seg' and
|
* tcp_impl.h, tcp_in.c, tcp_out.c: Removed 'dataptr' from 'struct tcp_seg' and
|
||||||
calculate it in tcp_zero_window_probe (the only place where it was used).
|
calculate it in tcp_zero_window_probe (the only place where it was used).
|
||||||
|
|
||||||
@ -237,6 +237,11 @@ HISTORY
|
|||||||
|
|
||||||
++ Bugfixes:
|
++ Bugfixes:
|
||||||
|
|
||||||
|
2011-03-27: Simon Goldschmidt
|
||||||
|
* tcp_out.c: Fixed bug #32820 (Outgoing TCP connections created before route
|
||||||
|
is present never times out) by starting retransmission timer before checking
|
||||||
|
route.
|
||||||
|
|
||||||
2011-03-22: Simon Goldschmidt
|
2011-03-22: Simon Goldschmidt
|
||||||
* ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only
|
* ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only
|
||||||
calling sio_read_abort() if the file descriptor is valid.
|
calling sio_read_abort() if the file descriptor is valid.
|
||||||
|
@ -1078,6 +1078,12 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Set retransmission timer running if it is not currently enabled
|
||||||
|
This must be set before checking the route. */
|
||||||
|
if (pcb->rtime == -1) {
|
||||||
|
pcb->rtime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* If we don't have a local IP address, we get one by
|
/* If we don't have a local IP address, we get one by
|
||||||
calling ip_route(). */
|
calling ip_route(). */
|
||||||
if (ip_addr_isany(&(pcb->local_ip))) {
|
if (ip_addr_isany(&(pcb->local_ip))) {
|
||||||
@ -1088,11 +1094,6 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)
|
|||||||
ip_addr_copy(pcb->local_ip, netif->ip_addr);
|
ip_addr_copy(pcb->local_ip, netif->ip_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set retransmission timer running if it is not currently enabled */
|
|
||||||
if(pcb->rtime == -1) {
|
|
||||||
pcb->rtime = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pcb->rttest == 0) {
|
if (pcb->rttest == 0) {
|
||||||
pcb->rttest = tcp_ticks;
|
pcb->rttest = tcp_ticks;
|
||||||
pcb->rtseq = ntohl(seg->tcphdr->seqno);
|
pcb->rtseq = ntohl(seg->tcphdr->seqno);
|
||||||
|
Loading…
Reference in New Issue
Block a user