diff options
-rw-r--r-- | loginutils/getty.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/loginutils/getty.c b/loginutils/getty.c index afb411b98..bbb5a96b4 100644 --- a/loginutils/getty.c +++ b/loginutils/getty.c @@ -561,8 +561,14 @@ int getty_main(int argc UNUSED_PARAM, char **argv) */ fd = open("/dev/tty", O_RDWR | O_NONBLOCK); if (fd >= 0) { + /* TIOCNOTTY sends SIGHUP to the foreground + * process group - which may include us! + * Make sure to not die on it: + */ + sighandler_t old = signal(SIGHUP, SIG_IGN); ioctl(fd, TIOCNOTTY); close(fd); + signal(SIGHUP, old); } } |