diff --git a/src/main.rs b/src/main.rs index 7328eb3873cb5507cb94b847b47a44bd0beee37e..e4cfded66f2d2c065ebfb1a2ff02110d9eea8f02 100644 --- a/src/main.rs +++ b/src/main.rs @@ -132,6 +132,9 @@ fn parse_args() -> CommandLineArgs { fn set_unique_pid() -> nix::Result<()> { let pgid = unistd::getpid(); + if pgid == unistd::tcgetpgrp(nix::libc::STDIN_FILENO)? { + return Ok(()); + } unistd::setpgid(pgid, pgid)?; unsafe { signal::signal(Signal::SIGTTOU, SigHandler::SigIgn) }?; unistd::tcsetpgrp(nix::libc::STDIN_FILENO, pgid)