From f9f3dbc87d49bea05a54c2bcd9f7e40e4e8ab85a Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 12 Jan 2016 20:13:28 -0500 Subject: [PATCH 04/19] Server: Enable Watchdog in all daemons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows the services to self monitor. Related: https://fedorahosted.org/sssd/ticket/2921 Reviewed-by: Jakub Hrozek Reviewed-by: Pavel Březina --- src/util/server.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/util/server.c b/src/util/server.c index 074dc34848ae2b8dd98bf6b218cc6c9c8441104d..953cd3d6171bf2fbcefd9b9138c679100d5153c3 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); -- 2.4.11