Correct fix for thread affinity in CpuDetect, and fixed commenting in clean_msvc.cmd

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1659 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2009-08-20 15:53:17 +00:00
parent 4ce901c47b
commit cd5934fb57
2 changed files with 11 additions and 28 deletions

View File

@ -1,12 +1,12 @@
-- clean_msvc.cmd
--
-- This batch file cleans up some files that MSVC's Clean/Rebuild commands tend to miss.
-- In particular the .ilk and .pdb files are known to get corrupted and cause all sorts of odd
-- linker errors, and the .ncb files can also get corrupted and cause intellisense breakges.
--
-- Safety: This tool should be pretty safe. None of the files it deletes are important. That
-- is, they're all files MSVC just rebuilds automatically next time you run/recompile. But even
-- so, don't go running this batch file in your root c:\ folder. It's probably not a wise action.
-- Enjoy. :)
:: clean_msvc.cmd
::
:: This batch file cleans up some files that MSVC's Clean/Rebuild commands tend to miss.
:: In particular the .ilk and .pdb files are known to get corrupted and cause all sorts of odd
:: linker errors, and the .ncb files can also get corrupted and cause intellisense breakges.
::
:: Safety: This tool should be pretty safe. None of the files it deletes are important. That
:: is, they're all files MSVC just rebuilds automatically next time you run/recompile. But even
:: so, don't go running this batch file in your root c:\ folder. It's probably not a wise action.
:: Enjoy. :)
del /s *.ncb;*.ilk;*.pdb;*.bsc;*.sbr

View File

@ -200,7 +200,7 @@ static void SetSingleAffinity()
if( availProcCpus & (1<<i) ) break;
}
HANDLE s_threadId = GetCurrentThread();
s_threadId = GetCurrentThread();
s_oldmask = SetThreadAffinityMask( s_threadId, (1UL<<i) );
if( s_oldmask == ERROR_INVALID_PARAMETER )
@ -216,19 +216,6 @@ static void SetSingleAffinity()
#endif
}
static void UnSetSingleAffinity()
{
#ifdef _WINDOWS_
HANDLE s_threadId = GetCurrentThread();
s_oldmask = SetThreadAffinityMask( s_threadId, 0xFFFFFFFF );
if( s_oldmask == ERROR_INVALID_PARAMETER )
{
Console::Notice("CpuDetect: UnSetThreadAffinityMask failed...");
}
#endif
}
//////////////////////////////////////////////////////////////////////////////////////////
//
s64 CPUSpeedHz( u64 time )
@ -502,9 +489,5 @@ void cpudetectInit()
// This will assign values into cpuinfo.LogicalCores and PhysicalCores
Threading::CountLogicalCores( LogicalCoresPerPhysicalCPU, PhysicalCoresPerPhysicalCPU );
// Undo previous SetSingleAffinity() here, so the host OS can handle load distribution
// (up to 25% faster on athlonx2, about 5% faster on core2)
UnSetSingleAffinity();
}