1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 01:15:07 +00:00

Kernel: Don't send SIGCHLD to parent process if he has SA_NOCLDWAIT set.

Just transfer ownership of the dead process to the colonel and let the
scheduler reap it on next iteration.
This commit is contained in:
Andreas Kling 2019-03-01 15:47:07 +01:00
parent 5f4245789d
commit 274b0260f7
3 changed files with 18 additions and 2 deletions

View file

@ -7,11 +7,22 @@
#include <LibGUI/GMenuBar.h>
#include <LibGUI/GAction.h>
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
#include "DirectoryTableView.h"
int main(int argc, char** argv)
{
struct sigaction act;
memset(&act, 0, sizeof(act));
act.sa_flags = SA_NOCLDWAIT;
act.sa_handler = SIG_IGN;
int rc = sigaction(SIGCHLD, &act, nullptr);
if (rc < 0) {
perror("sigaction");
return 1;
}
GApplication app(argc, argv);
auto mkdir_action = GAction::create("New directory...", GraphicsBitmap::load_from_file(GraphicsBitmap::Format::RGBA32, "/res/icons/mkdir16.rgb", { 16, 16 }), [] (const GAction&) {