Re: [PATCH 4/8] qemu: Don't repeat virDomainObjEndAPI in qemuDomainBlockPull

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/27/19 1:33 AM, Peter Krempa wrote:
On Thu, Sep 26, 2019 at 17:02:49 -0500, Eric Blake wrote:
On 9/26/19 10:51 AM, Peter Krempa wrote:
Add a 'cleanup' label and use jumps as we do in other places.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
   src/qemu/qemu_driver.c | 17 ++++++++++-------
   1 file changed, 10 insertions(+), 7 deletions(-)

+ cleanup:
+    virDomainObjEndAPI(&vm);
+    return ret;
   }

Is there any way to make virDomainObjEndAPI() replaceable by AUTO framework?

It will probably require a new macro or a new type to avoid breaking
semantics we've established.



We could introduce something like VIR_AUTORELEASE and VIR_AUTOUNLOCK for
use with virOjbectLockable-based objects. The former would then do the
required virObjectUnlock and then virObjectUnref. The latter is for
parity in cases when the lock should be dropped.

I'll propose these and see how it will go.

glibc has GMutexLocker which is a way to release a lock on all exit paths after its use (or to release the lock early).
https://developer.gnome.org/glib/stable/glib-Threads.html#g-mutex-locker-new
You can use that for inspiration.


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux