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 -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/