changeset 24210:4dc06f8c8c33

(SETUP_SLAVE_PTY): Use the ptem module if it exists. Don't complain if ttcompat does not exist.
author Richard M. Stallman <rms@gnu.org>
date Thu, 28 Jan 1999 03:49:39 +0000
parents d0853770c8e7
children 9ecc7b851682
files src/s/ptx4.h
diffstat 1 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/s/ptx4.h	Thu Jan 28 03:13:51 1999 +0000
+++ b/src/s/ptx4.h	Thu Jan 28 03:49:39 1999 +0000
@@ -16,9 +16,25 @@
 /* pae@dim.com (Phil Ernhardt) says this correction to
    the definition in usg5-4.h is needed to prevent
    all asynchronous subprocesses from exiting right away.  */
+
+/* James Youngman <jay@gnu.org> found that on "DYNIX/ptx ARNIE 4.0
+ * V4.4.2 i386", the push of the ttcompat module would fail.  It seems
+ * that PTX 4.4.2 doesn't have that module, so if the push fails we
+ * don't kill ourselves.  While this version lacks ttcompat, it also
+ * has ptem, but the manual page for ptem indicates that it should
+ * be pushed onto the slave side before the line discipline module.
+ * See also the streampty manual page, if you're curious (and have
+ * a ptx system).
+ */
+
+/* rms: I hope that older versions which do have ttcompat
+   will not get confused by the code to use ptem.  */
+
 #undef SETUP_SLAVE_PTY
 #define SETUP_SLAVE_PTY \
+  if (ioctl (xforkin, I_PUSH, "ptem") == -1 && errno != EINVAL) \
+    fatal ("ioctl I_PUSH ptem", errno);     \
   if (ioctl (xforkin, I_PUSH, "ldterm") == -1)	\
     fatal ("ioctl I_PUSH ldterm", errno);	\
-  if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
+  if (ioctl (xforkin, I_PUSH, "ttcompat") == -1 && errno != EINVAL) \
     fatal ("ioctl I_PUSH ttcompat", errno);