berry: add patch to address zombie process
Closes: #46416 [via git-merge-pr] Closes: #46039
This commit is contained in:
parent
bd94a1f10d
commit
006ea0e09a
|
@ -0,0 +1,41 @@
|
|||
https://patch-diff.githubusercontent.com/raw/JLErvin/berry/pull/198.patch
|
||||
|
||||
From 3501ee006ee9bdddc817fd71750e431b4186a0c7 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Eib <xealblade@example.com>
|
||||
Date: Wed, 30 Nov 2022 17:10:43 -0500
|
||||
Subject: [PATCH] Avoid creation of zombie process by load_config
|
||||
|
||||
Previously, a zombie process was created when the process forked in
|
||||
load_config terminates because the parent does not call wait or waitpid.
|
||||
It is unreasonable to wait for the child because a user may exec their
|
||||
autostart script into a long-running process. Instead, the parent now
|
||||
simply ignores SIGCHLD which allows the child to be reaped immediately
|
||||
upon termination.
|
||||
---
|
||||
wm.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wm.c b/wm.c
|
||||
index f3a01b8..b863bea 100644
|
||||
--- a/wm.c
|
||||
+++ b/wm.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <limits.h>
|
||||
+#include <signal.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -2536,8 +2537,10 @@ main(int argc, char *argv[])
|
||||
LOGN("Successfully opened display");
|
||||
|
||||
setup();
|
||||
- if (conf_found)
|
||||
+ if (conf_found) {
|
||||
+ signal(SIGCHLD, SIG_IGN);
|
||||
load_config(conf_path);
|
||||
+ }
|
||||
run();
|
||||
close_wm();
|
||||
free(font_name);
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'berry'
|
||||
pkgname=berry
|
||||
version=0.1.12
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=configure
|
||||
configure_args="--prefix=/usr"
|
||||
hostmakedepends="pkg-config which"
|
||||
|
|
Loading…
Reference in New Issue