• W
    fix a deadlock when qemu cannot start · ff68d6ee
    Wen Congyang 提交于
    When qemu cannot start, we may call qemuProcessStop() twice.
    We have check whether the vm is running at the beginning of
    qemuProcessStop() to avoid libvirt deadlock. We call
    qemuProcessStop() with driver and vm locked. It seems that
    we can avoid libvirt deadlock. But unfortunately we may
    unlock driver and vm in the function qemuProcessKill() while
    vm->def->id is not -1. So qemuProcessStop() will be run twice,
    and monitor will be freed unexpectedly. So we should set
    vm->def->id to -1 at the beginning of qemuProcessStop().
    ff68d6ee
qemu_process.c 132.4 KB