diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2012-04-26 10:53:48 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2012-04-26 10:53:48 +0200 |
commit | eced0c78a54bbecc61f1717d33f64ee7d99804bb (patch) | |
tree | 0042d7995c06e23d0a6cb1fefa640a01e16af2a0 | |
parent | b84dafb5e57462c91df48456dfc5bb7c811e7a24 (diff) | |
download | busybox-w32-eced0c78a54bbecc61f1717d33f64ee7d99804bb.tar.gz busybox-w32-eced0c78a54bbecc61f1717d33f64ee7d99804bb.tar.bz2 busybox-w32-eced0c78a54bbecc61f1717d33f64ee7d99804bb.zip |
getty: fix for NOCTTY killing us with SIGHUP
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-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) | |||
561 | */ | 561 | */ |
562 | fd = open("/dev/tty", O_RDWR | O_NONBLOCK); | 562 | fd = open("/dev/tty", O_RDWR | O_NONBLOCK); |
563 | if (fd >= 0) { | 563 | if (fd >= 0) { |
564 | /* TIOCNOTTY sends SIGHUP to the foreground | ||
565 | * process group - which may include us! | ||
566 | * Make sure to not die on it: | ||
567 | */ | ||
568 | sighandler_t old = signal(SIGHUP, SIG_IGN); | ||
564 | ioctl(fd, TIOCNOTTY); | 569 | ioctl(fd, TIOCNOTTY); |
565 | close(fd); | 570 | close(fd); |
571 | signal(SIGHUP, old); | ||
566 | } | 572 | } |
567 | } | 573 | } |
568 | 574 | ||