diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-09-25 10:48:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-09-25 10:57:56 +0200 |
commit | 6604dc893e784ba55c315eac1e455189dbbd8164 (patch) | |
tree | a59f578a04537cab0cbac4cf7598f01b8825232b /rtemsbsd/rtems/rtems-bsd-panic.c | |
parent | BSD_ASSERT(): Optimize (diff) | |
download | rtems-libbsd-6604dc893e784ba55c315eac1e455189dbbd8164.tar.bz2 |
Delete rtems_bsd_thread_chain
Rely on RTEMS object registration for threads.
Diffstat (limited to 'rtemsbsd/rtems/rtems-bsd-panic.c')
-rw-r--r-- | rtemsbsd/rtems/rtems-bsd-panic.c | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/rtemsbsd/rtems/rtems-bsd-panic.c b/rtemsbsd/rtems/rtems-bsd-panic.c index 9634e193..1fc65f08 100644 --- a/rtemsbsd/rtems/rtems-bsd-panic.c +++ b/rtemsbsd/rtems/rtems-bsd-panic.c @@ -43,38 +43,13 @@ #include <rtems/bsd/sys/param.h> #include <rtems/bsd/sys/types.h> #include <sys/systm.h> -#include <sys/kernel.h> -#include <rtems/bsd/sys/lock.h> -#include <sys/mutex.h> -#include <sys/proc.h> - -static void -suspend_all_threads(void) -{ - const rtems_chain_control *chain = &rtems_bsd_thread_chain; - const rtems_chain_node *node = rtems_chain_immutable_first(chain); - rtems_id self = rtems_task_self(); - - while (!rtems_chain_is_tail(chain, node)) { - const struct thread *td = (const struct thread *) node; - rtems_id id = rtems_bsd_get_task_id(td); - - if (id != self) { - rtems_task_suspend(id); - } - - node = rtems_chain_immutable_next(node); - } - - rtems_task_suspend(RTEMS_SELF); -} void panic(const char *fmt, ...) { va_list ap; - printf("*** BSD PANIC *** "); + printf("\n*** BSD PANIC *** "); va_start(ap, fmt); vprintf(fmt, ap); @@ -82,7 +57,7 @@ panic(const char *fmt, ...) printf("\n"); - suspend_all_threads(); + rtems_task_suspend(RTEMS_SELF); /* FIXME */ rtems_fatal_error_occurred(0xdeadbeef); |