Il 22/11/2017 17:09, goldsi...@gmx.de ha scritto:
Giuseppe Modugno wrote:
I'm sorry for the second email.
I noticed in tcp_output():
/**/* First, check if we are invoked by the TCP input processing//
// code. If so, we do not output anything. Instead, we rely
on the//
// input processing code to call us when input processing is
done//
// with. *//
* if (tcp_input_pcb == pcb) {**
** return ERR_OK;**
** }*
In the application recv() function, I decide I received all data and
now I'm ready to answer with a reply. I call tcp_write() (maybe
multiple times) from recv() and then tcp_output(). The previous if
has the effect to return immediately from tcp_output(), so its call
is useless.
It is, in this case. But normally, it's better to keep it in there
instead of making your 'send-more'-code know if it is called from
'recv' or 'poll' or 'sent' callback...
For example, httpd usually calls tcp_output() after http_send(), except
when http_send() is called from http_recv(). From what you write, it's
better to call tcp_output() even in http_recv().
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users