summaryrefslogtreecommitdiff
path: root/ptw32_MCS_lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'ptw32_MCS_lock.c')
-rw-r--r--ptw32_MCS_lock.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/ptw32_MCS_lock.c b/ptw32_MCS_lock.c
index bb942ba..ff74efa 100644
--- a/ptw32_MCS_lock.c
+++ b/ptw32_MCS_lock.c
@@ -148,7 +148,10 @@ ptw32_mcs_flag_wait (LONG * flag)
* Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors.
* ACM Transactions on Computer Systems, 9(1):21-65, Feb. 1991.
*/
-INLINE void
+#ifdef PTW32_BUILD_INLINED
+INLINE
+#endif /* PTW32_BUILD_INLINED */
+void
ptw32_mcs_lock_acquire (ptw32_mcs_lock_t * lock, ptw32_mcs_local_node_t * node)
{
ptw32_mcs_local_node_t *pred;
@@ -179,7 +182,10 @@ ptw32_mcs_lock_acquire (ptw32_mcs_lock_t * lock, ptw32_mcs_local_node_t * node)
* Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors.
* ACM Transactions on Computer Systems, 9(1):21-65, Feb. 1991.
*/
-INLINE void
+#ifdef PTW32_BUILD_INLINED
+INLINE
+#endif /* PTW32_BUILD_INLINED */
+void
ptw32_mcs_lock_release (ptw32_mcs_local_node_t * node)
{
ptw32_mcs_lock_t *lock = node->lock;
@@ -212,7 +218,10 @@ ptw32_mcs_lock_release (ptw32_mcs_local_node_t * node)
/*
* ptw32_mcs_lock_try_acquire
*/
-INLINE int
+#ifdef PTW32_BUILD_INLINED
+INLINE
+#endif /* PTW32_BUILD_INLINED */
+int
ptw32_mcs_lock_try_acquire (ptw32_mcs_lock_t * lock, ptw32_mcs_local_node_t * node)
{
node->lock = lock;
@@ -238,7 +247,10 @@ ptw32_mcs_lock_try_acquire (ptw32_mcs_lock_t * lock, ptw32_mcs_local_node_t * no
*
* Should only be called by the thread that has the lock.
*/
-INLINE void
+#ifdef PTW32_BUILD_INLINED
+INLINE
+#endif /* PTW32_BUILD_INLINED */
+void
ptw32_mcs_node_transfer (ptw32_mcs_local_node_t * new_node, ptw32_mcs_local_node_t * old_node)
{
new_node->lock = old_node->lock;