aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--tests/libtest/lib575.c10
2 files changed, 6 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 916f8d889..bfbe2f8bb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
Changelog
+Kamil Dudka (17 June 2010)
+- Improve test575 in order to not fail with threaded DNS resolver.
+
Version 7.21.0 (16 June 2010)
Daniel Stenberg (5 June 2010)
diff --git a/tests/libtest/lib575.c b/tests/libtest/lib575.c
index 49a379e80..521720e95 100644
--- a/tests/libtest/lib575.c
+++ b/tests/libtest/lib575.c
@@ -71,7 +71,7 @@ int test(char *URL)
curl_multi_perform(mhandle, &still_running));
while(still_running) {
- struct timeval timeout;
+ static struct timeval timeout = /* 100 ms */ { 0, 100000L };
int rc;
fd_set fdread;
fd_set fdwrite;
@@ -80,23 +80,19 @@ int test(char *URL)
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
FD_ZERO(&fdexcep);
- timeout.tv_sec = 3;
- timeout.tv_usec = 0;
m = curl_multi_fdset(mhandle, &fdread, &fdwrite, &fdexcep, &max_fdset);
if(m != CURLM_OK) {
fprintf(stderr, "curl_multi_fdset() error\n");
goto test_cleanup;
}
+ /* We call select(max_fdset + 1, ...), specially in case of (maxfd == -1),
+ * we call select(0, ...), which is basically equal to sleep. */
rc = select(max_fdset + 1, &fdread, &fdwrite, &fdexcep, &timeout);
if(rc == -1) {
fprintf(stderr, "select() error\n");
goto test_cleanup;
}
- else if(rc == 0) {
- fprintf(stderr, "select() timeout!\n");
- goto test_cleanup;
- }
else {
while(CURLM_CALL_MULTI_PERFORM ==
curl_multi_perform(mhandle, &still_running));