From: Max Reitz <[email protected]> A follow-up patch will make curl_multi_do() and curl_multi_read() take a CURLSocket instead of the CURLState. They still need the latter, though, so add a pointer to it to the former.
Cc: [email protected] Signed-off-by: Max Reitz <[email protected]> Reviewed-by: John Snow <[email protected]> Message-id: [email protected] Reviewed-by: Maxim Levitsky <[email protected]> Signed-off-by: Max Reitz <[email protected]> (cherry picked from commit 0487861685294660b23bc146e1ebd5304aa8bbe0) Signed-off-by: Michael Roth <[email protected]> --- block/curl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/curl.c b/block/curl.c index 606709fea4..4eaae9e211 100644 --- a/block/curl.c +++ b/block/curl.c @@ -79,6 +79,7 @@ static CURLMcode __curl_multi_socket_action(CURLM *multi_handle, #define CURL_BLOCK_OPT_TIMEOUT_DEFAULT 5 struct BDRVCURLState; +struct CURLState; static bool libcurl_initialized; @@ -96,6 +97,7 @@ typedef struct CURLAIOCB { typedef struct CURLSocket { int fd; + struct CURLState *state; QLIST_ENTRY(CURLSocket) next; } CURLSocket; @@ -179,6 +181,7 @@ static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action, if (!socket) { socket = g_new0(CURLSocket, 1); socket->fd = fd; + socket->state = state; QLIST_INSERT_HEAD(&state->sockets, socket, next); } socket = NULL; -- 2.17.1
