diff options
Diffstat (limited to 'c/src/exec/itron/inline/rtems/itron/task.inl')
-rw-r--r-- | c/src/exec/itron/inline/rtems/itron/task.inl | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/c/src/exec/itron/inline/rtems/itron/task.inl b/c/src/exec/itron/inline/rtems/itron/task.inl index 1833fee84a..834e47b0c9 100644 --- a/c/src/exec/itron/inline/rtems/itron/task.inl +++ b/c/src/exec/itron/inline/rtems/itron/task.inl @@ -109,7 +109,13 @@ RTEMS_INLINE_ROUTINE Thread_Control *_ITRON_Task_Get ( ID id, Objects_Locations *location ) -{ +{ + if ( id == 0 ) { + _Thread_Disable_dispatch(); + *location = OBJECTS_LOCAL; + return _Thread_Executing; + } + return (Thread_Control *) _ITRON_Objects_Get( &_ITRON_Task_Information, id, location ); } @@ -144,17 +150,29 @@ RTEMS_INLINE_ROUTINE boolean _ITRON_Task_Is_null ( * _ITRON_tasks_Priority_to_Core */ -RTEMS_INLINE_ROUTINE Priority_Control _ITRON_Task_Priority_to_Core( - PRI _priority +RTEMS_INLINE_ROUTINE _ITRON_Task_Priority_to_Core( + PRI ITRON_priority +) +{ + return (Priority_Control) ITRON_priority; +} + +/*PAGE + * + * _ITRON_tasks_Core_to_Priority + */ + +RTEMS_INLINE_ROUTINE _ITRON_Task_Core_to_Priority( + Priority_Control core_priority ) { - return ((Priority_Control) (_priority)); + return (PRI) core_priority; } + #ifdef __cplusplus } #endif #endif /* end of include file */ - |