aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/nptl/aio_misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/nptl/aio_misc.h')
-rw-r--r--sysdeps/nptl/aio_misc.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h
index 8c10021089..c5d829e47c 100644
--- a/sysdeps/nptl/aio_misc.h
+++ b/sysdeps/nptl/aio_misc.h
@@ -41,15 +41,15 @@
{ \
pthread_mutex_unlock (&__aio_requests_mutex); \
\
- int oldtype; \
- if (cancel) \
- oldtype = LIBC_CANCEL_ASYNC (); \
- \
int status; \
do \
{ \
- status = futex_reltimed_wait ((unsigned int *) futexaddr, oldval, \
- timeout, FUTEX_PRIVATE); \
+ if (cancel) \
+ status = futex_reltimed_wait_cancelable ( \
+ (unsigned int *) futexaddr, oldval, timeout, FUTEX_PRIVATE); \
+ else \
+ status = futex_reltimed_wait ((unsigned int *) futexaddr, \
+ oldval, timeout, FUTEX_PRIVATE); \
if (status != EAGAIN) \
break; \
\
@@ -57,9 +57,6 @@
} \
while (oldval != 0); \
\
- if (cancel) \
- LIBC_CANCEL_RESET (oldtype); \
- \
if (status == EINTR) \
result = EINTR; \
else if (status == ETIMEDOUT) \