From: Casey Bodley Date: Wed, 5 Sep 2018 20:56:41 +0000 (-0400) Subject: rgw: fix leak of curl handle on shutdown X-Git-Tag: v13.2.3~143^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=24ea30e7fc1567915e30cd44f82196d38f86a279;p=ceph.git rgw: fix leak of curl handle on shutdown addresses a valgrind leak reported from curl_multi_add_handle(). requests that are still linked to the curl_multi handle need to be unlinked and finished with ECANCELED, rather than just finished Fixes: http://tracker.ceph.com/issues/35715 Signed-off-by: Casey Bodley (cherry picked from commit dd478483962188c1805f522deb7f7c7a33c5fadb) --- diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc index 969b5cd8c72..4fa67b32f06 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -1165,14 +1165,14 @@ void *RGWHTTPManager::reqs_thread_entry() RWLock::WLocker rl(reqs_lock); for (auto r : unregistered_reqs) { - _finish_request(r, -ECANCELED); + _unlink_request(r); } unregistered_reqs.clear(); auto all_reqs = std::move(reqs); for (auto iter : all_reqs) { - _finish_request(iter.second, -ECANCELED); + _unlink_request(iter.second); } reqs.clear();