Hi,

When CONFIG_FEATURE_KILL_REMOVED is off then we end up with

$ egrep "(INIT|KILL)" .config
CONFIG_INIT=y
CONFIG_FEATURE_USE_INITTAB=y
# CONFIG_FEATURE_KILL_REMOVED is not set
CONFIG_FEATURE_KILL_DELAY=
CONFIG_FEATURE_INIT_SCTTY=y
CONFIG_FEATURE_INIT_SYSLOG=y
CONFIG_FEATURE_INIT_COREDUMPS=y
CONFIG_FEATURE_INITRD=y
CONFIG_KILL=y
CONFIG_KILLALL=y
CONFIG_KILLALL5=y
CONFIG_PKILL=y

That KILL_DELAY does no good for this spot:

Index: init/init.c
===================================================================
--- init/init.c (revision 25330)
+++ init/init.c (working copy)
- improve helptext
@@ -788,10 +788,13 @@ static void reload_inittab(void)
                for (a = init_action_list; a; a = a->next)
                        if (a->action_type == ONCE && a->pid != 0)
                                kill(a->pid, SIGTERM);
-               if (CONFIG_FEATURE_KILL_DELAY) {
+               if (ENABLE_FEATURE_KILL_DELAY) {
                        /* NB: parent will wait in NOMMU case */
                        if ((BB_MMU ? fork() : vfork()) == 0) { /* child */
-                               sleep(CONFIG_FEATURE_KILL_DELAY);
+#if !ENABLE_FEATURE_KILL_REMOVED && ENABLE_FEATURE_KILL_DELAY
+#define CONFIG_FEATURE_KILL_DELAY_SECS 0 /* logic goof w/ kconfig */
+#endif
+                               sleep(CONFIG_FEATURE_KILL_DELAY_SECS);
                                for (a = init_action_list; a; a = a->next)
                                        if (a->action_type == ONCE && a->pid != 
0)
                                                kill(a->pid, SIGKILL);

This should work but doesn't sound too clean. Suggestions?
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to