Denys Vlasenko
2bba9ad67a
init: do not run shutdown/reexec actions from signal handler
...
this is racy wrt various libc functions such as syslog()
function old new delta
check_delayed_sigs 182 352 +170
init_main 772 728 -44
restart_handler 74 - -74
halt_reboot_pwoff 79 - -79
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/1 up/down: 170/-197) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-11-21 20:10:57 +01:00
Michael Tokarev
922fdf6527
init: do not fail build if SIGPWR is not defined
...
Apparently, some *BSD variants (and maybe some other OSes) does not define
SIGPWR signal. So since commit 760fc6debc
, busybox fails to build on
such platforms. Fix this.
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-30 13:22:04 +01:00
Bogdan Purcareata
760fc6debc
init: halt on SIGPWR too
...
Most init processes implement a handler for SIGPWR that gracefully
stops all child processes when shutting down a machine. Some other
technologies rely on this signal - e.g. Busybox powered LXC
containers.
This patch makes busybox init halt when receiving SIGPWR.
Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-26 13:54:48 +01:00
Denys Vlasenko
8b59b2c13e
libbb: move nuke_str() from passwd into libbb
...
function old new delta
nuke_str - 15 +15
ask_and_check_password_extended 215 206 -9
init_main 781 771 -10
nuke_str 27 - -27
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 15/-46) Total: -31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-19 13:36:45 +01:00
Yuan-Hsiang Lee
b21bc80c76
init: fix illegal memory access when max message length is reached
...
Signed-off-by: Yuan-Hsiang Lee <yhlee@ubnt.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-03 00:13:16 +01:00
Denys Vlasenko
730e4d8b52
init: better --help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-10-12 04:52:22 +02:00
Paulius Zaleckas
9f07af6156
init: don't srop unterminated processes' entries during inittab reload
...
This feature was removed in 72c99af
It is useful when process is removed from inittab and later added
back, but never terminated. It prevents init from spawning duplicate.
function old new delta
check_delayed_sigs 176 182 +6
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-16 12:01:58 +02:00
Denys Vlasenko
d2e07bc16c
init: don't use fixed size buffer for command
...
We store init actions forever. 256 bytes per action means that
a typical inittab of ~10 commands uses 2.5k just to remember
command strings - which are usually _much_ shorter than 256 bytes.
At a cost of a bit more code, it's possible to allocate
only actually needed amount.
function old new delta
init_exec 224 248 +24
new_init_action 140 142 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-16 11:48:48 +02:00
Denys Vlasenko
f958425451
init: remove special-case code for machines with less tham 1 MB of RAM.
...
function old new delta
init_main 920 781 -139
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-21 16:36:51 +02:00
Denys Vlasenko
2c0508b4fa
examples/inittab: fix a few incorrect statements about init
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-29 14:35:44 +01:00
Denys Vlasenko
60cb48ca50
whitespace cleanup. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 15:57:44 +01:00
Denys Vlasenko
da2b2da6a7
init: add a segv debugging aid, disabled by default
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-01-30 12:15:22 +01:00
Denys Vlasenko
ef7aa46bc4
init: code shrink -4 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-05 03:54:28 +01:00
Denys Vlasenko
beb860ac75
init: utmp update of DEAD_PROCESS was misplaced, and could be skipped. Fixing.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-05 03:31:05 +01:00
Denys Vlasenko
67905e2d7c
*: work around sysinfo.h versus linux/*.h problems
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-26 13:42:12 +02:00
Denys Vlasenko
32176ccec4
init: fix a case where execv's 1st arg was wrong
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-21 05:07:43 +01:00
Denys Vlasenko
8d0e0cdadf
move utmp.h include to libbb.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-25 23:21:46 +01:00
Denys Vlasenko
b9f2d9f7d9
mass removal of underscores from _BB_DIR_foo and _BB_SUID_foo
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 13:58:01 +01:00
Denys Vlasenko
6088e138e1
init: simpler handling of leading dash in commands
...
function old new delta
init_exec 233 219 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-25 23:58:42 +01:00
Denys Vlasenko
db5fe62b6d
init: if PID!=1, show clearer error message. move usage text closer to main()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-02 20:13:03 +01:00
Denys Vlasenko
3b060528a2
init: do not sleep forever on usage errors
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-25 00:40:32 +02:00
Denys Vlasenko
f2657a9968
init: do not clear CRTSCTS (fix from Debian bug 528560)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-24 02:04:10 +02:00
Denys Vlasenko
b1db09be5a
init/*: move applet/kbuild/config/help bits into applet source files
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-12 13:47:15 +02:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Jeremie Koenig
1c05303fdc
init: make the initial $TERM value configurable
...
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:46:00 +02:00
Jeremie Koenig
714674e4da
init,halt: portability improvements
...
* make init and halt use the same RB_* constants for reboot()
* conditionalize the Linux-specific code
Inspired by init.init.diff from the Debian kFreeBSD patches at:
http://svn.debian.org/viewsvn/d-i/people/slackydeb/kfreebsd/busybox/1.14/debian
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:45:51 +02:00
Jeremie Koenig
f812eace18
init,loginutils: termios portability fixes
...
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:45:42 +02:00
Denys Vlasenko
f8d8aa1cea
libbb: add skip_dev_pfx()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-06 18:50:05 +02:00
Denys Vlasenko
87fb72032e
init: clear utmp entries for dead processes, if they (entries) exist
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-06 18:49:28 +02:00
Denys Vlasenko
d7171c1140
init: fix logically inverted FEATURE_EXTRA_QUIET check
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-15 00:34:59 +01:00
Denys Vlasenko
1a8de6f8a2
init: use applet_name instead of "init" - we can be linuxrc
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-14 03:16:28 +01:00
Denys Vlasenko
18f89128e5
init: for paranoid reasons, restore SIGCONT too.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-14 03:08:30 +01:00
Denys Vlasenko
bcc6ec9b7e
init: fix "while true; do reboot; done" bug. +15 bytes. Closes bug 781
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-14 03:03:29 +01:00
Denys Vlasenko
6be918d0ae
init: make FEATURE_EXTRA_QUIET more consistent. +1 byte
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-14 01:32:11 +01:00
Denys Vlasenko
6e54249e05
init: restore possibility to reload inittab even before we finish initialization
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 03:07:19 +01:00
Denys Vlasenko
6331cf059c
*: use "can't" instead of "cannot"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:08:27 +01:00
Denys Vlasenko
90a9904e9e
remove some GNUisms. by Dan Fandrich (dan AT coneharvesters.com)
...
function old new delta
logdirs_reopen 1310 1308 -2
read_line_input 4757 4753 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6) Total: -6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 02:36:23 +02:00
Denys Vlasenko
3ed181b7ac
init: make comment more understandable. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-19 14:29:18 +02:00
Denis Vlasenko
5981ba5843
init: test for vt terminal with VT_OPENQRY,
...
assume that anything else is TERM=vt102, not TERM=linux.
(Serial console test is less correct)
Tentatively closes bug 195.
function old new delta
init_main 946 919 -27
2009-03-19 02:35:44 +00:00
Denis Vlasenko
4774179cb9
mail.c: more robust handling of SIGCHLD
...
init: more robust signal handling
2009-03-10 16:01:57 +00:00
Denis Vlasenko
93b38208d1
init: fix compile breakage with '# CONFIG_FEATURE_KILL_REMOVED is not set'
...
runsvdir.c: fix typo in comment
2009-02-14 20:58:13 +00:00
Denis Vlasenko
9ec0ecbfdd
init: remove wait() loop on restart, it may be dangerous
2009-01-31 19:26:12 +00:00
Denis Vlasenko
4ae8a05b13
init: fix a bug where on reload order of entries might be wrong
...
function old new delta
run_shutdown_and_kill_processes - 97 +97
pause_and_low_level_reboot - 48 +48
run_actions 81 107 +26
restart_handler 56 81 +25
new_init_action 137 150 +13
run 576 579 +3
open_stdio_to_tty 110 98 -12
check_delayed_sigs 195 170 -25
waitfor 354 318 -36
low_level_reboot 53 - -53
kill_all_processes 115 - -115
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 4/3 up/down: 212/-241) Total: -29 bytes
2009-01-31 18:55:54 +00:00
Denis Vlasenko
e35af56790
modutils-24: use xasprintf and xzalloc where appropriate,
...
remove unreachanble code
build system: correct some dependencies in config system
init: convert one #if into if() - for Rob.
function old new delta
obj_string_patch 136 129 -7
bb_init_module_24 4759 4615 -144
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-151) Total: -151 bytes
2009-01-31 14:22:24 +00:00
Denis Vlasenko
fc2a4fc2ba
init: small correction in a comment
2009-01-31 01:07:05 +00:00
Denis Vlasenko
72c99af0b4
init: major improvement in documentation and signal handling.
...
Lots of nasty, but hard to trip, races are fixed.
text data bss dec hex filename
1038828 924 10932 1050684 10083c busybox_old
1038787 924 10932 1050643 100813 busybox_unstripped
2009-01-31 01:03:45 +00:00
Denis Vlasenko
cab28aa7de
init: preparatory patch, no code changes
2009-01-31 01:02:07 +00:00
Denis Vlasenko
6c62246a35
init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB
2009-01-29 02:01:04 +00:00
Denis Vlasenko
b2b2c404b5
init: reduce ifdef forest (specially for Rob's happiness)
2009-01-28 23:56:31 +00:00
Denis Vlasenko
1bcdcd2ef0
init: do not eat last char in messages;
...
do not print duplicate "init:" prefix to syslog
2008-12-09 21:23:31 +00:00