summaryrefslogtreecommitdiff
path: root/sysdeps/generic/machine-lock.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic/machine-lock.h')
-rw-r--r--sysdeps/generic/machine-lock.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/generic/machine-lock.h b/sysdeps/generic/machine-lock.h
index 5b9b2145e6..9a30226aba 100644
--- a/sysdeps/generic/machine-lock.h
+++ b/sysdeps/generic/machine-lock.h
@@ -34,14 +34,21 @@ typedef volatile int __spin_lock_t;
/* Unlock LOCK. */
+void __spin_unlock (__spin_lock_t *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE void
__spin_unlock (__spin_lock_t *__lock)
{
*__lock = 0;
}
+#endif
/* Try to lock LOCK; return nonzero if we locked it, zero if another has. */
+int __spin_try_lock (__spin_lock_t *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE int
__spin_try_lock (__spin_lock_t *__lock)
{
@@ -50,14 +57,19 @@ __spin_try_lock (__spin_lock_t *__lock)
*__lock = 1;
return 1;
}
+#endif
/* Return nonzero if LOCK is locked. */
+int __spin_lock_locked (__spin_lock_t *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE int
__spin_lock_locked (__spin_lock_t *__lock)
{
return *__lock != 0;
}
+#endif
#endif /* machine-lock.h */