[libvirt] [PATCH 02/20] Wait to receive QMP greeting before sending any monitor commands

Eric Blake eblake at redhat.com
Tue Sep 11 23:26:20 UTC 2012


On 09/11/2012 08:11 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> Technically speaking we should wait until we receive the QMP
> greeting message before attempting to send any QMP monitor
> commands. Mostly we've got away with this, but there is a race
> in some QEMU which cause it to SEGV if you sent it data too
> soon after startup. Waiting for the QMP greeting avoids the
> race
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/qemu/qemu_monitor.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)

ACK.

> @@ -716,6 +721,8 @@ qemuMonitorOpen(virDomainObjPtr vm,
>      mon->fd = -1;
>      mon->vm = vm;
>      mon->json = json;
> +    if (json)
> +        mon->wait_greeting = 1;

Could collapse 3 lines to 1 with:

mon->json = mon->wait_greeting = json;

but that comes at the expense of readability, so keep your version.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120911/3be071b7/attachment-0001.sig>


More information about the libvir-list mailing list