zephyr/subsys/net/lib/dns
Marcin Niestroj d98911d712 net: dns: add 10ms delay when rescheduling query timeout handler
Query timeout handler is rescheduled if DNS context mutex is locked. So
far there was no timeout used, which means that work is simply put at
the end of system workqueue. This solves cases when mutex is locked by
any higher priority cooperative threads.

If however mutex was locked in application code within lower priority
thread (which is very likely) and query timeout has expired in the
meantime, then system workqueue is busy looping by calling query timeout
handler and trying to acquire DNS context lock.

Reschedule query timeout handler with 10ms delay, so that all
threads, including those with lower priorities, have a chance to move
forward and release DNS context lock.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
2021-04-23 15:05:41 -05:00
..
CMakeLists.txt net: dns: dns-sd: support dns service discovery 2020-11-09 16:15:02 -08:00
dns_internal.h net: dns: Add locking to prevent concurrent access 2021-03-12 11:26:16 -05:00
dns_pack.c net: dns: enable dns service discovery for mdns responder 2020-11-09 16:15:02 -08:00
dns_pack.h net: dns: dns-sd: support dns service discovery 2020-11-09 16:15:02 -08:00
dns_sd.c net: dns: dns-sd: support dns service discovery 2020-11-09 16:15:02 -08:00
dns_sd.h net: dns: dns-sd: support dns service discovery 2020-11-09 16:15:02 -08:00
Kconfig net: dns: enable dns service discovery for mdns responder 2020-11-09 16:15:02 -08:00
llmnr_responder.c drivers: device: do not reuse tag name 'device' 2021-03-22 19:48:14 -04:00
mdns_responder.c drivers: device: do not reuse tag name 'device' 2021-03-22 19:48:14 -04:00
resolve.c net: dns: add 10ms delay when rescheduling query timeout handler 2021-04-23 15:05:41 -05:00