summaryrefslogtreecommitdiffstats
path: root/package/busybox/patches/001-init_avoid_loop_opening_tty.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/patches/001-init_avoid_loop_opening_tty.patch')
-rw-r--r--package/busybox/patches/001-init_avoid_loop_opening_tty.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/package/busybox/patches/001-init_avoid_loop_opening_tty.patch b/package/busybox/patches/001-init_avoid_loop_opening_tty.patch
new file mode 100644
index 000000000..702723055
--- /dev/null
+++ b/package/busybox/patches/001-init_avoid_loop_opening_tty.patch
@@ -0,0 +1,20 @@
+--- a/init/init.c
++++ b/init/init.c
+@@ -505,12 +505,11 @@
+ for (a = init_action_list; a; a = tmp) {
+ tmp = a->next;
+ if (a->action_type & action_type) {
+- // Pointless: run() will error out if open of device fails.
+- ///* a->terminal of "" means "init's console" */
+- //if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
+- // //message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
+- // delete_init_action(a);
+- //} else
++ /* a->terminal of "" means "init's console" */
++ if (a->terminal[0] && access(a->terminal, R_OK | W_OK)) {
++ //message(L_LOG | L_CONSOLE, "Device %s cannot be opened in RW mode", a->terminal /*, strerror(errno)*/);
++ delete_init_action(a);
++ } else
+ if (a->action_type & (SYSINIT | WAIT | CTRLALTDEL | SHUTDOWN | RESTART)) {
+ waitfor(run(a));
+ delete_init_action(a);