From 4438ac2575fb9e0760bf53931a52d00dec4deb83 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 2 May 2015 14:27:24 +0200 Subject: score: Fine grained locking for mutexes Update #2273. --- cpukit/rtems/src/semobtain.c | 7 ------- cpukit/rtems/src/semrelease.c | 6 ++---- 2 files changed, 2 insertions(+), 11 deletions(-) (limited to 'cpukit/rtems') diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c index 46d1b82f33..1ebc98bdb7 100644 --- a/cpukit/rtems/src/semobtain.c +++ b/cpukit/rtems/src/semobtain.c @@ -73,9 +73,6 @@ rtems_status_code rtems_semaphore_obtain( } else #endif if ( !_Attributes_Is_counting_semaphore( attribute_set ) ) { -#if defined(RTEMS_SMP) - _Thread_Disable_dispatch(); -#endif _CORE_mutex_Seize( &the_semaphore->Core_control.mutex, executing, @@ -84,10 +81,6 @@ rtems_status_code rtems_semaphore_obtain( timeout, &lock_context ); -#if defined(RTEMS_SMP) - _Thread_Enable_dispatch(); -#endif - _Objects_Put_for_get_isr_disable( &the_semaphore->Object ); return _Semaphore_Translate_core_mutex_return_code( executing->Wait.return_code ); } diff --git a/cpukit/rtems/src/semrelease.c b/cpukit/rtems/src/semrelease.c index 1f0581eec1..7e4b98e7de 100644 --- a/cpukit/rtems/src/semrelease.c +++ b/cpukit/rtems/src/semrelease.c @@ -86,14 +86,12 @@ rtems_status_code rtems_semaphore_release( } else #endif if ( !_Attributes_Is_counting_semaphore( attribute_set ) ) { - _Thread_Disable_dispatch(); - _ISR_lock_ISR_enable( &lock_context ); mutex_status = _CORE_mutex_Surrender( &the_semaphore->Core_control.mutex, id, - MUTEX_MP_SUPPORT + MUTEX_MP_SUPPORT, + &lock_context ); - _Thread_Enable_dispatch(); return _Semaphore_Translate_core_mutex_return_code( mutex_status ); } else { semaphore_status = _CORE_semaphore_Surrender( -- cgit v1.2.3