[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
- receiving SIGHCHLD if job control is disabled - expected behavior?,
Vladimir Marek <=