summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2016-04-23 16:16:03 +0000
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2016-04-23 16:16:03 +0000
commit1fe4a6c7025cb91f3410459a7a92d75fbbcd0df7 (patch)
treece0de4d08644800442b083b5337ce04a0c609b75
parent8bb4ce7621be4e6bcd4bcdc7513b7c94fcded3b4 (diff)
test_quiesce: do not violate our API
-rw-r--r--ChangeLog3
-rw-r--r--src/testcurl/test_quiesce.c9
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 84500851..73736e3e 100644
--- 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
index aedcf760..bf5e6d44 100644
--- 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")))