QTFileBroadcaster::~QTFileBroadcaster() { LogFileClose(); if (fRTPFilePtr != NULL) { delete fRTPFilePtr; } }
int LogFileAppendTempLog(const char *LogPath, const char *TmpLogPath) { TLogFile *LogFile; char *Tempstr=NULL; STREAM *S; int result=FALSE; LogFile=LogFileGetEntry(LogPath); LogFileClose(TmpLogPath); S=STREAMOpenFile(TmpLogPath,SF_RDONLY); if (LogFile && S) { STREAMLock(LogFile->S,LOCK_EX); Tempstr=STREAMReadLine(Tempstr,S); while(Tempstr) { STREAMWriteLine(Tempstr,LogFile->S); Tempstr=STREAMReadLine(Tempstr,S); } if (LogFile->Flags & LOGFILE_FLUSH) STREAMFlush(LogFile->S); STREAMLock(LogFile->S,LOCK_UN); unlink(TmpLogPath); result=TRUE; } if (S) STREAMClose(S); DestroyString(Tempstr); return(result); }
/** * 关闭线程 * @param void * @return bool true:成功;false:失败 */ bool CThreadProcSiteDataOutput::OnClose() { // 是否关闭线程 m_bClose = true; // 日志文件对象是否关闭 m_bLogFileClose = true; // 打开日志文件 LogFileClose(); return true; }