]> code.delx.au - gnu-emacs/commitdiff
Initial revision
authorJim Blandy <jimb@redhat.com>
Sat, 12 Jun 1993 15:37:36 +0000 (15:37 +0000)
committerJim Blandy <jimb@redhat.com>
Sat, 12 Jun 1993 15:37:36 +0000 (15:37 +0000)
src/s/usg5-4-2.h [new file with mode: 0644]

diff --git a/src/s/usg5-4-2.h b/src/s/usg5-4-2.h
new file mode 100644 (file)
index 0000000..770b6e0
--- /dev/null
@@ -0,0 +1,46 @@
+/* s/ file for System V release 4.2.  */
+
+#include "usg5-4.h"
+
+/* pcg@aber.ac.uk says this is useless since fork does copy-on-write
+   #define HAVE_VFORK */
+/* fnf@cygnus.com says these exist.  */
+#define HAVE_TCATTR
+#define HAVE_GETHOSTNAME
+#if 0 /* autoconf should take care of this.  */
+#define HAVE_RANDOM
+#endif
+/* #define HAVE_GETWD  (appears to be buggy on SVR4.2) */
+
+/* Info from fnf@cygnus.com suggests this is appropriate.  */
+#define POSIX_SIGNALS
+
+/* We don't need the definition from usg5-3.h with POSIX_SIGNALS.  */
+#undef sigsetmask
+#undef HAVE_SYSV_SIGPAUSE
+
+/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
+   rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
+   work if POSIX_SIGNALS is defined.  It may also be appropriate for SVR4.x
+   (x<2) but I'm not sure.   fnf@cygnus.com */
+/* This sets the name of the slave side of the PTY.  On SysVr4,
+   grantpt(3) forks a subprocess, so keep sigchld_handler() from
+   intercepting that death.  If any child but grantpt's should die
+   within, it should be caught after sigrelse(2). */
+
+#undef PTY_TTY_NAME_SPRINTF
+#define PTY_TTY_NAME_SPRINTF                   \
+  {                                            \
+    char *ptsname(), *ptyname;                 \
+                                               \
+    sigblock(sigmask(SIGCLD));                 \
+    if (grantpt(fd) == -1)                     \
+      fatal("could not grant slave pty");      \
+    sigunblock(sigmask(SIGCLD));               \
+    if (unlockpt(fd) == -1)                    \
+      fatal("could not unlock slave pty");     \
+    if (!(ptyname = ptsname(fd)))              \
+      fatal ("could not enable slave pty");    \
+    strncpy(pty_name, ptyname, sizeof(pty_name)); \
+    pty_name[sizeof(pty_name) - 1] = 0;                \
+  }