mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
ITS#7904 writewait patch
Assigned ITS#, tweaking. This ITS includes4f05d992f2
716b35e191
be792fae2c
This commit is contained in:
parent
4f05d992f2
commit
e17878933f
@ -690,12 +690,15 @@ dn2entry_retry:
|
||||
id = mdb_idl_first( candidates, &cursor );
|
||||
}
|
||||
|
||||
cb.sc_writewait = mdb_writewait;
|
||||
cb.sc_private = &wwctx;
|
||||
wwctx.flag = 0;
|
||||
wwctx.txn = ltid;
|
||||
cb.sc_next = op->o_callback;
|
||||
op->o_callback = &cb;
|
||||
/* 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)
|
||||
{
|
||||
@ -1083,17 +1086,6 @@ loop_continue:
|
||||
id = mdb_idl_next( candidates, &cursor );
|
||||
}
|
||||
}
|
||||
/* remove our writewait callback */
|
||||
{
|
||||
slap_callback **scp = &op->o_callback;
|
||||
while ( *scp ) {
|
||||
if ( *scp == &cb ) {
|
||||
*scp = cb.sc_next;
|
||||
cb.sc_private = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nochange:
|
||||
rs->sr_ctrls = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user