summary refs log tree commit diff stats
path: root/scripts/show-fixed-bugs.sh
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2018-03-09 16:59:57 +0800
committerEric Blake <eblake@redhat.com>2018-03-19 14:58:37 -0500
commit71da4667db6568220619e5dc21f1e7b4b379076e (patch)
tree59651635cdac70fe4153c15ac8b2f60307c177b7 /scripts/show-fixed-bugs.sh
parente3e977d45b0750d7e4b8f9cac4b89e8082235188 (diff)
downloadfocaccia-qemu-71da4667db6568220619e5dc21f1e7b4b379076e.tar.gz
focaccia-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/show-fixed-bugs.sh')
0 files changed, 0 insertions, 0 deletions