acoral_32 acoral_closeall(void) { acoral_u32 ret; ret=acoral_mutex_pend(fs_mutex,0); if(ret!=MUTEX_SUCCED) return -1; FileCloseAll(); acoral_mutex_post(fs_mutex); return 0; }
void DisplayFatal( const char *szFilename, BOOL fDeleteFiles, UINT ErrorNumber, va_list valist ) { if (!fErr) { fErr = TRUE; // Close the PDB w/o committing. if (fPdb) { DBG_ClosePDB(); } DisplayMessage(szFilename, FATALSTR, ErrorNumber, valist); #ifdef ILINKLOG IlinkLog(GetExternalErrorCode(ErrorNumber)); // full link failures #endif // ILINKLOG // free up memory reserved for ILK if (fINCR && fDeleteFiles) { FreeHeap(); } FileCloseAll(); RemoveConvertTempFiles(); if (fDeleteFiles) { if (OutFilename != NULL && OutFilename[0] != '\0') { _unlink(OutFilename); } // in the incr case just blow away inc db which will // be in an invalid state if (fINCR && !_access(szIncrDbFilename, 0)) { _unlink(szIncrDbFilename); } } } exit((int) ErrorNumber); }