diff options
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.patch | 31 | 
1 files changed, 13 insertions, 18 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 index ed790d807..8cc9ca2c8 100644 --- a/package/busybox/patches/001-init_avoid_loop_opening_tty.patch +++ b/package/busybox/patches/001-init_avoid_loop_opening_tty.patch @@ -1,20 +1,15 @@  --- a/init/init.c  +++ b/init/init.c -@@ -497,12 +497,11 @@ static void run_actions(int action_type) - 	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); +@@ -451,8 +451,11 @@ static void run_actions(int action_type) + 			/* Only run stuff with pid == 0. If pid != 0, + 			 * it is already running + 			 */ +-			if (a->pid == 0) ++			if (a->pid == 0) { ++				if (a->terminal && access(a->terminal, R_OK | W_OK)) ++					continue; + 				a->pid = run(a); ++			} + 		} + 	} + } | 
