changeset 3273:a5e5e1e04331

Don't include termios.h directly--let systty.h do it. (shut_down_emacs): Maybe close X connection here. New arg NO_X. (Fkill_emacs): Don't close it here. Pass new arg. (fatal_error_signal): Pass new arg.
author Richard M. Stallman <rms@gnu.org>
date Sat, 29 May 1993 20:57:33 +0000
parents d1a31cee8fca
children 4bf437bb0180
files src/emacs.c
diffstat 1 files changed, 9 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/emacs.c	Sat May 29 20:54:27 1993 +0000
+++ b/src/emacs.c	Sat May 29 20:57:33 1993 +0000
@@ -35,10 +35,6 @@
 #include <sys/ioctl.h>
 #endif
 
-#ifdef HAVE_TERMIOS
-#include <termios.h>
-#endif
-
 #ifdef APOLLO
 #ifndef APOLLO_SR10
 #include <default_acl.h>
@@ -134,7 +130,7 @@
     {
       fatal_error_in_progress = 1;
 
-      shut_down_emacs (sig);
+      shut_down_emacs (sig, 0);
     }
 
 #ifdef VMS
@@ -638,11 +634,6 @@
   if (!NILP (Vrun_hooks) && !noninteractive)
     call1 (Vrun_hooks, intern ("kill-emacs-hook"));
 
-#ifdef HAVE_X_WINDOWS
-  if (!noninteractive && EQ (Vwindow_system, intern ("x")))
-    Fx_close_current_connection ();
-#endif /* HAVE_X_WINDOWS */
-
   UNGCPRO;
 
 /* Is it really necessary to do this deassign
@@ -652,7 +643,7 @@
  #endif  */
   stuff_buffered_input (arg);
 
-  shut_down_emacs (0);
+  shut_down_emacs (0, 0);
 
   exit ((XTYPE (arg) == Lisp_Int) ? XINT (arg)
 #ifdef VMS
@@ -676,8 +667,8 @@
    This is called by fatal signal handlers, X protocol error handlers,
    and Fkill_emacs.  */
 void
-shut_down_emacs (sig)
-     int sig;
+shut_down_emacs (sig, no_x)
+     int sig, no_x;
 {
   /* If we are controlling the terminal, reset terminal modes */
 #ifdef EMACS_HAVE_TTY_PGRP
@@ -708,6 +699,11 @@
   kill_vms_processes ();
 #endif
 
+#ifdef HAVE_X_WINDOWS
+  if (!noninteractive && EQ (Vwindow_system, intern ("x")) && ! no_x)
+    Fx_close_current_connection ();
+#endif /* HAVE_X_WINDOWS */
+
 #ifdef SIGIO
   /* There is a tendency for a SIGIO signal to arrive within exit,
      and cause a SIGHUP because the input descriptor is already closed.  */