diff options
Diffstat (limited to 'kdecore/malloc/x86.h')
-rw-r--r-- | kdecore/malloc/x86.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/kdecore/malloc/x86.h b/kdecore/malloc/x86.h deleted file mode 100644 index b21517374..000000000 --- a/kdecore/malloc/x86.h +++ /dev/null @@ -1,41 +0,0 @@ -#include <sched.h> -#include <time.h> - -typedef struct { - volatile unsigned int lock; - int pad0_; -} mutex_t; - -#define MUTEX_INITIALIZER { 0, 0 } - -static __inline__ int lock(mutex_t *m) { - int cnt = 0, r; - struct timespec tm; - - for(;;) { - __asm__ __volatile__ - ("xchgl %0, %1" - : "=r"(r), "=m"(m->lock) - : "0"(1), "m"(m->lock) - : "memory"); - if(!r) - return 0; -#ifdef _POSIX_PRIORITY_SCHEDULING - if(cnt < 50) { - sched_yield(); - cnt++; - } else -#endif - { - tm.tv_sec = 0; - tm.tv_nsec = 2000001; - nanosleep(&tm, NULL); - cnt = 0; - } - } -} - -static __inline__ int unlock(mutex_t *m) { - __asm __volatile ("movl $0,%0" : "=m" (m->lock)); - return 0; -} |