diff --git a/src/callproc.c b/src/callproc.c index 51ba9301cdc1f129604e48642295ee26efb7ce71..55d97a69ac02d81b61937cdd03df724c27fcdc41 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -255,7 +255,7 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.") { if (fd[0] >= 0) close (fd[0]); -#ifdef USG +#if defined (USG) && !defined (IRIX) setpgrp (); #else setpgrp (pid, pid); @@ -519,7 +519,7 @@ child_setup (in, out, err, new_argv, set_pgrp, current_dir) close (out); close (err); -#ifdef USG +#if defined (USG) && !defined (IRIX) setpgrp (); /* No arguments but equivalent in this case */ #else setpgrp (pid, pid); diff --git a/src/process.c b/src/process.c index fd15ea9bc3ba206322a9ff61189db1d74e59a2ec..87697342b11b23b2b5558c6242ceb4ed60100365 100644 --- a/src/process.c +++ b/src/process.c @@ -1265,7 +1265,7 @@ create_process (process, new_argv, current_dir) ioctl (xforkin, TIOCSCTTY, 0); #endif #else /* not HAVE_SETSID */ -#ifdef USG +#if defined (USG) && !defined (IRIX) /* It's very important to call setpgrp() here and no time afterwards. Otherwise, we lose our controlling tty which is set when we open the pty. */ @@ -1282,7 +1282,7 @@ create_process (process, new_argv, current_dir) int j = open ("/dev/tty", O_RDWR, 0); ioctl (j, TIOCNOTTY, 0); close (j); -#ifndef USG +#if !defined (USG) || defined (IRIX) /* In order to get a controlling terminal on some versions of BSD, it is necessary to put the process in pgrp 0 before it opens the terminal. */