From: Ondřej Kuzník Date: Tue, 25 Jan 2022 14:31:51 +0000 (+0000) Subject: ITS#9789 Expose operation_counter_init X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ebfbf8281a2dbe7b0f76130d1f058355df072021;p=thirdparty%2Fopenldap.git ITS#9789 Expose operation_counter_init --- diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 583d3d3c39..c739614fe0 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -963,18 +963,18 @@ conn_counter_destroy( void *key, void *data ) ldap_pvt_thread_mutex_unlock( &slap_counters.sc_mutex ); } -static void -conn_counter_init( Operation *op, void *ctx ) +void +operation_counter_init( Operation *op, void *ctx ) { slap_counters_t *sc; void *vsc = NULL; if ( ldap_pvt_thread_pool_getkey( - ctx, (void *)conn_counter_init, &vsc, NULL ) || !vsc ) { + ctx, (void *)operation_counter_init, &vsc, NULL ) || !vsc ) { vsc = ch_malloc( sizeof( slap_counters_t )); sc = vsc; slap_counters_init( sc ); - ldap_pvt_thread_pool_setkey( ctx, (void*)conn_counter_init, vsc, + ldap_pvt_thread_pool_setkey( ctx, (void*)operation_counter_init, vsc, conn_counter_destroy, NULL, NULL ); ldap_pvt_thread_mutex_lock( &slap_counters.sc_mutex ); @@ -1032,7 +1032,7 @@ connection_operation( void *ctx, void *arg_v ) op->o_qtime.tv_sec--; } op->o_qtime.tv_sec -= op->o_time; - conn_counter_init( op, ctx ); + operation_counter_init( op, ctx ); ldap_pvt_thread_mutex_lock( &op->o_counters->sc_mutex ); /* FIXME: returns 0 in case of failure */ ldap_pvt_mp_add_ulong(op->o_counters->sc_ops_initiated, 1); diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 91d8d4293b..978a77ebe2 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -775,6 +775,7 @@ LDAP_SLAPD_F (Connection *) connection_init LDAP_P(( struct berval *id LDAP_PF_LOCAL_SENDMSG_ARG(struct berval *peerbv))); +LDAP_SLAPD_F (void) operation_counter_init LDAP_P(( Operation *op, void *threadctx )); LDAP_SLAPD_F (void) connection_closing LDAP_P(( Connection *c, const char *why )); LDAP_SLAPD_F (int) connection_is_active LDAP_P(( ber_socket_t s ));