From 54453a0748bbf6b6c5764f6becb81f8557b9e87f Mon Sep 17 00:00:00 2001 From: mbbill Date: Tue, 29 Dec 2009 08:13:45 +0000 Subject: FIX: Revert thread.c and rtthread.h to previous version. FIX: Abort handler will suspend current thread instead of terminate it. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@260 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- libcpu/arm/AT91SAM7X/trap.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libcpu') diff --git a/libcpu/arm/AT91SAM7X/trap.c b/libcpu/arm/AT91SAM7X/trap.c index 513871a462..8bc0559d23 100644 --- a/libcpu/arm/AT91SAM7X/trap.c +++ b/libcpu/arm/AT91SAM7X/trap.c @@ -36,11 +36,13 @@ void rt_hw_trap_fiq() { rt_kprintf("fast interrupt request\n"); } - -extern void rt_thread_exit(void); + +extern struct rt_thread* rt_current_thread; void rt_hw_trap_abort() -{ - rt_thread_exit(); - rt_kprintf("Abort occured, thread terminated.\n"); +{ + rt_kprintf("Abort occured!!! Thread [%s] suspended.\n",rt_current_thread->name); + rt_thread_suspend(rt_current_thread); + rt_schedule(); + } /*@}*/ -- cgit v1.3.1