applying patch from bug 24:

0000024 03-16-05 patch: allow init to set controlling tty
This commit is contained in:
Paul Fox 2005-08-01 16:43:13 +00:00
parent 79c142d938
commit 41a72ecd19
2 changed files with 18 additions and 0 deletions

View File

@ -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

View File

@ -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__)