You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a socket is used from different tasks at the same time, the stack behavior is basically undefined.
To slowly work towards the goal of having a thread-safe stack that is still "light weight", we'll try to do the following bits:
first allow another Task to close a socket that is blocking in accept(), connect() or select()
analyze what would be necessary to make it fully independent:
the api_message interface is waiting for a op_completed semaphore and it cannot be determined what operation has completed when multiple ones where started
check for possible raceb conditions in the stack
The text was updated successfully, but these errors were encountered:
found another possible race condition when using sockets from multiple thread contexts:
the setsockopt calls are handled via a tcpip_callback() so it can happen that the stack only processes them when the socket itself is already closed.
Then, inside the lwip_setsockopt_internal() function, writes to NULL pointers are made on sock->conn->pcb.ip
When a socket is used from different tasks at the same time, the stack behavior is basically undefined.
To slowly work towards the goal of having a thread-safe stack that is still "light weight", we'll try to do the following bits:
The text was updated successfully, but these errors were encountered: