From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NHkL7-00039M-87 for qemu-devel@nongnu.org; Mon, 07 Dec 2009 15:37:49 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NHkKv-00033R-T7 for qemu-devel@nongnu.org; Mon, 07 Dec 2009 15:37:43 -0500 Received: from [199.232.76.173] (port=46540 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NHkKt-00033B-8j for qemu-devel@nongnu.org; Mon, 07 Dec 2009 15:37:35 -0500 Received: from mx20.gnu.org ([199.232.41.8]:55592) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NHkKr-0001Tu-Px for qemu-devel@nongnu.org; Mon, 07 Dec 2009 15:37:35 -0500 Received: from oxygen.pond.sub.org ([213.239.205.148]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NHkKo-0002S6-5k for qemu-devel@nongnu.org; Mon, 07 Dec 2009 15:37:30 -0500 Received: from crossbow.pond.sub.org (pD9E38C82.dip.t-dialin.net [217.227.140.130]) by oxygen.pond.sub.org (Postfix) with ESMTPA id AD616276D5A for ; Mon, 7 Dec 2009 21:37:25 +0100 (CET) From: Markus Armbruster Date: Mon, 7 Dec 2009 21:37:15 +0100 Message-Id: <1260218236-22143-18-git-send-email-armbru@redhat.com> In-Reply-To: <1260218236-22143-1-git-send-email-armbru@redhat.com> References: <1260218236-22143-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [FOR 0.12 PATCH 17/18] monitor: convert do_getfd() to QError List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: lcapitulino@redhat.com Signed-off-by: Markus Armbruster --- monitor.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/monitor.c b/monitor.c index c35a31e..0bcffbe 100644 --- a/monitor.c +++ b/monitor.c @@ -2145,19 +2145,21 @@ static void do_getfd(Monitor *mon, const QDict *qdict, QObject **ret_data) fd = qemu_chr_get_msgfd(mon->chr); if (fd == -1) { - monitor_printf(mon, "getfd: no file descriptor supplied via SCM_RIGHTS\n"); + qemu_error_new(QERR_FD_NOT_SUPPLIED); return; } 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; } fd = dup(fd); if (fd == -1) { - monitor_printf(mon, "Failed to dup() file descriptor: %s\n", - strerror(errno)); + if (errno == EMFILE) + qemu_error_new(QERR_TOO_MANY_FILES); + else + qemu_error_new(QERR_UNDEFINED_ERROR); return; } -- 1.6.2.5