This is the next version of RFC [1] 'drop nested job concept'. Actually it is quite different from the first. Patches that accomodate callers to use functions to enter/exit monitor with without driver and asyncJob arguments are moved out of this series. I guess this can be done as soon as this series is upstream. Most of approach details are in the first patch. Pros: - better async job and concurrent regular job isolation - more straightforward implementation - more simple to use - no need to pass async job argument down the stack - safer to use - no warnings to be fixed if function is started to be used from asynchronous job context. TODO: - replace qemuDomainObjEnterMonitorAsync with qemuDomainObjEnterMonitor - accomodate callers to qemuDomainObjExitMonitor became returning void - remove passing driver and asyncJob down the stack - reflect changes in THREADS.txt [1] https://www.redhat.com/archives/libvir-list/2016-November/msg01357.html Nikolay Shirokovskiy (4): qemu: replace nested job with interruptible async job state qemu: remove liveness check from qemuDomainObjExitMonitor qemu: remove nesting job usage from qemuProcessStop qemu: remove the rest of nested job parts src/conf/domain_conf.c | 19 ---- src/conf/domain_conf.h | 1 - src/libvirt_private.syms | 1 - src/qemu/qemu_domain.c | 253 +++++++++++++++++++++++++++++----------------- src/qemu/qemu_domain.h | 29 ++++-- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_migration.c | 70 +++++++------ src/qemu/qemu_process.c | 31 ++---- 8 files changed, 225 insertions(+), 181 deletions(-) -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list