#include "genesis/static-symbols.h"
#include "genesis/vector.h"
#include "thread.h"
+#include "monitor.h"
\f
/* the way that we shut down the system on a fatal error */
exit(1);
}
static void (*lossage_handler)(void) = default_lossage_handler;
-void
-set_lossage_handler(void handler(void))
+
+void enable_lossage_handler(void)
{
- lossage_handler = handler;
+ lossage_handler = monitor_or_something;
+}
+void disable_lossage_handler(void)
+{
+ lossage_handler = default_lossage_handler;
}
-never_returns
+void
lose(char *fmt, ...)
{
va_list ap;
fprintf(stderr, "fatal error encountered in SBCL pid %d",getpid());
#if defined(LISP_FEATURE_SB_THREAD)
- fprintf(stderr, "(tid %ld)",thread_self());
+ fprintf(stderr, "(tid %lu)", (unsigned long) thread_self());
#endif
if (fmt) {
fprintf(stderr, ":\n");
fprintf(stderr, "%s\n",
(char *)(((struct vector *)native_pointer(string))->data));
/* shut GCC up about not using this, because that's the point.. */
- if (untouched);
+ (void)untouched;
return NIL;
}