getty: explain when setsid() fails. no code changes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2014-05-11 00:00:52 +02:00
parent 62a40a0448
commit 539e2802eb
1 changed files with 10 additions and 0 deletions

View File

@ -556,6 +556,16 @@ int getty_main(int argc UNUSED_PARAM, char **argv)
// pid, getppid(),
// getsid(0), getpgid(0));
bb_perror_msg_and_die("setsid");
/*
* When we can end up here?
* Example: setsid() fails when run alone in interactive shell:
* # getty 115200 /dev/tty2
* because shell's child (getty) is put in a new process group.
* But doesn't fail if shell is not interactive
* (and therefore doesn't create process groups for pipes),
* or if getty is not the first process in the process group:
* # true | getty 115200 /dev/tty2
*/
}
/* Looks like we are already a session leader.
* In this case (setsid failed) we may still have ctty,