aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/runtime.c')
-rw-r--r--src/runtime/runtime.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c
index 8a740f801e..25e2568c06 100644
--- a/src/runtime/runtime.c
+++ b/src/runtime/runtime.c
@@ -23,15 +23,18 @@ sys·panicl(int32 lno)
{
uint8 *sp;
- prints("\npanic ");
- sys·printpc(&lno);
- prints("\n");
+ if(panicking) {
+ printf("double panic\n");
+ sys_Exit(3);
+ }
+ panicking++;
+
+ printf("\npanic PC=%X [%d]\n", (uint64)(uintptr)&lno, panicking);
sp = (uint8*)&lno;
if(gotraceback()){
traceback(sys·getcallerpc(&lno), sp, g);
tracebackothers(g);
}
- panicking = 1;
sys·Breakpoint(); // so we can grab it in a debugger
sys_Exit(2);
}