projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
api.h: fix type warning
[urcu.git]
/
compat_futex.c
diff --git
a/compat_futex.c
b/compat_futex.c
index 61bc6c36bae265d8a0a58ec5e8f7b74d43781f26..04de5965894a7e8317049d9af80e29e36da65f02 100644
(file)
--- a/
compat_futex.c
+++ b/
compat_futex.c
@@
-26,9
+26,10
@@
#include <assert.h>
#include <errno.h>
#include <poll.h>
#include <assert.h>
#include <errno.h>
#include <poll.h>
+#include <stdint.h>
#include <urcu/arch.h>
#include <urcu/arch.h>
-#include <urcu/
urcu-
futex.h>
+#include <urcu/futex.h>
static pthread_mutex_t compat_futex_lock = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t compat_futex_cond = PTHREAD_COND_INITIALIZER;
static pthread_mutex_t compat_futex_lock = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t compat_futex_cond = PTHREAD_COND_INITIALIZER;
@@
-39,8
+40,8
@@
static pthread_cond_t compat_futex_cond = PTHREAD_COND_INITIALIZER;
* Waiter will relinquish the CPU until woken up.
*/
* Waiter will relinquish the CPU until woken up.
*/
-int compat_futex_noasync(int
*uaddr, int op, in
t val,
- const struct timespec *timeout, int
*uaddr2, in
t val3)
+int compat_futex_noasync(int
32_t *uaddr, int op, int32_
t val,
+ const struct timespec *timeout, int
32_t *uaddr2, int32_
t val3)
{
int ret, i, gret = 0;
{
int ret, i, gret = 0;
@@
-55,7
+56,7
@@
int compat_futex_noasync(int *uaddr, int op, int val,
/*
* memory barriers to serialize with the previous uaddr modification.
*/
/*
* memory barriers to serialize with the previous uaddr modification.
*/
- smp_mb();
+
cmm_
smp_mb();
ret = pthread_mutex_lock(&compat_futex_lock);
assert(!ret);
ret = pthread_mutex_lock(&compat_futex_lock);
assert(!ret);
@@
-84,11
+85,9
@@
end:
* Waiter will busy-loop trying to read the condition.
*/
* Waiter will busy-loop trying to read the condition.
*/
-int compat_futex_async(int
*uaddr, int op, in
t val,
- const struct timespec *timeout, int
*uaddr2, in
t val3)
+int compat_futex_async(int
32_t *uaddr, int op, int32_
t val,
+ const struct timespec *timeout, int
32_t *uaddr2, int32_
t val3)
{
{
- int ret, i;
-
/*
* Check if NULL. Don't let users expect that they are taken into
* account.
/*
* Check if NULL. Don't let users expect that they are taken into
* account.
@@
-100,7
+99,7
@@
int compat_futex_async(int *uaddr, int op, int val,
/*
* Ensure previous memory operations on uaddr have completed.
*/
/*
* Ensure previous memory operations on uaddr have completed.
*/
- smp_mb();
+
cmm_
smp_mb();
switch (op) {
case FUTEX_WAIT:
switch (op) {
case FUTEX_WAIT:
@@
-112,4
+111,5
@@
int compat_futex_async(int *uaddr, int op, int val,
default:
return -EINVAL;
}
default:
return -EINVAL;
}
+ return 0;
}
}
This page took
0.023558 seconds
and
4
git commands to generate.