diff options
-rw-r--r-- | init/init.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/init/init.c b/init/init.c index 2ddcef936..704cfccda 100644 --- a/init/init.c +++ b/init/init.c | |||
@@ -620,7 +620,9 @@ static void run_actions(int action) | |||
620 | for (a = init_action_list; a; a = tmp) { | 620 | for (a = init_action_list; a; a = tmp) { |
621 | tmp = a->next; | 621 | tmp = a->next; |
622 | if (a->action == action) { | 622 | if (a->action == action) { |
623 | if (a->action & (SYSINIT | WAIT | CTRLALTDEL | SHUTDOWN | RESTART)) { | 623 | if (access(a->terminal, R_OK | W_OK)) { |
624 | delete_init_action(a); | ||
625 | } else if (a->action & (SYSINIT | WAIT | CTRLALTDEL | SHUTDOWN | RESTART)) { | ||
624 | waitfor(a); | 626 | waitfor(a); |
625 | delete_init_action(a); | 627 | delete_init_action(a); |
626 | } else if (a->action & ONCE) { | 628 | } else if (a->action & ONCE) { |
@@ -815,9 +817,6 @@ static void new_init_action(int action, const char *command, const char *cons) | |||
815 | if (*cons == '\0') | 817 | if (*cons == '\0') |
816 | cons = console; | 818 | cons = console; |
817 | 819 | ||
818 | /* do not run entries if console device is not available */ | ||
819 | if (access(cons, R_OK | W_OK)) | ||
820 | return; | ||
821 | if (strcmp(cons, bb_dev_null) == 0 && (action & ASKFIRST)) | 820 | if (strcmp(cons, bb_dev_null) == 0 && (action & ASKFIRST)) |
822 | return; | 821 | return; |
823 | 822 | ||