From 21be582df7e13ae2c8d44e1f7f02478eb9ec0762 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Mon, 9 Jan 2006 15:45:59 +0000 Subject: [PATCH] use a placeholder to mark that there is no process in the runqueue (ITS#4318) --- servers/slapd/back-monitor/thread.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; } -- 2.39.5