From 5612517812fcb39702468835cf8cfe475f9c689a Mon Sep 17 00:00:00 2001 From: zwx Date: Fri, 24 Jan 2025 15:46:04 +0800 Subject: [PATCH] feat(mdns): change to use recursive mutex --- components/mdns/mdns.c | 2 +- components/mdns/private_include/mdns_private.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index 903cc02b4c..b089a1f305 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -5465,7 +5465,7 @@ static esp_err_t _mdns_stop_timer(void) static esp_err_t _mdns_service_task_start(void) { if (!_mdns_service_semaphore) { - _mdns_service_semaphore = xSemaphoreCreateMutex(); + _mdns_service_semaphore = xSemaphoreCreateRecursiveMutex(); if (!_mdns_service_semaphore) { return ESP_FAIL; } diff --git a/components/mdns/private_include/mdns_private.h b/components/mdns/private_include/mdns_private.h index ce4c96b631..4424416322 100644 --- a/components/mdns/private_include/mdns_private.h +++ b/components/mdns/private_include/mdns_private.h @@ -126,8 +126,8 @@ #define MDNS_TIMER_PERIOD_US (CONFIG_MDNS_TIMER_PERIOD_MS*1000) -#define MDNS_SERVICE_LOCK() xSemaphoreTake(_mdns_service_semaphore, portMAX_DELAY) -#define MDNS_SERVICE_UNLOCK() xSemaphoreGive(_mdns_service_semaphore) +#define MDNS_SERVICE_LOCK() xSemaphoreTakeRecursive(_mdns_service_semaphore, portMAX_DELAY) +#define MDNS_SERVICE_UNLOCK() xSemaphoreGiveRecursive(_mdns_service_semaphore) #define queueToEnd(type, queue, item) \ if (!queue) { \