Skip to content

Commit eb4ab52

Browse files
committed
fix(mdns): Use correct task delete function
1 parent 8fcad10 commit eb4ab52

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

components/mdns/mdns.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ static void _mdns_browse_finish(mdns_browse_t *browse);
2525
static void _mdns_browse_add(mdns_browse_t *browse);
2626
static void _mdns_browse_send(mdns_browse_t *browse, mdns_if_t interface);
2727

28-
static void _mdns_task_free_with_caps(void);
29-
3028
#if CONFIG_ETH_ENABLED && CONFIG_MDNS_PREDEF_NETIF_ETH
3129
#include "esp_eth.h"
3230
#endif
@@ -64,7 +62,7 @@ static const char *TAG = "mdns";
6462

6563
static volatile TaskHandle_t _mdns_service_task_handle = NULL;
6664
static SemaphoreHandle_t _mdns_service_semaphore = NULL;
67-
StackType_t *_mdns_stack_buffer;
65+
static StackType_t *_mdns_stack_buffer;
6866

6967
static void _mdns_search_finish_done(void);
7068
static mdns_search_once_t *_mdns_search_find_from(mdns_search_once_t *search, mdns_name_t *name, uint16_t type, mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol);
@@ -5427,8 +5425,8 @@ static void _mdns_service_task(void *pvParameters)
54275425
vTaskDelay(500 * portTICK_PERIOD_MS);
54285426
}
54295427
}
5430-
_mdns_task_free_with_caps();
54315428
_mdns_service_task_handle = NULL;
5429+
vTaskDelete(NULL);
54325430
}
54335431

54345432
static void _mdns_timer_cb(void *arg)
@@ -5485,12 +5483,6 @@ static esp_err_t _mdns_task_create_with_caps(void)
54855483
return ret;
54865484
}
54875485

5488-
static void _mdns_task_free_with_caps(void)
5489-
{
5490-
vTaskDelete(_mdns_service_task_handle);
5491-
heap_caps_free(_mdns_stack_buffer);
5492-
}
5493-
54945486
/**
54955487
* @brief Start the service thread if not running
54965488
*
@@ -5545,7 +5537,7 @@ static esp_err_t _mdns_service_task_stop(void)
55455537
mdns_action_t *a = &action;
55465538
action.type = ACTION_TASK_STOP;
55475539
if (xQueueSend(_mdns_server->action_queue, &a, (TickType_t)0) != pdPASS) {
5548-
_mdns_task_free_with_caps();
5540+
vTaskDelete(_mdns_service_task_handle);
55495541
_mdns_service_task_handle = NULL;
55505542
}
55515543
while (_mdns_service_task_handle) {
@@ -5775,6 +5767,8 @@ void mdns_free(void)
57755767
mdns_service_remove_all();
57765768
free_delegated_hostnames();
57775769
_mdns_service_task_stop();
5770+
// at this point, the service task is deleted, so we can destroy the stack size
5771+
heap_caps_free(_mdns_stack_buffer);
57785772
for (i = 0; i < MDNS_MAX_INTERFACES; i++) {
57795773
for (j = 0; j < MDNS_IP_PROTOCOL_MAX; j++) {
57805774
mdns_pcb_deinit_local(i, j);

0 commit comments

Comments
 (0)