summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/monitor/mon-task.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/monitor/mon-task.c')
-rw-r--r--cpukit/libmisc/monitor/mon-task.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/cpukit/libmisc/monitor/mon-task.c b/cpukit/libmisc/monitor/mon-task.c
index 5e948c13a7..d2bc16b3ea 100644
--- a/cpukit/libmisc/monitor/mon-task.c
+++ b/cpukit/libmisc/monitor/mon-task.c
@@ -20,15 +20,25 @@ rtems_monitor_task_wait_info(
Thread_Control *rtems_thread
)
{
- Thread_queue_Context queue_context;
+ Thread_queue_Context queue_context;
+ const Thread_queue_Queue *queue;
_Thread_queue_Context_initialize( &queue_context );
_Thread_Wait_acquire( rtems_thread, &queue_context );
- canonical_task->state = rtems_thread->current_state;
- canonical_task->wait_id = _Thread_Wait_get_id( rtems_thread );
- canonical_task->wait_queue = rtems_thread->Wait.queue;
- canonical_task->wait_operations = rtems_thread->Wait.operations;
+ queue = rtems_thread->Wait.queue;
+
+ if ( queue != NULL ) {
+ _Thread_queue_Queue_get_name_and_id(
+ queue,
+ canonical_task->wait_name,
+ sizeof(canonical_task->wait_name),
+ &canonical_task->wait_id
+ );
+ } else {
+ canonical_task->wait_id = 0;
+ canonical_task->wait_name[0] = '\0';
+ }
_Thread_Wait_release( rtems_thread, &queue_context );
}
@@ -55,6 +65,7 @@ rtems_monitor_task_canonical(
rtems_monitor_task_wait_info( canonical_task, rtems_thread );
+ canonical_task->state = rtems_thread->current_state;
canonical_task->entry = rtems_thread->Start.Entry;
canonical_task->stack = rtems_thread->Start.Initial_stack.area;
canonical_task->stack_size = rtems_thread->Start.Initial_stack.size;
@@ -117,18 +128,7 @@ rtems_monitor_task_dump(
length += rtems_monitor_pad(53, length);
length += rtems_monitor_dump_id(monitor_task->wait_id);
length += rtems_monitor_pad(62, length);
- length += rtems_monitor_dump_addr(monitor_task->wait_queue);
- if (monitor_task->wait_operations == &_Thread_queue_Operations_default) {
- length += fprintf(stdout, " [DFLT]");
- } else if (monitor_task->wait_operations == &_Thread_queue_Operations_FIFO) {
- length += fprintf(stdout, " [FIFO]");
- } else if (monitor_task->wait_operations == &_Thread_queue_Operations_priority) {
- length += fprintf(stdout, " [PRIO]");
- } else if (monitor_task->wait_operations == &_Thread_queue_Operations_priority_inherit) {
- length += fprintf(stdout, " [PINH]");
- } else {
- length += fprintf(stdout, " [?]");
- }
+ length += fprintf(stdout, "%s", monitor_task->wait_name);
fprintf(stdout,"\n");
}