コード例 #1
0
ファイル: os_file.c プロジェクト: ChenZewei/acoral
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;
}
コード例 #2
0
ファイル: errmsg.cpp プロジェクト: mingpen/OpenNT
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);
}