Commit 5a570e37 authored by Jim Blandy's avatar Jim Blandy

Changes for Irix 4.0, tested this time:

	* s/irix4-0.h: Get rid of our fake definitions for setpgrp and
	getpgrp.
	* callproc.c (Fcall_process): Go ahead and use the USG calling
	convention for setpgrp.
	* ymakefile (pre-crt0.o): Add rule for this.  Perhaps it will help
	separate-source-directory compilation.
	* emacs.c (shut_down_emacs): Some USG systems #define
	EMACS_HAVE_TTY_PGRP; call getpgrp as appropriate for such systems.
	* sysdep.c (sys_suspend): Call getpgrp as appropriate for USG and
	non-USG.
	* process.c [IRIX] (create_process): Don't put child in process
	group zero before opening the tty; Irix is like USG in this
	regard.
parent 6d68d793
......@@ -255,7 +255,7 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
{
if (fd[0] >= 0)
close (fd[0]);
#if defined (USG) && !defined (IRIX)
#ifdef USG
setpgrp ();
#else
setpgrp (pid, pid);
......
......@@ -681,9 +681,14 @@ shut_down_emacs (sig, no_x, stuff)
/* If we are controlling the terminal, reset terminal modes */
#ifdef EMACS_HAVE_TTY_PGRP
{
#ifdef USG
int pgrp = getpgrp ();
#else
int pgrp = getpgrp (0);
#endif
int tpgrp;
if (EMACS_GET_TTY_PGRP (0, &tpgrp) != -1
&& tpgrp == getpgrp (0))
&& tpgrp == pgrp)
{
fflush (stdout);
reset_sys_modes ();
......
......@@ -1282,7 +1282,7 @@ create_process (process, new_argv, current_dir)
int j = open ("/dev/tty", O_RDWR, 0);
ioctl (j, TIOCNOTTY, 0);
close (j);
#if !defined (USG) || defined (IRIX)
#ifndef USG
/* In order to get a controlling terminal on some versions
of BSD, it is necessary to put the process in pgrp 0
before it opens the terminal. */
......
......@@ -50,10 +50,6 @@
strcpy (pty_name, name); \
}
/* Use the BSD versions of the getpgrp and setpgrp functions. */
#define setpgrp(pid, pgrp) BSDsetpgrp((pid), (pgrp))
#define getpgrp(pid) BSDgetpgrp(pid)
/* jpff@maths.bath.ac.uk reports `struct exception' is not defined
on this system, so inhibit use of matherr. */
#define NO_MATHERR
......@@ -571,7 +571,14 @@ sys_suspend ()
#else
#ifdef SIGTSTP
EMACS_KILLPG (getpgrp (0), SIGTSTP);
{
#ifdef USG
int pgrp = getpgrp ();
#else
int pgrp = getpgrp (0);
#endif
EMACS_KILLPG (pgrp, SIGTSTP);
}
#else /* No SIGTSTP */
#ifdef USG_JOBCTRL /* If you don't know what this is don't mess with it */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment