I have run into this issue in my single threaded application where my pcb's snd_buf never gets cleared out. My code will run smoothly for a variable amount of time. Sometimes it will run for a very long time before snd_buf stops clearing out, and sometimes it takes a short time for the issue to arise. I know that lwip allows you to provide a callback to tcp_poll so that you may finish sending the data at a later time, but I cannot do this in my program or else things will get extremely backed up and eventually run out of memory, so I instead busy wait until the snd_buf clears it. The idea is that calling xemacif_input() will allow the network interface to handle any incoming packets, and I know that at the end of tcp_input(), tcp_output() gets called which is when the snd_buf should clear out. This usually works very well, but as stated above, sometimes that snd_buf just stops clearing out, and my program gets stuck in an infinite loop waiting for the snd_buf to clear.
I have noticed that this happens much more frequently when I am sending out on multiple sockets. Any thoughts would be greatly appreciated. -- View this message in context: http://lwip.100.n7.nabble.com/TCP-snd-buf-never-clears-out-tp22087.html Sent from the lwip-users mailing list archive at Nabble.com. _______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
