From 090ef02589a805fcc5834b8701aead7ea2b1e93a Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Tue, 2 Apr 2002 12:27:06 +0000 Subject: [PATCH] partial fulfilment of ITS#1710 --- servers/slapd/back-monitor/cache.c | 1 + servers/slapd/back-monitor/conn.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/servers/slapd/back-monitor/cache.c b/servers/slapd/back-monitor/cache.c index b00b55ed04..9fc8c941f8 100644 --- a/servers/slapd/back-monitor/cache.c +++ b/servers/slapd/back-monitor/cache.c @@ -257,6 +257,7 @@ monitor_cache_release( ldap_pvt_thread_mutex_unlock( &mi->mi_cache_mutex ); ch_free( mc ); + ldap_pvt_thread_mutex_unlock( &mp->mp_mutex ); ldap_pvt_thread_mutex_destroy( &mp->mp_mutex ); ch_free( mp ); e->e_private = NULL; diff --git a/servers/slapd/back-monitor/conn.c b/servers/slapd/back-monitor/conn.c index 4d91d69384..9ea0a66be8 100644 --- a/servers/slapd/back-monitor/conn.c +++ b/servers/slapd/back-monitor/conn.c @@ -369,6 +369,16 @@ monitor_subsys_conn_create( c = connection_next( c, &connindex )) { if ( conn_create( c, &e ) || e == NULL ) { connection_done(c); + for ( ; e_tmp != NULL; ) { + mp = ( struct monitorentrypriv * )e_tmp->e_private; + e = mp->mp_next; + + ch_free( mp ); + e_tmp->e_private = NULL; + entry_free( e_tmp ); + + e_tmp = e; + } return( -1 ); } mp = ( struct monitorentrypriv * )e->e_private; -- 2.39.5