diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-01-15 21:50:28 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-01-15 21:50:28 +0000 |
commit | c64e4ed48285a0c944905bc02de89c20038f428b (patch) | |
tree | 7804e08b98cb9e6b9ac4de5e010c6fb70f9a011b /c/src/exec/score/inline/rtems/score/thread.inl | |
parent | changes remerged after lost in disk crash -- recovered from snapshot, partial... (diff) | |
download | rtems-c64e4ed48285a0c944905bc02de89c20038f428b.tar.bz2 |
updates from Tony Bennett for PA and UNIX ports
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/score/inline/rtems/score/thread.inl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/c/src/exec/score/inline/rtems/score/thread.inl b/c/src/exec/score/inline/rtems/score/thread.inl index e326410112..3a96acf4ea 100644 --- a/c/src/exec/score/inline/rtems/score/thread.inl +++ b/c/src/exec/score/inline/rtems/score/thread.inl @@ -241,30 +241,36 @@ STATIC INLINE Thread_Control *_Thread_Get ( { Objects_Classes the_class; Objects_Information *information; + Thread_Control *tp = (Thread_Control *) 0; if ( _Objects_Are_ids_equal( id, OBJECTS_ID_OF_SELF ) ) { _Thread_Disable_dispatch(); *location = OBJECTS_LOCAL; - return( _Thread_Executing ); + tp = _Thread_Executing; + goto done; } the_class = _Objects_Get_class( id ); if ( the_class > OBJECTS_CLASSES_LAST ) { *location = OBJECTS_ERROR; - return (Thread_Control *) 0; + goto done; } information = _Objects_Information_table[ the_class ]; if ( !information || !information->is_thread ) { *location = OBJECTS_ERROR; - return (Thread_Control *) 0; + goto done; } - return (Thread_Control *) _Objects_Get( information, id, location ); + tp = (Thread_Control *) _Objects_Get( information, id, location ); + +done: + return tp; } + /* * _Thread_Is_proxy_blocking * |