From 2076f09a0c78d30bd7e28d2abd52b64185f218de Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Sat, 30 Jan 2016 17:01:04 +0000 Subject: [PATCH] [TASKMGR] protect some variables with the critical section Patch by Mark Jansen. CORE-10787 svn path=/trunk/; revision=70662 --- reactos/base/applications/taskmgr/perfdata.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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)