diff options
Diffstat (limited to 'src/testcurl/test_callback.c')
-rw-r--r-- | src/testcurl/test_callback.c | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/src/testcurl/test_callback.c b/src/testcurl/test_callback.c index c5c34e03..cd213f44 100644 --- a/src/testcurl/test_callback.c +++ b/src/testcurl/test_callback.c | |||
@@ -97,7 +97,7 @@ int main(int argc, char **argv) | |||
97 | struct timeval tv; | 97 | struct timeval tv; |
98 | int extra; | 98 | int extra; |
99 | 99 | ||
100 | d = MHD_start_daemon(MHD_USE_DEBUG, | 100 | d = MHD_start_daemon(0, |
101 | 8000, | 101 | 8000, |
102 | NULL, | 102 | NULL, |
103 | NULL, | 103 | NULL, |
@@ -135,15 +135,18 @@ int main(int argc, char **argv) | |||
135 | FD_ZERO(&rs); | 135 | FD_ZERO(&rs); |
136 | FD_ZERO(&es); | 136 | FD_ZERO(&es); |
137 | curl_multi_perform (multi, &running); | 137 | curl_multi_perform (multi, &running); |
138 | mret = curl_multi_fdset (multi, &rs, &ws, &es, &max); | 138 | if (NULL != multi) |
139 | if (mret != CURLM_OK) | 139 | { |
140 | { | 140 | mret = curl_multi_fdset (multi, &rs, &ws, &es, &max); |
141 | curl_multi_remove_handle (multi, c); | 141 | if (mret != CURLM_OK) |
142 | curl_multi_cleanup (multi); | 142 | { |
143 | curl_easy_cleanup (c); | 143 | curl_multi_remove_handle (multi, c); |
144 | MHD_stop_daemon (d); | 144 | curl_multi_cleanup (multi); |
145 | return 3; | 145 | curl_easy_cleanup (c); |
146 | } | 146 | MHD_stop_daemon (d); |
147 | return 3; | ||
148 | } | ||
149 | } | ||
147 | if (MHD_YES != | 150 | if (MHD_YES != |
148 | MHD_get_fdset(d, &rs, &ws, &es, &max)) | 151 | MHD_get_fdset(d, &rs, &ws, &es, &max)) |
149 | { | 152 | { |
@@ -156,26 +159,29 @@ int main(int argc, char **argv) | |||
156 | tv.tv_sec = 0; | 159 | tv.tv_sec = 0; |
157 | tv.tv_usec = 1000; | 160 | tv.tv_usec = 1000; |
158 | select(max + 1, &rs, &ws, &es, &tv); | 161 | select(max + 1, &rs, &ws, &es, &tv); |
159 | curl_multi_perform (multi, &running); | 162 | if (NULL != multi) |
160 | if (running == 0) | 163 | { |
161 | { | 164 | curl_multi_perform (multi, &running); |
162 | msg = curl_multi_info_read (multi, &running); | 165 | if (running == 0) |
163 | if (msg == NULL) | 166 | { |
164 | break; | 167 | msg = curl_multi_info_read (multi, &running); |
165 | if (msg->msg == CURLMSG_DONE) | 168 | if (msg == NULL) |
166 | { | 169 | break; |
167 | if (msg->data.result != CURLE_OK) | 170 | if (msg->msg == CURLMSG_DONE) |
168 | printf ("%s failed at %s:%d: `%s'\n", | 171 | { |
169 | "curl_multi_perform", | 172 | if (msg->data.result != CURLE_OK) |
170 | __FILE__, | 173 | printf ("%s failed at %s:%d: `%s'\n", |
171 | __LINE__, curl_easy_strerror (msg->data.result)); | 174 | "curl_multi_perform", |
172 | curl_multi_remove_handle (multi, c); | 175 | __FILE__, |
173 | curl_multi_cleanup (multi); | 176 | __LINE__, curl_easy_strerror (msg->data.result)); |
174 | curl_easy_cleanup (c); | 177 | curl_multi_remove_handle (multi, c); |
175 | c = NULL; | 178 | curl_multi_cleanup (multi); |
176 | multi = NULL; | 179 | curl_easy_cleanup (c); |
177 | } | 180 | c = NULL; |
178 | } | 181 | multi = NULL; |
182 | } | ||
183 | } | ||
184 | } | ||
179 | MHD_run(d); | 185 | MHD_run(d); |
180 | } | 186 | } |
181 | MHD_stop_daemon(d); | 187 | MHD_stop_daemon(d); |