[esp32_ble] do not skip events if queue is blocked (#7960)
Some checks are pending
CI / list-components (push) Blocked by required conditions
CI / Run script/ci-custom (push) Blocked by required conditions
CI / Create common environment (push) Waiting to run
CI / Check black (push) Blocked by required conditions
CI / Check flake8 (push) Blocked by required conditions
CI / Check pylint (push) Blocked by required conditions
CI / Check pyupgrade (push) Blocked by required conditions
CI / Run pytest (push) Blocked by required conditions
CI / Check clang-format (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP32 Arduino 1/4 (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP32 Arduino 2/4 (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP32 Arduino 3/4 (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP32 Arduino 4/4 (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP32 IDF (push) Blocked by required conditions
CI / Run script/clang-tidy for ESP8266 (push) Blocked by required conditions
CI / Component test (push) Blocked by required conditions
CI / Split components for testing into 20 groups maximum (push) Blocked by required conditions
CI / Test split components (push) Blocked by required conditions
CI / CI Status (push) Blocked by required conditions

This commit is contained in:
tomaszduda23 2024-12-20 01:45:40 +01:00 committed by GitHub
parent 85d863601b
commit f33b4a714e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -26,10 +26,10 @@ template<class T> class Queue {
void push(T *element) { void push(T *element) {
if (element == nullptr) if (element == nullptr)
return; return;
if (xSemaphoreTake(m_, 5L / portTICK_PERIOD_MS)) { // It is not called from main loop. Thus it won't block main thread.
q_.push(element); xSemaphoreTake(m_, portMAX_DELAY);
xSemaphoreGive(m_); q_.push(element);
} xSemaphoreGive(m_);
} }
T *pop() { T *pop() {