mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
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
This commit is contained in:
parent
021dc5d453
commit
48b5501c25
@ -4038,9 +4038,7 @@ static esp_err_t _mdns_service_task_start()
|
||||
*/
|
||||
static esp_err_t _mdns_service_task_stop()
|
||||
{
|
||||
MDNS_SERVICE_LOCK();
|
||||
_mdns_stop_timer();
|
||||
MDNS_SERVICE_UNLOCK();
|
||||
if (_mdns_service_task_handle) {
|
||||
mdns_action_t action;
|
||||
mdns_action_t * a = &action;
|
||||
|
Loading…
x
Reference in New Issue
Block a user