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.c66
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);