Hi Simon,

Yes, I am using a very old version of LWIP. I don't know the version
number though, it should be older than 1.1.0. It is from our supplier,
and I think the issue I encountered (mentioned below) is also from the
supplier.

So basically it is not a good idea to use sys_sem_wait() in the context
of tcpip_thread(), in case probably tcp_output() is called recursively.

Best,
Xiaowen



On 01/23/15 00:25, Simon Goldschmidt wrote:
>  Jackie wrote:
>
>> After re-examining the code, finally I got more understanding of what can 
>> cause this problem. Instead of more than one threads are calling 
>> tcp_output(), there is only one thread tcpip_thread(), but in which 
>> tcp_output() is called recursively. 
>>
>> The case happens when the lower-layer protocol (PPP) uses sys_sem_wait(). In 
>> this function, it is not only waiting a semaphore, but it also gives the 
>> timer chances to run.
>
> This was a known bug which should be fixed for a long time. Are you using an 
> old version of lwIP?
>
> Simon
>
> _______________________________________________
> lwip-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/lwip-users
>


_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to