]> git.sur5r.net Git - openldap/commitdiff
ITS#6438
authorQuanah Gibson-Mount <quanah@openldap.org>
Tue, 11 Jan 2011 20:19:14 +0000 (20:19 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 11 Jan 2011 20:19:14 +0000 (20:19 +0000)
CHANGES
servers/slapd/overlays/syncprov.c

diff --git a/CHANGES b/CHANGES
index 61be8684b12134b65831ddc320c601cb03ca0908..28768b837428cf7a3088c09bfcdc3eb551d67682 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -102,6 +102,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed slapo-syncprov CSN updates to all replicas (ITS#6718)
        Fixed slapo-syncprov sessionlog ordering (ITS#6716)
        Fixed slapo-syncprov sessionlog with adds (ITS#6503)
+       Fixed slapo-syncprov mutex (ITS#6438)
        Fixed slapo-translucent entry leak (ITS#6746)
        Fixed contrib/autogroup LDAP URI with attribute filter (ITS#6536)
        Fixed contrib/autogroup install location (ITS#6684)
index 4ccc01a92c5e9a06f4d7ecee27cd3593438b1706..e21747dd17224d47a1083a0c3543b3a87f818109 100644 (file)
@@ -785,7 +785,8 @@ syncprov_free_syncop( syncops *so )
        GroupAssertion *ga, *gnext;
 
        ldap_pvt_thread_mutex_lock( &so->s_mutex );
-       if ( --so->s_inuse > 0 ) {
+       /* already being freed, or still in use */
+       if ( !so->s_inuse || --so->s_inuse > 0 ) {
                ldap_pvt_thread_mutex_unlock( &so->s_mutex );
                return;
        }