ac867b5609
login: close tty before vhangup (bnc#778842) OBS-URL: https://build.opensuse.org/request/show/135092 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=145
40 lines
1.1 KiB
Diff
40 lines
1.1 KiB
Diff
From 2e7035646eb85851171cc2e989bfa858a4f00cd4 Mon Sep 17 00:00:00 2001
|
|
From: Karel Zak <kzak@redhat.com>
|
|
Date: Thu, 12 Jul 2012 16:33:52 +0200
|
|
Subject: login: close tty before vhangup()
|
|
Git-commit: 2e7035646eb85851171cc2e989bfa858a4f00cd4
|
|
Patch-mainline: v2.22-rc1
|
|
References: bnc#778842
|
|
|
|
Let's close all tty file descriptors before vhangup() call.
|
|
|
|
References: https://lkml.org/lkml/2012/6/5/145
|
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
---
|
|
login-utils/login.c | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/login-utils/login.c b/login-utils/login.c
|
|
index fe13d8d..c0cc00a 100644
|
|
--- a/login-utils/login.c
|
|
+++ b/login-utils/login.c
|
|
@@ -409,6 +409,14 @@ static void init_tty(struct login_context *cxt)
|
|
/* Kill processes left on this tty */
|
|
tcsetattr(0, TCSAFLUSH, &ttt);
|
|
|
|
+ /*
|
|
+ * Let's close file decriptors before vhangup
|
|
+ * https://lkml.org/lkml/2012/6/5/145
|
|
+ */
|
|
+ close(STDIN_FILENO);
|
|
+ close(STDOUT_FILENO);
|
|
+ close(STDERR_FILENO);
|
|
+
|
|
signal(SIGHUP, SIG_IGN); /* so vhangup() wont kill us */
|
|
vhangup();
|
|
signal(SIGHUP, SIG_DFL);
|
|
--
|
|
1.7.12
|
|
|