From 1e19d525e9248cb5d56d5eea587b7b51b4c9e470 Mon Sep 17 00:00:00 2001 From: hirotakaster Date: Wed, 30 Nov 2016 15:49:58 +0900 Subject: [PATCH] need close(sockfd) before sockfd = -1, "_connected = false and close socket" means stop() function. --- libraries/WiFi/src/WiFiClient.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libraries/WiFi/src/WiFiClient.cpp b/libraries/WiFi/src/WiFiClient.cpp index d6a98c607a7..ec92acc145c 100644 --- a/libraries/WiFi/src/WiFiClient.cpp +++ b/libraries/WiFi/src/WiFiClient.cpp @@ -166,8 +166,7 @@ size_t WiFiClient::write(const uint8_t *buf, size_t size) int res = send(sockfd, (void*)buf, size, MSG_DONTWAIT); if(res < 0) { log_e("%d", errno); - _connected = false; - sockfd = -1; + stop(); res = 0; } return res; @@ -181,8 +180,7 @@ int WiFiClient::read(uint8_t *buf, size_t size) int res = recv(sockfd, buf, size, MSG_DONTWAIT); if(res < 0 && errno != EWOULDBLOCK) { log_e("%d", errno); - _connected = false; - sockfd = -1; + stop(); } return res; } @@ -196,8 +194,7 @@ int WiFiClient::available() int res = ioctl(sockfd, FIONREAD, &count); if(res < 0) { log_e("%d", errno); - _connected = false; - sockfd = -1; + stop(); return 0; } return count;