On Fri, May 16, 2014 at 11:47:17AM -0400, Daniel P. Berrange wrote:
On Fri, May 16, 2014 at 04:44:41PM +0100, Richard W.M. Jones wrote:
On Thu, May 15, 2014 at 05:39:08PM +0200, mzatko@redhat.com wrote:
+ + pr "gl_recursive_lock_define_initialized(static, global_lock)\n";
static?
I suspect this only allows one libguestfs handle per process into the critical section at once. I think the lock needs to be per-handle unless I'm misunderstanding what this is for.
Agreed, any locking should be per-handle, and I wouldn't expect to need to use recursive mutexes either. Internal libguestfs code shouldn't be calling back out to the public libguestfs API surely, so shouldn't need to have re-entrancy
Actually libguestfs does call itself quite a lot. Whether it should call itself through the public API or not is another matter -- we could change that fairly easily. Is there a problem with recursive mutexes? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v