diff src/nt.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 38db05db9cb5
children a307f9a2021d
line wrap: on
line diff
--- a/src/nt.c	Sat Jun 09 09:02:04 2001 +0000
+++ b/src/nt.c	Sun Jun 10 10:42:39 2001 +0000
@@ -1689,11 +1689,6 @@
 }
 
 void
-term_ntproc (int unused)
-{
-}
-
-void
 init_ntproc (void)
 {
   /* Initial preparation for subprocess support: replace our standard
@@ -1755,10 +1750,6 @@
     _fdopen (2, "w");
   }
 
-  /* unfortunately, atexit depends on implementation of malloc */
-  /* atexit (term_ntproc); */
-  signal (SIGABRT, term_ntproc);
-
   /* determine which drives are fixed, for GetCachedVolumeInformation */
   {
     /* GetDriveType must have trailing backslash. */
@@ -1805,118 +1796,6 @@
 }
 #endif
 
-/*--------------------------------------------------------------------*/
-/* Signal support                                                     */
-/*--------------------------------------------------------------------*/
-
-/* We need MS-defined signal and raise here */
-#undef signal
-#undef raise
-
-#define sigmask(nsig) (1U << nsig)
-
-/* We can support as many signals as fit into word */
-#define SIG_MAX 32
-
-/* Signal handlers. Initial value = 0 = SIG_DFL */
-static void (__cdecl *signal_handlers[SIG_MAX])(int) = {0};
-
-/* Signal block mask: bit set to 1 means blocked */
-unsigned signal_block_mask = 0;
-
-/* Signal pending mask: bit set to 1 means sig is pending */
-unsigned signal_pending_mask = 0;
-
-mswindows_sighandler
-mswindows_sigset (int nsig, mswindows_sighandler handler)
-{
-  /* We delegate some signals to the system function */
-  if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT)
-    return signal (nsig, handler);
-
-  if (nsig < 0 || nsig > SIG_MAX)
-    {
-      errno = EINVAL;
-      return NULL;
-    }
-
-  /* Store handler ptr */
-  {
-    mswindows_sighandler old_handler = signal_handlers[nsig];
-    signal_handlers[nsig] = handler;
-    return old_handler;
-  }
-}
-  
-int
-mswindows_sighold (int nsig)
-{
-  if (nsig < 0 || nsig > SIG_MAX)
-    return errno = EINVAL;
-
-  signal_block_mask |= sigmask (nsig);
-  return 0;
-}
-
-int
-mswindows_sigrelse (int nsig)
-{
-  if (nsig < 0 || nsig > SIG_MAX)
-    return errno = EINVAL;
-
-  signal_block_mask &= ~sigmask (nsig);
-
-  if (signal_pending_mask & sigmask (nsig))
-    mswindows_raise (nsig);
-
-  return 0;
-}
-
-int
-mswindows_sigpause (int nsig)
-{
-  /* This is currently not called, because the only call to sigpause
-     inside XEmacs is with SIGCHLD parameter. Just in case, we put an
-     assert here, so anyone adds a call to sigpause will be surprised
-     (or surprise someone else...) */
-  assert (0);
-  return 0;
-}
-
-int
-mswindows_raise (int nsig)
-{
-  /* We delegate some raises to the system routine */
-  if (nsig == SIGFPE || nsig == SIGABRT || nsig == SIGINT)
-    return raise (nsig);
-
-  if (nsig < 0 || nsig > SIG_MAX)
-    return errno = EINVAL;
-
-  /* If the signal is blocked, remember to issue later */
-  if (signal_block_mask & sigmask (nsig))
-    {
-      signal_pending_mask |= sigmask (nsig);
-      return 0;
-    }
-
-  if (signal_handlers[nsig] == SIG_IGN)
-    return 0;
-
-  if (signal_handlers[nsig] != SIG_DFL)
-    {
-      (*signal_handlers[nsig]) (nsig);
-      return 0;
-    }
-
-  /* Default signal actions */
-  if (nsig == SIGALRM || nsig == SIGPROF)
-    exit (3);
-
-  /* Other signals are ignored by default */
-  return 0;
-}
-
 
 /*--------------------------------------------------------------------*/
 /*                        Memory-mapped files                         */