Changes for Solaris and Ultrix
authorSam Hartman <hartmans@mit.edu>
Fri, 11 Aug 1995 19:48:16 +0000 (19:48 +0000)
committerSam Hartman <hartmans@mit.edu>
Fri, 11 Aug 1995 19:48:16 +0000 (19:48 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6508 dc483132-0cff-0310-8789-dd5450dbe970

src/util/pty/ChangeLog
src/util/pty/configure.in
src/util/pty/initialize_slave.c
src/util/pty/open_ctty.c
src/util/pty/open_slave.c

index cb95266bda96cf729718dc9a2f128aeaf9cde1a0..0a3ae4167ae905ced44a151c72d66ba2eed3d5fc 100644 (file)
@@ -1,3 +1,18 @@
+Fri Aug 11 01:12:03 1995  Sam Hartman  <hartmans@infocalypse>
+
+       * initialize_slave.c (pty_initialize_slave): You really do need to
+        push and pop the streams on a Sun. 
+
+Fri Aug 11 00:49:23 1995  Sam Hartman  <hartmans@dragons-lair.MIT.EDU>
+
+       * configure.in (ac_cv_func_setsid): Pretend that Ultrix doesn't
+        have setsid, because if it does make the call then the pty never
+        becomes controlling tty.
+
+Thu Aug 10 09:47:07 1995  Sam Hartman  <hartmans@dragons-lair.MIT.EDU>
+
+       * open_ctty.c (pty_open_ctty): Move setpgrp() after void_assoc call
+
 Wed Aug  9 00:16:40 1995  Sam Hartman  <hartmans@tertius.mit.edu>
 
        * pty-int.h (VHANG_first): Change defines so VHANG_FIRST doesn't
index cdb8f55ccfdeb5e3aa3ec4365293bcf6b2a07d0d..7829d98e32a775540748fbcb6642c66b8eed23f5 100644 (file)
@@ -15,7 +15,9 @@ dnl login.
 dnl
 case $krb5_cv_host in
 *-*-ultrix*)
+echo "Disabling initial vhangup and setsid because they break under Ultrix..."
 AC_DEFINE([OPEN_CTTY_ONLY_ONCE],[1])
+ac_cv_func_setsid=no # setsid doesn't do the right thing under Ultrix even though present
 ;;
 
 *-*-aix3*) # AIX has streams include files but not streams TTY
index 861770407dc35c8ebdedbcd7746d1ba661495c6b..d10c9c852092684837a5176dfd86dc476c4d8db1 100644 (file)
@@ -47,7 +47,7 @@ long pty_initialize_slave (fd)
            return PTY_OPEN_SLAVE_LINE_PUSHFAIL;
        }
 #else /*No line_push */
-#if 0 /* used to be SUN*/
+#ifdef sun 
     if (ioctl(fd, I_PUSH, "ptem") < 0)
        return PTY_OPEN_SLAVE_PUSH_FAIL;
     if (ioctl(fd, I_PUSH, "ldterm") < 0)
index 6ef9c740999c9bb840af201133ab43a9578d4daf..c54c6f106946fa8febb2f83ff2f9ddd757b6a253 100644 (file)
@@ -42,14 +42,15 @@ pty_open_ctty (slave, fd)
     (void) setsid();
 #endif
 
+/* First, dissociate from previous terminal */
+    if ( (retval = ptyint_void_association()) != 0 )
+       return retval;
 #ifdef ultrix
     /* The Ultrix (and other BSD tty drivers) require the process group
      * to be zero, in order to acquire the new tty as a controlling tty. */
     (void) setpgrp(0, 0);
 #endif
-/* First, dissociate from previous terminal */
-    if ( (retval = ptyint_void_association()) < 0 )
-       return retval;
+
     *fd = open(slave, O_RDWR);
     if (*fd < 0 )
        return PTY_OPEN_SLAVE_OPENFAIL;
index 37d580d2351f62f42b741982d3b4ee71a48a33e9..d7c94dcba2dda48b6d5e8119474ffb8fc7112535 100644 (file)
@@ -36,6 +36,7 @@ long retval;
     
 #endif
 
+
     /* First, chmod and chown the slave*/
     /*
        * If we have vhangup then we really need pty_open_ctty to make sure