From 63c1711a9e237c14d137131f56751970ad1567b1 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 24 Jul 2014 18:22:22 -0700 Subject: [PATCH] msg/SimpleMessenger: drop local_conneciton priv link on shutdwon This breaks ref cycles between the local_connection and session, and let's us drop the explicit set_priv() calls in OSD::shutdown(). Signed-off-by: Sage Weil --- src/msg/SimpleMessenger.cc | 3 +++ src/osd/OSD.cc | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index 3962d3bc0921..19de92577490 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -86,6 +86,9 @@ int SimpleMessenger::shutdown() ldout(cct,10) << "shutdown " << get_myaddr() << dendl; mark_down_all(); dispatch_queue.shutdown(); + + // break ref cycles on the loopback connection + local_connection->set_priv(NULL); return 0; } diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 1a5a395cc9d9..6f59dbfb976d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1787,10 +1787,6 @@ int OSD::shutdown() service.shutdown(); op_tracker.on_shutdown(); - // zap the Sessions for any loopback Connections - client_messenger->get_loopback_connection()->set_priv(NULL); - cluster_messenger->get_loopback_connection()->set_priv(NULL); - class_handler->shutdown(); client_messenger->shutdown(); cluster_messenger->shutdown(); -- 2.47.3