bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

receiving SIGHCHLD if job control is disabled - expected behavior?


From: Vladimir Marek
Subject: receiving SIGHCHLD if job control is disabled - expected behavior?
Date: Fri, 1 Oct 2021 10:24:46 +0200

Hello,

The code in question is

set +m
echo $BASH_VERSION
echo $SHELLOPTS
trap 'echo =====SIGCHLD=====' 18
sleep 1
echo done


Bash 5 output:
5.0.17(1)-release
braceexpand:hashall:interactive-comments
=====SIGCHLD=====
done


Bash 4 output:
4.4.19(1)-release
braceexpand:hashall:interactive-comments
done



I was trying to find a relevant note in changelog and I found this in CHANGES:

n. The SIGCHLD trap is run once for each exiting child process even if job
   control is not enabled when the shell is in Posix mode. 

and this in CWRU/changelog:

        - waitchld: run SIGCHLD trap for each child exited even if job control
          is not enabled when in Posix mode. Prompted by an austin-group-l
          discussion 

I was trying to find the discussion and the closest thing I found was

https://www.mail-archive.com/austin-group-l@opengroup.org/msg00898.html


As a side note, another interesting bit I found is that if I replace the
'sleep 1' with 'read' I will not get SIGCHLD in bash 5.


My understanding is that this is intentional change, but I would like to
kindly ask if you could confirm it.


Thank you
-- 
        Vlad



reply via email to

[Prev in Thread] Current Thread [Next in Thread]