summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/coremuteximpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-19 17:02:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-22 09:25:08 +0200
commit4025a60fcb892169266102a58beef4caad17340c (patch)
tree004df492a31db98faa24335a663eed429ebb5d05 /cpukit/score/include/rtems/score/coremuteximpl.h
parentposix: Avoid Giant lock in sem_getvalue() (diff)
downloadrtems-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.h26
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.