hw: replace qemu_set_nonblock()

Those calls are non-socket fd, or are POSIX-specific. Use the dedicated
GLib API. (qemu_set_nonblock() is for socket-like)

(this is a preliminary patch before renaming qemu_set_nonblock())

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Marc-André Lureau 2022-04-25 17:39:06 +04:00
parent b0a8f9adfe
commit 701544cfaf
2 changed files with 11 additions and 5 deletions

View file

@ -114,7 +114,10 @@ static void virtio_input_host_realize(DeviceState *dev, Error **errp)
error_setg_file_open(errp, errno, vih->evdev);
return;
}
qemu_set_nonblock(vih->fd);
if (!g_unix_set_fd_nonblocking(vih->fd, true, NULL)) {
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
goto err_close;
}
rc = ioctl(vih->fd, EVIOCGVERSION, &ver);
if (rc < 0) {

View file

@ -149,9 +149,8 @@ static void vhost_vsock_device_realize(DeviceState *dev, Error **errp)
return;
}
ret = qemu_try_set_nonblock(vhostfd);
if (ret < 0) {
error_setg_errno(errp, -ret,
if (!g_unix_set_fd_nonblocking(vhostfd, true, NULL)) {
error_setg_errno(errp, errno,
"vhost-vsock: unable to set non-blocking mode");
return;
}
@ -163,7 +162,11 @@ static void vhost_vsock_device_realize(DeviceState *dev, Error **errp)
return;
}
qemu_set_nonblock(vhostfd);
if (!g_unix_set_fd_nonblocking(vhostfd, true, NULL)) {
error_setg_errno(errp, errno,
"Failed to set FD nonblocking");
return;
}
}
vhost_vsock_common_realize(vdev, "vhost-vsock");