mirror of
https://github.com/espressif/esp-mqtt.git
synced 2025-08-03 04:35:15 +02:00
fixed stopping of mqtt task
This commit is contained in:
14
mqtt.c
14
mqtt.c
@@ -288,7 +288,7 @@ static bool mqtt_connect(mqtt_client *client)
|
|||||||
mqtt_warn("Connection refused, server unavailable");
|
mqtt_warn("Connection refused, server unavailable");
|
||||||
return false;
|
return false;
|
||||||
case CONNECTION_REFUSE_BAD_USERNAME:
|
case CONNECTION_REFUSE_BAD_USERNAME:
|
||||||
mqtt_warn("Connection refused, bad username");
|
mqtt_warn("Connection refused, bad username or password");
|
||||||
return false;
|
return false;
|
||||||
case CONNECTION_REFUSE_NOT_AUTHORIZED:
|
case CONNECTION_REFUSE_NOT_AUTHORIZED:
|
||||||
mqtt_warn("Connection refused, not authorized");
|
mqtt_warn("Connection refused, not authorized");
|
||||||
@@ -479,19 +479,23 @@ void mqtt_start_receive_schedule(mqtt_client *client)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mqtt_info("network disconnected");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void mqtt_destroy(mqtt_client *client)
|
void mqtt_destroy(mqtt_client *client)
|
||||||
{
|
{
|
||||||
|
if (client == NULL) return;
|
||||||
|
|
||||||
free(client->mqtt_state.in_buffer);
|
free(client->mqtt_state.in_buffer);
|
||||||
free(client->mqtt_state.out_buffer);
|
free(client->mqtt_state.out_buffer);
|
||||||
free(client);
|
free(client);
|
||||||
vTaskDelete(xMqttTask);
|
|
||||||
|
mqtt_info("Client destroyed");
|
||||||
}
|
}
|
||||||
|
|
||||||
void mqtt_task(void *pvParameters)
|
void mqtt_task(void *pvParameters)
|
||||||
{
|
{
|
||||||
|
mqtt_info("Starting mqtt task");
|
||||||
|
|
||||||
mqtt_client *client = (mqtt_client *)pvParameters;
|
mqtt_client *client = (mqtt_client *)pvParameters;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
@@ -534,8 +538,10 @@ void mqtt_task(void *pvParameters)
|
|||||||
vTaskDelay(1000 / portTICK_RATE_MS);
|
vTaskDelay(1000 / portTICK_RATE_MS);
|
||||||
|
|
||||||
}
|
}
|
||||||
mqtt_destroy(client);
|
|
||||||
|
|
||||||
|
mqtt_destroy(client);
|
||||||
|
xMqttTask = NULL;
|
||||||
|
vTaskDelete(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
mqtt_client *mqtt_start(mqtt_settings *settings)
|
mqtt_client *mqtt_start(mqtt_settings *settings)
|
||||||
|
Reference in New Issue
Block a user