summaryrefslogtreecommitdiffstats
path: root/src/monitor
diff options
context:
space:
mode:
Diffstat (limited to 'src/monitor')
-rw-r--r--src/monitor/monitor.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 5e6eb37fd..5feba706a 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -759,6 +759,10 @@ static int service_signal_clear_enum_cache(struct mt_svc *svc)
{
return service_signal(svc, MON_CLI_IFACE_CLEARENUMCACHE);
}
+static int service_signal_sysbus_reconnect(struct mt_svc *svc)
+{
+ return service_signal(svc, MON_CLI_IFACE_SYSBUSRECONNECT);
+}
static int check_domain_ranges(struct sss_domain_info *domains)
{
@@ -1351,6 +1355,7 @@ static void monitor_hup(struct tevent_context *ev,
if (!strcmp(SSS_AUTOFS_SBUS_SERVICE_NAME, cur_svc->name)) {
service_signal_clear_enum_cache(cur_svc);
}
+
}
}
@@ -1539,6 +1544,10 @@ static void signal_offline_reset(struct tevent_context *ev,
if (cur_svc->provider) {
service_signal_reset_offline(cur_svc);
}
+
+ if (strcmp(SSS_IFP_SBUS_SERVICE_NAME, cur_svc->name) == 0) {
+ service_signal_sysbus_reconnect(cur_svc);
+ }
}
signal_res_init(monitor);
}