Commit | Line | Data |
---|---|---|
15d25dc0 DN |
1 | /* s/ file for Unixware. |
2 | ||
acaf905b | 3 | Copyright (C) 1999-2012 Free Software Foundation, Inc. |
15d25dc0 DN |
4 | |
5 | This file is part of GNU Emacs. | |
6 | ||
7 | GNU Emacs is free software: you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation, either version 3 of the License, or | |
10 | (at your option) any later version. | |
11 | ||
12 | GNU Emacs is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |
19 | ||
20 | ||
1b231651 | 21 | #include "usg5-4-common.h" |
15d25dc0 | 22 | |
1b231651 | 23 | /* This is the same definition as in usg5-4-common.h, but with sigblock/sigunblock |
ef03a4e6 DN |
24 | rather than sighold/sigrelse, which appear to be BSD4.1 specific. |
25 | It may also be appropriate for SVR4.x | |
15d25dc0 DN |
26 | (x<2) but I'm not sure. fnf@cygnus.com */ |
27 | /* This sets the name of the slave side of the PTY. On SysVr4, | |
28 | grantpt(3) forks a subprocess, so keep sigchld_handler() from | |
29 | intercepting that death. If any child but grantpt's should die | |
e05aebe9 | 30 | within, it should be caught after sigrelse(2). */ |
15d25dc0 DN |
31 | #define PTY_TTY_NAME_SPRINTF \ |
32 | { \ | |
5c1ccb01 | 33 | char *ptsname (int), *ptyname; \ |
15d25dc0 DN |
34 | \ |
35 | sigblock(sigmask(SIGCLD)); \ | |
36 | if (grantpt(fd) == -1) \ | |
37 | fatal("could not grant slave pty"); \ | |
38 | sigunblock(sigmask(SIGCLD)); \ | |
39 | if (unlockpt(fd) == -1) \ | |
40 | fatal("could not unlock slave pty"); \ | |
41 | if (!(ptyname = ptsname(fd))) \ | |
42 | fatal ("could not enable slave pty"); \ | |
e99a530f | 43 | snprintf (pty_name, sizeof pty_name, "%s", ptyname); \ |
15d25dc0 DN |
44 | } |
45 | ||
b948ce8b PE |
46 | /* Conservative garbage collection has not been tested, so for now |
47 | play it safe and stick with the old-fashioned way of marking. */ | |
48 | #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE |