From cbae6343e9bd91670c4146ea76622306164b320b Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Thu, 1 Aug 2019 19:01:54 -0400 Subject: [PATCH] fix deadlock between xEventGroupWaitBits and API lock semaphore Merges https://github.com/espressif/esp-mqtt/pull/124 Closes https://github.com/espressif/esp-mqtt/issues/122 --- mqtt_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mqtt_client.c b/mqtt_client.c index a7f1c5c..e6928cc 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -1168,9 +1168,9 @@ esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client) } client->run = false; - xEventGroupWaitBits(client->status_bits, STOPPED_BIT, false, true, portMAX_DELAY); client->state = MQTT_STATE_UNKNOWN; MQTT_API_UNLOCK_FROM_OTHER_TASK(client); + xEventGroupWaitBits(client->status_bits, STOPPED_BIT, false, true, portMAX_DELAY); return ESP_OK; } else { ESP_LOGW(TAG, "Client asked to stop, but was not started");