diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-05 11:48:28 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-07 17:06:38 +0200 |
commit | 54e9216a0e646113a7e2f23a436731c0cf0fba62 (patch) | |
tree | cc3c89a7516ecdd19513aedb1766ac80a2440bcb /cpukit/rtems/src/semobtain.c | |
parent | score: Align _Objects_Get_isr_disable() (diff) | |
download | rtems-54e9216a0e646113a7e2f23a436731c0cf0fba62.tar.bz2 |
score: Add _Objects_Put_for_get_isr_disable()
Provide SMP support. The ISR disable/enable is not enough to ensure
mutual exclusion for SMP configurations.
Diffstat (limited to 'cpukit/rtems/src/semobtain.c')
-rw-r--r-- | cpukit/rtems/src/semobtain.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c index 14ed515467..5b68974d2a 100644 --- a/cpukit/rtems/src/semobtain.c +++ b/cpukit/rtems/src/semobtain.c @@ -60,6 +60,7 @@ rtems_status_code rtems_semaphore_obtain( timeout, level ); + _Objects_Put_for_get_isr_disable( &the_semaphore->Object ); return _Semaphore_Translate_core_mutex_return_code( _Thread_Executing->Wait.return_code ); } @@ -72,6 +73,7 @@ rtems_status_code rtems_semaphore_obtain( timeout, level ); + _Objects_Put_for_get_isr_disable( &the_semaphore->Object ); return _Semaphore_Translate_core_semaphore_return_code( _Thread_Executing->Wait.return_code ); |