diff options
| author | Jim Blandy <jimb@redhat.com> | 1993-06-12 15:37:36 +0000 |
|---|---|---|
| committer | Jim Blandy <jimb@redhat.com> | 1993-06-12 15:37:36 +0000 |
| commit | e7d310aaf0cd44605dd608f6a6a8b2ce99440678 (patch) | |
| tree | 92331b5add3b8753efed7da6d7d762c3bff229cc /src | |
| parent | f7bcff969db74915b33b124fb08363498650dc38 (diff) | |
| download | emacs-e7d310aaf0cd44605dd608f6a6a8b2ce99440678.tar.gz | |
Initial revision
Diffstat (limited to 'src')
| -rw-r--r-- | src/s/usg5-4-2.h | 46 |
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; \ + } |
