* callproc.c (Fcall_process, child_setup): If IRIX is #defined,
authorJim Blandy <jimb@redhat.com>
Thu, 17 Jun 1993 22:03:06 +0000 (22:03 +0000)
committerJim Blandy <jimb@redhat.com>
Thu, 17 Jun 1993 22:03:06 +0000 (22:03 +0000)
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.

src/callproc.c
src/process.c

index 51ba930..55d97a6 100644 (file)
@@ -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);
index fd15ea9..8769734 100644 (file)
@@ -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.  */