Merge branch 'bugfix/err_report_on_publish' into 'master'

Fix not dispatching MQTT_EVENT_ERROR

See merge request espressif/esp-mqtt!40
This commit is contained in:
David Čermák
2019-10-03 17:58:15 +08:00

View File

@ -573,6 +573,11 @@ static esp_err_t mqtt_write_data(esp_mqtt_client_handle_t client)
client->config->network_timeout_ms);
// client->mqtt_state.pending_msg_type = mqtt_get_type(client->mqtt_state.outbound_message->data);
if (write_len <= 0) {
client->event.event_id = MQTT_EVENT_ERROR;
#ifdef MQTT_SUPPORTED_FEATURE_TRANSPORT_ERR_REPORTING
client->event.error_handle = esp_transport_get_error_handle(client->transport);
#endif
esp_mqtt_dispatch_event_with_msgid(client);
ESP_LOGE(TAG, "Error write data or timeout, written len = %d, errno=%d", write_len, errno);
return ESP_FAIL;
}