Since commit fd9ef3b31e, virDomainFindByUUIDRef() no longer exists and all virDomainObjListFindBy*() functions now increment the reference count. Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> --- src/qemu/THREADS.txt | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/qemu/THREADS.txt b/src/qemu/THREADS.txt index d17f3f4e0c..aa428fda6a 100644 --- a/src/qemu/THREADS.txt +++ b/src/qemu/THREADS.txt @@ -25,27 +25,17 @@ There are a number of locks on various objects * virDomainObjPtr - Will be locked after calling any of the virDomainObjListFindBy{ID,Name,UUID} - methods. However, preferred method is qemuDomObjFromDomain() that uses - virDomainFindByUUIDRef() which also increases the reference counter and - finds the domain in the domain list without blocking all other lookups. - When the domain is locked and the reference increased, the preferred way of - decrementing the reference counter and unlocking the domain is using the + Will be locked and the reference counter will be increased after calling + any of the virDomainObjListFindBy{ID,Name,UUID} methods. The preferred way + of decrementing the reference counter and unlocking the domain is using the virDomainObjEndAPI() function. Lock must be held when changing/reading any variable in the virDomainObjPtr - If the lock needs to be dropped & then re-acquired for a short period of - time, the reference count must be incremented first using virDomainObjRef(). - There is no need to increase the reference count if qemuDomObjFromDomain() - was used for looking up the domain. In this case there is one reference - already added by that function. - This lock must not be held for anything which sleeps/waits (i.e. monitor commands). - * qemuMonitorPrivatePtr: Job conditions Since virDomainObjPtr lock must not be held during sleeps, the job -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list