Skip to content

Commit 4e12ed0

Browse files
committed
Merge branch 'contrib/github_pr_16076' into 'master'
fix(esp_http_client): fix spurious async open error (GitHub PR) Closes IDFGH-15428 See merge request espressif/esp-idf!40273
2 parents c6cc403 + 65a1d79 commit 4e12ed0

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

components/esp_http_client/esp_http_client.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,11 +1767,17 @@ esp_err_t esp_http_client_open(esp_http_client_handle_t client, int write_len)
17671767
client->post_len = write_len;
17681768
esp_err_t err;
17691769
if ((err = esp_http_client_connect(client)) != ESP_OK) {
1770+
if (client->is_async && err == ESP_ERR_HTTP_CONNECTING) {
1771+
return ESP_ERR_HTTP_EAGAIN;
1772+
}
17701773
http_dispatch_event(client, HTTP_EVENT_ERROR, esp_transport_get_error_handle(client->transport), 0);
17711774
http_dispatch_event_to_event_loop(HTTP_EVENT_ERROR, &client, sizeof(esp_http_client_handle_t));
17721775
return err;
17731776
}
17741777
if ((err = esp_http_client_request_send(client, write_len)) != ESP_OK) {
1778+
if (client->is_async && errno == EAGAIN) {
1779+
return ESP_ERR_HTTP_EAGAIN;
1780+
}
17751781
http_dispatch_event(client, HTTP_EVENT_ERROR, esp_transport_get_error_handle(client->transport), 0);
17761782
http_dispatch_event_to_event_loop(HTTP_EVENT_ERROR, &client, sizeof(esp_http_client_handle_t));
17771783
return err;

0 commit comments

Comments
 (0)