On 03/10/2012 09:30 PM, Chet Ramey wrote:
On 2/20/12 1:25 PM, Roman Rakus wrote:
I'm not sure if it's a bug or not, but there is change between old bash 3.2
and bash 4.2.
When you run a script:
set -m
$(sleep 1; sleep 2)
in bash 4.2 the first sleep has same group id as parent shell. However in
bash 3.2 it has different group id.
Is it bug or not? I'm not able to find documentation for this change. And
seems that POSIX says nothing about it.
The intent of the bash code has always been that the process group of
commands running command substitutions be the same as the parent shell.
That way they can get the same signals. I read Posix as supporting this
interpretation, since the -m option applies to jobs and command
substitutions are not jobs.
Chet
OK, so it was bug in previous versions of bash.
RR