Hi

On Fri, Apr 22, 2022 at 12:57 PM Daniel P. Berrangé <berra...@redhat.com>
wrote:

> On Fri, Apr 22, 2022 at 12:36:37PM +0400, marcandre.lur...@redhat.com
> wrote:
> > From: Marc-André Lureau <marcandre.lur...@redhat.com>
> >
> > API available since glib 2.30. It also preserves errno.
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> > ---
> >  hw/misc/ivshmem.c           | 2 +-
> >  util/event_notifier-posix.c | 6 ++----
> >  util/main-loop.c            | 2 +-
> >  3 files changed, 4 insertions(+), 6 deletions(-)
>
> There are many more places in QEMU setting O_NONBLOCK.
>
> $ git grep '\bO_NONBLOCK' | grep -i setfl
> hw/misc/ivshmem.c:    fcntl_setfl(fd, O_NONBLOCK); /* msix/irqfd poll non
> block */
> hw/rdma/rdma_backend.c:    rc = fcntl(backend_dev->channel->fd, F_SETFL,
> flags | O_NONBLOCK);
> linux-user/syscall.c:        if (fcntl(fd, F_SETFL, O_NONBLOCK | flags) ==
> -1) {
> net/tap-bsd.c:    fcntl(fd, F_SETFL, O_NONBLOCK);
> net/tap-bsd.c:    fcntl(fd, F_SETFL, O_NONBLOCK);
> net/tap-linux.c:    fcntl(fd, F_SETFL, O_NONBLOCK);
> net/tap-solaris.c:    fcntl(fd, F_SETFL, O_NONBLOCK);
> tests/qtest/fuzz/virtio_net_fuzz.c:    fcntl(sockfds[0], F_SETFL,
> O_NONBLOCK);
> tests/tcg/multiarch/linux-test.c:    chk_error(fcntl(fds[0], F_SETFL,
> O_NONBLOCK));
> tests/tcg/multiarch/linux-test.c:    chk_error(fcntl(fds[1], F_SETFL,
> O_NONBLOCK));
> tests/unit/test-iov.c:       fcntl(sv[1], F_SETFL, O_RDWR|O_NONBLOCK);
> tests/unit/test-iov.c:       fcntl(sv[0], F_SETFL, O_RDWR|O_NONBLOCK);
> util/event_notifier-posix.c:        ret = fcntl_setfl(fds[0], O_NONBLOCK);
> util/event_notifier-posix.c:        ret = fcntl_setfl(fds[1], O_NONBLOCK);
> util/main-loop.c:    fcntl_setfl(sigfd, O_NONBLOCK);
> util/oslib-posix.c:    f = fcntl(fd, F_SETFL, f & ~O_NONBLOCK);
> util/oslib-posix.c:    if (fcntl(fd, F_SETFL, f | O_NONBLOCK) == -1) {
>

As you may have guessed, the goal was to move fcntl_setfl() to block/, as
done in next patch.

It looks like other callers generally do more than just setting nonblock,
they need more careful review.


>
> With regards,
> Daniel
> --
> |: https://berrange.com      -o-
> https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-
> https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-
> https://www.instagram.com/dberrange :|
>
>
>

-- 
Marc-André Lureau

Reply via email to