From d1d23b134244d59c4d6ef2295df5ec97b81ddb0a Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Netto Date: Wed, 19 Oct 2022 19:14:09 -0300 Subject: [PATCH] Lninux: consolidate epoll_create implementation Use epoll_create syscall if defined, otherwise use epoll_create1. Reviewed-by: Florian Weimer Tested-by: Carlos O'Donell --- sysdeps/unix/sysv/linux/{generic => }/epoll_create.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) rename sysdeps/unix/sysv/linux/{generic => }/epoll_create.c (79%) diff --git a/sysdeps/unix/sysv/linux/generic/epoll_create.c b/sysdeps/unix/sysv/linux/epoll_create.c similarity index 79% rename from sysdeps/unix/sysv/linux/generic/epoll_create.c rename to sysdeps/unix/sysv/linux/epoll_create.c index fa286949292..afb1921637c 100644 --- a/sysdeps/unix/sysv/linux/generic/epoll_create.c +++ b/sysdeps/unix/sysv/linux/epoll_create.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2011-2022 Free Software Foundation, Inc. +/* Open an epoll file descriptor. Linux version. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,12 +24,16 @@ libc_hidden_proto (epoll_create) int epoll_create (int size) { +#ifdef __NR_epoll_create + return INLINE_SYSCALL_CALL (epoll_create); +#else if (size <= 0) { __set_errno (EINVAL); return -1; } - return INLINE_SYSCALL (epoll_create1, 1, 0); + return INLINE_SYSCALL_CALL (epoll_create1, 0); +#endif } libc_hidden_def (epoll_create) -- 2.39.2