Skip to content

Commit

Permalink
berry: add patch to address zombie process
Browse files Browse the repository at this point in the history
Closes: void-linux#46416 [via git-merge-pr]
Closes: void-linux#46039
  • Loading branch information
namgo authored and abenson committed Oct 4, 2023
1 parent bd94a1f commit 006ea0e
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
41 changes: 41 additions & 0 deletions srcpkgs/berry/patches/no-zombies.patch
Original file line number Diff line number Diff line change
@@ -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);
2 changes: 1 addition & 1 deletion srcpkgs/berry/template
Original file line number Diff line number Diff line change
@@ -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"
Expand Down

0 comments on commit 006ea0e

Please sign in to comment.