0d749be3e1
If tty_handler() resets terminal while pkttyagent is run in background job, the process gets stopped by SIGTTOU. This impacts systemctl, hence it must be blocked for a while and then the process gets killed anyway. Upstream commit: 28e3a6653d8c3777b07e0128a0d97d46e586e311 Signed-off-by: Adam Duskett <Aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
From 76aae4fce586b400f5fe08df31497db19d624609 Mon Sep 17 00:00:00 2001
|
|
From: Jan Rybar <jrybar@redhat.com>
|
|
Date: Thu, 1 Aug 2019 06:46:10 +0000
|
|
Subject: [PATCH] pkttyagent: process stopped by SIGTTOU if run in background
|
|
job
|
|
|
|
|
|
(cherry picked from commit 76aae4fce586b400f5fe08df31497db19d624609)
|
|
Signed-off-by: Jan Rybar <jrybar@redhat.com>
|
|
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
---
|
|
src/programs/pkttyagent.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/src/programs/pkttyagent.c b/src/programs/pkttyagent.c
|
|
index 3c8d502..13879a2 100644
|
|
--- a/src/programs/pkttyagent.c
|
|
+++ b/src/programs/pkttyagent.c
|
|
@@ -264,6 +264,12 @@ main (int argc, char *argv[])
|
|
|
|
memset (&sa, 0, sizeof (sa));
|
|
sa.sa_handler = &tty_handler;
|
|
+/* If tty_handler() resets terminal while pkttyagent is run in background job,
|
|
+ the process gets stopped by SIGTTOU. This impacts systemctl, hence it must
|
|
+ be blocked for a while and then the process gets killed anyway.
|
|
+ */
|
|
+ sigemptyset(&sa.sa_mask);
|
|
+ sigaddset(&sa.sa_mask, SIGTTOU);
|
|
sigaction (SIGTERM, &sa, &savesigterm);
|
|
sigaction (SIGINT, &sa, &savesigint);
|
|
sigaction (SIGTSTP, &sa, &savesigtstp);
|
|
--
|
|
2.24.1
|
|
|