@cryptotaxi247 / netdata-1 / commits / 43b1a2e25

don't return `-1` if the socket was closed (#15771)

moonbreon committed Sep 8, 2023 at 04:25 UTC 43b1a2e25ed1275ccd60e6c2c7eed550ee44adf7
2 files changed +7
exporting/send_data.c
+2
@@ -106,6 +106,8 @@ void simple_connector_receive_response(int *sock, struct instance *instance)
106 // failed to receive data
107 if (errno != EAGAIN && errno != EWOULDBLOCK) {
108 netdata_log_error("EXPORTING: cannot receive data from '%s'.", instance->config.destination);
109 + close(*sock);
110 + *sock = -1;
111 }
112 }
113
libnetdata/socket/security.c
+5
@@ -234,6 +234,11 @@ ssize_t netdata_ssl_read(NETDATA_SSL *ssl, void *buf, size_t num) {
234
235 if(unlikely(bytes <= 0)) {
236 int err = SSL_get_error(ssl->conn, bytes);
237 + if (err == SSL_ERROR_ZERO_RETURN) {
238 + ssl->ssl_errno = err;
239 + return 0;
240 + }
241 +
242 if (err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE) {
243 ssl->ssl_errno = err;
244 errno = EWOULDBLOCK;