diff options
Diffstat (limited to 'src/testcurl/test_quiesce.c')
-rw-r--r-- | src/testcurl/test_quiesce.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/testcurl/test_quiesce.c b/src/testcurl/test_quiesce.c index 8ce09434..aedcf760 100644 --- a/src/testcurl/test_quiesce.c +++ b/src/testcurl/test_quiesce.c @@ -152,7 +152,7 @@ ServeOneRequest(void *param) } MHD_stop_daemon (d); MHD_socket_close_(fd); - return NULL; + return done ? NULL : "Requests was not served by ServeOneRequest()"; } @@ -229,6 +229,14 @@ testGet (int type, int pool_count, int poll_flag) } fd = MHD_quiesce_daemon (d); + if (MHD_INVALID_SOCKET == fd) + { + fprintf (stderr, + "MHD_quiesce_daemon failed.\n"); + curl_easy_cleanup (c); + MHD_stop_daemon (d); + return 2; + } if (0 != pthread_create(&thrd, NULL, &ServeOneRequest, (void*)(intptr_t) fd)) { fprintf (stderr, "pthread_create failed\n"); @@ -411,8 +419,16 @@ testExternalGet () if (i == 0) { /* quiesce the daemon on the 1st iteration, so the 2nd should fail */ fd = MHD_quiesce_daemon(d); - if (MHD_INVALID_SOCKET == fd) - abort (); + if (MHD_INVALID_SOCKET == fd) + { + fprintf (stderr, + "MHD_quiesce_daemon failed.\n"); + curl_multi_remove_handle (multi, c); + curl_multi_cleanup (multi); + curl_easy_cleanup (c); + MHD_stop_daemon (d); + return 2; + } MHD_socket_close_ (fd); c = setupCURL (&cbc); multi = curl_multi_init (); |