diff options
author | Peter Stephenson <p.stephenson@samsung.com> | 2018-09-07 13:42:01 +0100 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2018-09-16 17:42:32 +0100 |
commit | f8c02f38566d368935fbd09143e2f59450ef1e5f (patch) | |
tree | ff576e4b33bc1a7f4e859f824de4bbac34ce2d9b | |
parent | b470d6fa709b3afbd4f2f4448ab289ec5a300a73 (diff) | |
download | zsh-job_control_debug2.tar.gz zsh-job_control_debug2.tar.xz zsh-job_control_debug2.zip |
Yet more debug info. job_control_debug2
-rw-r--r-- | Src/exec.c | 8 | ||||
-rw-r--r-- | Src/signals.c | 5 |
2 files changed, 6 insertions, 7 deletions
diff --git a/Src/exec.c b/Src/exec.c index d6e045770..3a125ef73 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1050,13 +1050,7 @@ entersubsh(int flags, struct entersubsh_ret *retp) SETPGRP(0L, jobtab[list_pipe_job].gleader, 2); if (!(flags & ESUB_ASYNC)) ATTACHTTY(jobtab[thisjob].gleader, 2); - } else if (gettygrp() == GETPGRP()) { - /* - * There are races where if the process is attached - * to the terminal blocking SIGTTOU causes errors. - * So just leave signals alone. - */ - /* job_control_ok = 1;*/ /* Probably not a * fix */ + } else { #ifdef DEBUG_JOB_CONTROL fprintf(stderr, "pid = %d, gleader = %d, pgrp = %d, list_pipe_child = %d, mypgrp = %d\n", getpid(), jobtab[list_pipe_job].gleader, diff --git a/Src/signals.c b/Src/signals.c index 0ffcd9dc4..36f0e1c8c 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -540,6 +540,11 @@ wait_for_processes(void) if (WIFEXITED(status) && pn->pid == jn->gleader && killpg(pn->pid, 0) == -1) { +#ifdef DEBUG_JOB_CONTROL + fprintf(stderr, "pid %d exited in control of TTY\n", + pn->pid); + fflush(stderr); +#endif SET_GLEADER(jn-jobtab, 0, 11); if (!(jn->stat & STAT_NOSTTY)) { /* |