mirror of https://github.com/xqemu/xqemu.git
monitor: convert do_getfd() to QError
Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a488be27e5
commit
7cdfcfe18f
10
monitor.c
10
monitor.c
|
@ -2071,19 +2071,21 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||||
|
|
||||||
fd = qemu_chr_get_msgfd(mon->chr);
|
fd = qemu_chr_get_msgfd(mon->chr);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
monitor_printf(mon, "getfd: no file descriptor supplied via SCM_RIGHTS\n");
|
qemu_error_new(QERR_FD_NOT_SUPPLIED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qemu_isdigit(fdname[0])) {
|
if (qemu_isdigit(fdname[0])) {
|
||||||
monitor_printf(mon, "getfd: monitor names may not begin with a number\n");
|
qemu_error_new(QERR_INVALID_PARAMETER, "fdname");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fd = dup(fd);
|
fd = dup(fd);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
monitor_printf(mon, "Failed to dup() file descriptor: %s\n",
|
if (errno == EMFILE)
|
||||||
strerror(errno));
|
qemu_error_new(QERR_TOO_MANY_FILES);
|
||||||
|
else
|
||||||
|
qemu_error_new(QERR_UNDEFINED_ERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue