]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/syncprov.c
Update copyright for next release
[openldap] / servers / slapd / overlays / syncprov.c
index ab0ef885a84b6899869db46080f9a186343ccf01..d7c857b6bae578b040ab509fd131bd9d0de28f7b 100644 (file)
@@ -2,7 +2,7 @@
 /* syncprov.c - syncrepl provider */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2004-2008 The OpenLDAP Foundation.
+ * Copyright 2004-2009 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -1259,6 +1259,12 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit )
                        /* send DELETE */
                        syncprov_qresp( opc, ss, LDAP_SYNC_DELETE );
                }
+               if ( !saveit && found ) {
+                       /* Decrement s_inuse, was incremented when called
+                        * with saveit == TRUE
+                        */
+                       syncprov_free_syncop( ss );
+               }
        }
        ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );
 
@@ -1648,8 +1654,7 @@ syncprov_op_response( Operation *op, SlapReply *rs )
                }
 
                /* Don't do any processing for consumer contextCSN updates */
-               if ( SLAP_SYNC_SHADOW( op->o_bd ) && 
-                       op->o_msgid == SLAP_SYNC_UPDATE_MSGID ) {
+               if ( op->o_dont_replicate ) {
                        ldap_pvt_thread_rdwr_wunlock( &si->si_csn_rwlock );
                        return SLAP_CB_CONTINUE;
                }