summaryrefslogtreecommitdiff
path: root/tests/libtest/test.h
diff options
context:
space:
mode:
authorGokhan Sengun <gokhansengun@gmail.com>2011-12-06 23:41:24 +0100
committerDaniel Stenberg <daniel@haxx.se>2011-12-07 15:37:05 +0100
commit2b24dd870e81512542f238cb1b124cecb942a34f (patch)
tree151c695ddd70f74cfc0e62503aeef575a6adbdac /tests/libtest/test.h
parent46724b87b769ff50e1e6b90d2aabc50b8ba7c1a9 (diff)
downloadgnurl-2b24dd870e81512542f238cb1b124cecb942a34f.tar.gz
gnurl-2b24dd870e81512542f238cb1b124cecb942a34f.tar.bz2
gnurl-2b24dd870e81512542f238cb1b124cecb942a34f.zip
multi interface: fix block when CONNECT_ONLY option is used
Diffstat (limited to 'tests/libtest/test.h')
-rw-r--r--tests/libtest/test.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/libtest/test.h b/tests/libtest/test.h
index 34b8c9f3e..861a571a5 100644
--- a/tests/libtest/test.h
+++ b/tests/libtest/test.h
@@ -242,6 +242,31 @@ extern int unitfail;
/* ---------------------------------------------------------------- */
+#define exe_multi_remove_handle(A,B,Y,Z) do { \
+ CURLMcode ec; \
+ if((ec = curl_multi_remove_handle((A),(B))) != CURLM_OK) { \
+ fprintf(stderr, "%s:%d curl_multi_remove_handle() failed, " \
+ "with code %d (%s)\n", \
+ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \
+ res = (int)ec; \
+ } \
+} WHILE_FALSE
+
+#define res_multi_remove_handle(A,B) \
+ exe_multi_remove_handle((A),(B),(__FILE__),(__LINE__))
+
+#define chk_multi_remove_handle(A,B,Y,Z) do { \
+ exe_multi_remove_handle((A),(B),(Y),(Z)); \
+ if(res) \
+ goto test_cleanup; \
+} WHILE_FALSE
+
+
+#define multi_remove_handle(A,B) \
+ chk_multi_remove_handle((A),(B),(__FILE__),(__LINE__))
+
+/* ---------------------------------------------------------------- */
+
#define exe_multi_perform(A,B,Y,Z) do { \
CURLMcode ec; \
if((ec = curl_multi_perform((A),(B))) != CURLM_OK) { \