aboutsummaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-12-30 19:17:20 +0100
committerMax Kellermann <max@duempel.org>2008-12-30 19:17:20 +0100
commit6890183c5021555d29393452cedc13a5b41f3422 (patch)
tree77736ebf7c4ccca110cdef017b0ce0eb05c19c5b /src/utils.c
parentbb55ec6b4ec89408e32b9af562d891c39e96501d (diff)
utils: port set_nonblocking() to WIN32
The new WIN32 version of set_nonblocking() can only deal with sockets, i.e. it will fail on main_notify.c. On WIN32, we have to reimplement main_notify.c anyway, so this is not a big deal.
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 9ba95e5f..f624cf6d 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -192,6 +192,11 @@ char *parsePath(char *path)
int set_nonblocking(int fd)
{
+#ifdef WIN32
+ u_long val = 0;
+
+ return ioctlsocket(fd, FIONBIO, &val) == 0 ? 0 : -1;
+#else
int ret, flags;
assert(fd >= 0);
@@ -203,6 +208,7 @@ int set_nonblocking(int fd)
flags |= O_NONBLOCK;
while ((ret = fcntl(fd, F_SETFL, flags)) < 0 && errno == EINTR) ;
return ret;
+#endif
}
void init_async_pipe(int file_des[2])