Bug 81087

Summary: processes don't stop on C-z
Product: [Retired] Red Hat Public Beta Reporter: Alexandre Oliva <aoliva>
Component: kernelAssignee: Ingo Molnar <mingo>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: phoebeCC: mitr
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-01-22 10:59:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 79579    

Description Alexandre Oliva 2003-01-04 01:58:12 UTC
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):

How reproducible:

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.

Additional info:

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 :-)

Comment 1 Arjan van de Ven 2003-01-22 10:59:18 UTC
verified fixed in 2.4.20-2.24 and later