Index: daemon/unbound.c =================================================================== --- daemon/unbound.c (revision 3195) +++ daemon/unbound.c (working copy) @@ -269,8 +269,6 @@ #ifdef HAVE_SETRLIMIT if(setrlimit(RLIMIT_NOFILE, &rlim) < 0) { log_warn("setrlimit: %s", strerror(errno)); -#else - if(1) { #endif log_warn("cannot increase max open fds from %u to %u", (unsigned)avail, (unsigned)total+10); @@ -286,7 +284,9 @@ log_warn("increase ulimit or decrease threads, " "ports in config to remove this warning"); return; +#ifdef HAVE_SETRLIMIT } +#endif log_warn("increased limit(open files) from %u to %u", (unsigned)avail, (unsigned)total+10); } @@ -299,10 +299,14 @@ /** set verbosity, check rlimits, cache settings */ static void apply_settings(struct daemon* daemon, struct config_file* cfg, - int cmdline_verbose) + int cmdline_verbose, int debug_mode) { /* apply if they have changed */ verbosity = cmdline_verbose + cfg->verbosity; + if (debug_mode > 1) { + cfg->use_syslog = 0; + cfg->logfile = NULL; + } daemon_apply_cfg(daemon, cfg); checkrlimits(cfg); } @@ -661,7 +665,7 @@ cfgfile); log_warn("Continuing with default config settings"); } - apply_settings(daemon, cfg, cmdline_verbose); + apply_settings(daemon, cfg, cmdline_verbose, debug_mode); /* prepare */ if(!daemon_open_shared_ports(daemon)) @@ -741,7 +745,7 @@ verbosity++; break; case 'd': - debug_mode = 1; + debug_mode++; break; case 'w': winopt = optarg; Index: doc/unbound.8.in =================================================================== --- doc/unbound.8.in (revision 3195) +++ doc/unbound.8.in (working copy) @@ -36,9 +36,10 @@ described in \fIunbound.conf\fR(5). .TP .B \-d -Debug flag, do not fork into the background, but stay attached to the -console. This flag will also delay writing to the logfile until the -thread\-spawn time. So that most config and setup errors appear on stderr. +Debug flag: do not fork into the background. This flag will also delay +writing to the log file until the thread\-spawn time, so that most +config and setup errors appear on stderr. If given twice or more, the +log messages will always go to stderr, not to the log file or syslog. .TP .B \-v Increase verbosity. If given multiple times, more information is logged.