diff options
Diffstat (limited to 'cpukit/itron/src/rel_wai.c')
-rw-r--r-- | cpukit/itron/src/rel_wai.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/cpukit/itron/src/rel_wai.c b/cpukit/itron/src/rel_wai.c index 390433ec0c..81d7e6dc94 100644 --- a/cpukit/itron/src/rel_wai.c +++ b/cpukit/itron/src/rel_wai.c @@ -24,7 +24,30 @@ ER rel_wai( ID tskid ) { - return E_OK; + register Thread_Control *the_thread; + Objects_Locations location; + + the_thread = _ITRON_Task_Get( tskid, &location ); + if (!the_thread) + _ITRON_return_errorno( _ITRON_Task_Clarify_get_id_error( tskid ) ); + + _Thread_Disable_dispatch(); + + switch ( location ) { + case OBJECTS_REMOTE: + case OBJECTS_ERROR: + _Thread_Enable_dispatch(); + return _ITRON_Task_Clarify_get_id_error( tskid ); + + case OBJECTS_LOCAL: + /* + * XXX - FILL ME IN. + */ + return E_OK; + } + + return E_OBJ; /* XXX - Should never get here */ } + |