diff --git a/esp_modem/include/cxx_include/esp_modem_primitives.hpp b/esp_modem/include/cxx_include/esp_modem_primitives.hpp index ec758ca17..83a2f06ed 100644 --- a/esp_modem/include/cxx_include/esp_modem_primitives.hpp +++ b/esp_modem/include/cxx_include/esp_modem_primitives.hpp @@ -68,9 +68,9 @@ struct Lock { throw_if_false(lock != nullptr, "create signal event group failed"); } ~Lock() { vSemaphoreDelete(lock); } - void take() { xSemaphoreTake(lock, portMAX_DELAY); } + void take() { xSemaphoreTakeRecursive(lock, portMAX_DELAY); } - void give() { xSemaphoreGive(lock); } + void give() { xSemaphoreGiveRecursive(lock); } xSemaphoreHandle lock; };