Mercurial > hg > xemacs-beta
view src/s/irix6-0.h @ 4880:ae81a2c00f4f
try harder to avoid crashing when debug-printing
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-01-18 Ben Wing <ben@xemacs.org>
* lisp.h:
* print.c:
New variable `in_debug_print'.
* alloc.c:
* alloc.c (free_managed_lcrecord):
If gc_in_progress and in_debug_print, just return instead of
crashing. This only happens when the programmer calls debug_print()
or a variation inside of a debugger, and is probably already
diagnosing a crash.
* print.c (struct debug_bindings):
* print.c (debug_prin1_exit):
* print.c (debug_prin1):
At entrance, record the old value of in_debug_print in the
debug_bindings, set up an unwind-protect to restore the old value,
and set in_debug_print to 1. In the unwind-protect, restore the
old value.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 18 Jan 2010 06:05:21 -0600 |
parents | aa5ed11f473b |
children |
line wrap: on
line source
/* Synched up with: FSF 19.31. */ #include "usg5-4.h" #define IRIX6 #ifdef LIBS_SYSTEM #undef LIBS_SYSTEM #endif #ifdef LIB_STANDARD #undef LIB_STANDARD #endif #ifdef SYSTEM_TYPE #undef SYSTEM_TYPE #endif #define SYSTEM_TYPE "irix" #ifdef SETUP_SLAVE_PTY #undef SETUP_SLAVE_PTY #endif /* jpff@maths.bath.ac.uk reports `struct exception' is not defined * on this system, so inhibit use of matherr. */ #define NO_MATHERR /* Tell process_send_signal to use VSUSP instead of VSWTCH. */ #define PREFER_VSUSP /* use K&R C */ /* XEmacs change -- use ANSI, not K&R */ #ifndef __GNUC__ #define C_SWITCH_SYSTEM "-xansi" #endif /* jackr@engr.sgi.com says that you can't mix different kinds of * signal-handling functions under IRIX 5.3. I'm going to assume * that that was the reason this got broken. Now that the * signal routines are fixed up, maybe this will work. --ben */ /* Nope, it doesn't. I've tried lots of things; it must be * genuinely broken. */ /* XEmacs addition: People on IRIX 5.2 and IRIX 5.3 systems have * reported that they can't break out of (while t) using C-g or C-G. * This does not occur on other systems, so let's assume that SIGIO * is broken on these systems. */ #define BROKEN_SIGIO /* #### Questionable define. */ #define IRIX /* By Tor Arntsen <tor@spacetec.no> for XEmacs. * With the following kludge the above LD_SWITCH_SYSTEM will still work just * fine even with USE_GCC, and additional tweaking of config.h or ymakefile * is avoided. */ #ifdef NOT_C_CODE # ifdef USE_GCC # undef LINKER # undef LIB_GCC # define LINKER "ld" # define LIB_GCC "`gcc --print`" # endif #endif