qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] hw/qdev-core: Fix description of instance_ini


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-trivial] [PATCH] hw/qdev-core: Fix description of instance_init
Date: Tue, 11 Sep 2018 09:00:35 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0

On 9/10/18 5:09 AM, Thomas Huth wrote:
> The part of the documentation of DeviceClass that talks about instance_init
> is partly wrong: instance_init() functions must not abort or exit, since
> the function is also called during introspection of the device already.
> So if a device calls exit() during its instance_init() function, QEMU
> terminates unexpectedly if somebody tries to just have a look at the
> interfaces from the device with "device_add xyz,help" or with the
> "device-list-properties" QOM command. This should never happen.
> 
> Signed-off-by: Thomas Huth <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> ---
>  include/hw/qdev-core.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index f1fd0f8..a24d0dd 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -51,8 +51,9 @@ struct VMStateDescription;
>   * Devices are constructed in two stages,
>   * 1) object instantiation via object_initialize() and
>   * 2) device realization via #DeviceState:realized property.
> - * The former may not fail (it might assert or exit), the latter may return
> - * error information to the caller and must be re-entrant.
> + * The former may not fail (and must not abort or exit, since it is called
> + * during device introspection already), and the latter may return error
> + * information to the caller and must be re-entrant.
>   * Trivial field initializations should go into #TypeInfo.instance_init.
>   * Operations depending on @props static properties should go into @realize.
>   * After successful realization, setting static properties will fail.
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]