• M
    qemu: Remove double unlock for domains · c43c661f
    Martin Kletzander 提交于
    The virDomainObjListRemove() function unlocks a domain that it's given
    due to legacy code.  And because of that code, which should be
    refactored, that last virObjectUnlock() cannot be just removed.  So
    instead, lock it right back for qemu for now.  All calls to
    qemuDomainRemoveInactive() are followed by code that unlocks the domain
    again, plus the domain should be locked during qemuDomainObjEndJob(), so
    the right place to lock it is right after virDomainObjListRemove().
    
    The only place where this would cause a problem is the autodestroy
    callback, so we need to get another reference there and uref+unlock it
    afterwards.  Luckily, returning NULL from that function doesn't mean an
    error, and only means that it doesn't need to be unlocked anymore.
    Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
    c43c661f
qemu_process.c 181.7 KB