mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-02 03:45:58 +01:00
rootston: Reap child processes
Just install a SIG_IGN handler, which is defined by POSIX.1-2001 to reap the child. To test, spawn any process (e.g. GUI application) with a keybinding, close that process, verify it doesn't show up as a <defunct> zombie in ps(1) output.
This commit is contained in:
parent
2297797bf9
commit
b6ed1f29a4
1 changed files with 6 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
||||||
#define _POSIX_C_SOURCE 200112L
|
#define _POSIX_C_SOURCE 200112L
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <signal.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <wayland-server.h>
|
#include <wayland-server.h>
|
||||||
|
@ -15,6 +16,11 @@
|
||||||
struct roots_server server = { 0 };
|
struct roots_server server = { 0 };
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
if (signal(SIGCHLD, SIG_IGN) == SIG_ERR) {
|
||||||
|
wlr_log_errno(WLR_ERROR, "Unable to install SIGCHLD handler");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
wlr_log_init(WLR_DEBUG, NULL);
|
wlr_log_init(WLR_DEBUG, NULL);
|
||||||
server.config = roots_config_create_from_args(argc, argv);
|
server.config = roots_config_create_from_args(argc, argv);
|
||||||
server.wl_display = wl_display_create();
|
server.wl_display = wl_display_create();
|
||||||
|
|
Loading…
Reference in a new issue