diff options
author | Filip Bozuta <Filip.Bozuta@syrmia.com> | 2020-08-25 00:30:49 +0200 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2020-09-05 22:40:43 +0200 |
commit | e5ce9688b47a8f60337ce1e4108f35577494a46a (patch) | |
tree | ef2f454018d5fe81a10b6eb62c20f0bbd1c60dd0 /qemu-options-wrapper.h | |
parent | 8ca019b9c9ff916414371dd13d265bbab308b14a (diff) |
linux-user: Add support for ppoll_time64() and pselect6_time64()
This patch introduces functionality for following time64 syscalls:
*ppoll_time64
This is a year 2038 safe variant of:
int poll(struct pollfd *fds, nfds_t nfds, int timeout)
-- wait for some event on a file descriptor --
man page: https://man7.org/linux/man-pages/man2/ppoll.2.html
*pselect6_time64
This is a year 2038 safe variant of:
int pselect6(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timespec *timeout,
const sigset_t *sigmask);
-- synchronous I/O multiplexing --
man page: https://man7.org/linux/man-pages/man2/pselect6.2.html
Implementation notes:
Year 2038 safe syscalls in this patch were implemented
with the same code as their regular variants (ppoll() and pselect()).
This code was moved to new functions ('do_ppoll()' and 'do_pselect6()')
that take a 'bool time64' from which a right 'struct timespec' converting
function is called.
(target_to_host/host_to_target_timespec() for regular and
target_to_host/host_to_target_timespec64() for time64 variants)
Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200824223050.92032-2-Filip.Bozuta@syrmia.com>
[lv: rebase and fix do_pselect6()]
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'qemu-options-wrapper.h')
0 files changed, 0 insertions, 0 deletions