ray@MAXWELL.PHYSICS.PURDUE.EDU (Ray Moody) (09/30/89)
The suspend command sends a STOP signal to bash itself, but it should really send a STOP signal to the entire process group. Try running jove, executing bash with push-sh, and then issuing the suspend command. You will lock up your terminal. Ray ----------------------------------------------------------------------------- RCS file: RCS/builtins.c,v retrieving revision 1.3.1.1 retrieving revision 1.3.1.2 diff -c -r1.3.1.1 -r1.3.1.2 *** /tmp/,RCSt1021874 Fri Sep 29 23:44:36 1989 --- /tmp/,RCSt2021874 Fri Sep 29 23:44:41 1989 *************** *** 3222,3227 suspend_builtin (list) WORD_LIST *list; { if (list) if (strcmp (list->word->word, "-f") == 0) --- 3222,3228 ----- suspend_builtin (list) WORD_LIST *list; { + extern int shell_pgrp; if (list) if (strcmp (list->word->word, "-f") == 0) *************** *** 3236,3242 do_suspend: old_cont = (SigHandler *)signal (SIGCONT, suspend_continue); old_tstp = (SigHandler *)signal (SIGTSTP, SIG_DFL); ! kill (getpid (), SIGTSTP); } /* How to bring a job into the foreground. */ --- 3237,3243 ----- do_suspend: old_cont = (SigHandler *)signal (SIGCONT, suspend_continue); old_tstp = (SigHandler *)signal (SIGTSTP, SIG_DFL); ! killpg (shell_pgrp, SIGTSTP); } /* How to bring a job into the foreground. */