|
|
1.1 ! root 1: #include "s-irix3-3.h" ! 2: ! 3: #define USG5_3 ! 4: ! 5: /* Define HAVE_ALLOCA to say that the system provides a properly ! 6: working alloca function and it should be used. */ ! 7: #define HAVE_ALLOCA ! 8: #undef C_ALLOCA ! 9: #define alloca __builtin_alloca ! 10: ! 11: /* use K&R C */ ! 12: #define C_SWITCH_MACHINE -cckr ! 13: ! 14: /* SGI has all the fancy wait stuff, but we can't include sys/wait.h ! 15: because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.) Instead ! 16: we'll just define WNOHANG right here. ! 17: (An implicit decl is good enough for wait3.) */ ! 18: ! 19: #define WNOHANG 0x1 ! 20: ! 21: /* No need to use sprintf to get the tty name--we get that from _getpty. */ ! 22: #define PTY_TTY_NAME_SPRINTF ! 23: /* No need to get the pty name at all. */ ! 24: #define PTY_NAME_SPRINTF ! 25: #ifdef emacs ! 26: char *_get_pty(); ! 27: #endif ! 28: /* We need only try once to open a pty. */ ! 29: #define PTY_ITERATION ! 30: /* Here is how to do it. */ ! 31: /* It is necessary to prevent SIGCHLD signals within _getpty. ! 32: So we block them. */ ! 33: #define PTY_OPEN \ ! 34: { \ ! 35: int mask = sigblock (sigmask (SIGCHLD)); \ ! 36: char *name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \ ! 37: sigsetmask(mask); \ ! 38: if (name == 0) \ ! 39: return -1; \ ! 40: if (fd < 0) \ ! 41: return -1; \ ! 42: if (fstat (fd, &stb) < 0) \ ! 43: return -1; \ ! 44: strcpy (pty_name, name); \ ! 45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.