aboutsummaryrefslogtreecommitdiff
path: root/backends/networking/curl/connectionmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/networking/curl/connectionmanager.cpp')
-rw-r--r--backends/networking/curl/connectionmanager.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/backends/networking/curl/connectionmanager.cpp b/backends/networking/curl/connectionmanager.cpp
index 34a9701f75..557fcf06eb 100644
--- a/backends/networking/curl/connectionmanager.cpp
+++ b/backends/networking/curl/connectionmanager.cpp
@@ -184,20 +184,19 @@ void ConnectionManager::processTransfers() {
int messagesInQueue;
CURLMsg *curlMsg;
while ((curlMsg = curl_multi_info_read(_multi, &messagesInQueue))) {
- CURL *easyHandle = curlMsg->easy_handle;
+ if (curlMsg->msg == CURLMSG_DONE) {
+ CURL *easyHandle = curlMsg->easy_handle;
- NetworkReadStream *stream;
- curl_easy_getinfo(easyHandle, CURLINFO_PRIVATE, &stream);
- if (stream)
- stream->finished();
+ NetworkReadStream *stream = nullptr;
+ curl_easy_getinfo(easyHandle, CURLINFO_PRIVATE, &stream);
- if (curlMsg->msg == CURLMSG_DONE) {
- debug(9, "ConnectionManager: SUCCESS (%d - %s)", curlMsg->data.result, curl_easy_strerror(curlMsg->data.result));
+ if (stream)
+ stream->finished(curlMsg->data.result);
+
+ curl_multi_remove_handle(_multi, easyHandle);
} else {
- warning("ConnectionManager: FAILURE (CURLMsg (%d))", curlMsg->msg);
+ warning("Unknown libcurl message type %d", curlMsg->msg);
}
-
- curl_multi_remove_handle(_multi, easyHandle);
}
}