-
Kevin Wolf authored
This moves the QMP dispatcher to a coroutine and runs all QMP command handlers that declare 'coroutine': true in coroutine context so they can avoid blocking the main loop while doing I/O or waiting for other events. For commands that are not declared safe to run in a coroutine, the dispatcher drops out of coroutine context by calling the QMP command handler from a bottom half. Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
Reviewed-by:
Markus Armbruster <armbru@redhat.com>
Message-Id: <20201005155855.256490-10-kwolf@redhat.com>
Reviewed-by:
Markus Armbruster <armbru@redhat.com>
Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by:
Markus Armbruster <armbru@redhat.com>Kevin Wolf authoredThis moves the QMP dispatcher to a coroutine and runs all QMP command handlers that declare 'coroutine': true in coroutine context so they can avoid blocking the main loop while doing I/O or waiting for other events. For commands that are not declared safe to run in a coroutine, the dispatcher drops out of coroutine context by calling the QMP command handler from a bottom half. Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
Reviewed-by:
Markus Armbruster <armbru@redhat.com>
Message-Id: <20201005155855.256490-10-kwolf@redhat.com>
Reviewed-by:
Markus Armbruster <armbru@redhat.com>
Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by:
Markus Armbruster <armbru@redhat.com>
Loading