]> git.sur5r.net Git - openldap/commitdiff
ITS#8354 tweak prev commit
authorHoward Chu <hyc@openldap.org>
Fri, 22 Jan 2016 20:46:23 +0000 (20:46 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 29 Jan 2016 01:00:23 +0000 (19:00 -0600)
Delay mutex init to avoid leaking the mutex

servers/slapd/overlays/syncprov.c

index f3ab8676d5da4f80d3e3f225422c328b12a9019c..8d152f1f033b89489ff4efa7df6951e4745de918 100644 (file)
@@ -2546,7 +2546,6 @@ syncprov_op_search( Operation *op, SlapReply *rs )
                }
                sop = ch_malloc( sizeof( syncops ));
                *sop = so;
-               ldap_pvt_thread_mutex_init( &sop->s_mutex );
                sop->s_rid = srs->sr_state.rid;
                sop->s_sid = srs->sr_state.sid;
                /* set refcount=2 to prevent being freed out from under us
@@ -2576,6 +2575,7 @@ syncprov_op_search( Operation *op, SlapReply *rs )
                                ldap_pvt_thread_yield();
                        ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );
                }
+               ldap_pvt_thread_mutex_init( &sop->s_mutex );
                sop->s_next = si->si_ops;
                sop->s_si = si;
                si->si_ops = sop;