4 February 2004, Leon Woestenberg <leon.woestenberg@gmx.net>

tcp_in.c: Applied fix patch for bug #2679.
tcp_out.c: Applied fix patch for bug #2679.
http://savannah.nongnu.org/bugs/?func=detailitem&item_id=2679
This commit is contained in:
likewise 2005-02-04 13:43:13 +00:00
parent ac5c6695c1
commit 533fc217d4
2 changed files with 7 additions and 2 deletions

View File

@ -758,7 +758,9 @@ tcp_receive(struct tcp_pcb *pcb)
/* Update the send buffer space. */
pcb->acked = ackno - pcb->lastack;
pcb->snd_buf += pcb->acked;
/* FIX: Data split over odd boundaries */
pcb->snd_buf += ((pcb->acked+1) & ~0x1); /* Even the send buffer */
/* Reset the fast retransmit variables. */
pcb->dupacks = 0;

View File

@ -337,7 +337,10 @@ tcp_enqueue(struct tcp_pcb *pcb, void *arg, u16_t len,
++len;
}
pcb->snd_lbb += len;
pcb->snd_buf -= len;
/* FIX: Data split over odd boundaries */
pcb->snd_buf -= ((len+1) & ~0x1); /* Even the send buffer */
/* update number of segments on the queues */
pcb->snd_queuelen = queuelen;
LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_enqueue: %d (after enqueued)\n", pcb->snd_queuelen));