Преглед изворни кода

esp_event_send: check if the event loop is initialized

Fixes https://github.com/espressif/esp-idf/issues/668
Ivan Grokhotkov пре 8 година
родитељ
комит
17da994345
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      components/esp32/event_loop.c

+ 4 - 0
components/esp32/event_loop.c

@@ -72,6 +72,10 @@ system_event_cb_t esp_event_loop_set_cb(system_event_cb_t cb, void *ctx)
 
 esp_err_t esp_event_send(system_event_t *event)
 {
+    if (s_event_queue == NULL) {
+        ESP_LOGE(TAG, "Event loop not initialized via esp_event_loop_init, but esp_event_send called");
+        return ESP_ERR_INVALID_STATE;
+    }
     portBASE_TYPE ret = xQueueSendToBack(s_event_queue, event, 0);
     if (ret != pdPASS) {
         if (event) {