dcavalca / rpms / systemd

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