On 02/26/2017 03:43 PM, Markus Armbruster wrote:
> The next commit is going to add a test that calls qmp("null").
> Curiously, this hangs. Here's why.
>
> qmp_fd_sendv() doesn't send newlines. Not even when @fmt contains
> some. At first glance, the QMP parser seems to be fine with that.
> However, it turns out that it fails to react to input until it sees
> either a newline, an object or an array. To reproduce, feed to a QMP
> monitor like this:
>
> $ echo -n 'null' | socat UNIX:/work/armbru/images/test-qmp STDIO
I didn't point this out last time, but 'echo -n' is not portable. On
the other hand, it is sufficient for the example in the commit message,
so no need to change.
> {"QMP": {"version": {"qemu": {"micro": 50, "minor": 8, "major": 2},
> "package": " (v2.8.0-1195-gf84141e-dirty)"}, "capabilities": []}}
>
> No output after the greeting.
>
> Work around this QMP bug by having qmp_fd_sendv() append a newline.
>
> Signed-off-by: Markus Armbruster <[email protected]>
> Reviewed-by: Eric Blake <[email protected]>
R-b stands.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
