]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix leak of curl handle on shutdown 23986/head
authorCasey Bodley <cbodley@redhat.com>
Wed, 5 Sep 2018 20:56:41 +0000 (16:56 -0400)
committerCasey Bodley <cbodley@redhat.com>
Fri, 7 Sep 2018 20:05:25 +0000 (16:05 -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>
src/rgw/rgw_http_client.cc

index 0002e5054548ee5d2c07808e0fe6d4671272c536..710277f51ef4f92f6e33e2ee40084dec26a8d37a 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();