diff options
Diffstat (limited to 'libgomp/config/linux/mutex.c')
-rw-r--r-- | libgomp/config/linux/mutex.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libgomp/config/linux/mutex.c b/libgomp/config/linux/mutex.c index fa3dfd1..36c362e 100644 --- a/libgomp/config/linux/mutex.c +++ b/libgomp/config/linux/mutex.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2008 Free Software Foundation, Inc. Contributed by Richard Henderson <rth@redhat.com>. This file is part of the GNU OpenMP Library (libgomp). @@ -29,9 +29,10 @@ mechanism for libgomp. This type is private to the library. This implementation uses atomic instructions and the futex syscall. */ -#include "libgomp.h" -#include "futex.h" +#include "wait.h" +long int gomp_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG; +long int gomp_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG; void gomp_mutex_lock_slow (gomp_mutex_t *mutex) @@ -40,7 +41,7 @@ gomp_mutex_lock_slow (gomp_mutex_t *mutex) { int oldval = __sync_val_compare_and_swap (mutex, 1, 2); if (oldval != 0) - futex_wait (mutex, 2); + do_wait (mutex, 2); } while (!__sync_bool_compare_and_swap (mutex, 0, 2)); } |