mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
parent
d05c5afc64
commit
9ca8d2baaa
@ -0,0 +1,41 @@
|
|||||||
|
lib/multi.c | 17 ++++++++++++++++-
|
||||||
|
1 files changed, 16 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/multi.c b/lib/multi.c
|
||||||
|
index 476cb81..74eb0f4 100644
|
||||||
|
--- a/lib/multi.c
|
||||||
|
+++ b/lib/multi.c
|
||||||
|
@@ -933,9 +933,16 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
|
easy->result = addHandleToSendOrPendPipeline(easy->easy_handle,
|
||||||
|
easy->easy_conn);
|
||||||
|
if(CURLE_OK == easy->result) {
|
||||||
|
- if(async)
|
||||||
|
+ if(async) {
|
||||||
|
/* We're now waiting for an asynchronous name lookup */
|
||||||
|
multistate(easy, CURLM_STATE_WAITRESOLVE);
|
||||||
|
+#ifdef USE_THREADS_POSIX
|
||||||
|
+ /* Curl_resolv_getsock() is not properly implemented in case
|
||||||
|
+ * we use POSIX threaded DNS resolver, we have to hang */
|
||||||
|
+ result = CURLM_CALL_MULTI_PERFORM;
|
||||||
|
+ break;
|
||||||
|
+#endif
|
||||||
|
+ }
|
||||||
|
else {
|
||||||
|
/* after the connect has been sent off, go WAITCONNECT unless the
|
||||||
|
protocol connect is already done and we can go directly to
|
||||||
|
@@ -1003,6 +1010,14 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
|
disconnect_conn = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
+#ifdef USE_THREADS_POSIX
|
||||||
|
+ /* Curl_resolv_getsock() is not properly implemented yet in case
|
||||||
|
+ * we use POSIX threaded DNS resolver, we have to hang */
|
||||||
|
+ Curl_socket_ready(CURL_SOCKET_BAD, CURL_SOCKET_BAD, 100 /* ms */);
|
||||||
|
+ result = CURLM_CALL_MULTI_PERFORM;
|
||||||
|
+ break;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user