Use g_unix_set_fd_nonblocking()
API available since glib 2.30. It also preserves errno. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
c6d3bcb4b9
commit
4d14cb0cd7
@ -537,7 +537,7 @@ static void process_msg_connect(IVShmemState *s, uint16_t posn, int fd,
|
||||
|
||||
IVSHMEM_DPRINTF("eventfds[%d][%d] = %d\n", posn, vector, fd);
|
||||
event_notifier_init_fd(&peer->eventfds[vector], fd);
|
||||
fcntl_setfl(fd, O_NONBLOCK); /* msix/irqfd poll non block */
|
||||
g_unix_set_fd_nonblocking(fd, true, NULL); /* msix/irqfd poll non block */
|
||||
|
||||
if (posn == s->vm_id) {
|
||||
setup_interrupt(s, vector, errp);
|
||||
|
@ -52,13 +52,11 @@ int event_notifier_init(EventNotifier *e, int active)
|
||||
if (qemu_pipe(fds) < 0) {
|
||||
return -errno;
|
||||
}
|
||||
ret = fcntl_setfl(fds[0], O_NONBLOCK);
|
||||
if (ret < 0) {
|
||||
if (!g_unix_set_fd_nonblocking(fds[0], true, NULL)) {
|
||||
ret = -errno;
|
||||
goto fail;
|
||||
}
|
||||
ret = fcntl_setfl(fds[1], O_NONBLOCK);
|
||||
if (ret < 0) {
|
||||
if (!g_unix_set_fd_nonblocking(fds[1], true, NULL)) {
|
||||
ret = -errno;
|
||||
goto fail;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ static int qemu_signal_init(Error **errp)
|
||||
return -errno;
|
||||
}
|
||||
|
||||
fcntl_setfl(sigfd, O_NONBLOCK);
|
||||
g_unix_set_fd_nonblocking(sigfd, true, NULL);
|
||||
|
||||
qemu_set_fd_handler(sigfd, sigfd_handler, NULL, (void *)(intptr_t)sigfd);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user