]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
handle EWOULDBLOCK
authorAlan T. DeKok <aland@freeradius.org>
Thu, 21 Jun 2018 19:20:23 +0000 (15:20 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 22 Jun 2018 13:42:18 +0000 (09:42 -0400)
src/modules/proto_control/proto_control_unix.c

index 0f9d7bda94801b94add4545e5233e5df3dc16cbd..b92bcc49ef2d39b54f4a0eefa7dc0339490cc7e8 100644 (file)
@@ -156,7 +156,14 @@ static ssize_t mod_read(void *instance, void **packet_ctx, fr_time_t **recv_time
         */
        data_size = fr_conduit_read_async(inst->sockfd, &conduit, buffer, buffer_len, leftover);
        if (data_size < 0) {
-               DEBUG2("proto_control_tcp got read error %zd: %s", data_size, fr_strerror());
+#ifdef EWOULDBLOCK
+               if (errno == EWOULDBLOCK) return 0;
+#endif
+#ifdef EAGAIN
+               if (errno == EAGAIN) return 0;
+#endif
+
+               DEBUG2("proto_control_unix got read error %zd: %s", data_size, fr_strerror());
                return data_size;
        }