diff options
| author | Jim Blandy | 1993-06-12 15:37:36 +0000 |
|---|---|---|
| committer | Jim Blandy | 1993-06-12 15:37:36 +0000 |
| commit | e7d310aaf0cd44605dd608f6a6a8b2ce99440678 (patch) | |
| tree | 92331b5add3b8753efed7da6d7d762c3bff229cc | |
| parent | f7bcff969db74915b33b124fb08363498650dc38 (diff) | |
| download | emacs-e7d310aaf0cd44605dd608f6a6a8b2ce99440678.tar.gz emacs-e7d310aaf0cd44605dd608f6a6a8b2ce99440678.zip | |
Initial revision
| -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 @@ | |||
| 1 | /* s/ file for System V release 4.2. */ | ||
| 2 | |||
| 3 | #include "usg5-4.h" | ||
| 4 | |||
| 5 | /* pcg@aber.ac.uk says this is useless since fork does copy-on-write | ||
| 6 | #define HAVE_VFORK */ | ||
| 7 | /* fnf@cygnus.com says these exist. */ | ||
| 8 | #define HAVE_TCATTR | ||
| 9 | #define HAVE_GETHOSTNAME | ||
| 10 | #if 0 /* autoconf should take care of this. */ | ||
| 11 | #define HAVE_RANDOM | ||
| 12 | #endif | ||
| 13 | /* #define HAVE_GETWD (appears to be buggy on SVR4.2) */ | ||
| 14 | |||
| 15 | /* Info from fnf@cygnus.com suggests this is appropriate. */ | ||
| 16 | #define POSIX_SIGNALS | ||
| 17 | |||
| 18 | /* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ | ||
| 19 | #undef sigsetmask | ||
| 20 | #undef HAVE_SYSV_SIGPAUSE | ||
| 21 | |||
| 22 | /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock | ||
| 23 | rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't | ||
| 24 | work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x | ||
| 25 | (x<2) but I'm not sure. fnf@cygnus.com */ | ||
| 26 | /* This sets the name of the slave side of the PTY. On SysVr4, | ||
| 27 | grantpt(3) forks a subprocess, so keep sigchld_handler() from | ||
| 28 | intercepting that death. If any child but grantpt's should die | ||
| 29 | within, it should be caught after sigrelse(2). */ | ||
| 30 | |||
| 31 | #undef PTY_TTY_NAME_SPRINTF | ||
| 32 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 33 | { \ | ||
| 34 | char *ptsname(), *ptyname; \ | ||
| 35 | \ | ||
| 36 | sigblock(sigmask(SIGCLD)); \ | ||
| 37 | if (grantpt(fd) == -1) \ | ||
| 38 | fatal("could not grant slave pty"); \ | ||
| 39 | sigunblock(sigmask(SIGCLD)); \ | ||
| 40 | if (unlockpt(fd) == -1) \ | ||
| 41 | fatal("could not unlock slave pty"); \ | ||
| 42 | if (!(ptyname = ptsname(fd))) \ | ||
| 43 | fatal ("could not enable slave pty"); \ | ||
| 44 | strncpy(pty_name, ptyname, sizeof(pty_name)); \ | ||
| 45 | pty_name[sizeof(pty_name) - 1] = 0; \ | ||
| 46 | } | ||