void logUnInit() { #if !defined ENABLE_DMLOG return; #else g_logInited = 0; if(g_logType == LOG_DRIVER_FILE){ if(g_hLogFile != NULL) { fclose(g_hLogFile); g_hLogFile = NULL; } } if(g_logType == LOG_DRIVER_SYSLOG) { #ifdef LINUX closelog(); #endif } if(g_logType == LOG_DRIVER_MMAP) { eventFree(g_mmap_log.event); mutexFree(g_mmap_log.mutex); mmapClose(g_mmap_log.handle); } UnInitLock(&g_LockLog); #endif }
void mutexFree(LPDM_MUTEX m) { #ifdef WIN32 CloseHandle(m); #else if(m->context) mmapClose(m->context); else { pthread_mutex_destroy(m->mutex); free(m->mutex); } free(m); #endif }
void eventFree(LPDM_EVENT e) { #ifdef WIN32 CloseHandle(e); #else if(e->context) mmapClose(e->context); else{ pthread_cond_destroy(e->cond); pthread_mutex_destroy(e->mutex); free(e->mutex); free(e->cond); } free(e); #endif }
static void mprofCountDestruct( void ) { sem_destroy( &mmapSem ); mmapClose( &countsArea ); }
static void mprofLogMmapDestruct( void ) { sem_destroy( &mmapSem ); mmapClose( &area ); }