On 05/30/2017 06:11 AM, Juan Quintela wrote:
> Vladislav Yasevich <vyase...@redhat.com> wrote:
>> Add a qmp command that can trigger guest announcements.
>>
>> Based on work of Germano Veit Michel <germ...@redhat.com>
>>
>> Signed-off-by: Vladislav Yasevich <vyase...@redhat.com>
>> ---
>>  migration/savevm.c | 14 ++++++++++++++
>>  qapi-schema.json   | 19 +++++++++++++++++++
>>  2 files changed, 33 insertions(+)
>>
>> diff --git a/migration/savevm.c b/migration/savevm.c
>> index a4097c9..b55ce6a 100644
>> --- a/migration/savevm.c
>> +++ b/migration/savevm.c
>> @@ -265,6 +265,20 @@ void qemu_announce_self(AnnounceParameters *params)
>>      qemu_announce_self_once(timer);
>>  }
>>  
>> +void qmp_announce_self(bool has_params, AnnounceParameters *params,
>> +                       Error **errp)
>> +{
>> +    AnnounceParameters announce_params;
>> +
>> +    memcpy(&announce_params, qemu_get_announce_params(),
>> +           sizeof(announce_params));
>> +
>> +    if (has_params)
>> +        qemu_set_announce_parameters(&announce_params, params);
>> +
>> +    qemu_announce_self(&announce_params);
> 
> Are I missreading qemu_annouce_self()?
> My reading is that it passes announce_params to a timer (i.e. async
> function), but here announce_params is a local variable here, no?
> 

The AnnounceTimer holds a copy since each timer may have it's own values.

Thanks
-vlad

Reply via email to