714. [bug] Preserve interval timers across reloads unless changed.

[RT# 729]
This commit is contained in:
Mark Andrews
2001-01-29 07:08:41 +00:00
parent b1b3495eba
commit 2d0627005d
3 changed files with 15 additions and 4 deletions

View File

@@ -1,3 +1,6 @@
714. [bug] Preserve interval timers across reloads unless changed.
[RT# 729]
713. [func] named-checkconf takes '-t directory' similar to named.
[RT #726]

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.h,v 1.49 2001/01/09 21:40:28 bwelling Exp $ */
/* $Id: server.h,v 1.50 2001/01/29 07:08:41 marka Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
@@ -60,8 +60,11 @@ struct ns_server {
ns_interfacemgr_t * interfacemgr;
dns_db_t * in_roothints;
dns_tkeyctx_t * tkeyctx;
isc_timer_t * interface_timer;
isc_timer_t * heartbeat_timer;
isc_uint32_t interface_interval;
isc_uint32_t heartbeat_interval;
isc_mutex_t reload_event_lock;
isc_event_t * reload_event;

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.285 2001/01/25 02:33:40 bwelling Exp $ */
/* $Id: server.c,v 1.286 2001/01/29 07:08:40 marka Exp $ */
#include <config.h>
@@ -1594,12 +1594,13 @@ load_configuration(const char *filename, ns_server_t *server,
isc_timer_reset(server->interface_timer,
isc_timertype_inactive,
NULL, NULL, ISC_TRUE);
} else {
} else if (server->interface_interval != interface_interval) {
isc_interval_t interval;
isc_interval_set(&interval, interface_interval, 0);
isc_timer_reset(server->interface_timer, isc_timertype_ticker,
NULL, &interval, ISC_FALSE);
}
server->interface_interval = interface_interval;
/*
* Configure the dialup heartbeat timer.
@@ -1611,12 +1612,13 @@ load_configuration(const char *filename, ns_server_t *server,
isc_timer_reset(server->heartbeat_timer,
isc_timertype_inactive,
NULL, NULL, ISC_TRUE);
} else {
} else if (server->heartbeat_interval != heartbeat_interval) {
isc_interval_t interval;
isc_interval_set(&interval, heartbeat_interval, 0);
isc_timer_reset(server->heartbeat_timer, isc_timertype_ticker,
NULL, &interval, ISC_FALSE);
}
server->heartbeat_interval = heartbeat_interval;
/*
* Configure and freeze all explicit views. Explicit
@@ -2069,6 +2071,9 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
server->interface_timer = NULL;
server->heartbeat_timer = NULL;
server->interface_interval = 0;
server->hearbeat_interval = 0;
CHECKFATAL(dns_zonemgr_create(ns_g_mctx, ns_g_taskmgr, ns_g_timermgr,
ns_g_socketmgr, &server->zonemgr),