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: v12.2.10~28^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=97a2729f9bb5fbae46cd93ebcaf540c7cfb64435;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 e8522f511e25..e11deb7847bf 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -1134,14 +1134,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();