Mercurial > emacs
comparison src/s/irix4-0.h @ 1493:b207a60243f6
Initial revision
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 28 Oct 1992 09:15:05 +0000 |
parents | |
children | c4768d9b6a2f |
comparison
equal
deleted
inserted
replaced
1492:a40107cc6486 | 1493:b207a60243f6 |
---|---|
1 #include "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 } |