aboutsummaryrefslogtreecommitdiff
path: root/lib/easyif.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2013-08-10 22:55:59 +0200
committerDaniel Stenberg <daniel@haxx.se>2013-08-20 11:56:06 +0200
commit6cf8413e31629183b3c749aa2a17d24be14cbca1 (patch)
tree4eefcd397f973dee660b823af175ebd7188d4901 /lib/easyif.h
parent062e5bfd9c3a05b9234144dc782e232804916b5e (diff)
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.
Diffstat (limited to 'lib/easyif.h')
-rw-r--r--lib/easyif.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/easyif.h b/lib/easyif.h
index c55819396..eed160577 100644
--- a/lib/easyif.h
+++ b/lib/easyif.h
@@ -25,6 +25,9 @@
/*
* Prototypes for library-wide functions provided by easy.c
*/
+#ifdef CURLDEBUG
+CURLcode curl_easy_perform_ev(CURL *easy);
+#endif
#endif /* HEADER_CURL_EASYIF_H */