diff src/process-unix.c @ 613:023b83f4e54b

[xemacs-hg @ 2001-06-10 10:42:16 by ben] ------ signal-code changes ------ data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c, process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h: use EMACS_SIGNAL everywhere instead of playing preprocessing games with signal(). s\windowsnt.h, s\mingw32.h, syssignal.h: Remove mswindows signal code from s+m headers and move to syssignal.h as one of the five ways of signal handling, instead of playing preprocessing games. fileio.c, sysdep.c: Rename sys_do_signal to qxe_reliable_signal. signal.c, process-unix.c, profile.c: Create set_timeout_signal(); use instead of just EMACS_SIGNAL to establish a signal handler on a timeout signal; this does special things under Cygwin. nt.c: Eliminate term_ntproc(), which is blank; used as a SIGABRT handler, which was wrong anyway. nt.c, win32.c: Move signal code from nt.c to win32.c, since Cygwin needs it too when dealing with timeout signals. s\cygwin32.h: Define CYGWIN_BROKEN_SIGNALS. ------ other changes ------ s\mingw32.h: Fix problems with NOT_C_CODE being in the wrong place and excluding defines needed when building Makefile.in.in. filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c, unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c, unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h, s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h, s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h, s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h, s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h, s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h, s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h, s\usg5-4.h, s\windowsnt.h, s\xenix.h: Rename 'GNU Emacs' to XEmacs in the copyright and comments. nas.c: Stylistic cleanup. Avoid preprocessing games with names such as play_sound_file. ------ signal-code changes ------ data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c, process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h: use EMACS_SIGNAL everywhere instead of playing preprocessing games with signal(). s\windowsnt.h, s\mingw32.h, syssignal.h: Remove mswindows signal code from s+m headers and move to syssignal.h as one of the five ways of signal handling, instead of playing preprocessing games. fileio.c, sysdep.c: Rename sys_do_signal to qxe_reliable_signal. signal.c, process-unix.c, profile.c: Create set_timeout_signal(); use instead of just EMACS_SIGNAL to establish a signal handler on a timeout signal; this does special things under Cygwin. nt.c: Eliminate term_ntproc(), which is blank; used as a SIGABRT handler, which was wrong anyway. nt.c, win32.c: Move signal code from nt.c to win32.c, since Cygwin needs it too when dealing with timeout signals. s\cygwin32.h: Define CYGWIN_BROKEN_SIGNALS. ------ other changes ------ s\mingw32.h: Fix problems with NOT_C_CODE being in the wrong place and excluding defines needed when building Makefile.in.in. filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c, unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c, unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h, s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h, s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h, s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h, s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h, s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h, s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h, s\usg5-4.h, s\windowsnt.h, s\xenix.h: Rename 'GNU Emacs' to XEmacs in the copyright and comments. nas.c: Stylistic cleanup. Avoid preprocessing games with names such as play_sound_file. xemacs-faq.texi: Update sections on Windows and MacOS availability. alist.el, apropos.el, autoload.el, bytecomp.el, cl-compat.el, cl-extra.el, cl-macs.el, cl-seq.el, cl.el, cmdloop.el, cus-edit.el, derived.el, gpm.el, itimer.el, lisp-mode.el, shadow.el, version.el, wid-browse.el: Rename 'GNU Emacs' to XEmacs in the copyright. Fix other references to GNU Emacs that should be XEmacs or just Emacs. files.el: Fix warning. simple.el: transpose-line-up/down will now move the region up or down by a line if active. cvtmail.c, fakemail.c, gnuserv.c, gnuserv.h, gnuslib.c, make-msgfile.c, make-path.c, pop.c, pop.h, profile.c, tcp.c: Rename 'GNU Emacs' to XEmacs in the copyright. Fix comments in similar ways. digest-doc.c, sorted-doc.c: Fix program and author name to reflect XEmacs.
author ben
date Sun, 10 Jun 2001 10:42:39 +0000
parents 13e3d7ae7155
children b39c14581166
line wrap: on
line diff
--- a/src/process-unix.c	Sat Jun 09 09:02:04 2001 +0000
+++ b/src/process-unix.c	Sun Jun 10 10:42:39 2001 +0000
@@ -108,7 +108,7 @@
 close_safely (int fd)
 {
   stop_interrupts ();
-  signal (SIGALRM, close_safely_handler);
+  set_timeout_signal (SIGALRM, close_safely_handler);
   alarm (1);
   close (fd);
   alarm (0);
@@ -810,7 +810,7 @@
 #ifndef CANNOT_DUMP
   if (! noninteractive || initialized)
 #endif
-    signal (SIGCHLD, sigchld_handler);
+    EMACS_SIGNAL (SIGCHLD, sigchld_handler);
 }
 #endif /* SIGCHLD */
 
@@ -1032,15 +1032,15 @@
 	       a SIG_IGN handling from our parent (nohup) and we are in new
 	       process group.
 	    */
-	    signal (SIGHUP, SIG_DFL);
+	    EMACS_SIGNAL (SIGHUP, SIG_DFL);
 
 	    /* Set up the terminal characteristics of the pty. */
 	    child_setup_tty (xforkout);
 	  } /* if (pty_flag) */
 
 
-	signal (SIGINT,  SIG_DFL);
-	signal (SIGQUIT, SIG_DFL);
+	EMACS_SIGNAL (SIGINT,  SIG_DFL);
+	EMACS_SIGNAL (SIGQUIT, SIG_DFL);
 
 	{
 	  char *current_dir;
@@ -1287,7 +1287,7 @@
 	    break; /* perhaps should abort() if < 0?
 		      This should never happen. */
 	  old_sigpipe =
-	    (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap);
+	    (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap);
 	  /* Lstream_write() will never successfully write less than
 	     the amount sent in.  In the worst case, it just buffers
 	     the unwritten data. */
@@ -1295,7 +1295,7 @@
 				    chunklen);
 	  {
 	    int save_errno = errno;
-	    signal (SIGPIPE, old_sigpipe);
+	    EMACS_SIGNAL (SIGPIPE, old_sigpipe);
 	    errno = save_errno;
 	    if (writeret < 0)
 	      /* This is a real error.  Blocking errors are handled
@@ -1312,15 +1312,15 @@
 	      if (NILP(p->pipe_outstream))
 		return;
 	      old_sigpipe =
-		(SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap);
+		(SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap);
 	      Lstream_flush (XLSTREAM (p->pipe_outstream));
-	      signal (SIGPIPE, old_sigpipe);
+	      EMACS_SIGNAL (SIGPIPE, old_sigpipe);
 	    }
 	}
     }
   else
     { /* We got here from a longjmp() from the SIGPIPE handler */
-      signal (SIGPIPE, old_sigpipe);
+      EMACS_SIGNAL (SIGPIPE, old_sigpipe);
       /* Close the file lstream so we don't attempt to write to it further */
       /* #### There is controversy over whether this might cause fd leakage */
       /*      my tests say no. -slb */
@@ -1334,9 +1334,9 @@
       invalid_operation ("SIGPIPE raised on process; closed it", p->name);
     }
 
-  old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, send_process_trap);
+  old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap);
   Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p)));
-  signal (SIGPIPE, old_sigpipe);
+  EMACS_SIGNAL (SIGPIPE, old_sigpipe);
 }
 
 /*
@@ -1389,9 +1389,9 @@
     flush_pending_output (UNIX_DATA(p)->infd);
 
   /* closing the outstream could result in SIGPIPE, so ignore it. */
-  old_sigpipe = (SIGTYPE (*) (int)) signal (SIGPIPE, SIG_IGN);
+  old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, SIG_IGN);
   usid = event_stream_delete_stream_pair (p->pipe_instream, p->pipe_outstream);
-  signal (SIGPIPE, old_sigpipe);
+  EMACS_SIGNAL (SIGPIPE, old_sigpipe);
 
   UNIX_DATA(p)->infd  = -1;