Introduction
Introduction Statistics Contact Development Disclaimer Help
Open a new process group before setting up signal handler - quark - quark web s…
git clone git://git.suckless.org/quark
Log
Files
Refs
LICENSE
---
commit 094c8ba814f388dcefee403c4d369005a8d9810f
parent ba38b0969f542e6e7d3f01ba500189a81ca32355
Author: Dominik Schmidt <[email protected]>
Date: Mon, 2 Jul 2018 02:08:08 +0000
Open a new process group before setting up signal handler
When cleaning up after a caught signal, quark forwards the signal to all
processes in the process group with `kill(0, ...)`. If we do not open up a new
process group in the parent process, quarks parent will be sent a SIG... too,
resulting it to shut down (especially considering that the parent process might
run as root).
As a result, if we set up the service with djb's excellent daemontools,
`svc -d quark` will terminate the svscan-process and tear all other services
down with it.
See also <https://cr.yp.to/daemontools/faq/create.html#pgrphack>.
Diffstat:
M main.c | 3 +++
1 file changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/main.c b/main.c
@@ -240,6 +240,9 @@ main(int argc, char *argv[])
"Entry not found");
}
+ /* Open a new process group */
+ setpgid(0,0);
+
handlesignals(sigcleanup);
/* bind socket */
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.