plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 52b599a63c488d3a80bb9f5dd97bad0b10103c54
parent 3ccd61629b641613bcccbc51125330efab9c89a7
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:
Msrc/libthread/daemonize.c | 7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/libthread/daemonize.c b/src/libthread/daemonize.c @@ -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");