mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 06:01:41 +02:00
sys-apps/systemd: add systemd patch from v252.12
If fixes an issue with Systemd service restart when the main process is
being killed by a SIGHUP signal.
See also: https://github.com/flatcar/Flatcar/issues/1157
Commit-Ref: 34e834f496
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This commit is contained in:
parent
74f3593236
commit
0557da4982
1
changelog/bugfixes/2023-08-10-systemd-restart-service.md
Normal file
1
changelog/bugfixes/2023-08-10-systemd-restart-service.md
Normal file
@ -0,0 +1 @@
|
||||
- Fixed the restart of Systemd services when the main process is being killed by a SIGHUP signal ([flatcar#1157](https://github.com/flatcar/Flatcar/issues/1157))
|
@ -0,0 +1,40 @@
|
||||
From 34e834f496338fdc2a8a8cc771cba4082079cf9a Mon Sep 17 00:00:00 2001
|
||||
From: msizanoen <msizanoen@qtmlabs.xyz>
|
||||
Date: Mon, 12 Jun 2023 10:30:12 +0700
|
||||
Subject: [PATCH] Revert "core/service: when resetting PID also reset known
|
||||
flag"
|
||||
|
||||
This reverts commit ff32060f2ed37b68dc26256b05e2e69013b0ecfe.
|
||||
|
||||
This change is incorrect as we don't want to mark the PID as invalid but
|
||||
only mark it as dead.
|
||||
|
||||
The change in question also breaks user level socket activation for
|
||||
`podman.service` as the termination of the main `podman system service`
|
||||
process is not properly handled, causing any application accessing the
|
||||
socket to hang.
|
||||
|
||||
This is because the user-level `podman.service` unit also hosts two
|
||||
non-main processes: `rootlessport` and `rootlessport-child` which causes
|
||||
the `cgroup_good` check to still succeed.
|
||||
|
||||
The original submitter of this commit is recommended to find another
|
||||
more correct way to fix the cgroupsv1 issue on CentOS 8.
|
||||
|
||||
(cherry picked from commit f29f0877c5abfd03060838d1812ea6fdff3b0b37)
|
||||
---
|
||||
src/core/service.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/service.c b/src/core/service.c
|
||||
index c05f13c765..211f72900e 100644
|
||||
--- a/src/core/service.c
|
||||
+++ b/src/core/service.c
|
||||
@@ -3529,7 +3529,6 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
|
||||
return;
|
||||
|
||||
s->main_pid = 0;
|
||||
- s->main_pid_known = false;
|
||||
exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status);
|
||||
|
||||
if (s->main_command) {
|
@ -248,6 +248,7 @@ src_prepare() {
|
||||
"${FILESDIR}/0005-systemd-Disable-SELinux-permissions-checks.patch"
|
||||
"${FILESDIR}/0006-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch"
|
||||
"${FILESDIR}/0007-units-Keep-using-old-journal-file-format.patch"
|
||||
"${FILESDIR}/0008-Revert-core-service-when-resetting-PID-also-reset-known.patch"
|
||||
)
|
||||
|
||||
if ! use vanilla; then
|
Loading…
x
Reference in New Issue
Block a user