From 90bf338378eefa0af92585ff106add8df03dc163 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Tue, 10 Apr 2012 11:10:10 -0500 Subject: Cause assert to crash a process rather than exit cleanly. Change-Id: I3a890aa624b5733b8b1bf423e13f4567027dae19 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/870 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE Reviewed-by: Daniel M. Crowell Reviewed-by: A. Patrick Williams III --- src/lib/assert.C | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/lib/assert.C') diff --git a/src/lib/assert.C b/src/lib/assert.C index 591630f14..7b8318ae3 100644 --- a/src/lib/assert.C +++ b/src/lib/assert.C @@ -38,9 +38,9 @@ extern "C" void __assert(AssertBehavior i_assertb, int i_line) switch (i_assertb) { case ASSERT_TRACE_DONE: // Custom trace was provided. - task_end(); + task_crash(); break; - + case ASSERT_TRACE_NOTDONE: // Do a normal trace. if (NULL != TRACE::traceCallback) { @@ -51,23 +51,23 @@ extern "C" void __assert(AssertBehavior i_assertb, int i_line) printk("Assertion failed @%p on line %d.\n", linkRegister(), i_line); } - task_end(); + task_crash(); break; case ASSERT_CRITICAL: // Critical task, trace not available. - printk("Assertion failed @%p on line %d.\n", + printk("Assertion failed @%p on line %d.\n", linkRegister(), i_line); - task_end(); + task_crash(); break; - + case ASSERT_KERNEL: // Kernel assert called. - printk("Assertion failed @%p on line %d.\n", + printk("Assertion failed @%p on line %d.\n", linkRegister(), i_line); break; } // Loop forever if we make it here. Should only happen in kernel code. - while (true) + while (true) { setThreadPriorityLow(); } -- cgit v1.2.1