chardev: replace qemu_set_nonblock()
Those calls are either for 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:
parent
05e50e8fe5
commit
b84bb4dfe5
@ -212,8 +212,8 @@ void qemu_chr_open_fd(Chardev *chr,
|
|||||||
FDChardev *s = FD_CHARDEV(chr);
|
FDChardev *s = FD_CHARDEV(chr);
|
||||||
g_autofree char *name = NULL;
|
g_autofree char *name = NULL;
|
||||||
|
|
||||||
if (fd_out >= 0) {
|
if (fd_out >= 0 && !g_unix_set_fd_nonblocking(fd_out, true, NULL)) {
|
||||||
qemu_set_nonblock(fd_out);
|
assert(!"Failed to set FD nonblocking");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fd_out == fd_in && fd_in >= 0) {
|
if (fd_out == fd_in && fd_in >= 0) {
|
||||||
|
@ -324,7 +324,10 @@ static void char_pty_open(Chardev *chr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
close(slave_fd);
|
close(slave_fd);
|
||||||
qemu_set_nonblock(master_fd);
|
if (!g_unix_set_fd_nonblocking(master_fd, true, NULL)) {
|
||||||
|
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
chr->filename = g_strdup_printf("pty:%s", pty_name);
|
chr->filename = g_strdup_printf("pty:%s", pty_name);
|
||||||
qemu_printf("char device redirected to %s (label %s)\n",
|
qemu_printf("char device redirected to %s (label %s)\n",
|
||||||
|
@ -271,7 +271,10 @@ static void qmp_chardev_open_serial(Chardev *chr,
|
|||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qemu_set_nonblock(fd);
|
if (!g_unix_set_fd_nonblocking(fd, true, NULL)) {
|
||||||
|
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
|
||||||
|
return;
|
||||||
|
}
|
||||||
tty_serial_init(fd, 115200, 'N', 8, 1);
|
tty_serial_init(fd, 115200, 'N', 8, 1);
|
||||||
|
|
||||||
qemu_chr_open_fd(chr, fd, fd);
|
qemu_chr_open_fd(chr, fd, fd);
|
||||||
|
@ -103,7 +103,10 @@ static void qemu_chr_open_stdio(Chardev *chr,
|
|||||||
stdio_in_use = true;
|
stdio_in_use = true;
|
||||||
old_fd0_flags = fcntl(0, F_GETFL);
|
old_fd0_flags = fcntl(0, F_GETFL);
|
||||||
tcgetattr(0, &oldtty);
|
tcgetattr(0, &oldtty);
|
||||||
qemu_set_nonblock(0);
|
if (!g_unix_set_fd_nonblocking(0, true, NULL)) {
|
||||||
|
error_setg_errno(errp, errno, "Failed to set FD nonblocking");
|
||||||
|
return;
|
||||||
|
}
|
||||||
atexit(term_exit);
|
atexit(term_exit);
|
||||||
|
|
||||||
memset(&act, 0, sizeof(act));
|
memset(&act, 0, sizeof(act));
|
||||||
|
Loading…
Reference in New Issue
Block a user