tDon't fix curl_multi_perform with socket actions - vaccinewars - be a doctor a… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 67a979d0d52b3e6b4d626b88bd6c30f4b838061b | |
parent 0e22f437d27b6e6d722def9c12982dd6fbfd91d0 | |
Author: Ben Webb <[email protected]> | |
Date: Thu, 5 Nov 2020 23:49:08 -0800 | |
Don't fix curl_multi_perform with socket actions | |
Diffstat: | |
M src/network.c | 9 ++++++++- | |
1 file changed, 8 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/src/network.c b/src/network.c | |
t@@ -1235,6 +1235,8 @@ void CurlInit(CurlConnection *conn) | |
conn->StripChar = '\r'; | |
conn->data_size = 0; | |
conn->headers = NULL; | |
+ conn->timer_cb = NULL; | |
+ conn->socket_cb = NULL; | |
} | |
void CloseCurlConnection(CurlConnection *conn) | |
t@@ -1355,7 +1357,12 @@ gboolean OpenCurlConnection(CurlConnection *conn, char … | |
conn->data_size = 0; | |
conn->headers = g_ptr_array_new_with_free_func(g_free); | |
conn->running = TRUE; | |
- return CurlConnectionPerform(conn, &still_running, err); | |
+ if (conn->timer_cb) { | |
+ /* If we set a callback, we must not do _perform, but wait for the cb */ | |
+ return TRUE; | |
+ } else { | |
+ return CurlConnectionPerform(conn, &still_running, err); | |
+ } | |
} else { | |
g_set_error_literal(err, DOPE_CURLM_ERROR, 0, _("Could not init curl")); | |
return FALSE; |