tlibthread: call setpgrp in programs that will background - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 52b599a63c488d3a80bb9f5dd97bad0b10103c54
 (DIR) parent 3ccd61629b641613bcccbc51125330efab9c89a7
 (HTM) 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");