diff options
author | ache <ache@FreeBSD.org> | 2002-07-09 19:11:12 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-07-09 19:11:12 +0000 |
commit | d9db5616957af8dc6d14819a38530d713bae4b96 (patch) | |
tree | 6073a145e3262beb89155469a3d8bfe878936be6 | |
parent | 692553edd75da36e165e4b3e89a96dfa2c91b69e (diff) | |
download | FreeBSD-src-d9db5616957af8dc6d14819a38530d713bae4b96.zip FreeBSD-src-d9db5616957af8dc6d14819a38530d713bae4b96.tar.gz |
Remove tcsetpgrp() stuff across suspend/continue because it cause upper level
tcsh killed on resume (fg). It is because tcsh is interactive itself and
do its own things with terminal group.
-rw-r--r-- | usr.bin/su/su.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/usr.bin/su/su.c b/usr.bin/su/su.c index 6348099..5e98031 100644 --- a/usr.bin/su/su.c +++ b/usr.bin/su/su.c @@ -128,7 +128,7 @@ main(int argc, char *argv[]) uid_t ruid; gid_t gid; int asme, ch, asthem, fastlogin, prio, i, setwhat, retcode, - statusp, child_pid, child_pgrp, ret_pid; + statusp, child_pid, ret_pid; char *username, *cleanenv, *class, shellbuf[MAXPATHLEN]; const char *p, *user, *shell, *mytty, **nargv; @@ -329,9 +329,7 @@ main(int argc, char *argv[]) default: while ((ret_pid = waitpid(child_pid, &statusp, WUNTRACED)) != -1) { if (WIFSTOPPED(statusp)) { - child_pgrp = tcgetpgrp(1); kill(getpid(), SIGSTOP); - tcsetpgrp(1, child_pgrp); kill(child_pid, SIGCONT); statusp = 1; continue; |