49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
From e59e123d9c0692b6104deea954e1a2db172e22e1 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
Date: Thu, 18 Aug 2016 21:39:39 -0400
|
|
Subject: [PATCH] Revert "pid1: reconnect to the console before being
|
|
re-executed"
|
|
|
|
This reverts commit affd7ed1a923b0df8479cff1bd9eafb625fdaa66.
|
|
|
|
> So it looks like make_console_stdio() has bad side effect. More specifically it
|
|
> does a TIOCSCTTY ioctl (via acquire_terminal()) which sees to disturb the
|
|
> process which was using/owning the console.
|
|
|
|
Fixes #3842.
|
|
https://bugs.debian.org/834367
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1367766
|
|
|
|
(cherry picked from commit bd64d82c1c0e3fe2a5f9b3dd9132d62834f50b2d)
|
|
---
|
|
src/core/main.c | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/core/main.c b/src/core/main.c
|
|
index f2adca7d2b..f59a55f166 100644
|
|
--- a/src/core/main.c
|
|
+++ b/src/core/main.c
|
|
@@ -2016,9 +2016,6 @@ finish:
|
|
log_error_errno(r, "Failed to switch root, trying to continue: %m");
|
|
}
|
|
|
|
- /* Reopen the console */
|
|
- (void) make_console_stdio();
|
|
-
|
|
args_size = MAX(6, argc+1);
|
|
args = newa(const char*, args_size);
|
|
|
|
@@ -2066,6 +2063,9 @@ finish:
|
|
arg_serialization = safe_fclose(arg_serialization);
|
|
fds = fdset_free(fds);
|
|
|
|
+ /* Reopen the console */
|
|
+ (void) make_console_stdio();
|
|
+
|
|
for (j = 1, i = 1; j < (unsigned) argc; j++)
|
|
args[i++] = argv[j];
|
|
args[i++] = NULL;
|
|
--
|
|
2.9.0
|
|
|