]> git.sur5r.net Git - openldap/commitdiff
ITS#8354 fix syncprov abandon
authorHoward Chu <hyc@openldap.org>
Fri, 22 Jan 2016 20:41:48 +0000 (20:41 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 29 Jan 2016 00:59:53 +0000 (18:59 -0600)
Check for abandon just before recording psearch

servers/slapd/overlays/syncprov.c

index 6423d3f3399e6d27a293cf0c41406ececbf516af..f3ab8676d5da4f80d3e3f225422c328b12a9019c 100644 (file)
@@ -2555,6 +2555,11 @@ syncprov_op_search( Operation *op, SlapReply *rs )
                sop->s_inuse = 2;
 
                ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );
+               if ( op->o_abandon ) {
+                       ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );
+                       ch_free( sop );
+                       return SLAPD_ABANDON;
+               }
                while ( si->si_active ) {
                        /* Wait for active mods to finish before proceeding, as they
                         * may already have inspected the si_ops list looking for