summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/callproc.c6
-rw-r--r--src/emacs.c15
-rw-r--r--src/s/bsd-common.h3
-rw-r--r--src/s/gnu-linux.h5
-rw-r--r--src/sysdep.c72
-rw-r--r--src/term.c2
7 files changed, 16 insertions, 97 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 797ab693639..91da5440dd4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,15 @@
2010-05-04 Dan Nicolaescu <dann@ics.uci.edu>
+ Remove BSD_PGRPS.
+ * s/bsd-common.h (BSD_PGRPS): Remove undef.
+ * s/gnu-linux.h (BSD_PGRPS): Remove.
+ * term.c (dissociate_if_controlling_tty):
+ * sysdep.c (narrow_foreground_group, widen_foreground_group)
+ (init_sys_modes, reset_sys_modes):
+ * emacs.c (main):
+ * callproc.c (Fcall_process, child_setup): Remove code depending
+ on BSD_PGRPS.
+
Remove POSIX_SIGNALS.
* s/usg5-4.h (POSIX_SIGNALS):
* s/netbsd.h (POSIX_SIGNALS):
diff --git a/src/callproc.c b/src/callproc.c
index 317636d9cc8..44dd6ed7764 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -91,7 +91,7 @@ extern char **environ;
#endif
#ifdef HAVE_SETPGID
-#if !defined (USG) || defined (BSD_PGRPS)
+#if !defined (USG)
#undef setpgrp
#define setpgrp setpgid
#endif
@@ -581,7 +581,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
#ifdef HAVE_SETSID
setsid ();
#endif
-#if defined (USG) && !defined (BSD_PGRPS)
+#if defined (USG)
setpgrp ();
#else
setpgrp (pid, pid);
@@ -1251,7 +1251,7 @@ child_setup (in, out, err, new_argv, set_pgrp, current_dir)
#endif /* not MSDOS */
#endif /* not WINDOWSNT */
-#if defined(USG) && !defined(BSD_PGRPS)
+#if defined(USG)
#ifndef SETPGRP_RELEASES_CTTY
setpgrp (); /* No arguments but equivalent in this case */
#endif
diff --git a/src/emacs.c b/src/emacs.c
index d40ff3662f0..06c686d9950 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -81,7 +81,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif
#ifdef HAVE_SETPGID
-#if !defined (USG) || defined (BSD_PGRPS)
+#if !defined (USG)
#undef setpgrp
#define setpgrp setpgid
#endif
@@ -193,11 +193,6 @@ EMACS_INT emacs_priority;
data on the first attempt to change it inside asynchronous code. */
int running_asynch_code;
-#ifdef BSD_PGRPS
-/* See sysdep.c. */
-extern int inherited_pgroup;
-#endif
-
#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
/* If non-zero, -d was specified, meaning we're using some window system. */
int display_arg;
@@ -1187,17 +1182,9 @@ main (int argc, char **argv)
if (! noninteractive)
{
-#ifdef BSD_PGRPS
- if (initialized)
- {
- inherited_pgroup = EMACS_GETPGRP (0);
- setpgrp (0, getpid ());
- }
-#else
#if defined (USG5) && defined (INTERRUPT_INPUT)
setpgrp ();
#endif
-#endif
#if defined (HAVE_GTK_AND_PTHREAD) && !defined (SYSTEM_MALLOC) && !defined (DOUG_LEA_MALLOC)
{
extern void malloc_enable_thread P_ ((void));
diff --git a/src/s/bsd-common.h b/src/s/bsd-common.h
index 9dad7a9b1d9..e44757f19a4 100644
--- a/src/s/bsd-common.h
+++ b/src/s/bsd-common.h
@@ -48,9 +48,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define SYSV_SYSTEM_DIR
-/* POSIX-style pgrp behavior. */
-#undef BSD_PGRPS
-
#define UNEXEC unexelf.o
/* If the system's imake configuration file defines `NeedWidePrototypes'
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index 218af42bac4..b9cab20b273 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -206,11 +206,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define HAVE_XRMSETDATABASE
#endif
-/* Use BSD process groups, but use setpgid() instead of setpgrp() to
- actually set a process group. */
-/* Interesting: only GNU/Linux defines this, but the BSDs do not... */
-/* #define BSD_PGRPS */
-
#define NARROWPROTO 1
/* Use mmap directly for allocating larger buffers. */
diff --git a/src/sysdep.c b/src/sysdep.c
index 38492c1bb00..1e114655b4e 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -73,7 +73,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <errno.h>
#ifdef HAVE_SETPGID
-#if !defined (USG) || defined (BSD_PGRPS)
+#if !defined (USG)
#undef setpgrp
#define setpgrp setpgid
#endif
@@ -859,65 +859,7 @@ unrequest_sigio ()
#endif /* FASYNC */
#endif /* F_SETFL */
#endif /* SIGIO */
-
-/* Saving and restoring the process group of Emacs's terminal. */
-
-#ifdef BSD_PGRPS
-
-/* The process group of which Emacs was a member when it initially
- started.
-
- If Emacs was in its own process group (i.e. inherited_pgroup ==
- getpid ()), then we know we're running under a shell with job
- control (Emacs would never be run as part of a pipeline).
- Everything is fine.
-
- If Emacs was not in its own process group, then we know we're
- running under a shell (or a caller) that doesn't know how to
- separate itself from Emacs (like sh). Emacs must be in its own
- process group in order to receive SIGIO correctly. In this
- situation, we put ourselves in our own pgroup, forcibly set the
- tty's pgroup to our pgroup, and make sure to restore and reinstate
- the tty's pgroup just like any other terminal setting. If
- inherited_group was not the tty's pgroup, then we'll get a
- SIGTTmumble when we try to change the tty's pgroup, and a CONT if
- it goes foreground in the future, which is what should happen.
-
- This variable is initialized in emacs.c. */
-int inherited_pgroup;
-
-/* Split off the foreground process group to Emacs alone. When we are
- in the foreground, but not started in our own process group,
- redirect the tty device handle FD to point to our own process
- group. We need to be in our own process group to receive SIGIO
- properly. */
-static void
-narrow_foreground_group (int fd)
-{
- int me = getpid ();
-
- setpgrp (0, inherited_pgroup);
-#if 0
- /* XXX inherited_pgroup should not be zero here, but GTK seems to
- mess this up. */
- if (! inherited_pgroup)
- abort (); /* Should not happen. */
-#endif
- if (inherited_pgroup != me)
- EMACS_SET_TTY_PGRP (fd, &me); /* XXX This only works on the controlling tty. */
- setpgrp (0, me);
-}
-
-/* Set the tty to our original foreground group. */
-static void
-widen_foreground_group (int fd)
-{
- if (inherited_pgroup != getpid ())
- EMACS_SET_TTY_PGRP (fd, &inherited_pgroup);
- setpgrp (0, inherited_pgroup);
-}
-#endif /* BSD_PGRPS */
/* Getting and setting emacs_tty structures. */
@@ -1102,15 +1044,6 @@ init_sys_modes (tty_out)
if (!tty_out->output)
return; /* The tty is suspended. */
-#ifdef BSD_PGRPS
-#if 0
- /* read_socket_hook is not global anymore. I think doing this
- unconditionally will not cause any problems. */
- if (! read_socket_hook && EQ (Vinitial_window_system, Qnil))
-#endif
- narrow_foreground_group (fileno (tty_out->input));
-#endif
-
if (! tty_out->old_tty)
tty_out->old_tty = (struct emacs_tty *) xmalloc (sizeof (struct emacs_tty));
@@ -1560,9 +1493,6 @@ reset_sys_modes (tty_out)
dos_ttcooked ();
#endif
-#ifdef BSD_PGRPS
- widen_foreground_group (fileno (tty_out->input));
-#endif
}
#ifdef HAVE_PTYS
diff --git a/src/term.c b/src/term.c
index bb143207758..fad6e3c80d7 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3379,7 +3379,7 @@ dissociate_if_controlling_tty (int fd)
EMACS_GET_TTY_PGRP (fd, &pgid); /* If tcgetpgrp succeeds, fd is the ctty. */
if (pgid != -1)
{
-#if defined (USG) && !defined (BSD_PGRPS)
+#if defined (USG)
setpgrp ();
no_controlling_tty = 1;
#elif defined (CYGWIN)