From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021218
Description of problem:
Children processes of processes started from a shell no longer stop on C-z.
I've verified with strace that all children processes receive the SIGTSTP
signal, but they just keep going.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.configure a tree with sub-directories, such as the gcc source tree, then start
make all (or start a relatively long-running rpmbuild)
2.Type C-z in the shell from which the command was started (be it a login shell
in a text VC or a shell started from gnome-terminal)
Actual Results: The whole build keeps going.
Expected Results: It should stop all processes that received the SIGTSTP signal.
In a gcc build, it's nice to strace the top-level make, the make process within
the gcc directory and say genattrtab, that's a program that takes a while to
complete in the gcc build. You see all of them get the signal, but they don't
stop. Eventually genattrtab prints more info in the terminal, then it completes
and make in gcc runs further commands, etc. This happens with or without
strace, so it's not something exclusive about ptrace()d processes.
In case it matters, my shell is bash, but I doubt it makes a difference.
Sending SIGSTOP, instead of SIGTSTP, to the process group does the right thing,
but C-z `bg; kill -STOP -$!' is not as convenient as just C-z :-)
verified fixed in 2.4.20-2.24 and later