import ITS#2983 improvement from HEAD

This commit is contained in:
Pierangelo Masarati 2004-02-28 14:52:54 +00:00
parent a75faf9c75
commit 89aee50518
2 changed files with 27 additions and 10 deletions

View File

@ -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)

View File

@ -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 );