* xlat/epollflags.in: Remove EPOLL_NONBLOCK, provide fallback definition
for EPOLL_CLOEXEC.
* tests/epoll_create1.c: New file.
* tests/epoll_create1.expected: Likewise.
* tests/epoll_create1.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add epoll_create1.
(TESTS): Add epoll_create1.test.
(EXTRA_DIST): Add epoll_create1.expected.
* tests/.gitignore: Add epoll_create1.
bpf
caps
+epoll_create1
eventfd
execve
execveat
check_PROGRAMS = \
bpf \
caps \
+ epoll_create1 \
eventfd \
execve \
execveat \
bpf.test \
caps.test \
dumpio.test \
+ epoll_create1.test \
eventfd.test \
execve.test \
execveat.test \
EXTRA_DIST = init.sh run.sh match.awk \
caps.awk \
dumpio.expected \
+ epoll_create1.expected \
eventfd.expected \
execve.expected \
execve-v.expected \
--- /dev/null
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/syscall.h>
+
+int
+main(void)
+{
+#ifdef __NR_epoll_create1
+ (void) close(0);
+ if (syscall(__NR_epoll_create1, O_CLOEXEC))
+ return 77;
+ return syscall(__NR_epoll_create1, O_CLOEXEC | O_NONBLOCK) >= 0;
+#else
+ return 77;
+#endif
+}
--- /dev/null
+epoll_create1\(EPOLL_CLOEXEC\) += 0
+epoll_create1\(EPOLL_CLOEXEC\|0x[[:xdigit:]]+\) += -1 EINVAL .*
--- /dev/null
+#!/bin/sh
+
+# Check epoll_create1 syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog
+run_strace -e epoll_create1 $args
+match_grep
+
+exit 0
-EPOLL_CLOEXEC
-EPOLL_NONBLOCK
+EPOLL_CLOEXEC O_CLOEXEC