diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-21 09:30:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-22 07:59:34 +0200 |
commit | a070c8bb81640a110add597b2b0ab0d219c9a632 (patch) | |
tree | 6ae631d9ec2376eebde2b59fa2d7d84267effb33 | |
parent | schedulersmpimpl.h: Fix spacing (diff) | |
download | rtems-a070c8bb81640a110add597b2b0ab0d219c9a632.tar.bz2 |
rtems: Simplify rtems_semaphore_obtain()
-rw-r--r-- | cpukit/rtems/src/semobtain.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c index 697dde8c9f..c9433ca6d9 100644 --- a/cpukit/rtems/src/semobtain.c +++ b/cpukit/rtems/src/semobtain.c @@ -41,18 +41,20 @@ rtems_status_code rtems_semaphore_obtain( Objects_Locations location; ISR_Level level; Thread_Control *executing; + bool wait; the_semaphore = _Semaphore_Get_interrupt_disable( id, &location, &level ); switch ( location ) { case OBJECTS_LOCAL: executing = _Thread_Executing; + wait = !_Options_Is_no_wait( option_set ); if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) { _CORE_mutex_Seize( &the_semaphore->Core_control.mutex, executing, id, - ((_Options_Is_no_wait( option_set )) ? false : true), + wait, timeout, level ); @@ -66,7 +68,7 @@ rtems_status_code rtems_semaphore_obtain( &the_semaphore->Core_control.semaphore, executing, id, - ((_Options_Is_no_wait( option_set )) ? false : true), + wait, timeout, level ); |