Hi Daniel,
  Failed test cases with the threaded resolver:
  532 536 573
No fails are reproduced on my hosts:

Did you use 'configure --enable-debug' before you ran the tests? With your second patch, I got the threaded resolver version to fail on these:
I was using sequentially 3 different ways to start tests:
1) configure --enable-debug --enable-curldebug --enable-threaded-resolver ... && make && make tests 2) the same configuration with hand-starting runtests.pl -n ... (disable using valgrind) 3) configure --disable-debug --disable-curldebug --enable-threaded-resolver ... && make && make tests

fails are not reproduced in all three cases on my host

On the FreeBSD host (2x4-core Intel processors, under high load - our really working server) I was starting only case (3) - no fails are reproduced.

I think the threaded resolver code should be manually reviewed intentionally, and tests passed on your host, or where they are reproduced less-or-more.
-    waitperform(conn, timeout_ms);
+    Curl_is_resolved(conn,&temp_entry);

fixed, but I am not sure that this call is used somewhere in the test suite ... on the other hand this call is used inside a library itself, but in very special case.

Yes? Like in *every single request* when the easy interface is used and libcurl is built to use c-ares. It wouldn't trigger a test failure since we don't have any ways in the test suite to detect such errors.
The Curl_is_resolved code also makes a waitperform() call, but with a timeout_ms=0. This causes poll() call anyway, but with a zero timeout, so it would not load a system by busy state, especially on *nix hosts, as I hope - I've seen such code in other places as a replacement for sleep(0)/usleep(0) call especially to avoid system load. But anyway it is fixed now ...

Amount of my time allocated for this job is almost exhausted. Hope, the result is useful.

Thanks, I'll try to make something out of it.
That's great, hope to see our patches in the next curl release.

Regards,
Vsevolod

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to