aboutsummaryrefslogtreecommitdiff
path: root/contrib/bind9/bin/named/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind9/bin/named/main.c')
-rw-r--r--contrib/bind9/bin/named/main.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/contrib/bind9/bin/named/main.c b/contrib/bind9/bin/named/main.c
index 432afe528607..f78ea247c8a7 100644
--- a/contrib/bind9/bin/named/main.c
+++ b/contrib/bind9/bin/named/main.c
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.c,v 1.119.2.3.2.16 2004/09/01 07:16:35 marka Exp $ */
+/* $Id: main.c,v 1.119.2.3.2.17 2004/10/25 00:42:54 marka Exp $ */
#include <config.h>
@@ -605,6 +605,15 @@ setup(void) {
if (!ns_g_foreground)
ns_os_daemonize();
+ /*
+ * We call isc_app_start() here as some versions of FreeBSD's fork()
+ * destroys all the signal handling it sets up.
+ */
+ result = isc_app_start();
+ if (result != ISC_R_SUCCESS)
+ ns_main_earlyfatal("isc_app_start() failed: %s",
+ isc_result_totext(result));
+
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "starting BIND %s%s", ns_g_version,
saved_command_line);
@@ -801,11 +810,6 @@ main(int argc, char *argv[]) {
ns_os_init(program_name);
- result = isc_app_start();
- if (result != ISC_R_SUCCESS)
- ns_main_earlyfatal("isc_app_start() failed: %s",
- isc_result_totext(result));
-
dns_result_register();
dst_result_register();
isccc_result_register();