ustream-fd: handle ENOTCONN for read/write on not-yet-connected sockets
authorFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jan 2016 20:35:48 +0000 (21:35 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 15 Jan 2016 20:35:48 +0000 (21:35 +0100)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
ustream-fd.c

index d5abb5a..b546fa1 100644 (file)
@@ -62,7 +62,7 @@ static void ustream_fd_read_pending(struct ustream_fd *sf, bool *more)
                        if (errno == EINTR)
                                continue;
 
-                       if (errno == EAGAIN)
+                       if (errno == EAGAIN || errno == ENOTCONN)
                                return;
 
                        len = 0;
@@ -96,7 +96,7 @@ static int ustream_fd_write(struct ustream *s, const char *buf, int buflen, bool
                        if (errno == EINTR)
                                continue;
 
-                       if (errno == EAGAIN || errno == EWOULDBLOCK)
+                       if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOTCONN)
                                break;
 
                        return -1;