summaryrefslogtreecommitdiff
path: root/sysdeps/ia32/bits/spin-lock.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ia32/bits/spin-lock.h')
-rw-r--r--sysdeps/ia32/bits/spin-lock.h66
1 files changed, 1 insertions, 65 deletions
diff --git a/sysdeps/ia32/bits/spin-lock.h b/sysdeps/ia32/bits/spin-lock.h
index 175656ef..71af1631 100644
--- a/sysdeps/ia32/bits/spin-lock.h
+++ b/sysdeps/ia32/bits/spin-lock.h
@@ -1,5 +1,5 @@
/* Machine-specific definitions for spin locks. i386 version.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -34,70 +34,6 @@ typedef __volatile int __pthread_spinlock_t;
/* Initializer for a spin lock object. */
# define __SPIN_LOCK_INITIALIZER ((__pthread_spinlock_t) 0)
-#if defined __USE_EXTERN_INLINES || defined _FORCE_INLINES
-
-# ifndef __EBUSY
-# include <errno.h>
-# define __EBUSY EBUSY
-# endif
-
-# ifndef __PT_SPIN_INLINE
-# define __PT_SPIN_INLINE extern __inline
-# endif
-
-__PT_SPIN_INLINE int __pthread_spin_destroy (__pthread_spinlock_t *__lock);
-
-__PT_SPIN_INLINE int
-__pthread_spin_destroy (__pthread_spinlock_t *__lock)
-{
- return 0;
-}
-
-__PT_SPIN_INLINE int __pthread_spin_init (__pthread_spinlock_t *__lock,
- int __pshared);
-
-__PT_SPIN_INLINE int
-__pthread_spin_init (__pthread_spinlock_t *__lock, int __pshared)
-{
- *__lock = __SPIN_LOCK_INITIALIZER;
- return 0;
-}
-
-__PT_SPIN_INLINE int __pthread_spin_trylock (__pthread_spinlock_t *__lock);
-
-__PT_SPIN_INLINE int
-__pthread_spin_trylock (__pthread_spinlock_t *__lock)
-{
- int __locked;
- __asm__ __volatile ("xchgl %0, %1"
- : "=&r" (__locked), "=m" (*__lock) : "0" (1));
- return __locked ? __EBUSY : 0;
-}
-
-extern inline int __pthread_spin_lock (__pthread_spinlock_t *__lock);
-extern int _pthread_spin_lock (__pthread_spinlock_t *__lock);
-
-extern inline int
-__pthread_spin_lock (__pthread_spinlock_t *__lock)
-{
- if (__pthread_spin_trylock (__lock))
- return _pthread_spin_lock (__lock);
- return 0;
-}
-
-__PT_SPIN_INLINE int __pthread_spin_unlock (__pthread_spinlock_t *__lock);
-
-__PT_SPIN_INLINE int
-__pthread_spin_unlock (__pthread_spinlock_t *__lock)
-{
- int __unlocked;
- __asm__ __volatile ("xchgl %0, %1"
- : "=&r" (__unlocked), "=m" (*__lock) : "0" (0));
- return 0;
-}
-
-#endif /* Use extern inlines or force inlines. */
-
__END_DECLS
#endif /* bits/spin-lock.h */