diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-09-21 13:42:29 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-10-09 17:18:17 +0200 |
commit | 1925ce32f7c1dc226be31d4301a0a1dbb2448baa (patch) | |
tree | bf04e6090f6a19ff562e97d93544d488cf36ccf2 | |
parent | 25072dd5274f07255cdc930f6257c4cbf74692de (diff) | |
download | sssd-1925ce32f7c1dc226be31d4301a0a1dbb2448baa.tar.gz sssd-1925ce32f7c1dc226be31d4301a0a1dbb2448baa.tar.xz sssd-1925ce32f7c1dc226be31d4301a0a1dbb2448baa.zip |
UTIL: Do not depend on monitor code
Just moves code around. There should be a way to use the server.c module
without linking the monitor code.
Reviewed-by: Pavel Reichl <preichl@redhat.com>
-rw-r--r-- | src/monitor/monitor_interfaces.h | 2 | ||||
-rw-r--r-- | src/monitor/monitor_sbus.c | 34 | ||||
-rw-r--r-- | src/providers/data_provider_be.c | 2 | ||||
-rw-r--r-- | src/responder/common/responder_common.c | 2 | ||||
-rw-r--r-- | src/util/server.c | 36 | ||||
-rw-r--r-- | src/util/util.h | 2 |
6 files changed, 39 insertions, 39 deletions
diff --git a/src/monitor/monitor_interfaces.h b/src/monitor/monitor_interfaces.h index c015fbc66..213f293cf 100644 --- a/src/monitor/monitor_interfaces.h +++ b/src/monitor/monitor_interfaces.h @@ -40,8 +40,6 @@ int monitor_common_send_id(struct sbus_connection *conn, const char *name, uint16_t version); int monitor_common_pong(struct sbus_request *dbus_req, void *data); int monitor_common_res_init(struct sbus_request *dbus_req, void *data); -int monitor_common_rotate_logs(struct confdb_ctx *confdb, - const char *conf_entry); errno_t sss_monitor_init(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/src/monitor/monitor_sbus.c b/src/monitor/monitor_sbus.c index 544407ca2..3e6fbff9b 100644 --- a/src/monitor/monitor_sbus.c +++ b/src/monitor/monitor_sbus.c @@ -162,40 +162,6 @@ int monitor_common_res_init(struct sbus_request *dbus_req, void *data) return sbus_request_return_and_finish(dbus_req, DBUS_TYPE_INVALID); } -errno_t monitor_common_rotate_logs(struct confdb_ctx *confdb, - const char *conf_path) -{ - errno_t ret; - int old_debug_level = debug_level; - - ret = rotate_debug_files(); - if (ret) { - sss_log(SSS_LOG_ALERT, "Could not rotate debug files! [%d][%s]\n", - ret, strerror(ret)); - return ret; - } - - /* Get new debug level from the confdb */ - ret = confdb_get_int(confdb, conf_path, - CONFDB_SERVICE_DEBUG_LEVEL, - old_debug_level, - &debug_level); - if (ret != EOK) { - DEBUG(SSSDBG_FATAL_FAILURE, "Error reading from confdb (%d) [%s]\n", - ret, strerror(ret)); - /* Try to proceed with the old value */ - debug_level = old_debug_level; - } - - if (debug_level != old_debug_level) { - DEBUG(SSSDBG_FATAL_FAILURE, - "Debug level changed to %#.4x\n", debug_level); - debug_level = debug_convert_old_level(debug_level); - } - - return EOK; -} - errno_t sss_monitor_init(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct mon_cli_iface *mon_iface, diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index 6e7fcd510..e7f345f92 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -2916,7 +2916,7 @@ static int data_provider_logrotate(struct sbus_request *dbus_req, void *data) errno_t ret; struct be_ctx *be_ctx = talloc_get_type(data, struct be_ctx); - ret = monitor_common_rotate_logs(be_ctx->cdb, be_ctx->conf_path); + ret = server_common_rotate_logs(be_ctx->cdb, be_ctx->conf_path); if (ret != EOK) return ret; return sbus_request_return_and_finish(dbus_req, DBUS_TYPE_INVALID); diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c index a0c476e1d..b7331ac8a 100644 --- a/src/responder/common/responder_common.c +++ b/src/responder/common/responder_common.c @@ -1025,7 +1025,7 @@ int responder_logrotate(struct sbus_request *dbus_req, void *data) errno_t ret; struct resp_ctx *rctx = talloc_get_type(data, struct resp_ctx); - ret = monitor_common_rotate_logs(rctx->cdb, rctx->confdb_service_path); + ret = server_common_rotate_logs(rctx->cdb, rctx->confdb_service_path); if (ret != EOK) return ret; return sbus_request_return_and_finish(dbus_req, DBUS_TYPE_INVALID); diff --git a/src/util/server.c b/src/util/server.c index d00db3108..51934f8ba 100644 --- a/src/util/server.c +++ b/src/util/server.c @@ -370,13 +370,47 @@ static void te_server_hup(struct tevent_context *ev, DEBUG(SSSDBG_CRIT_FAILURE, "Received SIGHUP. Rotating logfiles.\n"); - ret = monitor_common_rotate_logs(lctx->confdb, lctx->confdb_path); + ret = server_common_rotate_logs(lctx->confdb, lctx->confdb_path); if (ret != EOK) { DEBUG(SSSDBG_FATAL_FAILURE, "Could not reopen log file [%s]\n", strerror(ret)); } } +errno_t server_common_rotate_logs(struct confdb_ctx *confdb, + const char *conf_path) +{ + errno_t ret; + int old_debug_level = debug_level; + + ret = rotate_debug_files(); + if (ret) { + sss_log(SSS_LOG_ALERT, "Could not rotate debug files! [%d][%s]\n", + ret, strerror(ret)); + return ret; + } + + /* Get new debug level from the confdb */ + ret = confdb_get_int(confdb, conf_path, + CONFDB_SERVICE_DEBUG_LEVEL, + old_debug_level, + &debug_level); + if (ret != EOK) { + DEBUG(SSSDBG_FATAL_FAILURE, "Error reading from confdb (%d) [%s]\n", + ret, strerror(ret)); + /* Try to proceed with the old value */ + debug_level = old_debug_level; + } + + if (debug_level != old_debug_level) { + DEBUG(SSSDBG_FATAL_FAILURE, + "Debug level changed to %#.4x\n", debug_level); + debug_level = debug_convert_old_level(debug_level); + } + + return EOK; +} + int server_setup(const char *name, int flags, const char *conf_entry, struct main_context **main_ctx) diff --git a/src/util/util.h b/src/util/util.h index df82b3fa4..482a660e7 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -237,6 +237,8 @@ struct main_context { pid_t parent_pid; }; +errno_t server_common_rotate_logs(struct confdb_ctx *confdb, + const char *conf_entry); int die_if_parent_died(void); int pidfile(const char *path, const char *name); int server_setup(const char *name, int flags, |