diff options
Diffstat (limited to 'libc/sysdeps/linux/common/eventfd.c')
-rw-r--r-- | libc/sysdeps/linux/common/eventfd.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/common/eventfd.c b/libc/sysdeps/linux/common/eventfd.c index cc3f3f0f7..96597ab33 100644 --- a/libc/sysdeps/linux/common/eventfd.c +++ b/libc/sysdeps/linux/common/eventfd.c @@ -7,12 +7,24 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +#include <errno.h> #include <sys/syscall.h> #include <sys/eventfd.h> /* * eventfd() */ -#ifdef __NR_eventfd -_syscall2(int, eventfd, int, count, int, flags) +#if defined __NR_eventfd || defined __NR_eventfd2 +int eventfd (int count, int flags) +{ +#if defined __NR_eventfd2 + return INLINE_SYSCALL (eventfd2, 2, count, flags); +#elif defined __NR_eventfd + if (flags != 0) { + __set_errno (EINVAL); + return -1; + } + return INLINE_SYSCALL (eventfd, 1, count); +#endif +} #endif |