summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/rtems/rtems-bsd-panic.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-09 08:56:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-10 09:09:19 +0200
commitab415f95a9ee784f0aa2131d237455ed6aad2dde (patch)
tree5dbc6edb5c1fe248dc5ca4204b271f5a19c1270d /rtemsbsd/rtems/rtems-bsd-panic.c
parentMake default test initialization task preemptive (diff)
downloadrtems-libbsd-ab415f95a9ee784f0aa2131d237455ed6aad2dde.tar.bz2
Use extension to attach a struct thread to threads
Add test thread01.
Diffstat (limited to 'rtemsbsd/rtems/rtems-bsd-panic.c')
-rw-r--r--rtemsbsd/rtems/rtems-bsd-panic.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/rtemsbsd/rtems/rtems-bsd-panic.c b/rtemsbsd/rtems/rtems-bsd-panic.c
index 6b1d8507..859c34e0 100644
--- a/rtemsbsd/rtems/rtems-bsd-panic.c
+++ b/rtemsbsd/rtems/rtems-bsd-panic.c
@@ -7,10 +7,10 @@
*/
/*
- * Copyright (c) 2009, 2010 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2009-2013 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
- * Obere Lagerstr. 30
+ * Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
@@ -38,6 +38,7 @@
*/
#include <machine/rtems-bsd-config.h>
+#include <machine/rtems-bsd-thread.h>
#include <rtems/bsd/sys/param.h>
#include <rtems/bsd/sys/types.h>
@@ -50,18 +51,19 @@
static void
suspend_all_threads(void)
{
- rtems_chain_control *chain = &rtems_bsd_thread_chain;
- rtems_chain_node *node = rtems_chain_first(chain);
+ 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)) {
- struct thread *td = (struct thread *) node;
+ const struct thread *td = (const struct thread *) node;
+ rtems_id id = rtems_bsd_get_task_id(td);
- if (td->td_id != self && td->td_id != RTEMS_SELF) {
- rtems_task_suspend(td->td_id);
+ if (id != self) {
+ rtems_task_suspend(id);
}
- node = rtems_chain_next(node);
+ node = rtems_chain_immutable_next(node);
}
rtems_task_suspend(RTEMS_SELF);