diff options
author | Bastien Bouclet | 2019-11-02 10:10:02 +0100 |
---|---|---|
committer | Filippos Karapetis | 2019-11-03 19:48:34 +0200 |
commit | 47b67342d6205b2491a49d0da2183b921c73ee46 (patch) | |
tree | 579f0a1137334b3c3fb7d91b077225a6dbd6cf8b /backends/networking/curl/connectionmanager.cpp | |
parent | 0c1a04a23cabcb5d8976f12b85576b663ec1524e (diff) | |
download | scummvm-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.cpp | 19 |
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); } } |