projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.31.22: improved SAP-{REF,SET}-* for x86-64
[sbcl.git]
/
src
/
runtime
/
runtime.c
diff --git
a/src/runtime/runtime.c
b/src/runtime/runtime.c
index
fba25c0
..
573b389
100644
(file)
--- a/
src/runtime/runtime.c
+++ b/
src/runtime/runtime.c
@@
-43,14
+43,14
@@
#include "signal.h"
#include "runtime.h"
#include "signal.h"
#include "runtime.h"
-#include "alloc.h"
#include "vars.h"
#include "globals.h"
#include "os.h"
#include "vars.h"
#include "globals.h"
#include "os.h"
+#include "interr.h"
+#include "alloc.h"
#include "interrupt.h"
#include "arch.h"
#include "gc.h"
#include "interrupt.h"
#include "arch.h"
#include "gc.h"
-#include "interr.h"
#include "validate.h"
#include "core.h"
#include "save.h"
#include "validate.h"
#include "core.h"
#include "save.h"
@@
-79,10
+79,10
@@
extern void *return_from_lisp_stub;
\f
/* SIGINT handler that invokes the monitor (for when Lisp isn't up to it) */
static void
\f
/* SIGINT handler that invokes the monitor (for when Lisp isn't up to it) */
static void
-sigint_handler(int signal, siginfo_t *info, void *void_context)
+sigint_handler(int signal, siginfo_t *info, os_context_t *context)
{
lose("\nSIGINT hit at 0x%08lX\n",
{
lose("\nSIGINT hit at 0x%08lX\n",
- (unsigned long) *os_context_pc_addr(void_context));
+ (unsigned long) *os_context_pc_addr(context));
}
/* (This is not static, because we want to be able to call it from
}
/* (This is not static, because we want to be able to call it from
@@
-229,12
+229,13
@@
main(int argc, char *argv[], char *envp[])
/* other command line options */
boolean noinform = 0;
boolean end_runtime_options = 0;
/* other command line options */
boolean noinform = 0;
boolean end_runtime_options = 0;
+ boolean disable_lossage_handler_p = 0;
lispobj initial_function;
const char *sbcl_home = getenv("SBCL_HOME");
interrupt_init();
lispobj initial_function;
const char *sbcl_home = getenv("SBCL_HOME");
interrupt_init();
- block_blockable_signals();
+ block_blockable_signals(0, 0);
setlocale(LC_ALL, "");
setlocale(LC_ALL, "");
@@
-275,6
+276,8
@@
main(int argc, char *argv[], char *envp[])
* TOPLEVEL-INIT sees the option. */
noinform = 1;
end_runtime_options = 1;
* TOPLEVEL-INIT sees the option. */
noinform = 1;
end_runtime_options = 1;
+ disable_lossage_handler_p = 1;
+ lose_on_corruption_p = 1;
break;
} else if (0 == strcmp(arg, "--noinform")) {
noinform = 1;
break;
} else if (0 == strcmp(arg, "--noinform")) {
noinform = 1;
@@
-337,6
+340,12
@@
main(int argc, char *argv[], char *envp[])
++n;
}
++argi;
++n;
}
++argi;
+ } else if (0 == strcmp(arg, "--disable-ldb")) {
+ disable_lossage_handler_p = 1;
+ ++argi;
+ } else if (0 == strcmp(arg, "--lose-on-corruption")) {
+ lose_on_corruption_p = 1;
+ ++argi;
} else if (0 == strcmp(arg, "--end-runtime-options")) {
end_runtime_options = 1;
++argi;
} else if (0 == strcmp(arg, "--end-runtime-options")) {
end_runtime_options = 1;
++argi;
@@
-426,7
+435,8
@@
main(int argc, char *argv[], char *envp[])
define_var("nil", NIL, 1);
define_var("t", T, 1);
define_var("nil", NIL, 1);
define_var("t", T, 1);
- enable_lossage_handler();
+ if (!disable_lossage_handler_p)
+ enable_lossage_handler();
globals_init();
globals_init();