tcpip_adapter: unregister shutdown handlers, don’t fail on repeated registration

This commit is contained in:
Ivan Grokhotkov 2019-04-08 19:30:32 +08:00
parent b1a722b2ca
commit 198d7d4754

View file

@ -242,7 +242,7 @@ esp_err_t tcpip_adapter_set_default_wifi_handlers()
} }
err = esp_register_shutdown_handler((shutdown_handler_t)esp_wifi_stop); err = esp_register_shutdown_handler((shutdown_handler_t)esp_wifi_stop);
if (err != ESP_OK) { if (err != ESP_OK && err != ESP_ERR_INVALID_STATE) {
goto fail; goto fail;
} }
@ -263,8 +263,7 @@ esp_err_t tcpip_adapter_clear_default_wifi_handlers()
esp_event_handler_unregister(WIFI_EVENT, WIFI_EVENT_AP_STOP, handle_ap_stop); esp_event_handler_unregister(WIFI_EVENT, WIFI_EVENT_AP_STOP, handle_ap_stop);
esp_event_handler_unregister(IP_EVENT, IP_EVENT_STA_GOT_IP, handle_sta_got_ip); esp_event_handler_unregister(IP_EVENT, IP_EVENT_STA_GOT_IP, handle_sta_got_ip);
esp_event_handler_unregister(IP_EVENT, IP_EVENT_ETH_GOT_IP, handle_eth_got_ip); esp_event_handler_unregister(IP_EVENT, IP_EVENT_ETH_GOT_IP, handle_eth_got_ip);
esp_unregister_shutdown_handler((shutdown_handler_t)esp_wifi_stop);
/* TODO: introduce esp_unregister_shutdown_handler or similar, call it here */
return ESP_OK; return ESP_OK;
} }