projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.14.3:
[sbcl.git]
/
src
/
runtime
/
mips-arch.c
diff --git
a/src/runtime/mips-arch.c
b/src/runtime/mips-arch.c
index
8722021
..
d63a380
100644
(file)
--- a/
src/runtime/mips-arch.c
+++ b/
src/runtime/mips-arch.c
@@
-19,7
+19,6
@@
#include "interrupt.h"
#include "interr.h"
#include "breakpoint.h"
#include "interrupt.h"
#include "interr.h"
#include "breakpoint.h"
-#include "monitor.h"
#include "genesis/constants.h"
#include "genesis/constants.h"
@@
-274,6
+273,12
@@
arch_set_pseudo_atomic_interrupted(os_context_t *context)
*os_context_register_addr(context, reg_NL4) |= -1LL<<31;
}
*os_context_register_addr(context, reg_NL4) |= -1LL<<31;
}
+void
+arch_clear_pseudo_atomic_interrupted(os_context_t *context)
+{
+ *os_context_register_addr(context, reg_NL4) &= ~(-1LL<<31);
+}
+
unsigned int
arch_install_breakpoint(void *pc)
{
unsigned int
arch_install_breakpoint(void *pc)
{
@@
-397,8
+402,7
@@
sigtrap_handler(int signal, siginfo_t *info, void *void_context)
break;
case 0x10:
break;
case 0x10:
- /* Clear the pseudo-atomic flag. */
- *os_context_register_addr(context, reg_NL4) &= ~(-1LL<<31);
+ arch_clear_pseudo_atomic_interrupted(context);
arch_skip_instruction(context);
interrupt_handle_pending(context);
return;
arch_skip_instruction(context);
interrupt_handle_pending(context);
return;