Dziekuję za zgłoszenie usterki. Rzeczywiście istniała ścieżka, gdzie job->tmodes było zainicjowane samymi zerami zamiast stanem terminala, który zastała powłoka. Poniższa łatka naprawia błąd.
diff --git a/projekt-shell/jobs.c b/projekt-shell/jobs.c index 536c2cb..3533c2f 100644 --- a/projekt-shell/jobs.c +++ b/projekt-shell/jobs.c @@ -90,6 +90,7 @@ int addjob(pid_t pgid, int bg) { job->command = NULL; job->proc = NULL; job->nproc = 0; + job->tmodes = shell_tmodes; return j; }
Można ją zaaplikować wydając polecenie patch -p2 < łatka w katalogu projekt-shell.