aboutsummaryrefslogtreecommitdiff
path: root/src/testcurl/test_process_headers.c
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2021-08-16 19:30:25 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2021-08-16 19:30:25 +0300
commitb812b174c3b4da28a93e3300064d63dd865b2178 (patch)
tree28ed28755e0876215a305956f968665730abfed8 /src/testcurl/test_process_headers.c
parent303d42fdcd8f029f4bf3cfb6401aec407c1626f4 (diff)
downloadlibmicrohttpd-b812b174c3b4da28a93e3300064d63dd865b2178.tar.gz
libmicrohttpd-b812b174c3b4da28a93e3300064d63dd865b2178.zip
tests: improved handling of curl multi_*
Diffstat (limited to 'src/testcurl/test_process_headers.c')
-rw-r--r--src/testcurl/test_process_headers.c43
1 files changed, 28 insertions, 15 deletions
diff --git a/src/testcurl/test_process_headers.c b/src/testcurl/test_process_headers.c
index 8756858b..b0826b3d 100644
--- a/src/testcurl/test_process_headers.c
+++ b/src/testcurl/test_process_headers.c
@@ -494,24 +494,37 @@ testExternalGet ()
494#endif 494#endif
495 } 495 }
496 curl_multi_perform (multi, &running); 496 curl_multi_perform (multi, &running);
497 if (running == 0) 497 if (0 == running)
498 { 498 {
499 msg = curl_multi_info_read (multi, &running); 499 int pending;
500 if (msg == NULL) 500 int curl_fine = 0;
501 break; 501 while (NULL != (msg = curl_multi_info_read (multi, &pending)))
502 if (msg->msg == CURLMSG_DONE)
503 { 502 {
504 if (msg->data.result != CURLE_OK) 503 if (msg->msg == CURLMSG_DONE)
505 printf ("%s failed at %s:%d: `%s'\n", 504 {
506 "curl_multi_perform", 505 if (msg->data.result == CURLE_OK)
507 __FILE__, 506 curl_fine = 1;
508 __LINE__, curl_easy_strerror (msg->data.result)); 507 else
509 curl_multi_remove_handle (multi, c); 508 {
510 curl_multi_cleanup (multi); 509 fprintf (stderr,
511 curl_easy_cleanup (c); 510 "%s failed at %s:%d: `%s'\n",
512 c = NULL; 511 "curl_multi_perform",
513 multi = NULL; 512 __FILE__,
513 __LINE__, curl_easy_strerror (msg->data.result));
514 abort ();
515 }
516 }
514 } 517 }
518 if (! curl_fine)
519 {
520 fprintf (stderr, "libcurl haven't returned OK code\n");
521 abort ();
522 }
523 curl_multi_remove_handle (multi, c);
524 curl_multi_cleanup (multi);
525 curl_easy_cleanup (c);
526 c = NULL;
527 multi = NULL;
515 } 528 }
516 MHD_run (d); 529 MHD_run (d);
517 } 530 }