Эх сурвалжийг харах

epoll: Use epoll_create1 if arch does not have the epoll_create syscall

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Markos Chandras 13 жил өмнө
parent
commit
257323e525

+ 8 - 0
libc/sysdeps/linux/common/epoll.c

@@ -19,6 +19,14 @@ _syscall1(int, epoll_create, int, size)
 _syscall1(int, epoll_create1, int, flags)
 #endif
 
+#if defined __NR_epoll_create1 && !defined __NR_epoll_create
+int epoll_create(int size)
+{
+	return INLINE_SYSCALL(epoll_create1, 1, 0);
+}
+
+#endif
+
 #ifdef __NR_epoll_ctl
 _syscall4(int, epoll_ctl, int, epfd, int, op, int, fd, struct epoll_event *, event)
 #endif

+ 2 - 1
libc/sysdeps/linux/common/stubs.c

@@ -94,7 +94,8 @@ make_stub(create_module)
 make_stub(delete_module)
 #endif
 
-#if !defined __NR_epoll_create && defined __UCLIBC_HAS_EPOLL__
+#if !defined __NR_epoll_create && defined __UCLIBC_HAS_EPOLL__ \
+	&& !defined __NR_epoll_create1
 make_stub(epoll_create)
 #endif