lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Issue in closing blocked sockets


From: Frédéric BERNON
Subject: Re: [lwip-users] Issue in closing blocked sockets
Date: Sun, 13 Sep 2009 09:23:43 +0200

The answer is simple: using two threads on the same socket is not supported by lwIP.
http://lwip.wikia.com/wiki/LwIP_and_multithreading
----- Original Message -----
To: lwIP
Sent: Sunday, September 13, 2009 3:05 AM
Subject: [lwip-users] Issue in closing blocked sockets

Hello,

I have this implementation that uses 2 threads. One is opening a socket and the other will trigger the close socket.

In the first thread, I call recvfrom, and it is blocking at some point in the sys_arch_mbox_fetch(). Now, if the other thread will close(calling lwip_close) the socket, recvfrom() will not be able to continue since it is blocking. Do you have any idea how to handle this scenario in lwIP?

The issue is when we call lwip_close; there is an assertion "Error releasing mutex". What we did is, we see in the netconn_recv function it is using conn->recvmbox as its object. So, in lwip_close we call sys_mbox_post(recvmbox, NULL) before netconn_delete(sock->conn). The operation continues as we expected but at somepoint our application stops. Maybe this is not right thing to do? Please advice.

Thanks.


_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users

reply via email to

[Prev in Thread] Current Thread [Next in Thread]