projects
/
platform
/
upstream
/
glibc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ca3d773
)
(AIO_MISC_WAIT): Work around gcc being to clever and reloading the futex value where...
author
Ulrich Drepper
<drepper@redhat.com>
Sun, 8 Jan 2006 01:51:18 +0000
(
01:51
+0000)
committer
Ulrich Drepper
<drepper@redhat.com>
Sun, 8 Jan 2006 01:51:18 +0000
(
01:51
+0000)
nptl/sysdeps/pthread/aio_misc.h
patch
|
blob
|
history
diff --git
a/nptl/sysdeps/pthread/aio_misc.h
b/nptl/sysdeps/pthread/aio_misc.h
index
5aeb34e
..
f285083
100644
(file)
--- a/
nptl/sysdeps/pthread/aio_misc.h
+++ b/
nptl/sysdeps/pthread/aio_misc.h
@@
-35,6
+35,7
@@
#define AIO_MISC_WAIT(result, futex, timeout, cancel) \
do { \
+ volatile int *futexaddr = &futex; \
int oldval = futex; \
\
if (oldval != 0) \
@@
-48,11
+49,11
@@
int status; \
do \
{ \
- status = lll_futex_timed_wait (
&futex, oldval, timeout);
\
+ status = lll_futex_timed_wait (
futexaddr, oldval, timeout);
\
if (status != -EWOULDBLOCK) \
break; \
\
- oldval =
futex;
\
+ oldval =
*futexaddr;
\
} \
while (oldval != 0); \
\