From c51acf2a328f6e715ea3b80c5df39e4d77e016f5 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 11 Jun 2015 18:11:00 +0300 Subject: [PATCH] Fix tcp error handler --- libraries/ESP8266WiFi/src/include/ClientContext.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index 79c68127f..d1f728eef 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -261,8 +261,17 @@ class ClientContext { } void _error(err_t err) { - DEBUGV(":er %d\r\n", err); - close(); + DEBUGV(":er %d %d %d\r\n", err, _size_sent, _send_waiting); + if (err != ERR_ABRT) { + abort(); + } + else { + tcp_arg(_pcb, NULL); + tcp_sent(_pcb, NULL); + tcp_recv(_pcb, NULL); + tcp_err(_pcb, NULL); + _pcb = NULL; + } if(_size_sent && _send_waiting) { esp_schedule(); }