glibc/include/sys
Adhemerval Zanella 4c3df0eba5 linux: Only use 64-bit syscall if required for select
For !__ASSUME_TIME64_SYSCALLS there is no need to issue a 64-bit syscall
if the provided timeout fits in a 32-bit one.  The 64-bit usage should
be rare since the timeout is a relative one.  This also avoids the need
to use supports_time64() (which breaks the usage case of live migration
like CRIU or similar).

It also fixes an issue on 32-bit select call for !__ASSUME_PSELECT
(microblase with older kernels only) where the expected timeout
is a 'struct timeval' instead of 'struct timespec'.

Checked on i686-linux-gnu on a 4.15 kernel and on a 5.11 kernel
(with and without --enable-kernel=5.1) and on x86_64-linux-gnu.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
2021-06-22 12:09:52 -03:00
..
auxv.h
bitypes.h
cdefs.h
dir.h
epoll.h
errno.h
fcntl.h
file.h
gmon.h
gmon_out.h
ioctl.h
ipc.h
mman.h
msg.h
param.h
poll.h
prctl.h
profil.h
queue.h
random.h
resource.h
select.h
sem.h
sendfile.h
shm.h
signal.h
single_threaded.h
socket.h
stat.h
statfs.h
statvfs.h
sysinfo.h
syslog.h
sysmacros.h
termios.h
time.h
timeb.h
times.h
ttychars.h
types.h
uio.h
un.h
unistd.h
utsname.h
vfs.h
vlimit.h
wait.h
xattr.h