]> granicus.if.org Git - esp-idf/commit
mdns: fix possible deadlock on mdns deinit calling mdns_free()
authorDavid Cermak <cermak@espressif.com>
Mon, 4 Mar 2019 10:13:52 +0000 (11:13 +0100)
committerDavid Cermak <cermak@espressif.com>
Wed, 13 Mar 2019 09:22:41 +0000 (10:22 +0100)
commit48b5501c250ed90da51a55ad4fc18e09f466a517
tree0d70296396eab758a31fd2bf03e21338557ccc75
parent021dc5d453e21e2d1707f194668e69cf63ef4e84
mdns: fix possible deadlock on mdns deinit calling mdns_free()

mnds_free() initiates stop and delete timer tasks, which after locking the mutex could lead to a dead lock in case timer task executed before deleting the task, as it would wait indefinitelly for unlocking the mutex. This condition is fixed by calling _mdns_stop_timer without locking the mutex, because there's no need to protect any data when stopping and deleting the timer task

Closes https://github.com/espressif/esp-idf/issues/1696
components/mdns/mdns.c