On 04/10/2012 09:05 AM, Jiri Denemark wrote: > qemuDomainObjEnterMonitor{,WithDriver} should not be called from async > jobs, only EnterMonitorAsync variant is allowed. > --- > src/qemu/qemu_domain.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c > index 7f1f8ee..4dda2e0 100644 > --- a/src/qemu/qemu_domain.c > +++ b/src/qemu/qemu_domain.c > @@ -975,6 +975,9 @@ qemuDomainObjEnterMonitorInternal(struct qemud_driver *driver, > _("unexpected async job %d"), asyncJob); > return -1; > } > + if (priv->job.asyncOwner != virThreadSelfID()) > + VIR_WARN("This thread doesn't seem to be the async job owner: %d", > + priv->job.asyncOwner); virThreadSelfID() is not bullet-proof (it returns int, but there are platforms with 64-bit thread ids); but it is adequate for our purposes (you only check it for issuing a warning, rather than actually erroring out, and on our common development platform of Linux, it does the right thing). ACK series. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list