diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-01-30 15:57:42 +0000 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-01-30 15:57:42 +0000 |
commit | 6767963266727522027e6afa351f84040ff22757 (patch) | |
tree | ff254ace20cba5f28c5a55fc7540ad536b1df054 | |
parent | a3bfa8a2d6ec9d552326a1daa2fd68fd9bd43c6f (diff) | |
download | libmicrohttpd-6767963266727522027e6afa351f84040ff22757.tar.gz libmicrohttpd-6767963266727522027e6afa351f84040ff22757.zip |
Fix running select() on W32 with empty fdsets - W32 return error if no socket is marked in fdsets.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/include/platform_interface.h | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -1,3 +1,6 @@ | |||
1 | Sat Jan 30 15:49:07 CET 2016 | ||
2 | Fix running select() with empty fdsets on W32. -EG | ||
3 | |||
1 | Mon Jan 25 13:45:50 CET 2016 | 4 | Mon Jan 25 13:45:50 CET 2016 |
2 | Added check test for triggering select() on | 5 | Added check test for triggering select() on |
3 | listen socket. -EG | 6 | listen socket. -EG |
diff --git a/src/include/platform_interface.h b/src/include/platform_interface.h index b5623c38..aa8d7317 100644 --- a/src/include/platform_interface.h +++ b/src/include/platform_interface.h | |||
@@ -108,7 +108,12 @@ typedef int _MHD_socket_funcs_size; | |||
108 | #if !defined(MHD_WINSOCK_SOCKETS) | 108 | #if !defined(MHD_WINSOCK_SOCKETS) |
109 | #define MHD_SYS_select_(n,r,w,e,t) select((n),(r),(w),(e),(t)) | 109 | #define MHD_SYS_select_(n,r,w,e,t) select((n),(r),(w),(e),(t)) |
110 | #else | 110 | #else |
111 | #define MHD_SYS_select_(n,r,w,e,t) select((int)0,(r),(w),(e),(t)) | 111 | #define MHD_SYS_select_(n,r,w,e,t) \ |
112 | ( (!(r) || ((fd_set*)(r))->fd_count == 0) && \ | ||
113 | (!(w) || ((fd_set*)(w))->fd_count == 0) && \ | ||
114 | (!(e) || ((fd_set*)(e))->fd_count == 0) ) ? \ | ||
115 | ( (!(t)) ? (Sleep((t)->tv_sec * 1000 + (t)->tv_usec / 1000), 0) : 0 ) : \ | ||
116 | (select((int)0,(r),(w),(e),(t))) | ||
112 | #endif | 117 | #endif |
113 | 118 | ||
114 | #if defined(HAVE_POLL) | 119 | #if defined(HAVE_POLL) |