Index: squid/src/cache_cf.c diff -c squid/src/cache_cf.c:1.396.2.26 squid/src/cache_cf.c:1.396.2.27 *** squid/src/cache_cf.c:1.396.2.26 Fri May 6 16:33:53 2005 --- squid/src/cache_cf.c Mon Jun 13 16:26:21 2005 *************** *** 299,306 **** } fclose(fp); defaults_if_none(); if (opt_send_signal == -1) { - configDoConfigure(); cachemgrRegister("config", "Current Squid Configuration", dump_config, --- 299,306 ---- } fclose(fp); defaults_if_none(); + configDoConfigure(); if (opt_send_signal == -1) { cachemgrRegister("config", "Current Squid Configuration", dump_config, *************** *** 2567,2574 **** snprintf(pathbuf, BUFSIZ, "%s/%s", Config.chroot_dir, path); path = pathbuf; } ! if (stat(path, &sb) < 0) ! fatalf("%s %s: %s", name, path, xstrerror()); } char * --- 2567,2578 ---- snprintf(pathbuf, BUFSIZ, "%s/%s", Config.chroot_dir, path); path = pathbuf; } ! if (stat(path, &sb) < 0) { ! if (opt_send_signal == -1 || opt_send_signal == SIGHUP) ! fatalf("%s %s: %s", name, path, xstrerror()); ! else ! fprintf(stderr, "WARNING: %s %s: %s\n", name, path, xstrerror()); ! } } char * Index: squid/src/globals.h diff -c squid/src/globals.h:1.108.2.6 squid/src/globals.h:1.108.2.7 *** squid/src/globals.h:1.108.2.6 Wed Apr 20 15:52:26 2005 --- squid/src/globals.h Mon Jun 13 16:26:21 2005 *************** *** 166,170 **** --- 166,171 ---- extern void *sbrk_start; /* 0 */ #endif extern int opt_send_signal; /* -1 */ + extern int opt_no_daemon; /* 0 */ #endif /* SQUID_GLOBALS_H */ Index: squid/src/main.c diff -c squid/src/main.c:1.345.2.25 squid/src/main.c:1.345.2.27 *** squid/src/main.c:1.345.2.25 Wed Apr 20 15:52:26 2005 --- squid/src/main.c Mon Jun 27 15:24:28 2005 *************** *** 38,44 **** /* for error reporting from xmalloc and friends */ extern void (*failure_notify) (const char *); - static int opt_no_daemon = 0; static int opt_parse_cfg_only = 0; static char *opt_syslog_facility = NULL; static int httpPortNumOverride = 1; --- 38,43 ---- *************** *** 684,691 **** /* send signal to running copy and exit */ if (opt_send_signal != -1) { /* chroot if configured to run inside chroot */ ! if (Config.chroot_dir && chroot(Config.chroot_dir)) { ! fatal("failed to chroot"); } sendSignal(); /* NOTREACHED */ --- 683,694 ---- /* send signal to running copy and exit */ if (opt_send_signal != -1) { /* chroot if configured to run inside chroot */ ! if (Config.chroot_dir) { ! if (chroot(Config.chroot_dir)) ! fatal("failed to chroot"); ! no_suid(); ! } else { ! leave_suid(); } sendSignal(); /* NOTREACHED */ Index: squid/src/tools.c diff -c squid/src/tools.c:1.213.2.15 squid/src/tools.c:1.213.2.16 *** squid/src/tools.c:1.213.2.15 Fri Apr 22 14:45:12 2005 --- squid/src/tools.c Mon Jun 13 16:26:22 2005 *************** *** 491,497 **** if (strchr(host, '.')) return host; } ! fatal("Could not determine fully qualified hostname. Please set 'visible_hostname'\n"); return NULL; /* keep compiler happy */ } --- 491,500 ---- if (strchr(host, '.')) return host; } ! if (opt_send_signal == -1) ! fatal("Could not determine fully qualified hostname. Please set 'visible_hostname'\n"); ! else ! return ("localhost"); return NULL; /* keep compiler happy */ }