mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 17:42:04 -04:00
3157. [tuning] Reduce the time spent in "rndc reconfig" by parsing
the config file before pausing the server. [RT #21373]
This commit is contained in:
parent
6921f2d4ee
commit
1219f8d194
2 changed files with 14 additions and 6 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
3157. [tuning] Reduce the time spent in "rndc reconfig" by parsing
|
||||
the config file before pausing the server. [RT #21373]
|
||||
|
||||
3156. [placeholder]
|
||||
|
||||
--- 9.9.0a2 released ---
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: server.c,v 1.619 2011/09/06 22:29:32 smann Exp $ */
|
||||
/* $Id: server.c,v 1.620 2011/09/23 18:08:01 each Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
|
@ -4341,15 +4341,12 @@ load_configuration(const char *filename, ns_server_t *server,
|
|||
ns_cache_t *nsc;
|
||||
struct cfg_context *nzctx;
|
||||
int num_zones = 0;
|
||||
isc_boolean_t exclusive = ISC_FALSE;
|
||||
|
||||
ISC_LIST_INIT(viewlist);
|
||||
ISC_LIST_INIT(builtin_viewlist);
|
||||
ISC_LIST_INIT(cachelist);
|
||||
|
||||
/* Ensure exclusive access to configuration data. */
|
||||
result = isc_task_beginexclusive(server->task);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
|
||||
/* Create the ACL configuration context */
|
||||
if (ns_g_aclconfctx != NULL)
|
||||
cfg_aclconfctx_detach(&ns_g_aclconfctx);
|
||||
|
|
@ -4445,6 +4442,13 @@ load_configuration(const char *filename, ns_server_t *server,
|
|||
CHECK(result);
|
||||
}
|
||||
|
||||
/* Ensure exclusive access to configuration data. */
|
||||
if (!exclusive) {
|
||||
result = isc_task_beginexclusive(server->task);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
exclusive = ISC_TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set process limits, which (usually) needs to be done as root.
|
||||
*/
|
||||
|
|
@ -5212,7 +5216,8 @@ load_configuration(const char *filename, ns_server_t *server,
|
|||
adjust_interfaces(server, ns_g_mctx);
|
||||
|
||||
/* Relinquish exclusive access to configuration data. */
|
||||
isc_task_endexclusive(server->task);
|
||||
if (exclusive)
|
||||
isc_task_endexclusive(server->task);
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(1), "load_configuration: %s",
|
||||
|
|
|
|||
Loading…
Reference in a new issue