From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPVpX-00074C-A8 for qemu-devel@nongnu.org; Tue, 09 Apr 2013 06:31:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPVpW-0000nz-67 for qemu-devel@nongnu.org; Tue, 09 Apr 2013 06:31:11 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55835) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPVpV-0000no-Tx for qemu-devel@nongnu.org; Tue, 09 Apr 2013 06:31:10 -0400 Message-ID: <5163EDBD.7070907@redhat.com> Date: Tue, 09 Apr 2013 12:30:21 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1365172636-28628-1-git-send-email-imammedo@redhat.com> <1365172636-28628-4-git-send-email-imammedo@redhat.com> <20130408183046.GB11124@otherpad.lan.raisama.net> In-Reply-To: <20130408183046.GB11124@otherpad.lan.raisama.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 03/22] target-i386: split out CPU creation and features parsing into cpu_x86_create() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: aliguori@us.ibm.com, claudio.fontana@huawei.com, qemu-devel@nongnu.org, aderumier@odiso.com, lcapitulino@redhat.com, jfrei@linux.vnet.ibm.com, yang.z.zhang@intel.com, Igor Mammedov , afaerber@suse.de, lig.fnst@cn.fujitsu.com, rth@twiddle.net Il 08/04/2013 20:30, Eduardo Habkost ha scritto: >> > - cpu_x86_register(cpu, name, &error); >> > - if (error) { >> > + cpu_x86_register(cpu, name, errp); >> > + if (error_is_set(errp)) { > So the function now does error checking properly if and only if errp is > not NULL. Do we really want to do that? No, using error_propagate is the correct idiom indeed. Paolo >> > goto out; >> > } >> > >> > - cpu_x86_parse_featurestr(cpu, features, &error); >> > - if (error) { >> > + cpu_x86_parse_featurestr(cpu, features, errp); >> > + if (error_is_set(errp)) { >> > goto out; >> > } >> > >> > - object_property_set_bool(OBJECT(cpu), true, "realized", &error); >> > +out: >> > + g_strfreev(model_pieces); > Any specific reason you didn't choose to keep 'Error *error = NULL' > inside cpu_x86_create() as well, and use error_propagate() here? I > believe it would make the patch simpler and easier to review, and at the > same time make cpu_x86_init() check for errors properly even if errp is > NULL. This is the opposite of what you did on x86_cpu_realizefn() at > patch 01/22.