aboutsummaryrefslogtreecommitdiff
path: root/src/testcurl/test_callback.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testcurl/test_callback.c')
-rw-r--r--src/testcurl/test_callback.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/testcurl/test_callback.c b/src/testcurl/test_callback.c
index dc40aa53..a987aac1 100644
--- a/src/testcurl/test_callback.c
+++ b/src/testcurl/test_callback.c
@@ -93,7 +93,12 @@ main(int argc, char **argv)
93 fd_set rs; 93 fd_set rs;
94 fd_set ws; 94 fd_set ws;
95 fd_set es; 95 fd_set es;
96 MHD_socket max; 96 MHD_socket maxsock;
97#ifdef MHD_WINSOCK_SOCKETS
98 int maxposixs; /* Max socket number unused on W32 */
99#else /* MHD_POSIX_SOCKETS */
100#define maxposixs maxsock
101#endif /* MHD_POSIX_SOCKETS */
97 CURL *c; 102 CURL *c;
98 CURLM *multi; 103 CURLM *multi;
99 CURLMcode mret; 104 CURLMcode mret;
@@ -135,14 +140,15 @@ main(int argc, char **argv)
135 extra = 10; 140 extra = 10;
136 while ( (c != NULL) || (--extra > 0) ) 141 while ( (c != NULL) || (--extra > 0) )
137 { 142 {
138 max = MHD_INVALID_SOCKET; 143 maxsock = MHD_INVALID_SOCKET;
144 maxposixs = -1;
139 FD_ZERO(&ws); 145 FD_ZERO(&ws);
140 FD_ZERO(&rs); 146 FD_ZERO(&rs);
141 FD_ZERO(&es); 147 FD_ZERO(&es);
142 curl_multi_perform (multi, &running); 148 curl_multi_perform (multi, &running);
143 if (NULL != multi) 149 if (NULL != multi)
144 { 150 {
145 mret = curl_multi_fdset (multi, &rs, &ws, &es, &max); 151 mret = curl_multi_fdset (multi, &rs, &ws, &es, &maxposixs);
146 if (mret != CURLM_OK) 152 if (mret != CURLM_OK)
147 { 153 {
148 curl_multi_remove_handle (multi, c); 154 curl_multi_remove_handle (multi, c);
@@ -153,7 +159,7 @@ main(int argc, char **argv)
153 } 159 }
154 } 160 }
155 if (MHD_YES != 161 if (MHD_YES !=
156 MHD_get_fdset(d, &rs, &ws, &es, &max)) 162 MHD_get_fdset(d, &rs, &ws, &es, &maxsock))
157 { 163 {
158 curl_multi_remove_handle (multi, c); 164 curl_multi_remove_handle (multi, c);
159 curl_multi_cleanup (multi); 165 curl_multi_cleanup (multi);
@@ -163,7 +169,7 @@ main(int argc, char **argv)
163 } 169 }
164 tv.tv_sec = 0; 170 tv.tv_sec = 0;
165 tv.tv_usec = 1000; 171 tv.tv_usec = 1000;
166 select(max + 1, &rs, &ws, &es, &tv); 172 select(maxposixs + 1, &rs, &ws, &es, &tv);
167 if (NULL != multi) 173 if (NULL != multi)
168 { 174 {
169 curl_multi_perform (multi, &running); 175 curl_multi_perform (multi, &running);