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

Reply via email to