diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-01-21 17:37:41 +0000 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-01-21 17:37:41 +0000 |
commit | dcebe56be139a0b4dbc4926c1d95e6dc4972ab67 (patch) | |
tree | c67ba94945b20cc6c309189cd74b4c5641a6a079 | |
parent | 3959a99922d5bf358ec96ba2efe5e13198918ac8 (diff) | |
download | libmicrohttpd-dcebe56be139a0b4dbc4926c1d95e6dc4972ab67.tar.gz libmicrohttpd-dcebe56be139a0b4dbc4926c1d95e6dc4972ab67.zip |
Fixed making sockets non-blocking.
-rw-r--r-- | src/microhttpd/daemon.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 1c86057f..e313959e 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -184,10 +184,10 @@ make_nonblocking (struct MHD_Daemon *daemon, | |||
184 | #else /* MHD_POSIX_SOCKETS */ | 184 | #else /* MHD_POSIX_SOCKETS */ |
185 | int flags; | 185 | int flags; |
186 | 186 | ||
187 | flags = fcntl (sock, F_GETFD); | 187 | flags = fcntl (sock, F_GETFL); |
188 | if ( ( (-1 == flags) || | 188 | if ( ( (-1 == flags) || |
189 | ( (flags != (flags | O_NONBLOCK)) && | 189 | ( (flags != (flags | O_NONBLOCK)) && |
190 | (0 != fcntl (sock, F_SETFD, flags | O_NONBLOCK)) ) ) ) | 190 | (0 != fcntl (sock, F_SETFL, flags | O_NONBLOCK)) ) ) ) |
191 | { | 191 | { |
192 | #ifdef HAVE_MESSAGES | 192 | #ifdef HAVE_MESSAGES |
193 | MHD_DLOG (daemon, | 193 | MHD_DLOG (daemon, |
@@ -1904,24 +1904,8 @@ static void | |||
1904 | make_nonblocking_noninheritable (struct MHD_Daemon *daemon, | 1904 | make_nonblocking_noninheritable (struct MHD_Daemon *daemon, |
1905 | MHD_socket sock) | 1905 | MHD_socket sock) |
1906 | { | 1906 | { |
1907 | #ifdef MHD_WINSOCK_SOCKETS | ||
1908 | (void)make_nonblocking (daemon, sock); | 1907 | (void)make_nonblocking (daemon, sock); |
1909 | (void)make_noninheritable (daemon, sock); | 1908 | (void)make_noninheritable (daemon, sock); |
1910 | #else | ||
1911 | int flags; | ||
1912 | |||
1913 | flags = fcntl (sock, F_GETFD); | ||
1914 | if ( ( (-1 == flags) || | ||
1915 | ( (flags != (flags | O_NONBLOCK | FD_CLOEXEC)) && | ||
1916 | (0 != fcntl (sock, F_SETFD, flags | O_NONBLOCK | FD_CLOEXEC)) ) ) ) | ||
1917 | { | ||
1918 | #ifdef HAVE_MESSAGES | ||
1919 | MHD_DLOG (daemon, | ||
1920 | "Failed to make socket non-blocking non-inheritable: %s\n", | ||
1921 | MHD_socket_last_strerr_ ()); | ||
1922 | #endif | ||
1923 | } | ||
1924 | #endif | ||
1925 | } | 1909 | } |
1926 | 1910 | ||
1927 | 1911 | ||