From 99c99e557020775714f028b28a147edda290c783 Mon Sep 17 00:00:00 2001 From: Michal Zidek Date: Tue, 11 Sep 2012 18:44:52 +0200 Subject: sss_cache tool invalidates records in memory cache. --- src/monitor/monitor.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/monitor/monitor.c') diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c index 50b2e9523..a94227878 100644 --- a/src/monitor/monitor.c +++ b/src/monitor/monitor.c @@ -51,6 +51,7 @@ #include "dbus/dbus.h" #include "sbus/sssd_dbus.h" #include "monitor/monitor_interfaces.h" +#include "responder/nss/nsssrv.h" #ifdef USE_KEYRING #include @@ -701,6 +702,10 @@ static int service_signal_rotate(struct mt_svc *svc) { return service_signal(svc, MON_CLI_METHOD_ROTATE); } +static int service_signal_clear_memcache(struct mt_svc *svc) +{ + return service_signal(svc, MON_CLI_METHOD_CLEAR_MEMCACHE); +} static int check_domain_ranges(struct sss_domain_info *domains) { @@ -1177,10 +1182,15 @@ static void monitor_hup(struct tevent_context *ev, DEBUG(1, ("Received SIGHUP.\n")); - /* Signal all services to rotate debug files */ + /* Send D-Bus message to other services to rotate their logs. + * NSS service receives also message to clear memory caches. */ for(cur_svc = ctx->svc_list; cur_svc; cur_svc = cur_svc->next) { service_signal_rotate(cur_svc); + if (!strcmp(NSS_SBUS_SERVICE_NAME, cur_svc->name)) { + service_signal_clear_memcache(cur_svc); + } } + } static int monitor_cleanup(void) -- cgit