summaryrefslogtreecommitdiff
path: root/mach
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2008-11-23 21:21:30 +0100
committerThomas Schwinge <thomas@schwinge.name>2010-01-25 22:34:59 +0100
commitc229fbc23a60f8824632dd2f2a81f0c8fb51df98 (patch)
treef1fb320c059c7b1b6a77a7811e4678e11c1f7d82 /mach
parent1056e10d6c05cc5d8658bf6fb620b2a1ca6c07ce (diff)
glibc-2.8/debian/patches/hurd-i386/submitted-extern_inline.diff 3057
Diffstat (limited to 'mach')
-rw-r--r--mach/lock-intern.h20
-rw-r--r--mach/mach/mig_support.h3
-rw-r--r--mach/spin-lock.c1
3 files changed, 24 insertions, 0 deletions
diff --git a/mach/lock-intern.h b/mach/lock-intern.h
index 4aaaedc1c0..a854ddcc59 100644
--- a/mach/lock-intern.h
+++ b/mach/lock-intern.h
@@ -29,11 +29,15 @@
/* Initialize LOCK. */
+void __spin_lock_init (__spin_lock_t *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE void
__spin_lock_init (__spin_lock_t *__lock)
{
*__lock = __SPIN_LOCK_INITIALIZER;
}
+#endif
/* Lock LOCK, blocking if we can't get it. */
@@ -41,12 +45,16 @@ extern void __spin_lock_solid (__spin_lock_t *__lock);
/* Lock the spin lock LOCK. */
+void __spin_lock (__spin_lock_t *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE void
__spin_lock (__spin_lock_t *__lock)
{
if (! __spin_try_lock (__lock))
__spin_lock_solid (__lock);
}
+#endif
/* Name space-clean internal interface to mutex locks.
@@ -71,27 +79,39 @@ extern void __mutex_unlock_solid (void *__lock);
/* Lock the mutex lock LOCK. */
+void __mutex_lock (void *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE void
__mutex_lock (void *__lock)
{
if (! __spin_try_lock ((__spin_lock_t *) __lock))
__mutex_lock_solid (__lock);
}
+#endif
/* Unlock the mutex lock LOCK. */
+void __mutex_unlock (void *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE void
__mutex_unlock (void *__lock)
{
__spin_unlock ((__spin_lock_t *) __lock);
__mutex_unlock_solid (__lock);
}
+#endif
+int __mutex_trylock (void *__lock);
+
+#ifdef __USE_EXTERN_INLINES
_EXTERN_INLINE int
__mutex_trylock (void *__lock)
{
return __spin_try_lock ((__spin_lock_t *) __lock);
}
+#endif
#endif /* lock-intern.h */
diff --git a/mach/mach/mig_support.h b/mach/mach/mig_support.h
index f02e8d4f83..fdd43a67c7 100644
--- a/mach/mach/mig_support.h
+++ b/mach/mach/mig_support.h
@@ -67,6 +67,8 @@ extern void mig_reply_setup (const mach_msg_header_t *__request,
/* Idiocy support function. */
extern vm_size_t mig_strncpy (char *__dst, const char *__src, vm_size_t __len);
extern vm_size_t __mig_strncpy (char *__dst, const char *__src, vm_size_t);
+
+#ifdef __USE_EXTERN_INLINES
__extern_inline vm_size_t
__mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
{
@@ -77,6 +79,7 @@ mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
{
return __mig_strncpy (__dst, __src, __len);
}
+#endif
diff --git a/mach/spin-lock.c b/mach/spin-lock.c
index aaebc55cf4..1b1e69c8d6 100644
--- a/mach/spin-lock.c
+++ b/mach/spin-lock.c
@@ -1,3 +1,4 @@
+#define __USE_EXTERN_INLINES 1
#define _EXTERN_INLINE /* Empty to define the real functions. */
#include "spin-lock.h"