Skip to content

Commit c1a7198

Browse files
authored
Don't change owner if take() doesnt succeed (#3987)
1 parent 4d4a1fd commit c1a7198

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Diff for: libraries/BLE/src/FreeRTOS.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ bool FreeRTOS::Semaphore::take(std::string owner) {
193193
} else {
194194
rc = ::xSemaphoreTake(m_semaphore, portMAX_DELAY) == pdTRUE;
195195
}
196-
m_owner = owner;
197196
if (rc) {
197+
m_owner = owner;
198198
log_v("Semaphore taken: %s", toString().c_str());
199199
} else {
200200
log_e("Semaphore NOT taken: %s", toString().c_str());
@@ -218,8 +218,8 @@ bool FreeRTOS::Semaphore::take(uint32_t timeoutMs, std::string owner) {
218218
} else {
219219
rc = ::xSemaphoreTake(m_semaphore, timeoutMs / portTICK_PERIOD_MS) == pdTRUE;
220220
}
221-
m_owner = owner;
222221
if (rc) {
222+
m_owner = owner;
223223
log_v("Semaphore taken: %s", toString().c_str());
224224
} else {
225225
log_e("Semaphore NOT taken: %s", toString().c_str());

0 commit comments

Comments
 (0)