]> granicus.if.org Git - curl/commit
curl_easy_perform_ev: debug/test function
authorDaniel Stenberg <daniel@haxx.se>
Sat, 10 Aug 2013 20:55:59 +0000 (22:55 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 20 Aug 2013 09:56:06 +0000 (11:56 +0200)
commit6cf8413e31629183b3c749aa2a17d24be14cbca1
tree4eefcd397f973dee660b823af175ebd7188d4901
parent062e5bfd9c3a05b9234144dc782e232804916b5e
curl_easy_perform_ev: debug/test function

This function is meant to work *exactly* as curl_easy_perform() but will
use the event-based libcurl API internally instead of
curl_multi_perform(). To avoid relying on an actual event-based library
and to not use non-portable functions (like epoll or similar), there's a
rather inefficient emulation layer implemented on top of Curl_poll()
instead.

There's currently some convenience logging done in curl_easy_perform_ev
which helps when tracking down problems. They may be suitable to remove
or change once things seem to be fine enough.

curl has a new --test-event option when built with debug enabled that
then uses curl_easy_perform_ev() instead of curl_easy_perform(). If
built without debug, using --test-event will only output a warning
message.

NOTE: curl_easy_perform_ev() is not part if the public API on purpose.
It is only present in debug builds of libcurl and MUST NOT be considered
stable even then. Use it for libcurl-testing purposes only.

runtests.pl now features an -e command line option that makes it use
--test-event for all curl command line tests. The man page is updated.
lib/easy.c
lib/easyif.h
src/tool_cfgable.h
src/tool_getparam.c
src/tool_operate.c
tests/runtests.1
tests/runtests.pl