On Thu, Jan 23, 2014 at 02:46:42PM -0500, Stefan Berger wrote:
> On 01/23/2014 07:37 AM, Daniel P. Berrange wrote:
> 
> >
> >@@ -3477,7 +3482,7 @@ int virNWFilterConfLayerInit(virDomainObjListIterator 
> >domUpdateCB,
> >
> >      initialized = true;
> >
> >-    if (virMutexInitRecursive(&updateMutex) < 0)
> >+    if (virRWLockInit(&updateLock) < 0)
> >          return -1;
> >
> 
> Obviously it was a recursive lock before. Now
> pthread_rwlock_wrlock() must not be called twice by the same thread.
> I am fine with the conversion below per se. The functions below are
> quite low-level now (close to virsh) that they are not called
> recursively. So from this perspective for this patch:

The write locks aren't ever acquired recursively, since they're only
held in top level functions. The read locks are still allowed to be
recursive so we're safe in that respect.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

Reply via email to