From 6c15d0f8054dc5f4b842de40cf65f27c7dfbc02f Mon Sep 17 00:00:00 2001 From: Bascy Date: Sun, 10 May 2020 23:01:17 +0200 Subject: [PATCH] Don't change owner if take() doesnt succeed --- libraries/BLE/src/FreeRTOS.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/BLE/src/FreeRTOS.cpp b/libraries/BLE/src/FreeRTOS.cpp index 2f52b99d389..7539e252a19 100644 --- a/libraries/BLE/src/FreeRTOS.cpp +++ b/libraries/BLE/src/FreeRTOS.cpp @@ -193,8 +193,8 @@ bool FreeRTOS::Semaphore::take(std::string owner) { } else { rc = ::xSemaphoreTake(m_semaphore, portMAX_DELAY) == pdTRUE; } - m_owner = owner; if (rc) { + m_owner = owner; log_v("Semaphore taken: %s", toString().c_str()); } else { log_e("Semaphore NOT taken: %s", toString().c_str()); @@ -218,8 +218,8 @@ bool FreeRTOS::Semaphore::take(uint32_t timeoutMs, std::string owner) { } else { rc = ::xSemaphoreTake(m_semaphore, timeoutMs / portTICK_PERIOD_MS) == pdTRUE; } - m_owner = owner; if (rc) { + m_owner = owner; log_v("Semaphore taken: %s", toString().c_str()); } else { log_e("Semaphore NOT taken: %s", toString().c_str());