return( 0 );
}
+static void
+monitor_entry_destroy( void *v_mc )
+{
+ monitor_cache_t *mc = (monitor_cache_t *)v_mc;
+
+ if ( mc->mc_e != NULL ) {
+ monitor_entry_t *mp;
+
+ assert( mc->mc_e->e_private != NULL );
+
+ mp = ( monitor_entry_t * )mc->mc_e->e_private;
+
+ if ( mp->mp_cb ) {
+ /* TODO */
+ }
+
+ ldap_pvt_thread_mutex_destroy( &mp->mp_mutex );
+
+ ch_free( mp );
+ mc->mc_e->e_private = NULL;
+ entry_free( mc->mc_e );
+ }
+
+ ch_free( mc );
+}
+
+int
+monitor_cache_destroy(
+ monitor_info_t *mi )
+{
+ if ( mi->mi_cache ) {
+ avl_free( mi->mi_cache, monitor_entry_destroy );
+ }
+
+ return 0;
+}
+
int argc,
char **argv )
{
+#if 0
monitor_info_t *mi = ( monitor_info_t * )be->be_private;
+#endif
/*
* eventually, will hold database specific configuration parameters
*/
/* NOTE: mi points to static storage; don't free it */
+ (void)monitor_cache_destroy( mi );
+
+ if ( monitor_subsys ) {
+ ch_free( monitor_subsys );
+ }
+
return 0;
}