klibc-bot for Ben Hutchings
2023-Jan-26 16:12 UTC
[klibc] [klibc:time64] select: Make all select calls wrappers for pselect6()
Commit-ID: 567944d04b7a94c7518857f518378191f6bb4046 Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=567944d04b7a94c7518857f518378191f6bb4046 Author: Ben Hutchings <ben at decadent.org.uk> AuthorDate: Sat, 14 Jan 2023 02:10:01 +0100 Committer: Ben Hutchings <ben at decadent.org.uk> CommitDate: Sun, 15 Jan 2023 21:28:18 +0100 [klibc] select: Make all select calls wrappers for pselect6() select() and pselect() don't have direct replacements that use 64-bit time on 32-bit architectures. Instead, we have to use the pselect6() system call which uses a different buffer structure. In preparation for using 64-bit time everywhere: - Make pselect6() a required system call - Make select() and pselect() wrappers for pselect6() Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/klibc/SYSCALLS.def | 1 - usr/klibc/select.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def index 6d01c176..ad8eefa4 100644 --- a/usr/klibc/SYSCALLS.def +++ b/usr/klibc/SYSCALLS.def @@ -165,7 +165,6 @@ int dup3(int, int, int); <!i386,ppc64> int fcntl64,fcntl::fcntl(int, int, unsigned long); int ioctl(int, int, void *); int flock(int, int); -<?> int _newselect,select::select(int, fd_set *, fd_set *, fd_set *, struct timeval *); int pselect6::__pselect6(int, fd_set *, fd_set *, fd_set *, struct timespec *, const struct __pselect6 *); <?> int poll(struct pollfd *, nfds_t, long); <?> int ppoll::__ppoll(struct pollfd *, nfds_t, struct timespec *, const sigset_t *, size_t); diff --git a/usr/klibc/select.c b/usr/klibc/select.c index 8ad93a4b..11e71543 100644 --- a/usr/klibc/select.c +++ b/usr/klibc/select.c @@ -4,8 +4,6 @@ #include <errno.h> #include <sys/syscall.h> -#if !defined(__NR_select) && !defined(__NR__newselect) - struct __pselect6; __extern int __pselect6(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const struct __pselect6 *); @@ -31,5 +29,3 @@ int select(int nfds, fd_set *readfds, fd_set *writefds, return result; } - -#endif
Reasonably Related Threads
- [klibc:time64] time: Use 64-bit time types on all architectures
- [klibc:time64] select: Fix handling of NULL timeout when wrapping pselect()
- [PATCH 2/3] syscalls: Add syscalls needed by arm64
- [klibc:master] syscalls: Add syscalls needed by arm64
- [klibc:time64] time: Use clock_* system calls for time-of-day and sleep