Commit b5aaed99 authored by Jim Blandy's avatar Jim Blandy

* callproc.c (Fcall_process, child_setup): If IRIX is #defined,

	call setpgrp with arguments, even if USG is #defined.
	* process.c [IRIX] (create_process): Don't call setpgrp before
	opening the pty.  Call it after doing the TIOCNOTTY ioctl.
parent cca310da
......@@ -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);
......
......@@ -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. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment