]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix leak of curl handle on shutdown 24518/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:46:56 +0000 (22:46 -0400)
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 969b5cd8c725ee2f004e189be43cf84a554d1609..4fa67b32f06aa8c8fc3c38981bc6caae9d7d9448 100644 (file)
@@ -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();