From: Marc-André Lureau <marcandre.lur...@redhat.com> Hi,
Thanks to recent work by Kevin, it becomes possible to run HMP/QMP commands i= n a coroutine. The screendump command is a good target, as it requires to re-enter the main-loop in ordre to flush the display, and write to file in a non-block= ing way. Despite the flush, the dump may still have glitches. The graphic device may perform some operations during the write on the same framebuffer. Doing a mem= ory copy could help, but it would also create a number of other issues. Keeping t= he BQL would defeat a number of advantages of using a coroutine. Afaik, there is= no mechanism to "freeze" the device either (and this could also have bad consequences anyway). Good enough? Marc-Andr=C3=A9 Lureau (3): coroutine: let CoQueue wake up outside a coroutine console: modify ppm_save to take a pixman image ref console: make QMP/HMP screendump run in coroutine hmp-commands.hx | 1 + monitor/hmp-cmds.c | 3 ++- qapi/ui.json | 3 ++- ui/console.c | 42 +++++++++++++++++++++++++++++--------- ui/trace-events | 2 +- util/qemu-coroutine-lock.c | 6 ++---- 6 files changed, 40 insertions(+), 17 deletions(-) --=20 2.28.0