Fixed bug #20287: tcp_output_nagle sends too early. This fixes the nagle algorithm; nagle now also works for all raw API applications and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY'

This commit is contained in:
goldsimon
2007-11-21 17:59:03 +00:00
parent c31b405af6
commit dc515c7ad3
4 changed files with 43 additions and 9 deletions

View File

@@ -819,6 +819,9 @@ do_writemore(struct netconn *conn)
API_EVENT(conn, NETCONN_EVT_SENDMINUS, len);
}
} else if (err == ERR_MEM) {
/* tcp_enqueue returned ERR_MEM, try tcp_output anyway */
err = tcp_output(conn->pcb.tcp);
#if LWIP_TCPIP_CORE_LOCKING
conn->write_delayed = 1;
#endif