Changes for Alpha; also deal better with slave failure
authorSam Hartman <hartmans@mit.edu>
Wed, 9 Aug 1995 00:40:30 +0000 (00:40 +0000)
committerSam Hartman <hartmans@mit.edu>
Wed, 9 Aug 1995 00:40:30 +0000 (00:40 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6472 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/telnet/telnetd/ChangeLog
src/appl/telnet/telnetd/sys_term.c

index 85405e47ea9cea8c898c90649337f2a2d911f391..727cfa1beb43f43f3f90956461568f0caf5c1495 100644 (file)
@@ -1,8 +1,15 @@
+Tue Aug  8 11:26:54 1995  Sam Hartman  <hartmans@pao.mit.edu>
+
+       * sys_term.c: Fail if the slave side dies.
+       (dup_tty): Renamed from login_tty because OSF already has that function and it isn't compatible.
+
+       (getptyslave): Fix argument to fatalperror by including com_err.h instead of casting.
 
 Tue Aug 8 17:25:22 EDT 1995    Paul Park       (pjpark@mit.edu)
        * sys_term.c - Cast argument to fatalperror().
 
-Mon Aug  7 18:29:21 1995  Sam Hartman  <hartmans@tertius.mit.edu>
+
+
 
        * sys_term.c: Use new interface to pty_update_utmp.
        (getptyslave): Handle error return from pty_open_slave
index 2e4c0e00834ab037c1db723719ab418f96e9c41d..73cf0fb3f97ad184bc084dcb4a17dc55818a49eb 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "telnetd.h"
 #include "pathnames.h"
+#include <com_err.h>
 
 #ifndef LOGIN_PROGRAM
 #define LOGIN_PROGRAM _PATH_LOGIN
@@ -960,7 +961,7 @@ getptyslave()
 
        if ( (retval = pty_open_slave (line, &t)) != 0 )
            {
-               fatalperror(net, (char *) error_message(retval));
+               fatalperror(net,  error_message(retval));
            }
 
 #ifdef  STREAMSPTY
@@ -1027,8 +1028,8 @@ termbuf.c_cflag |= HUPCL;
         * Set the tty modes, and make this our controlling tty.
         */
        set_termbuf();
-       if (login_tty(t) == -1)
-               fatalperror(net, "login_tty");
+       if (dup_tty(t) == -1)
+               fatalperror(net, "dup_tty");
 #endif /* !defined(CRAY) || !defined(NEWINIT) */
        if (net > 2)
                (void) close(net);
@@ -1052,10 +1053,10 @@ termbuf.c_cflag |= HUPCL;
 
 #endif /* !defined(CRAY) || !defined(NEWINIT) */
 
-#if BSD <= 43
+
 
        int
-login_tty(t)
+dup_tty(t)
        int t;
 {
        if (t != 0)
@@ -1068,7 +1069,7 @@ login_tty(t)
                close(t);
        return(0);
 }
-#endif /* BSD <= 43 */
+
 
 #ifdef NEWINIT
 char *gen_id = "fe";
@@ -1126,7 +1127,11 @@ slavepid = i; /* So we can clean it up later */
 
                /* Wait for child before writing to parent side of pty.*/
 (void) close(syncpipe[1]);
-               read(syncpipe[0], &c, 1);
+if ( read(syncpipe[0], &c, 1) == 0 ) {
+  /* Slave side died */
+  fatal ( net, "Slave failed to initialize");
+}
+
                close(syncpipe[0]);