summaryrefslogtreecommitdiff
path: root/nptl/lowlevellock.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/lowlevellock.h')
-rw-r--r--nptl/lowlevellock.h20
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);
}