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. */