Skip to content
Snippets Groups Projects
Commit de395dda authored by Howard Chu's avatar Howard Chu
Browse files

ITS#6944 limit op cache to 10 ops per thread

parent 9f7d119c
No related branches found
No related tags found
No related merge requests found
......@@ -127,10 +127,21 @@ slap_op_free( Operation *op, void *ctx )
op->o_controls = opbuf->ob_controls;
if ( ctx ) {
void *op2 = NULL;
Operation *op2 = NULL;
ldap_pvt_thread_pool_setkey( ctx, (void *)slap_op_free,
op, slap_op_q_destroy, &op2, NULL );
LDAP_STAILQ_NEXT( op, o_next ) = op2;
if ( op2 ) {
op->o_tincr = op2->o_tincr + 1;
/* No more than 10 ops on per-thread free list */
if ( op->o_tincr > 10 ) {
ldap_pvt_thread_pool_setkey( ctx, (void *)slap_op_free,
op2, slap_op_q_destroy, NULL, NULL );
ber_memfree_x( op, NULL );
}
} else {
op->o_tincr = 1;
}
} else {
ber_memfree_x( op, NULL );
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment