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.
This commit is contained in:
Denis Vlasenko 2008-10-21 17:14:26 +00:00
parent 37890e2f37
commit 5cb54b5adc
4 changed files with 7 additions and 13 deletions

View File

@ -369,7 +369,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
# Init Utilities # Init Utilities
# #
CONFIG_INIT=y CONFIG_INIT=y
# CONFIG_DEBUG_INIT is not set
CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_USE_INITTAB=y
CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_REMOVED=y
CONFIG_FEATURE_KILL_DELAY=1 CONFIG_FEATURE_KILL_DELAY=1

View File

@ -12,14 +12,6 @@ config INIT
help help
init is the first program run when the system boots. 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 config FEATURE_USE_INITTAB
bool "Support reading an inittab file" bool "Support reading an inittab file"
default y default y

View File

@ -14,6 +14,10 @@
#include <paths.h> #include <paths.h>
#include <sys/reboot.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 COMMAND_SIZE 256
#define CONSOLE_NAME_SIZE 32 #define CONSOLE_NAME_SIZE 32
#define MAXENV 16 /* Number of env. vars */ #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 * "where" may be bitwise-or'd from L_LOG | L_CONSOLE
* NB: careful, we can be called after vfork! * 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, ...) static void message(int where, const char *fmt, ...)
__attribute__ ((format(printf, 2, 3))); __attribute__ ((format(printf, 2, 3)));
static void message(int where, const char *fmt, ...) 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)); tty_name, strerror(errno));
if (exit_on_failure) if (exit_on_failure)
_exit(EXIT_FAILURE); _exit(EXIT_FAILURE);
if (ENABLE_DEBUG_INIT) if (DEBUG_INIT)
_exit(2); _exit(2);
/* NB: we don't reach this if we were called after vfork. /* NB: we don't reach this if we were called after vfork.
* Thus halt_reboot_pwoff() itself need not be vfork-safe. */ * 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); 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 */ /* Expect to be invoked as init with PID=1 or be invoked as linuxrc */
if (getpid() != 1 if (getpid() != 1
&& (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc")) && (!ENABLE_FEATURE_INITRD || !strstr(applet_name, "linuxrc"))

View File

@ -367,7 +367,6 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
# Init Utilities # Init Utilities
# #
CONFIG_INIT=y CONFIG_INIT=y
# CONFIG_DEBUG_INIT is not set
CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_USE_INITTAB=y
# CONFIG_FEATURE_KILL_REMOVED is not set # CONFIG_FEATURE_KILL_REMOVED is not set
CONFIG_FEATURE_KILL_DELAY=0 CONFIG_FEATURE_KILL_DELAY=0