]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix leak of curl handle on shutdown 24519/head
authorCasey Bodley <cbodley@redhat.com>
Wed, 5 Sep 2018 20:56:41 +0000 (16:56 -0400)
committerPrashant D <pdhange@redhat.com>
Wed, 10 Oct 2018 02:02:34 +0000 (04:02 +0200)
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 <cbodley@redhat.com>
(cherry picked from commit dd478483962188c1805f522deb7f7c7a33c5fadb)

src/rgw/rgw_http_client.cc

index e8522f511e2564a0c6d1076b75b01a53ed35c77b..e11deb7847bf41a1f0953f400174ef729a474c48 100644 (file)
@@ -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();