aboutsummaryrefslogtreecommitdiff
path: root/backends/networking/curl/connectionmanager.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2019-11-02 10:10:02 +0100
committerFilippos Karapetis2019-11-03 19:48:34 +0200
commit47b67342d6205b2491a49d0da2183b921c73ee46 (patch)
tree579f0a1137334b3c3fb7d91b077225a6dbd6cf8b /backends/networking/curl/connectionmanager.cpp
parent0c1a04a23cabcb5d8976f12b85576b663ec1524e (diff)
downloadscummvm-rg350-47b67342d6205b2491a49d0da2183b921c73ee46.tar.gz
scummvm-rg350-47b67342d6205b2491a49d0da2183b921c73ee46.tar.bz2
scummvm-rg350-47b67342d6205b2491a49d0da2183b921c73ee46.zip
NETWORKING: Improve libcurl error handling
Error messages for failed requests are now printed as warnings.
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);
}
}