diff options
Diffstat (limited to 'nptl/lowlevellock.h')
-rw-r--r-- | nptl/lowlevellock.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/nptl/lowlevellock.h b/nptl/lowlevellock.h index 0600e1794d..338da39990 100644 --- a/nptl/lowlevellock.h +++ b/nptl/lowlevellock.h @@ -1,5 +1,5 @@ /* Low level locking macros used in NPTL implementation. Stub version. - Copyright (C) 2002, 2007 Free Software Foundation, Inc. + Copyright (C) 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -21,6 +21,16 @@ #include <atomic.h> +/* Implement generic mutex. Basic futex syscall support is required: + + lll_futex_wait(futex, value) - call sys_futex with FUTEX_WAIT + and third parameter VALUE + + lll_futex_wake(futex, value) - call sys_futex with FUTEX_WAKE + and third parameter VALUE +*/ + + /* Mutex lock counter: bit 31 clear means unlocked; bit 31 set means locked. @@ -56,9 +66,7 @@ __generic_mutex_lock (int *mutex) if (v >= 0) continue; - lll_futex_wait (mutex, v, - // XYZ check mutex flag - LLL_SHARED); + lll_futex_wait (mutex, v); } } @@ -74,9 +82,7 @@ __generic_mutex_unlock (int *mutex) /* There are other threads waiting for this mutex, wake one of them up. */ - lll_futex_wake (mutex, 1, - // XYZ check mutex flag - LLL_SHARED); + lll_futex_wake (mutex, 1); } |