applying patch from bug 24: 0000024 03-16-05 patch: allow init to set controlling tty
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -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__) | |