From: Howard Chu Date: Wed, 27 Aug 2014 10:50:32 +0000 (+0100) Subject: ITS#7904 init wwctx earlier X-Git-Tag: OPENLDAP_REL_ENG_2_4_40~29 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=6e44861bfdfdc7191211e3a98da3e0792147db3a;p=openldap ITS#7904 init wwctx earlier --- diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c index f0eec7e524..f5cc881534 100644 --- a/servers/slapd/back-mdb/search.c +++ b/servers/slapd/back-mdb/search.c @@ -682,6 +682,17 @@ dn2entry_retry: tentries = ncand; } + wwctx.flag = 0; + /* If we're running in our own read txn */ + if ( moi == &opinfo ) { + cb.sc_writewait = mdb_writewait; + cb.sc_private = &wwctx; + wwctx.txn = ltid; + wwctx.mcd = NULL; + cb.sc_next = op->o_callback; + op->o_callback = &cb; + } + if ( get_pagedresults( op ) > SLAP_CONTROL_IGNORED ) { PagedResultsState *ps = op->o_pagedresults_state; /* deferred cookie parsing */ @@ -740,17 +751,6 @@ dn2entry_retry: cscope = 1; /* skip original base */ } else { id = mdb_idl_first( candidates, &cursor ); - wwctx.mcd = NULL; - } - - wwctx.flag = 0; - /* If we're running in our own read txn */ - if ( moi == &opinfo ) { - cb.sc_writewait = mdb_writewait; - cb.sc_private = &wwctx; - wwctx.txn = ltid; - cb.sc_next = op->o_callback; - op->o_callback = &cb; } while (id != NOID)