mbrown@testsys.austin.ibm.com (Mark Brown) (04/05/91)
I'm a little puzzled by the behavior of my csh, so I'm presenting the "Case Of The Orphaned Vi" to this august body. The problem: ATT-based system, POSIX line discipline. 1. connect via telnet. execute vi from csh (login shell), then escape to telnet and quit. [vi is in the foreground process group, csh is the controlling process, but is in a background process group). 2. the terminal disconnect is detected and responded to, the SIGHUP is sent to the controlling process associated with the terminal. 3. csh apparently receives the SIGHUP, responds. It puts itself in foreground and exits. 4. vi is now in a background process group and is orphaned. NOTES: a) In the BSD line discipline, the 'foreground process group' (vi) gets the HUP, vi dies, the csh exits. b) In POSIX line discipline, the HUP goes to the 'session-group-leader' (csh), with the above results. c) ksh, in POSIX discipline, in the above situation, gets the HUP and sends_the_HUP_to_the_foreground_process_group before it dies. It doesn't move itself to the foreground. QUESTIONS: x) Is the csh broken badly, because it goes to foreground? y) Is it broken to make csh work like ksh does, here? -- Mark Brown MAIL: mbrown@testsys.austin.ibm.com OR uunet!testsys.austin.ibm.com!mbrown Which came first: The Chicken or the Legba? DISCLAIMER: Any personal opinions stated here are just that.