diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-19 17:02:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-22 09:25:08 +0200 |
commit | 4025a60fcb892169266102a58beef4caad17340c (patch) | |
tree | 004df492a31db98faa24335a663eed429ebb5d05 /cpukit/score/include/rtems/score/coremuteximpl.h | |
parent | posix: Avoid Giant lock in sem_getvalue() (diff) | |
download | rtems-4025a60fcb892169266102a58beef4caad17340c.tar.bz2 |
score: Avoid Giant lock for CORE mtx/sem
Avoid Giant lock for CORE mutex and semaphore flush and delete
operations.
Update #2555.
Diffstat (limited to 'cpukit/score/include/rtems/score/coremuteximpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/coremuteximpl.h | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/cpukit/score/include/rtems/score/coremuteximpl.h b/cpukit/score/include/rtems/score/coremuteximpl.h index 73331a5f32..49404ce6c0 100644 --- a/cpukit/score/include/rtems/score/coremuteximpl.h +++ b/cpukit/score/include/rtems/score/coremuteximpl.h @@ -355,23 +355,17 @@ Thread_Control *_CORE_mutex_Unsatisfied_nowait( the_mutex, \ filter, \ mp_callout, \ - mp_id \ + mp_id, \ + lock_context \ ) \ - do { \ - ISR_lock_Context _core_mutex_flush_lock_context; \ - _Thread_queue_Acquire( \ - &( the_mutex )->Wait_queue, \ - &_core_mutex_flush_lock_context \ - ); \ - _Thread_queue_Flush_critical( \ - &( the_mutex )->Wait_queue.Queue, \ - ( the_mutex )->operations, \ - filter, \ - mp_callout, \ - mp_id, \ - &_core_mutex_flush_lock_context \ - ); \ - } while ( 0 ) + _Thread_queue_Flush_critical( \ + &( the_mutex )->Wait_queue.Queue, \ + ( the_mutex )->operations, \ + filter, \ + mp_callout, \ + mp_id, \ + lock_context \ + ) /** * @brief Is mutex locked. |