mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 07:35:26 +00:00
The option for disabling the PID file is now pid-file none, not pid-file "none"
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: server.c,v 1.349 2001/10/08 07:46:06 marka Exp $ */
|
/* $Id: server.c,v 1.350 2001/10/16 20:04:36 gson Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -2138,7 +2138,10 @@ load_configuration(const char *filename, ns_server_t *server,
|
|||||||
|
|
||||||
obj = NULL;
|
obj = NULL;
|
||||||
if (ns_config_get(maps, "pid-file", &obj) == ISC_R_SUCCESS)
|
if (ns_config_get(maps, "pid-file", &obj) == ISC_R_SUCCESS)
|
||||||
ns_os_writepidfile(cfg_obj_asstring(obj));
|
if (cfg_obj_isvoid(obj))
|
||||||
|
ns_os_writepidfile(NULL);
|
||||||
|
else
|
||||||
|
ns_os_writepidfile(cfg_obj_asstring(obj));
|
||||||
else if (ns_g_lwresdonly)
|
else if (ns_g_lwresdonly)
|
||||||
ns_os_writepidfile(lwresd_g_defaultpidfile);
|
ns_os_writepidfile(lwresd_g_defaultpidfile);
|
||||||
else
|
else
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: os.c,v 1.53 2001/10/13 20:13:53 halley Exp $ */
|
/* $Id: os.c,v 1.54 2001/10/16 20:04:38 gson Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -479,8 +479,9 @@ ns_os_writepidfile(const char *filename) {
|
|||||||
|
|
||||||
cleanup_pidfile();
|
cleanup_pidfile();
|
||||||
|
|
||||||
if (strcmp(filename, "none") == 0)
|
if (filename == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
len = strlen(filename);
|
len = strlen(filename);
|
||||||
pidfile = malloc(len + 1);
|
pidfile = malloc(len + 1);
|
||||||
if (pidfile == NULL) {
|
if (pidfile == NULL) {
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
|
||||||
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
|
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
|
||||||
|
|
||||||
<!-- File: $Id: Bv9ARM-book.xml,v 1.166 2001/10/15 18:20:22 gson Exp $ -->
|
<!-- File: $Id: Bv9ARM-book.xml,v 1.167 2001/10/16 20:04:40 gson Exp $ -->
|
||||||
|
|
||||||
<book>
|
<book>
|
||||||
<title>BIND 9 Administrator Reference Manual</title>
|
<title>BIND 9 Administrator Reference Manual</title>
|
||||||
@@ -2913,9 +2913,11 @@ the default is <filename>named.memstats</filename>.</para>
|
|||||||
<listitem><para>The pathname of the file the server writes its process ID
|
<listitem><para>The pathname of the file the server writes its process ID
|
||||||
in. If not specified, the default is <filename>/var/run/named.pid</filename>.
|
in. If not specified, the default is <filename>/var/run/named.pid</filename>.
|
||||||
The pid-file is used by programs that want to send signals to the running
|
The pid-file is used by programs that want to send signals to the running
|
||||||
nameserver. If the the <command>pid-file</command> is the keyword
|
nameserver. Specifying <command>pid-file none;</command> disables the
|
||||||
<userinput>"none"</userinput> then no file will be written and any
|
use of a PID file — no file will be written and any
|
||||||
existing one will be removed.</para>
|
existing one will be removed. Note that <command>none</command>
|
||||||
|
is a keyword, not a file name, and therefore is not enclosed in
|
||||||
|
double quotes.</para>
|
||||||
</listitem></varlistentry>
|
</listitem></varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><command>statistics-file</command></term>
|
<varlistentry><term><command>statistics-file</command></term>
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: parser.c,v 1.79 2001/10/12 22:00:31 gson Exp $ */
|
/* $Id: parser.c,v 1.80 2001/10/16 20:04:41 gson Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -271,6 +271,9 @@ static isc_result_t
|
|||||||
create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type,
|
create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type,
|
||||||
cfg_obj_t **ret);
|
cfg_obj_t **ret);
|
||||||
|
|
||||||
|
static isc_result_t
|
||||||
|
parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_string(cfg_parser_t *pctx, cfg_obj_t *obj);
|
free_string(cfg_parser_t *pctx, cfg_obj_t *obj);
|
||||||
|
|
||||||
@@ -775,6 +778,41 @@ static cfg_type_t cfg_type_transferformat = {
|
|||||||
&transferformat_enums
|
&transferformat_enums
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The special keyword "none", as used in the pid-file option.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_none(cfg_printer_t *pctx, cfg_obj_t *obj) {
|
||||||
|
UNUSED(obj);
|
||||||
|
print(pctx, "none", 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cfg_type_t cfg_type_none = {
|
||||||
|
"none", NULL, print_none, &cfg_rep_void, NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A quoted string or the special keyword "none". Used in the pid-file option.
|
||||||
|
*/
|
||||||
|
static isc_result_t
|
||||||
|
parse_qstringornone(cfg_parser_t *pctx, const cfg_type_t *type,
|
||||||
|
cfg_obj_t **ret)
|
||||||
|
{
|
||||||
|
isc_result_t result;
|
||||||
|
CHECK(cfg_gettoken(pctx, QSTRING));
|
||||||
|
if (pctx->token.type == isc_tokentype_string &&
|
||||||
|
strcasecmp(pctx->token.value.as_pointer, "none") == 0)
|
||||||
|
return (create_cfgobj(pctx, &cfg_type_none, ret));
|
||||||
|
cfg_ungettoken(pctx);
|
||||||
|
return (parse_qstring(pctx, type, ret));
|
||||||
|
cleanup:
|
||||||
|
return (result);
|
||||||
|
}
|
||||||
|
|
||||||
|
static cfg_type_t cfg_type_qstringornone = {
|
||||||
|
"qstringornone", parse_qstringornone, NULL, NULL, NULL };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clauses that can be found within the top level of the named.conf
|
* Clauses that can be found within the top level of the named.conf
|
||||||
* file only.
|
* file only.
|
||||||
@@ -828,7 +866,7 @@ options_clauses[] = {
|
|||||||
{ "memstatistics-file", &cfg_type_qstring, 0 },
|
{ "memstatistics-file", &cfg_type_qstring, 0 },
|
||||||
{ "multiple-cnames", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
|
{ "multiple-cnames", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
|
||||||
{ "named-xfer", &cfg_type_qstring, CFG_CLAUSEFLAG_OBSOLETE },
|
{ "named-xfer", &cfg_type_qstring, CFG_CLAUSEFLAG_OBSOLETE },
|
||||||
{ "pid-file", &cfg_type_qstring, 0 },
|
{ "pid-file", &cfg_type_qstringornone, 0 },
|
||||||
{ "port", &cfg_type_uint32, 0 },
|
{ "port", &cfg_type_uint32, 0 },
|
||||||
{ "random-device", &cfg_type_qstring, 0 },
|
{ "random-device", &cfg_type_qstring, 0 },
|
||||||
{ "recursive-clients", &cfg_type_uint32, 0 },
|
{ "recursive-clients", &cfg_type_uint32, 0 },
|
||||||
|
Reference in New Issue
Block a user