summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2002-07-09 19:11:12 +0000
committerache <ache@FreeBSD.org>2002-07-09 19:11:12 +0000
commitd9db5616957af8dc6d14819a38530d713bae4b96 (patch)
tree6073a145e3262beb89155469a3d8bfe878936be6
parent692553edd75da36e165e4b3e89a96dfa2c91b69e (diff)
downloadFreeBSD-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.c4
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;
OpenPOWER on IntegriCloud