summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-06-12 15:37:36 +0000
committerJim Blandy <jimb@redhat.com>1993-06-12 15:37:36 +0000
commite7d310aaf0cd44605dd608f6a6a8b2ce99440678 (patch)
tree92331b5add3b8753efed7da6d7d762c3bff229cc /src
parentf7bcff969db74915b33b124fb08363498650dc38 (diff)
downloademacs-e7d310aaf0cd44605dd608f6a6a8b2ce99440678.tar.gz
Initial revision
Diffstat (limited to 'src')
-rw-r--r--src/s/usg5-4-2.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/s/usg5-4-2.h b/src/s/usg5-4-2.h
new file mode 100644
index 00000000000..770b6e0713c
--- /dev/null
+++ b/src/s/usg5-4-2.h
@@ -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; \
+ }