[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated clean
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups |
Date: |
Thu, 05 Dec 2013 11:37:27 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 03/12/2013 21:33, Igor Mammedov ha scritto:
> I'm sorry for hijacking thread, but that actually an issue that started an
> original discussion.
> Where void returning QOM API functions are used with NULL, without any chance
> to detect that error happened. So abusing NULL errp in this functions
> might lead to hard to find runtime errors.
> I think Eric's suggestion was to enforce passing non NULL errp and let caller
> to deal with error gracefully so that above mentioned misuse was impossible.
> Why is ignoring errors from "void foo(...)" like API considered acceptable?
See http://permalink.gmane.org/gmane.comp.emulators.qemu/243779
> * Peter's alternative
> + self-documenting
> + consistent
> + predictable
I'll add another small advantage which is fewer SLOC.
> * make Error* mandatory for all void functions
> + consistent
> + almost predictable (because in C you can ignore return values)
> - not necessarily does the right thing (e.g. cleanup functions)
> - requires manual effort to abide to the policy
Better wording of the last: a missing &error_abort is easier to spot
than a missing assert_no_error(errp).
Paolo
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, (continued)
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Markus Armbruster, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Igor Mammedov, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Paolo Bonzini, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Eric Blake, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Markus Armbruster, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Igor Mammedov, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Eric Blake, 2013/12/03
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Markus Armbruster, 2013/12/04
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Eric Blake, 2013/12/04
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups,
Paolo Bonzini <=
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Igor Mammedov, 2013/12/05
- Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups, Paolo Bonzini, 2013/12/05