mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
import ITS#2983 improvement from HEAD
This commit is contained in:
parent
a75faf9c75
commit
89aee50518
1
CHANGES
1
CHANGES
@ -1,6 +1,7 @@
|
||||
OpenLDAP 2.2 Change Log
|
||||
|
||||
OpenLDAP 2.2.7 Engineering
|
||||
Added total operation count in back-monitor (ITS#2983)
|
||||
|
||||
OpenLDAP 2.2.6 Release
|
||||
Fixed slapd SASL callback handling (ITS#2926)
|
||||
|
@ -54,6 +54,7 @@ monitor_subsys_ops_init(
|
||||
struct monitorentrypriv *mp;
|
||||
char buf[ BACKMONITOR_BUFSIZE ];
|
||||
int i;
|
||||
struct berval bv_zero = BER_BVC("0");
|
||||
|
||||
assert( be != NULL );
|
||||
|
||||
@ -76,6 +77,9 @@ monitor_subsys_ops_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
attr_merge_one( e_op, mi->mi_ad_monitorOpInitiated, &bv_zero, NULL );
|
||||
attr_merge_one( e_op, mi->mi_ad_monitorOpCompleted, &bv_zero, NULL );
|
||||
|
||||
e_tmp = NULL;
|
||||
|
||||
for ( i = SLAP_OP_LAST; i-- > 0; ) {
|
||||
@ -163,7 +167,7 @@ monitor_subsys_ops_update(
|
||||
)
|
||||
{
|
||||
struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
|
||||
long nInitiated = -1, nCompleted = -1;
|
||||
long nInitiated = 0, nCompleted = 0;
|
||||
char *rdnvalue;
|
||||
int i;
|
||||
Attribute *a;
|
||||
@ -174,17 +178,29 @@ monitor_subsys_ops_update(
|
||||
|
||||
rdnvalue = e->e_dn + ( sizeof( "cn=" ) - 1 );
|
||||
|
||||
for (i = 0; i < SLAP_OP_LAST; i++ ) {
|
||||
if ( strncmp( rdnvalue, bv_op[ i ].bv_val,
|
||||
bv_op[ i ].bv_len ) == 0 ) {
|
||||
nInitiated = num_ops_initiated_[ i ];
|
||||
nCompleted = num_ops_completed_[ i ];
|
||||
break;
|
||||
if ( strncmp( rdnvalue, SLAPD_MONITOR_OPS_NAME,
|
||||
sizeof( SLAPD_MONITOR_OPS_NAME ) - 1 ) == 0 )
|
||||
{
|
||||
for ( i = 0; i < SLAP_OP_LAST; i++ ) {
|
||||
nInitiated += num_ops_initiated_[ i ];
|
||||
nCompleted += num_ops_completed_[ i ];
|
||||
}
|
||||
|
||||
} else {
|
||||
for ( i = 0; i < SLAP_OP_LAST; i++ ) {
|
||||
if ( strncmp( rdnvalue, bv_op[ i ].bv_val,
|
||||
bv_op[ i ].bv_len ) == 0 )
|
||||
{
|
||||
nInitiated = num_ops_initiated_[ i ];
|
||||
nCompleted = num_ops_completed_[ i ];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( i == SLAP_OP_LAST ) {
|
||||
return( 0 );
|
||||
if ( i == SLAP_OP_LAST ) {
|
||||
/* not found ... */
|
||||
return( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
a = attr_find( e->e_attrs, mi->mi_ad_monitorOpInitiated );
|
||||
|
Loading…
Reference in New Issue
Block a user