mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
libxl: fix deadlock in libxlReconnectDomain
Use virDomainObjListRemoveLocked instead of virDomainObjListRemove, as driver->domains is already taken by virDomainObjListForEach. Above deadlock can be triggered when libvirtd is started after some domain have been started by hand (in which case driver will not find libvirt-xml domain config). Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
parent
8f65fcb4a4
commit
1d76326536
@ -1117,7 +1117,7 @@ libxlReconnectDomain(virDomainObjPtr vm,
|
||||
out:
|
||||
libxlVmCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_UNKNOWN);
|
||||
if (!vm->persistent)
|
||||
virDomainObjListRemove(driver->domains, vm);
|
||||
virDomainObjListRemoveLocked(driver->domains, vm);
|
||||
else
|
||||
virObjectUnlock(vm);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user