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 <arm...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> R-b stands. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature