commit 1fe4a6c7025cb91f3410459a7a92d75fbbcd0df7
parent 8bb4ce7621be4e6bcd4bcdc7513b7c94fcded3b4
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Sat, 23 Apr 2016 16:16:03 +0000
test_quiesce: do not violate our API
Diffstat:
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,6 @@
+Sat Apr 23 16:06:30 CET 2016
+ Improved test_quiesce test. -EG
+
Sat Apr 23 15:39:38 CET 2016
Notify other threads in MHD_quiesce_daemon() so listen socket FD
is removed from awaiting select() and poll(). -EG
diff --git a/src/testcurl/test_quiesce.c b/src/testcurl/test_quiesce.c
@@ -150,8 +150,13 @@ ServeOneRequest(void *param)
MHD_SYS_select_ (max + 1, &rs, &ws, &es, &tv);
MHD_run (d);
}
+ fd = MHD_quiesce_daemon (d);
+ if (MHD_INVALID_SOCKET == fd)
+ {
+ MHD_stop_daemon (d);
+ return "MHD_quiesce_daemon() failed in ServeOneRequest()";
+ }
MHD_stop_daemon (d);
- MHD_socket_close_(fd);
return done ? NULL : "Requests was not served by ServeOneRequest()";
}
@@ -429,7 +434,6 @@ testExternalGet ()
MHD_stop_daemon (d);
return 2;
}
- MHD_socket_close_ (fd);
c = setupCURL (&cbc);
multi = curl_multi_init ();
mret = curl_multi_add_handle (multi, c);
@@ -450,6 +454,7 @@ testExternalGet ()
curl_multi_cleanup (multi);
}
MHD_stop_daemon (d);
+ MHD_socket_close_ (fd);
if (cbc.pos != strlen ("/hello_world"))
return 8192;
if (0 != strncmp ("/hello_world", cbc.buf, strlen ("/hello_world")))