From: Witold Kręcicki Date: Tue, 11 Dec 2018 11:58:42 +0000 (+0100) Subject: Add a status line to rndc status notifying that server is being reloaded/reconfigured X-Git-Tag: v9.13.6~89^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=517449e0e67191b5d647986ff6a924e77a1197c4;p=thirdparty%2Fbind9.git Add a status line to rndc status notifying that server is being reloaded/reconfigured --- diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index 23a0ace5f9e..399a14e6beb 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -78,6 +78,7 @@ struct named_server { isc_mutex_t reload_event_lock; isc_event_t * reload_event; + bool reload_in_progress; bool flushonshutdown; diff --git a/bin/named/server.c b/bin/named/server.c index 6c96fee6cf8..f664b5aea3c 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -9325,6 +9325,7 @@ view_loaded(void *arg) { "FIPS mode is %s", FIPS_mode() ? "enabled" : "disabled"); #endif + server->reload_in_progress = false; isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_NOTICE, @@ -9660,6 +9661,7 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { CHECKFATAL(server->reload_event == NULL ? ISC_R_NOMEMORY : ISC_R_SUCCESS, "allocating reload event"); + server->reload_in_progress = true; /* * Setup the server task, which is responsible for coordinating @@ -9970,6 +9972,7 @@ loadconfig(named_server_t *server) { static isc_result_t reload(named_server_t *server) { isc_result_t result; + server->reload_in_progress = true; CHECK(loadconfig(server)); result = load_zones(server, false, false); @@ -10316,6 +10319,7 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, isc_result_t named_server_reconfigcommand(named_server_t *server) { isc_result_t result; + server->reload_in_progress = true; CHECK(loadconfig(server)); @@ -11461,6 +11465,10 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { server->sctx->tcpquota.used, server->sctx->tcpquota.max); CHECK(putstr(text, line)); + if (server->reload_in_progress) { + CHECK(putstr(text, "reload/reconfig in progress")); + } + CHECK(putstr(text, "server is up and running")); CHECK(putnull(text));