Esempio n. 1
0
void __release_env( DMHENV environment )
{
    DMHENV last = NULL;
    DMHENV ptr;

    mutex_entry( &mutex_lists );

    ptr = enviroment_root;

    while( ptr )
    {
        if ( environment == ptr )
        {
            break;
        }
        last = ptr;
        ptr = ptr -> next_class_list;
    }

    if ( ptr )
    {
        if ( last )
        {
            last -> next_class_list = ptr -> next_class_list;
        }
        else
        {
            enviroment_root = ptr -> next_class_list;
        }
    }

    clear_error_head( &environment -> error );

	/*
	 * free log
	 */

    dm_log_close();

#if defined ( COLLECT_STATS ) && defined( HAVE_SYS_SEM_H )
    if (environment->sh)
        uodbc_close_stats(environment->sh);
#endif
    
    /*
     * clear just to make sure
     */

    memset( environment, 0, sizeof( *environment ));

    free( environment );

    mutex_exit( &mutex_lists );
}
Esempio n. 2
0
ODBCDialog::~ODBCDialog()
{
	uodbc_close_stats(statsHandle);
}
Esempio n. 3
0
CStatSummary::~CStatSummary()
{
    uodbc_close_stats( hStats );
}
Esempio n. 4
0
CMonitorProcesses::~CMonitorProcesses()
{
    if ( hStats )
        uodbc_close_stats( hStats );
}