summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/corerwlockimpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/corerwlockimpl.h')
-rw-r--r--cpukit/score/include/rtems/score/corerwlockimpl.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/cpukit/score/include/rtems/score/corerwlockimpl.h b/cpukit/score/include/rtems/score/corerwlockimpl.h
index e727ad62c2..ed59d696b6 100644
--- a/cpukit/score/include/rtems/score/corerwlockimpl.h
+++ b/cpukit/score/include/rtems/score/corerwlockimpl.h
@@ -86,6 +86,22 @@ RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy(
_Thread_queue_Destroy( &the_rwlock->Wait_queue );
}
+RTEMS_INLINE_ROUTINE void _CORE_RWLock_Acquire_critical(
+ CORE_RWLock_Control *the_rwlock,
+ ISR_lock_Context *lock_context
+)
+{
+ _Thread_queue_Acquire_critical( &the_rwlock->Wait_queue, lock_context );
+}
+
+RTEMS_INLINE_ROUTINE void _CORE_RWLock_Release(
+ CORE_RWLock_Control *the_rwlock,
+ ISR_lock_Context *lock_context
+)
+{
+ _Thread_queue_Release( &the_rwlock->Wait_queue, lock_context );
+}
+
/**
* @brief Obtain RWLock for reading.
*
@@ -103,7 +119,8 @@ void _CORE_RWLock_Seize_for_reading(
CORE_RWLock_Control *the_rwlock,
Thread_Control *executing,
bool wait,
- Watchdog_Interval timeout
+ Watchdog_Interval timeout,
+ ISR_lock_Context *lock_context
);
/**
@@ -122,7 +139,8 @@ void _CORE_RWLock_Seize_for_writing(
CORE_RWLock_Control *the_rwlock,
Thread_Control *executing,
bool wait,
- Watchdog_Interval timeout
+ Watchdog_Interval timeout,
+ ISR_lock_Context *lock_context
);
/**
@@ -137,7 +155,7 @@ void _CORE_RWLock_Seize_for_writing(
*/
CORE_RWLock_Status _CORE_RWLock_Surrender(
CORE_RWLock_Control *the_rwlock,
- Thread_Control *executing
+ ISR_lock_Context *lock_context
);
/** @} */