X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foperation.c;h=4745076706df80f14c9b254fda7f9097a6cf0ace;hb=4e4818771c26a4c02808130970f2a5e4c216ef52;hp=d4473c26433a7489a6f2da66ed21a2b7b8d09b50;hpb=0be4d842bc2605d573d496d7485bdbe0ea66a31f;p=openldap diff --git a/servers/slapd/operation.c b/servers/slapd/operation.c index d4473c2643..4745076706 100644 --- a/servers/slapd/operation.c +++ b/servers/slapd/operation.c @@ -6,6 +6,7 @@ */ #include "portable.h" +#include "slapi_common.h" #include @@ -13,6 +14,7 @@ #include #include "slap.h" +#include "slapi.h" void @@ -36,7 +38,17 @@ slap_op_free( Operation *op ) ldap_controls_free( op->o_ctrls ); } - ldap_pvt_thread_mutex_destroy( &op->o_abandonmutex ); +#ifdef LDAP_CLIENT_UPDATE + if ( op->o_clientupdate_state.bv_val != NULL ) { + free( op->o_clientupdate_state.bv_val ); + } +#endif /* LDAP_CLIENT_UPDATE */ + +#if defined( LDAP_SLAPI ) + if ( op->o_pb != NULL ) { + slapi_pblock_destroy( (Slapi_PBlock *)op->o_pb ); + } +#endif /* defined( LDAP_SLAPI ) */ free( (char *) op ); } @@ -53,8 +65,6 @@ slap_op_alloc( op = (Operation *) ch_calloc( 1, sizeof(Operation) ); - ldap_pvt_thread_mutex_init( &op->o_abandonmutex ); - op->o_ber = ber; op->o_msgid = msgid; op->o_tag = tag; @@ -62,5 +72,9 @@ slap_op_alloc( op->o_time = slap_get_time(); op->o_opid = id; +#if defined( LDAP_SLAPI ) + op->o_pb = slapi_pblock_new(); +#endif /* defined( LDAP_SLAPI ) */ + return( op ); }