diff --git a/lib/roken/net_read.c b/lib/roken/net_read.c index 1f959db95..df1ac53de 100644 --- a/lib/roken/net_read.c +++ b/lib/roken/net_read.c @@ -86,7 +86,8 @@ net_read(rk_socket_t sock, void *buf, size_t nbytes) if (use_read == 0 && rk_IS_SOCKET_ERROR(count) && - rk_SOCK_ERRNO == WSAENOTSOCK) { + (rk_SOCK_ERRNO == WSANOTINITIALISED || + rk_SOCK_ERRNO == WSAENOTSOCK)) { use_read = 1; count = _read (sock, cbuf, rem); diff --git a/lib/roken/net_write.c b/lib/roken/net_write.c index 402e20915..e1cfa9907 100644 --- a/lib/roken/net_write.c +++ b/lib/roken/net_write.c @@ -83,7 +83,8 @@ net_write(rk_socket_t sock, const void *buf, size_t nbytes) if (use_write == 0 && rk_IS_SOCKET_ERROR(count) && - rk_SOCK_ERRNO == WSAENOTSOCK) { + (rk_SOCK_ERRNO == WSANOTINITIALISED || + rk_SOCK_ERRNO == WSAENOTSOCK)) { use_write = 1; count = _write (sock, cbuf, rem);