[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/4] arm: Clean up fragile use of error_is_set()
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 4/4] arm: Clean up fragile use of error_is_set() in realize() methods |
Date: |
Sat, 26 Apr 2014 09:18:28 +0100 |
On 25 April 2014 11:44, Markus Armbruster <address@hidden> wrote:
> Using error_is_set(ERRP) to find out whether a function failed is
> either wrong, fragile, or unnecessarily opaque. It's wrong when ERRP
> may be null, because errors go undetected when it is. It's fragile
> when proving ERRP non-null involves a non-local argument. Else, it's
> unnecessarily opaque (see commit 84d18f0).
>
> I guess the error_is_set(errp) in the DeviceClass realize() methods
> are merely fragile right now, because I can't find a call chain that
> passes a null errp argument.
>
> Make the code more robust and more obviously correct: receive the
> error in a local variable, then propagate it through the parameter.
>
> Signed-off-by: Markus Armbruster <address@hidden>
Acked-by: Peter Maydell <address@hidden>
thanks
-- PMM
[Qemu-devel] [PATCH 1/4] hw: Consistently name Error * objects err, and not errp, Markus Armbruster, 2014/04/25
[Qemu-devel] [PATCH 2/4] hw: Consistently name Error ** objects errp, and not err, Markus Armbruster, 2014/04/25
[Qemu-devel] [PATCH 3/4] qom: Clean up fragile use of error_is_set() in set() methods, Markus Armbruster, 2014/04/25
Re: [Qemu-devel] [PATCH 0/4] hw: Purge error_is_set(), Andreas Färber, 2014/04/25