diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-08-16 19:30:25 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-08-16 19:30:25 +0300 |
commit | b812b174c3b4da28a93e3300064d63dd865b2178 (patch) | |
tree | 28ed28755e0876215a305956f968665730abfed8 /src/testcurl/test_process_headers.c | |
parent | 303d42fdcd8f029f4bf3cfb6401aec407c1626f4 (diff) | |
download | libmicrohttpd-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.c | 43 |
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 | } |