Mercurial > hg > xemacs-beta
comparison src/signal.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 | af57a77cbc92 |
comparison
equal
deleted
inserted
replaced
612:ff0d9e7facba | 613:023b83f4e54b |
---|---|
140 | 140 |
141 | 141 |
142 static void | 142 static void |
143 init_async_timeouts (void) | 143 init_async_timeouts (void) |
144 { | 144 { |
145 signal (SIGALRM, alarm_signal); | 145 set_timeout_signal (SIGALRM, alarm_signal); |
146 async_timer_suppress_count = 0; | 146 async_timer_suppress_count = 0; |
147 } | 147 } |
148 | 148 |
149 /* Turn off async timeouts. */ | 149 /* Turn off async timeouts. */ |
150 | 150 |
170 async_timer_suppress_count--; | 170 async_timer_suppress_count--; |
171 if (async_timer_suppress_count == 0) | 171 if (async_timer_suppress_count == 0) |
172 { | 172 { |
173 /* Some callers turn off async timeouts and then use the alarm | 173 /* Some callers turn off async timeouts and then use the alarm |
174 for their own purposes; so reinitialize everything. */ | 174 for their own purposes; so reinitialize everything. */ |
175 signal (SIGALRM, alarm_signal); | 175 set_timeout_signal (SIGALRM, alarm_signal); |
176 reset_interval_timer (); | 176 reset_interval_timer (); |
177 } | 177 } |
178 } | 178 } |
179 | 179 |
180 static void | 180 static void |
294 #endif | 294 #endif |
295 } | 295 } |
296 | 296 |
297 #endif /* HAVE_SETITIMER */ | 297 #endif /* HAVE_SETITIMER */ |
298 | 298 |
299 signal_handler_t | |
300 set_timeout_signal (int signal_number, signal_handler_t action) | |
301 { | |
302 #ifdef CYGWIN_BROKEN_SIGNALS | |
303 return mswindows_sigset (signal_number, action); | |
304 #else | |
305 return EMACS_SIGNAL (signal_number, action); | |
306 #endif | |
307 } | |
299 | 308 |
300 DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, 0, 0, 0, /* | 309 DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, 0, 0, 0, /* |
301 Return non-nil if XEmacs is waiting for input from the user. | 310 Return non-nil if XEmacs is waiting for input from the user. |
302 This is intended for use by asynchronous timeout callbacks and by | 311 This is intended for use by asynchronous timeout callbacks and by |
303 asynchronous process output filters and sentinels (not yet implemented | 312 asynchronous process output filters and sentinels (not yet implemented |
730 different process after having been backgrounded under a | 739 different process after having been backgrounded under a |
731 non-job-control shell! */ | 740 non-job-control shell! */ |
732 static void | 741 static void |
733 handle_signal_if_fatal (int signo) | 742 handle_signal_if_fatal (int signo) |
734 { | 743 { |
735 if (signal (signo, fatal_error_signal) == SIG_IGN) | 744 if (EMACS_SIGNAL (signo, fatal_error_signal) == SIG_IGN) |
736 signal (signo, SIG_IGN); | 745 EMACS_SIGNAL (signo, SIG_IGN); |
737 } | 746 } |
738 | 747 |
739 void | 748 void |
740 init_signals_very_early (void) | 749 init_signals_very_early (void) |
741 { | 750 { |
844 handle_signal_if_fatal (SIGMSG); | 853 handle_signal_if_fatal (SIGMSG); |
845 #endif /* AIX */ | 854 #endif /* AIX */ |
846 | 855 |
847 #ifdef SIGDANGER | 856 #ifdef SIGDANGER |
848 /* This just means available memory is getting low. */ | 857 /* This just means available memory is getting low. */ |
849 signal (SIGDANGER, memory_warning_signal); | 858 EMACS_SIGNAL (SIGDANGER, memory_warning_signal); |
850 #endif | 859 #endif |
851 } | 860 } |
852 | 861 |
853 void | 862 void |
854 syms_of_signal (void) | 863 syms_of_signal (void) |
859 void | 868 void |
860 init_interrupts_late (void) | 869 init_interrupts_late (void) |
861 { | 870 { |
862 if (!noninteractive) | 871 if (!noninteractive) |
863 { | 872 { |
864 signal (SIGINT, interrupt_signal); | 873 EMACS_SIGNAL (SIGINT, interrupt_signal); |
865 #ifdef HAVE_TERMIO | 874 #ifdef HAVE_TERMIO |
866 /* On systems with TERMIO, C-g is set up for both SIGINT and SIGQUIT | 875 /* On systems with TERMIO, C-g is set up for both SIGINT and SIGQUIT |
867 and we can't tell which one it will give us. */ | 876 and we can't tell which one it will give us. */ |
868 signal (SIGQUIT, interrupt_signal); | 877 EMACS_SIGNAL (SIGQUIT, interrupt_signal); |
869 #endif /* HAVE_TERMIO */ | 878 #endif /* HAVE_TERMIO */ |
870 init_async_timeouts (); | 879 init_async_timeouts (); |
871 #ifdef SIGIO | 880 #ifdef SIGIO |
872 signal (SIGIO, input_available_signal); | 881 EMACS_SIGNAL (SIGIO, input_available_signal); |
873 # ifdef SIGPOLL /* XPG5 */ | 882 # ifdef SIGPOLL /* XPG5 */ |
874 /* Some systems (e.g. Motorola SVR4) losingly have different | 883 /* Some systems (e.g. Motorola SVR4) losingly have different |
875 values for SIGIO and SIGPOLL, and send SIGPOLL instead of | 884 values for SIGIO and SIGPOLL, and send SIGPOLL instead of |
876 SIGIO. On those same systems, an uncaught SIGPOLL kills the | 885 SIGIO. On those same systems, an uncaught SIGPOLL kills the |
877 process. */ | 886 process. */ |
878 signal (SIGPOLL, input_available_signal); | 887 EMACS_SIGNAL (SIGPOLL, input_available_signal); |
879 # endif | 888 # endif |
880 #elif !defined (DONT_POLL_FOR_QUIT) | 889 #elif !defined (DONT_POLL_FOR_QUIT) |
881 init_poll_for_quit (); | 890 init_poll_for_quit (); |
882 #endif | 891 #endif |
883 } | 892 } |