Hi Simon,
I have not completely understood the code in lwip_recvfrom function as I am not familiar with the underlying code. If I understood it correctly the function is called when their some data. It reads one pBuf at a time, copy the data from it to the buffer that is passed to it and after that it free's the pBuf. At the same time it handles the incommoding data, the interrupt handler reads data from the DMA buffers to other pBuf's... this is going on until (or should) until all the data that should have been read is collected or an error . What happens inside the d <> while, does it not starve the rest of the code and are pBuf freed so they can be reused inside the interrupt handler ? I am not sure but it feels like a problem there, or a bug as you said. I noticed that if I single step (debug the code) inside lwip_recvfrom it seems to work, so it seems there is a raise condition or something else that happens when the code is running without breakpoints. I will do more testing next week and see if I make any progress. BR, Noam. ________________________________ From: lwip-users <lwip-users-bounces+noam=silrd....@nongnu.org> on behalf of goldsi...@gmx.de <goldsi...@gmx.de> Sent: Thursday, March 2, 2017 11:24 PM To: Mailing list for lwIP users Subject: Re: [lwip-users] PolarSSL and mbedTLS Noam Weissman wrote: Same problem with either 1.41 or 2.01 tested on both Up to now, EWOULDBLOCK is based on netconn callback events. I'm in the progress of changing this to be a result of a "tryget" operation on the recvmbox. If there should be a bug in the event callback handling, this should fix it. However, there are many more places where your error should come from, so I'm not convinced my change will fix your issue... Simon
_______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users