"FIPS mode is %s",
FIPS_mode() ? "enabled" : "disabled");
#endif /* ifdef HAVE_FIPS_MODE */
- server->reload_status = NAMED_RELOAD_DONE;
+ atomic_store(&server->reload_status, NAMED_RELOAD_DONE);
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_NOTICE,
&server->in_roothints),
"setting up root hints");
- server->reload_status = NAMED_RELOAD_IN_PROGRESS;
+ atomic_store(&server->reload_status, NAMED_RELOAD_IN_PROGRESS);
/*
* Setup the server task, which is responsible for coordinating
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"reloading configuration failed: %s",
isc_result_totext(result));
- server->reload_status = NAMED_RELOAD_FAILED;
+ atomic_store(&server->reload_status, NAMED_RELOAD_FAILED);
}
return (result);
static isc_result_t
reload(named_server_t *server) {
isc_result_t result;
- server->reload_status = NAMED_RELOAD_IN_PROGRESS;
+
+ atomic_store(&server->reload_status, NAMED_RELOAD_IN_PROGRESS);
+
CHECK(loadconfig(server));
result = load_zones(server, false, false);
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"reloading zones failed: %s",
isc_result_totext(result));
- server->reload_status = NAMED_RELOAD_FAILED;
+ atomic_store(&server->reload_status, NAMED_RELOAD_FAILED);
}
cleanup:
return (result);
isc_result_t
named_server_reconfigcommand(named_server_t *server) {
isc_result_t result;
- server->reload_status = NAMED_RELOAD_IN_PROGRESS;
+ atomic_store(&server->reload_status, NAMED_RELOAD_IN_PROGRESS);
CHECK(loadconfig(server));
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"loading new zones failed: %s",
isc_result_totext(result));
- server->reload_status = NAMED_RELOAD_FAILED;
+ atomic_store(&server->reload_status, NAMED_RELOAD_FAILED);
}
cleanup:
return (result);
char boottime[ISC_FORMATHTTPTIMESTAMP_SIZE];
char configtime[ISC_FORMATHTTPTIMESTAMP_SIZE];
char line[1024], hostname[256];
+ named_reload_t reload_status;
if (named_g_server->version_set) {
ob = " (";
ns_statscounter_tcphighwater));
CHECK(putstr(text, line));
- if (server->reload_status != NAMED_RELOAD_DONE) {
+ reload_status = atomic_load(&server->reload_status);
+ if (reload_status != NAMED_RELOAD_DONE) {
snprintf(line, sizeof(line), "reload/reconfig %s\n",
- (server->reload_status == NAMED_RELOAD_FAILED
+ (reload_status == NAMED_RELOAD_FAILED
? "failed"
: "in progress"));
CHECK(putstr(text, line));