aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-02-21 10:24:17 -0700
committerJens Axboe <axboe@kernel.dk>2022-02-21 10:24:17 -0700
commit63dc2177ed42fd0ae45cb66e169a28305e0fe622 (patch)
tree9c2a30b592935d6776dfab0d5004fc24f8fe5407
parent3de6251a2bd6805481e0b0f24ffe9c18454fdd0a (diff)
downloadliburing-63dc2177ed42fd0ae45cb66e169a28305e0fe622.tar.gz
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.c17
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 */