diff --git a/reactos/base/applications/taskmgr/perfdata.c b/reactos/base/applications/taskmgr/perfdata.c index 89c22afffd1..a5e7843f7f1 100644 --- a/reactos/base/applications/taskmgr/perfdata.c +++ b/reactos/base/applications/taskmgr/perfdata.c @@ -477,17 +477,29 @@ ULONG PerfDataGetProcessIndex(ULONG pid) ULONG PerfDataGetProcessCount(void) { - return ProcessCount; + ULONG Result; + EnterCriticalSection(&PerfDataCriticalSection); + Result = ProcessCount; + LeaveCriticalSection(&PerfDataCriticalSection); + return Result; } ULONG PerfDataGetProcessorUsage(void) { - return (ULONG)dbIdleTime; + ULONG Result; + EnterCriticalSection(&PerfDataCriticalSection); + Result = (ULONG)dbIdleTime; + LeaveCriticalSection(&PerfDataCriticalSection); + return Result; } ULONG PerfDataGetProcessorSystemUsage(void) { - return (ULONG)dbKernelTime; + ULONG Result; + EnterCriticalSection(&PerfDataCriticalSection); + Result = (ULONG)dbKernelTime; + LeaveCriticalSection(&PerfDataCriticalSection); + return Result; } BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, ULONG nMaxCount)