[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: commit: ldap/servers/slapd backend.c connection.c operation.c passwd.c sl_malloc.c



ando@OpenLDAP.org writes:
> 	operation.c  1.81 -> 1.82
> rename ldap_pvt_thread_pool_setkey_x() to
> ldap_pvt_thread_pool_setkey() (as part of ITS#5309)

One nitpick - in this code in operation.c:

>        ldap_pvt_thread_pool_getkey( ctx, (void *)slap_op_free, &otmp, NULL );
>        op2 = otmp;
>        LDAP_STAILQ_NEXT( op, o_next ) = op2;
>        ldap_pvt_thread_pool_setkey( ctx, (void *)slap_op_free,
>            (void *)op, slap_op_q_destroy, NULL, NULL );

can it be a problem if 'op' is stored to the context before its o_next
gets updated?  If not, we can save a getkey call - move the setkey up
instead.  I _think_ it's all right since only the current thread should
be accessing the key (except during pauses), and the pool can't pause
here.

-- 
Hallvard