diff options
Diffstat (limited to 'c/src/libmisc/monitor/mon-task.c')
-rw-r--r-- | c/src/libmisc/monitor/mon-task.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/c/src/libmisc/monitor/mon-task.c b/c/src/libmisc/monitor/mon-task.c index 1f4dee7dee..95b650d429 100644 --- a/c/src/libmisc/monitor/mon-task.c +++ b/c/src/libmisc/monitor/mon-task.c @@ -19,6 +19,9 @@ rtems_monitor_task_canonical( ) { Thread_Control *rtems_thread = (Thread_Control *) thread_void; + RTEMS_API_Control *api; + + api = rtems_thread->API_Extensions[ THREAD_API_RTEMS ]; canonical_task->entry = rtems_thread->Start.entry_point; canonical_task->argument = rtems_thread->Start.numeric_argument; @@ -27,11 +30,18 @@ rtems_monitor_task_canonical( canonical_task->priority = rtems_thread->current_priority; canonical_task->state = rtems_thread->current_state; canonical_task->wait_id = rtems_thread->Wait.id; - canonical_task->events = rtems_thread->RTEMS_API->pending_events; - canonical_task->modes = rtems_thread->current_modes; - canonical_task->attributes = 0 /* XXX FIX ME rtems_thread->RTEMS_API->attribute_set */; - (void) memcpy(canonical_task->notepad, rtems_thread->RTEMS_API->Notepads, sizeof(canonical_task->notepad)); + canonical_task->events = api->pending_events; + +/* XXX modes and attributes only exist in the RTEMS API .. */ +/* XXX not directly in the core thread.. they will have to be derived */ +/* XXX if they are important enough to include anymore. */ + canonical_task->modes = 0; /* XXX FIX ME.... rtems_thread->current_modes; */ + canonical_task->attributes = 0 /* XXX FIX ME rtems_thread->API_Extensions[ THREAD_API_RTEMS ]->attribute_set */; + (void) memcpy(canonical_task->notepad, api ->Notepads, sizeof(canonical_task->notepad)); +/* XXX more to fix */ +/* (void) memcpy(&canonical_task->wait_args, &rtems_thread->Wait.Extra, sizeof(canonical_task->wait_args)); +*/ } |