Mercurial > emacs
view src/s/usg5-4-2.h @ 3782:5b61a650f347
Changes for correct pgrp behavior from Bob Glickstein
<bobg@zindigo.z-code.com>:
* m/iris4d.h (LIB_STANDARD): Do include -lbsd here.
* s/irix4-0.h (USE_IRIX_BSDPGRP): #define this.
(GETPGRP_NO_ARG): Don't #define this.
* callproc.c [USE_IRIX_BSDPGRP] (Fcall_process): Call BSDsetpgrp
instead of plain setpgrp.
[USE_IRIX_BSDPGRP] (child_setup): Same.
* emacs.c [GETPGRP_NO_ARG] (main, shut_down_emacs): CPP clauses
deleted; this flag isn't needed anymore.
[USE_IRIX_BSDPGRP] (main, shut_down_emacs): Call BSDsetpgrp and
BSDgetpgrp instead of plain setpgrp and getpgrp.
* process.c [USE_IRIX_BSDPGRP] (create_process): Don't call
setpgrp before opening the tty. Call BSDsetpgrp instead of
setpgrp, after opening the tty.
* sysdep.c [USE_IRIX_BSDPGRP] (sys_suspend,
narrow_foreground_group, widen_foreground_group): Call BSDgetpgrp
and BSDsetpgrp instead of getpgrp and setpgrp.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Wed, 16 Jun 1993 23:49:54 +0000 |
parents | 94593e8e6593 |
children | ed596b459f72 |
line wrap: on
line source
/* 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; \ }