Skip to content

Commit 3ee37e2

Browse files
committed
fix(websocket): Treat write timeouts as partial success (not fatal errors)
1 parent eb31640 commit 3ee37e2

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

components/esp_websocket_client/esp_websocket_client.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,13 @@ static esp_err_t esp_websocket_client_dispatch_event(esp_websocket_client_handle
243243
static esp_err_t esp_websocket_client_abort_connection(esp_websocket_client_handle_t client, esp_websocket_error_type_t error_type)
244244
{
245245
ESP_WS_CLIENT_STATE_CHECK(TAG, client, return ESP_FAIL);
246+
247+
// Prevent double connection close - check if already closing or closed
248+
if (client->state == WEBSOCKET_STATE_CLOSING || client->state == WEBSOCKET_STATE_UNKNOW) {
249+
ESP_LOGV(TAG, "Connection already closing/closed, skipping abort");
250+
return ESP_OK;
251+
}
252+
246253
esp_transport_close(client->transport);
247254

248255
if (!client->config->auto_reconnect) {

0 commit comments

Comments
 (0)