mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-21 14:32:21 +02:00
mdns: fix crash after init if no memory for task
mdns init first starts timer task, then starts service task. if service task failed to be created, timer task needs to be stopped too. fixed https://ezredmine.espressif.cn:8765/issues/28466 * Original commit: espressif/esp-idf@a47768dc4e
This commit is contained in:
committed by
suren-gabrielyan-espressif
parent
8d08e5ed95
commit
358d26c8a1
@ -3993,7 +3993,10 @@ static esp_err_t _mdns_service_task_start()
|
||||
if (!_mdns_service_task_handle) {
|
||||
xTaskCreatePinnedToCore(_mdns_service_task, "mdns", MDNS_SERVICE_STACK_DEPTH, NULL, 1, (TaskHandle_t * const)(&_mdns_service_task_handle), 0);
|
||||
if (!_mdns_service_task_handle) {
|
||||
_mdns_stop_timer();
|
||||
MDNS_SERVICE_UNLOCK();
|
||||
vSemaphoreDelete(_mdns_service_semaphore);
|
||||
_mdns_service_semaphore = NULL;
|
||||
return ESP_FAIL;
|
||||
}
|
||||
}
|
||||
@ -4012,6 +4015,8 @@ static esp_err_t _mdns_service_task_stop()
|
||||
MDNS_SERVICE_LOCK();
|
||||
_mdns_stop_timer();
|
||||
MDNS_SERVICE_UNLOCK();
|
||||
vSemaphoreDelete(_mdns_service_semaphore);
|
||||
_mdns_service_semaphore = NULL;
|
||||
if (_mdns_service_task_handle) {
|
||||
mdns_action_t action;
|
||||
mdns_action_t * a = &action;
|
||||
|
Reference in New Issue
Block a user