applying patch from bug 24:
0000024 03-16-05 patch: allow init to set controlling tty
This commit is contained in:
parent
79c142d938
commit
41a72ecd19
@ -43,6 +43,17 @@ config CONFIG_FEATURE_INIT_SWAPON
|
||||
If the system has less than one megabyte of total memory, init
|
||||
will run '/sbin/swapon -a' to add swap memory.
|
||||
|
||||
config CONFIG_FEATURE_INIT_SCTTY
|
||||
bool " Support running commands with a controlling-tty?"
|
||||
default n
|
||||
depends on CONFIG_INIT
|
||||
help
|
||||
If this option is enabled a command starting with hyphen (-)
|
||||
is run in its own session (setsid(2)) and possibly with a
|
||||
controlling tty (TIOCSCTTY). This is not the traditional init
|
||||
behavour, but is often what you want in an embedded system where
|
||||
the console is only accessed during development or for maintenance.
|
||||
|
||||
config CONFIG_FEATURE_EXTRA_QUIET
|
||||
bool " Should init be _extra_ quiet on boot?"
|
||||
default y
|
||||
|
@ -577,6 +577,13 @@ static pid_t run(const struct init_action *a)
|
||||
cmd[0][0] = '-';
|
||||
strcpy(cmd[0] + 1, s);
|
||||
}
|
||||
#ifdef CONFIG_FEATURE_INIT_SCTTY
|
||||
/* Establish this process as session leader and
|
||||
* (attempt) to make the tty (if any) a controlling tty.
|
||||
*/
|
||||
(void) setsid();
|
||||
(void) ioctl(0, TIOCSCTTY, 0/*don't steal it*/);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__)
|
||||
|
Loading…
Reference in New Issue
Block a user