From: Max Reitz <mre...@redhat.com> 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: qemu-sta...@nongnu.org Signed-off-by: Max Reitz <mre...@redhat.com> Reviewed-by: John Snow <js...@redhat.com> Message-id: 20190910124136.10565-2-mre...@redhat.com Reviewed-by: Maxim Levitsky <mlevi...@redhat.com> Signed-off-by: Max Reitz <mre...@redhat.com> (cherry picked from commit 0487861685294660b23bc146e1ebd5304aa8bbe0) Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> --- 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