BOOL CDurableFile::Commit(void) { BOOL bResult; if (!IsBegun()) { return FALSE; } if (mcLogFile.GetNumCommands() == 0) { InitBasic(); return TRUE; } mcPrimaryFile.Close(); bResult = mcLogFile.Commit(); if (!bResult) { return gcLogger.Error2(__METHOD__, " Commit durable file [", mszFileName.Text(), "] failed.", NULL); } InitBasic(); return TRUE; }
void CDurableFile::Init(CDurableFileController* pcController, char* szFileName, char* szRewriteName) { mbAddedToController = FALSE; mpcController = pcController; InitBasic(); if (!StrEmpty(szFileName)) { mcPrimaryDiskFile.Init(szFileName); mcLogFile.Init(&mcPrimaryDiskFile); mcPrimaryFile.Init(&mcLogFile); mszFileName.Init(mcPrimaryDiskFile.mszFileName); } else { gcLogger.Error2(__METHOD__, " Primary DurableFile file name is NULL.", NULL); } if (!StrEmpty(szRewriteName)) { mcRewriteDiskFile.Init(szRewriteName); mcRewriteFile.Init(&mcRewriteDiskFile); mszRewriteName.Init(mcRewriteDiskFile.mszFileName); } else { memset(&mszRewriteName, 0, sizeof(CChars)); memset(&mcRewriteFile, 0, sizeof(CFileBasic)); } }
/* ========================================================================= */ int InitOSSCoreData(void) { int rv = 0; rv |= InitBasic(); return(rv); }
/* ========================================================================= */ int InitOSSHardwareData(void) { int rv = 0; /* The same struct is used in two trees. InitBasic() can be called twice without issue. */ rv |= InitBasic(); return(rv); }