VFS lwIP: send application data immediately

Call 'tcp_output' if application data has been successfully queued. This
sends data immediately that may otherwise remain queued until the next
periodic TCP timer event.

This reverts a change made in 3e31e2ba53ee25dcd8f9781e7b9f0a2c7c7be371.

Fix #3067
This commit is contained in:
Emery Hemingway 2018-12-02 08:05:06 +01:00 committed by Norman Feske
parent a79bfad08e
commit bd53e5b496

View File

@ -1331,7 +1331,7 @@ class Lwip::Tcp_socket_dir final :
while (count && tcp_sndbuf(_pcb)) {
u16_t n = min(count, tcp_sndbuf(_pcb));
/* write to outgoing TCP buffer */
/* queue data to outgoing TCP buffer */
err_t err = tcp_write(_pcb, src, n, TCP_WRITE_FLAG_COPY);
if (err != ERR_OK) {
Genode::error("lwIP: tcp_write failed, error ", (int)-err);
@ -1346,6 +1346,9 @@ class Lwip::Tcp_socket_dir final :
res = Write_result::WRITE_OK;
}
/* send queued data */
if (out > 0) tcp_output(_pcb);
out_count = out;
return res;
}