diff options
author | Simo Sorce <simo@redhat.com> | 2016-01-12 20:13:28 -0500 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2016-06-29 21:45:33 +0200 |
commit | f9f3dbc87d49bea05a54c2bcd9f7e40e4e8ab85a (patch) | |
tree | dcf279d163b59ee1acb3b4691ca119b78e8c3a2f | |
parent | 75ba524d356fed615a9c92152f64aebf0bdaf9c2 (diff) | |
download | sssd-f9f3dbc87d49bea05a54c2bcd9f7e40e4e8ab85a.tar.gz sssd-f9f3dbc87d49bea05a54c2bcd9f7e40e4e8ab85a.tar.xz sssd-f9f3dbc87d49bea05a54c2bcd9f7e40e4e8ab85a.zip |
Server: Enable Watchdog in all daemons
This allows the services to self monitor.
Related:
https://fedorahosted.org/sssd/ticket/2921
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
-rw-r--r-- | src/util/server.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/util/server.c b/src/util/server.c index 074dc3484..953cd3d61 100644 --- a/src/util/server.c +++ b/src/util/server.c @@ -459,6 +459,7 @@ int server_setup(const char *name, int flags, struct tevent_signal *tes; struct logrotate_ctx *lctx; char *locale; + int watchdog_interval; ret = chown_debug_file(NULL, uid, gid); if (ret != EOK) { @@ -656,6 +657,21 @@ int server_setup(const char *name, int flags, } } + /* Setup the internal watchdog */ + ret = confdb_get_int(ctx->confdb_ctx, conf_entry, + CONFDB_DOMAIN_TIMEOUT, + 0, &watchdog_interval); + if (ret != EOK) { + DEBUG(SSSDBG_FATAL_FAILURE, "Error reading from confdb (%d) [%s]\n", + ret, strerror(ret)); + return ret; + } + ret = setup_watchdog(ctx->event_ctx, watchdog_interval); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, "Watchdog setup failed.\n"); + return ret; + } + sss_log(SSS_LOG_INFO, "Starting up"); DEBUG(SSSDBG_TRACE_FUNC, "CONFDB: %s\n", conf_db); |