]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/connection.c
Add fe_op_abandon, call it in connection_abandon()
[openldap] / servers / slapd / connection.c
index 43987952e86f1e8343271ea18bb6c4f94543b784..b3d4b2e2bf68211d420b06ca39703a346198b1d8 100644 (file)
@@ -710,10 +710,15 @@ static void connection_abandon( Connection *c )
 {
        /* c_mutex must be locked by caller */
 
-       Operation *o;
+       Operation *o, *next, op = {0};
+       SlapReply rs = {0};
 
-       LDAP_STAILQ_FOREACH(o, &c->c_ops, o_next) {
+       op.o_tag = LDAP_REQ_ABANDON;
+       for ( o = LDAP_STAILQ_FIRST( &c->c_ops ); o; o=next ) {
+               next = LDAP_STAILQ_NEXT( o, o_next );
+               op.orn_msgid = o->o_msgid;
                o->o_abandon = 1;
+               frontendDB->be_abandon( &op, &rs );
        }
 
        /* remove pending operations */