Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
tick_event = 0;
}
+ //because add_observer is called after set_up_admin_socket
+ //so we can use asok_hook to avoid assert in the remove_observer
+ if (asok_hook != NULL)
+ g_conf->remove_observer(this);
+
clean_up_admin_socket();
// Inform MDS we are going away, then shut down beacon
state = STATE_SHUTDOWN;
+ g_conf->remove_observer(this);
+
if (admin_hook) {
AdminSocket* admin_socket = cct->get_admin_socket();
admin_socket->unregister_command("mon_status");
initialized.set(0);
+ cct->_conf->remove_observer(this);
+
map<int,OSDSession*>::iterator p;
while (!osd_sessions.empty()) {
p = osd_sessions.begin();