You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
44 lines
1.5 KiB
From 85631eff66cb440ba253d36ca5b5bd6d131b0f18 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 996b00ede87d6a870332e63974a7d4def3c2f1b0)
|
|
|
|
Resolves: #2225667
|
|
Reverts: #2210237
|
|
---
|
|
src/core/service.c | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
diff --git a/src/core/service.c b/src/core/service.c
|
|
index e5127a4ccf..1e14cdc6ca 100644
|
|
--- a/src/core/service.c
|
|
+++ b/src/core/service.c
|
|
@@ -3507,7 +3507,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) {
|