Explorar el Código

Merge branch 'bugfix/mdns_deinit_event_crash_v4.0' into 'release/v4.0'

mdns: fixed crash on event during deinit (v4.0)

See merge request espressif/esp-idf!7246
Angus Gratton hace 6 años
padre
commit
dcd735759e
Se han modificado 1 ficheros con 5 adiciones y 3 borrados
  1. 5 3
      components/mdns/mdns.c

+ 5 - 3
components/mdns/mdns.c

@@ -4249,6 +4249,11 @@ void mdns_free()
     if (!_mdns_server) {
         return;
     }
+
+    esp_event_handler_unregister(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler);
+    esp_event_handler_unregister(IP_EVENT, ESP_EVENT_ANY_ID, &event_handler);
+    esp_event_handler_unregister(ETH_EVENT, ESP_EVENT_ANY_ID, &event_handler);
+
     mdns_service_remove_all(_mdns_server);
     _mdns_service_task_stop();
     for (i=0; i<TCPIP_ADAPTER_IF_MAX; i++) {
@@ -4279,9 +4284,6 @@ void mdns_free()
         free(h);
     }
     vSemaphoreDelete(_mdns_server->lock);
-    esp_event_handler_unregister(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler);
-    esp_event_handler_unregister(IP_EVENT, ESP_EVENT_ANY_ID, &event_handler);
-    esp_event_handler_unregister(ETH_EVENT, ESP_EVENT_ANY_ID, &event_handler);
     free(_mdns_server);
     _mdns_server = NULL;
 }