]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-asyncmeta/conn.c
Happy New Year
[openldap] / servers / slapd / back-asyncmeta / conn.c
index a8268a15b5faebfb45c5c30487673b1796d87124..77f48e1d66bdd5c7640bb44499cd16a8ef8e9954 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2016 The OpenLDAP Foundation.
+ * Copyright 2016-2018 The OpenLDAP Foundation.
  * Portions Copyright 2016 Symas Corporation.
  * All rights reserved.
  *
@@ -1295,16 +1295,19 @@ asyncmeta_get_next_mc( a_metainfo_t *mi )
        return mc;
 }
 
-int asyncmeta_start_listeners(a_metaconn_t *mc, SlapReply *candidates)
+int asyncmeta_start_listeners(a_metaconn_t *mc, SlapReply *candidates, bm_context_t *bc)
 {
        int i;
        for (i = 0; i < mc->mc_info->mi_ntargets; i++) {
-               asyncmeta_start_one_listener(mc, candidates, i);
+               asyncmeta_start_one_listener(mc, candidates, bc, i);
        }
        return LDAP_SUCCESS;
 }
 
-int asyncmeta_start_one_listener(a_metaconn_t *mc, SlapReply *candidates, int candidate)
+int asyncmeta_start_one_listener(a_metaconn_t *mc,
+                                SlapReply *candidates,
+                                bm_context_t *bc,
+                                int candidate)
 {
        a_metasingleconn_t *msc;
        ber_socket_t s;
@@ -1314,6 +1317,8 @@ int asyncmeta_start_one_listener(a_metaconn_t *mc, SlapReply *candidates, int ca
        if (msc->msc_ld == NULL || !META_IS_CANDIDATE( &candidates[ candidate ] )) {
                return LDAP_SUCCESS;
        }
+       bc->msgids[candidate] = candidates[candidate].sr_msgid;
+       msc->msc_pending_ops++;
        if ( msc->conn == NULL) {
                ldap_get_option( msc->msc_ld, LDAP_OPT_DESC, &s );
                if (s < 0) {