tlibthread: call setpgrp in programs that will background - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 52b599a63c488d3a80bb9f5dd97bad0b10103c54
DIR parent 3ccd61629b641613bcccbc51125330efab9c89a7
HTML Author: Russ Cox <rsc@swtch.com>
Date: Thu, 14 Jan 2021 10:30:24 -0500
libthread: call setpgrp in programs that will background
This fixes the 'run stats from rc; exit rc; stats dies' problem.
It's unclear whether this is the right fix or whether rc should
be starting all its interactive commands in their own process
groups. But at least it does fix stats dying.
Diffstat:
M src/libthread/daemonize.c | 7 +++++++
1 file changed, 7 insertions(+), 0 deletions(-)
---
DIR diff --git a/src/libthread/daemonize.c b/src/libthread/daemonize.c
t@@ -101,6 +101,13 @@ _threadsetupdaemonize(void)
sigpid = 1;
+ /*
+ * We've been told this program is likely to background itself.
+ * Put it in its own process group so that we don't get a SIGHUP
+ * when the parent exits.
+ */
+ setpgrp();
+
if(pipe(p) < 0)
sysfatal("passer pipe: %r");