From: Stefan Hajnoczi Date: Fri, 14 Feb 2020 17:17:09 +0000 (+0000) Subject: aio-posix: don't pass ns timeout to epoll_wait() X-Git-Tag: qemu-xen-4.14.0~129^2~25 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ca8c6b22754b0f17818b1d1910d31f0aa1a49cc7;p=qemu-xen.git aio-posix: don't pass ns timeout to epoll_wait() Don't pass the nanosecond timeout into epoll_wait(), which expects milliseconds. The epoll_wait() timeout value does not matter if qemu_poll_ns() determined that the poll fd is ready, but passing a value in the wrong units is still ugly. Pass a 0 timeout to epoll_wait() instead. Signed-off-by: Stefan Hajnoczi Reviewed-by: Sergio Lopez Message-id: 20200214171712.541358-3-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi --- diff --git a/util/aio-posix.c b/util/aio-posix.c index c964627a03..58765e581e 100644 --- a/util/aio-posix.c +++ b/util/aio-posix.c @@ -117,6 +117,9 @@ static int aio_epoll(AioContext *ctx, int64_t timeout) if (timeout > 0) { ret = qemu_poll_ns(&pfd, 1, timeout); + if (ret > 0) { + timeout = 0; + } } if (timeout <= 0 || ret > 0) { ret = epoll_wait(ctx->epollfd, events,