mirror of
https://github.com/espressif/esp-mqtt.git
synced 2025-09-25 14:41:32 +02:00
Merge branch 'sub-unsub-msg-id-race-fix' into 'master'
fix: copy message ID before unlocking client See merge request espressif/esp-mqtt!248
This commit is contained in:
@@ -2040,8 +2040,10 @@ int esp_mqtt_client_subscribe_multiple(esp_mqtt_client_handle_t client,
|
||||
}
|
||||
|
||||
ESP_LOGD(TAG, "Sent subscribe, first topic=%s, id: %d", topic_list[0].filter, client->mqtt_state.pending_msg_id);
|
||||
|
||||
int pending_msg_id = client->mqtt_state.pending_msg_id;
|
||||
MQTT_API_UNLOCK(client);
|
||||
return client->mqtt_state.pending_msg_id;
|
||||
return pending_msg_id;
|
||||
|
||||
}
|
||||
int esp_mqtt_client_subscribe_single(esp_mqtt_client_handle_t client, const char *topic, int qos)
|
||||
@@ -2096,8 +2098,10 @@ int esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *top
|
||||
}
|
||||
|
||||
ESP_LOGD(TAG, "Sent Unsubscribe topic=%s, id: %d, successful", topic, client->mqtt_state.pending_msg_id);
|
||||
|
||||
int pending_msg_id = client->mqtt_state.pending_msg_id;
|
||||
MQTT_API_UNLOCK(client);
|
||||
return client->mqtt_state.pending_msg_id;
|
||||
return pending_msg_id;
|
||||
}
|
||||
|
||||
static int make_publish(esp_mqtt_client_handle_t client, const char *topic, const char *data,
|
||||
|
Reference in New Issue
Block a user