From: Pierangelo Masarati Date: Mon, 9 Jan 2006 15:45:59 +0000 (+0000) Subject: use a placeholder to mark that there is no process in the runqueue (ITS#4318) X-Git-Tag: OPENLDAP_REL_ENG_2_4_BP~380 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=21be582df7e13ae2c8d44e1f7f02478eb9ec0762;p=openldap use a placeholder to mark that there is no process in the runqueue (ITS#4318) --- diff --git a/servers/slapd/back-monitor/thread.c b/servers/slapd/back-monitor/thread.c index 465e864519..2e4ded4535 100644 --- a/servers/slapd/back-monitor/thread.c +++ b/servers/slapd/back-monitor/thread.c @@ -271,9 +271,9 @@ monitor_subsys_thread_update( break; case 2: - for ( i = 0; !BER_BVISNULL( a->a_vals + i ); i++) { + for ( i = 0; !BER_BVISNULL( &a->a_vals[ i ] ); i++ ) { ch_free( a->a_vals[i].bv_val ); - BER_BVZERO( a->a_vals + i ); + BER_BVZERO( &a->a_vals[ i ] ); } bv.bv_val = buf; ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex ); @@ -283,6 +283,12 @@ monitor_subsys_thread_update( value_add_one( &a->a_vals, &bv ); } ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); + + /* don't leave 'round attributes with no values */ + if ( BER_BVISNULL( &a->a_vals[ 0 ] ) ) { + BER_BVSTR( &bv, "()" ); + value_add_one( &a->a_vals, &bv ); + } break; }