From 3c81739b3391e0976c0f4230e4e0871b244cf222 Mon Sep 17 00:00:00 2001 From: Hirotaka Date: Thu, 1 Dec 2016 20:27:51 +0900 Subject: [PATCH] need close(sockfd) before sockfd = -1, "_connected = false and close socket" means stop() function. (#73) --- 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 d6a98c60..ec92acc1 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;