Files
Marcin Niestroj 060682fb8d drivers: nsos: release socket lock while polling
So far using recvfrom() and send() from two different threads was not
possible, since thread attempting send() was blocked by the thread
executing recvfrom(). All other APIs were also blocking each other, while
it was not necessary. One example use case in Zephyr tree is MCUMGR SMP
over UDP implementation, which resuled in communication timeouts.

Release socket lock while actively polling, so other APIs executed from
other threads can safely progress. Do this using k_condvar_wait() API with
socket mutex, so that mutex is safely released and reaquired during wait.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-01-15 16:41:50 +00:00
..
2026-01-15 11:09:33 +00:00