mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-04 07:36:50 +00:00
Kernel: Process should send SIGCHLD to its parent when it dies.
This commit is contained in:
@@ -2172,6 +2172,11 @@ void Process::die()
|
||||
m_fds.clear();
|
||||
m_tty = nullptr;
|
||||
destroy_all_windows();
|
||||
|
||||
InterruptDisabler disabler;
|
||||
if (auto* parent_process = Process::from_pid(m_ppid)) {
|
||||
parent_process->send_signal(SIGCHLD, this);
|
||||
}
|
||||
}
|
||||
|
||||
size_t Process::amount_virtual() const
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <LibGUI/GEventLoop.h>
|
||||
#include <LibGUI/GTextBox.h>
|
||||
#include <LibGUI/GCheckBox.h>
|
||||
#include <signal.h>
|
||||
|
||||
class ClockWidget final : public GWidget {
|
||||
public:
|
||||
@@ -69,8 +70,15 @@ static GWindow* make_font_test_window();
|
||||
static GWindow* make_launcher_window();
|
||||
static GWindow* make_clock_window();
|
||||
|
||||
void handle_sigchld(int)
|
||||
{
|
||||
dbgprintf("Got SIGCHLD\n");
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
signal(SIGCHLD, handle_sigchld);
|
||||
|
||||
GEventLoop loop;
|
||||
#if 0
|
||||
auto* font_test_window = make_font_test_window();
|
||||
|
||||
Reference in New Issue
Block a user