diff options
author | David S. Miller <davem@davemloft.net> | 2011-08-23 23:24:01 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-23 23:24:01 -0700 |
commit | 22044b48baa8a3c3fe67ab912e9f34a80c97880b (patch) | |
tree | e35a8dd5b866063298301da86b7396bf29723a4b /sysdeps/pthread/aio_suspend.c | |
parent | 2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c (diff) | |
download | glibc-22044b48baa8a3c3fe67ab912e9f34a80c97880b.tar.gz |
Fix nptl/tst-cancel17 and nptl/tst-cancelx17 with recent gcc.
Diffstat (limited to 'sysdeps/pthread/aio_suspend.c')
-rw-r--r-- | sysdeps/pthread/aio_suspend.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sysdeps/pthread/aio_suspend.c b/sysdeps/pthread/aio_suspend.c index b85b16d10e..99f3a80c52 100644 --- a/sysdeps/pthread/aio_suspend.c +++ b/sysdeps/pthread/aio_suspend.c @@ -92,6 +92,18 @@ cleanup (void *arg) pthread_mutex_unlock (&__aio_requests_mutex); } +#ifdef DONT_NEED_AIO_MISC_COND +static int +__attribute__ ((noinline)) +do_aio_misc_wait(int *cntr, const struct timespec *timeout) +{ + int result = 0; + + AIO_MISC_WAIT(result, *cntr, timeout, 1); + + return result; +} +#endif int aio_suspend (list, nent, timeout) @@ -169,7 +181,7 @@ aio_suspend (list, nent, timeout) pthread_cleanup_push (cleanup, &clparam); #ifdef DONT_NEED_AIO_MISC_COND - AIO_MISC_WAIT (result, cntr, timeout, 1); + result = do_aio_misc_wait(&cntr, timeout); #else if (timeout == NULL) result = pthread_cond_wait (&cond, &__aio_requests_mutex); |