summaryrefslogtreecommitdiffstats
path: root/scripts/qapi/types.py
diff options
context:
space:
mode:
authorPeter Xu2018-03-09 09:59:57 +0100
committerEric Blake2018-03-19 20:58:37 +0100
commit71da4667db6568220619e5dc21f1e7b4b379076e (patch)
tree59651635cdac70fe4153c15ac8b2f60307c177b7 /scripts/qapi/types.py
parentmonitor: let suspend/resume work even with QMPs (diff)
downloadqemu-71da4667db6568220619e5dc21f1e7b4b379076e.tar.gz
qemu-71da4667db6568220619e5dc21f1e7b4b379076e.tar.xz
qemu-71da4667db6568220619e5dc21f1e7b4b379076e.zip
monitor: separate QMP parser and dispatcher
Originally QMP goes through these steps: JSON Parser --> QMP Dispatcher --> Respond /|\ (2) (3) | (1) | \|/ (4) +--------- main thread --------+ This patch does this: JSON Parser QMP Dispatcher --> Respond /|\ | /|\ (4) | | | (2) | (3) | (5) (1) | +-----> | \|/ +--------- main thread <-------+ So the parsing job and the dispatching job is isolated now. It gives us a chance in follow up patches to totally move the parser outside. The isolation is done using one QEMUBH. Only one dispatcher QEMUBH is used for all the monitors. Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20180309090006.10018-15-peterx@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> [eblake: grammar tweaks, rebase to qobject_to()] Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'scripts/qapi/types.py')
0 files changed, 0 insertions, 0 deletions