mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
net: replace qemu_set_nonblock()
Those calls 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:
parent
c7b1172026
commit
a8208626ba
1 changed files with 19 additions and 14 deletions
33
net/tap.c
33
net/tap.c
|
@ -619,7 +619,10 @@ int net_init_bridge(const Netdev *netdev, const char *name,
|
|||
return -1;
|
||||
}
|
||||
|
||||
qemu_set_nonblock(fd);
|
||||
if (!g_unix_set_fd_nonblocking(fd, true, NULL)) {
|
||||
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
|
||||
return -1;
|
||||
}
|
||||
vnet_hdr = tap_probe_vnet_hdr(fd, errp);
|
||||
if (vnet_hdr < 0) {
|
||||
close(fd);
|
||||
|
@ -716,8 +719,6 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
|||
}
|
||||
|
||||
if (vhostfdname) {
|
||||
int ret;
|
||||
|
||||
vhostfd = monitor_fd_param(monitor_cur(), vhostfdname, &err);
|
||||
if (vhostfd == -1) {
|
||||
if (tap->has_vhostforce && tap->vhostforce) {
|
||||
|
@ -727,9 +728,8 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
|||
}
|
||||
return;
|
||||
}
|
||||
ret = qemu_try_set_nonblock(vhostfd);
|
||||
if (ret < 0) {
|
||||
error_setg_errno(errp, -ret, "%s: Can't use file descriptor %d",
|
||||
if (!g_unix_set_fd_nonblocking(vhostfd, true, NULL)) {
|
||||
error_setg_errno(errp, errno, "%s: Can't use file descriptor %d",
|
||||
name, fd);
|
||||
return;
|
||||
}
|
||||
|
@ -745,7 +745,10 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
|||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
options.opaque = (void *)(uintptr_t)vhostfd;
|
||||
options.nvqs = 2;
|
||||
|
@ -832,9 +835,8 @@ int net_init_tap(const Netdev *netdev, const char *name,
|
|||
return -1;
|
||||
}
|
||||
|
||||
ret = qemu_try_set_nonblock(fd);
|
||||
if (ret < 0) {
|
||||
error_setg_errno(errp, -ret, "%s: Can't use file descriptor %d",
|
||||
if (!g_unix_set_fd_nonblocking(fd, true, NULL)) {
|
||||
error_setg_errno(errp, errno, "%s: Can't use file descriptor %d",
|
||||
name, fd);
|
||||
close(fd);
|
||||
return -1;
|
||||
|
@ -889,9 +891,9 @@ int net_init_tap(const Netdev *netdev, const char *name,
|
|||
goto free_fail;
|
||||
}
|
||||
|
||||
ret = qemu_try_set_nonblock(fd);
|
||||
if (ret < 0) {
|
||||
error_setg_errno(errp, -ret, "%s: Can't use file descriptor %d",
|
||||
ret = g_unix_set_fd_nonblocking(fd, true, NULL);
|
||||
if (!ret) {
|
||||
error_setg_errno(errp, errno, "%s: Can't use file descriptor %d",
|
||||
name, fd);
|
||||
goto free_fail;
|
||||
}
|
||||
|
@ -946,7 +948,10 @@ free_fail:
|
|||
return -1;
|
||||
}
|
||||
|
||||
qemu_set_nonblock(fd);
|
||||
if (!g_unix_set_fd_nonblocking(fd, true, NULL)) {
|
||||
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
|
||||
return -1;
|
||||
}
|
||||
vnet_hdr = tap_probe_vnet_hdr(fd, errp);
|
||||
if (vnet_hdr < 0) {
|
||||
close(fd);
|
||||
|
|
Loading…
Reference in a new issue