diff options
Diffstat (limited to 'src/daemon/daemon.c')
-rw-r--r-- | src/daemon/daemon.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/daemon/daemon.c b/src/daemon/daemon.c index 61d00fb7..a165111f 100644 --- a/src/daemon/daemon.c +++ b/src/daemon/daemon.c | |||
@@ -956,6 +956,7 @@ MHD_add_connection (struct MHD_Daemon *daemon, | |||
956 | #endif | 956 | #endif |
957 | { | 957 | { |
958 | /* make socket non-blocking */ | 958 | /* make socket non-blocking */ |
959 | #ifndef MINGW | ||
959 | int flags = fcntl (connection->socket_fd, F_GETFL); | 960 | int flags = fcntl (connection->socket_fd, F_GETFL); |
960 | if ( (flags == -1) || | 961 | if ( (flags == -1) || |
961 | (0 != fcntl (connection->socket_fd, F_SETFL, flags | O_NONBLOCK)) ) | 962 | (0 != fcntl (connection->socket_fd, F_SETFL, flags | O_NONBLOCK)) ) |
@@ -965,6 +966,16 @@ MHD_add_connection (struct MHD_Daemon *daemon, | |||
965 | STRERROR (errno)); | 966 | STRERROR (errno)); |
966 | #endif | 967 | #endif |
967 | } | 968 | } |
969 | #else | ||
970 | unsigned long flags = 1; | ||
971 | if (0 != ioctlsocket (connection->socket_fd, FIONBIO, &flags)) | ||
972 | #endif | ||
973 | { | ||
974 | #if HAVE_MESSAGES | ||
975 | FPRINTF(stderr, "Failed to make socket non-blocking: %s\n", | ||
976 | STRERROR (errno)); | ||
977 | #endif | ||
978 | } | ||
968 | } | 979 | } |
969 | 980 | ||
970 | #if HTTPS_SUPPORT | 981 | #if HTTPS_SUPPORT |