Skip to content

Commit e57de64

Browse files
chcbaramme-no-dev
authored andcommitted
Fixed multi_heap_free failed during setting the value of the characteristic in BLE Library. (#2789)
1 parent fd5a2f0 commit e57de64

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

libraries/BLE/src/BLECharacteristic.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,9 @@ void BLECharacteristic::setValue(uint8_t* data, size_t length) {
628628
log_e("Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN);
629629
return;
630630
}
631+
m_semaphoreSetValue.take();
631632
m_value.setValue(data, length);
633+
m_semaphoreSetValue.give();
632634
log_v("<< setValue");
633635
} // setValue
634636

libraries/BLE/src/BLECharacteristic.h

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ class BLECharacteristic {
117117
void setHandle(uint16_t handle);
118118
FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt");
119119
FreeRTOS::Semaphore m_semaphoreConfEvt = FreeRTOS::Semaphore("ConfEvt");
120+
FreeRTOS::Semaphore m_semaphoreSetValue = FreeRTOS::Semaphore("SetValue");
120121
}; // BLECharacteristic
121122

122123

0 commit comments

Comments
 (0)