diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-10-21 17:14:26 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-10-21 17:14:26 +0000 |
commit | 5cb54b5adcda45c71120ec93c0bbbd558703a218 (patch) | |
tree | 9a83eead32edfd2dbfc059c9a5a994c7d404b3ce | |
parent | 37890e2f375b2b088e777877a8fc81654f59b81b (diff) | |
download | busybox-5cb54b5adcda45c71120ec93c0bbbd558703a218.tar.gz |
init: downgrade ENABLE_DEBUG_INIT to just a #define to prevent people
from selecting it in error. It has to be used ONLY for debugging
init, never in production, as resulting init has serious differences.
-rw-r--r-- | TODO_config_nommu | 1 | ||||
-rw-r--r-- | init/Config.in | 8 | ||||
-rw-r--r-- | init/init.c | 10 | ||||
-rw-r--r-- | scripts/defconfig | 1 |
4 files changed, 7 insertions, 13 deletions
diff --git a/TODO_config_nommu b/TODO_config_nommu index bdef3e91e..4ed69e07a 100644 --- a/TODO_config_nommu +++ b/TODO_config_nommu @@ -369,7 +369,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y # Init Utilities # CONFIG_INIT=y -# CONFIG_DEBUG_INIT is not set CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=1 diff --git a/init/Config.in b/init/Config.in index 6a45e7d3d..6b5799fe3 100644 --- a/init/Config.in +++ b/init/Config.in @@ -12,14 +12,6 @@ config INIT help init is the first program run when the system boots. -config DEBUG_INIT - bool "Debugging aid" - default n - depends on INIT - help - Turn this on to disable all the dangerous - rebooting stuff when debugging. - config FEATURE_USE_INITTAB bool "Support reading an inittab file" default y diff --git a/init/init.c b/init/init.c index e00a3b128..ae2dd6a7a 100644 --- a/init/init.c +++ b/init/init.c @@ -14,6 +14,10 @@ #include <paths.h> #include <sys/reboot.h> +/* Was a CONFIG_xxx option. A lot of people were building + * not fully functional init by switching it on! */ +#define DEBUG_INIT 0 + #define COMMAND_SIZE 256 #define CONSOLE_NAME_SIZE 32 #define MAXENV 16 /* Number of env. vars */ @@ -103,7 +107,7 @@ static void loop_forever(void) * "where" may be bitwise-or'd from L_LOG | L_CONSOLE * NB: careful, we can be called after vfork! */ -#define messageD(...) do { if (ENABLE_DEBUG_INIT) message(__VA_ARGS__); } while (0) +#define messageD(...) do { if (DEBUG_INIT) message(__VA_ARGS__); } while (0) static void message(int where, const char *fmt, ...) __attribute__ ((format(printf, 2, 3))); static void message(int where, const char *fmt, ...) @@ -275,7 +279,7 @@ static void open_stdio_to_tty(const char* tty_name, int exit_on_failure) tty_name, strerror(errno)); if (exit_on_failure) _exit(EXIT_FAILURE); - if (ENABLE_DEBUG_INIT) + if (DEBUG_INIT) _exit(2); /* NB: we don't reach this if we were called after vfork. * Thus halt_reboot_pwoff() itself need not be vfork-safe. */ @@ -788,7 +792,7 @@ int init_main(int argc UNUSED_PARAM, char **argv) return kill(1, SIGHUP); } - if (!ENABLE_DEBUG_INIT) { + if (!DEBUG_INIT) { /* Expect to be invoked as init with PID=1 or be invoked as linuxrc */ if (getpid() != 1 && (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc")) diff --git a/scripts/defconfig b/scripts/defconfig index 96c1978ff..6cd82c3ec 100644 --- a/scripts/defconfig +++ b/scripts/defconfig @@ -367,7 +367,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y # Init Utilities # CONFIG_INIT=y -# CONFIG_DEBUG_INIT is not set CONFIG_FEATURE_USE_INITTAB=y # CONFIG_FEATURE_KILL_REMOVED is not set CONFIG_FEATURE_KILL_DELAY=0 |