// add a watcher to respond to realm configuration changes
RGWPeriodPusher pusher(store);
RGWFrontendPauser pauser(fes, implicit_tenant_context, &pusher);
- RGWRealmReloader reloader(store, service_map_meta, &pauser);
+ auto reloader = std::make_unique<RGWRealmReloader>(store,
+ service_map_meta, &pauser);
RGWRealmWatcher realm_watcher(g_ceph_context, store->svc()->zone->get_realm());
- realm_watcher.add_watcher(RGWRealmNotify::Reload, reloader);
+ realm_watcher.add_watcher(RGWRealmNotify::Reload, *reloader);
realm_watcher.add_watcher(RGWRealmNotify::ZonesNeedPeriod, pusher);
#if defined(HAVE_SYS_PRCTL_H)
derr << "shutting down" << dendl;
+ reloader.reset(); // stop the realm reloader
+
for (list<RGWFrontend *>::iterator liter = fes.begin(); liter != fes.end();
++liter) {
RGWFrontend *fe = *liter;