diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-02-21 10:24:17 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-02-21 10:24:17 -0700 |
commit | 63dc2177ed42fd0ae45cb66e169a28305e0fe622 (patch) | |
tree | 9c2a30b592935d6776dfab0d5004fc24f8fe5407 | |
parent | 3de6251a2bd6805481e0b0f24ffe9c18454fdd0a (diff) | |
download | liburing-63dc2177ed42fd0ae45cb66e169a28305e0fe622.tar.gz liburing-63dc2177ed42fd0ae45cb66e169a28305e0fe622.tar.bz2 |
test/pollfree: fix compile on 32-bit x86
For some reason we don't have __NR_futex or SYS_futex there. Just skip
the test if we don't have the proper syscall number, this dates back to
the days of every arch having their own syscall numbering. Not worth
fixing this one up for real.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | test/pollfree.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/test/pollfree.c b/test/pollfree.c index 4ef259c..10f842b 100644 --- a/test/pollfree.c +++ b/test/pollfree.c @@ -24,6 +24,8 @@ #include <linux/futex.h> +#ifdef __NR_futex + static void sleep_ms(uint64_t ms) { usleep(ms * 1000); @@ -77,13 +79,13 @@ static void event_set(event_t* ev) if (ev->state) exit(1); __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE); - syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); + syscall(__NR_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); } static void event_wait(event_t* ev) { while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) - syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); + syscall(__NR_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); } static int event_isset(event_t* ev) @@ -100,7 +102,7 @@ static int event_timedwait(event_t* ev, uint64_t timeout) struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; - syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); + syscall(__NR_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) return 1; now = current_time_ms(); @@ -412,3 +414,12 @@ int main(int argc, char *argv[]) loop(); return 0; } + +#else /* __NR_futex */ + +int main(int argc, char *argv[]) +{ + return 0; +} + +#endif /* __NR_futex */ |