From 20217b7da57d9c5e98bce2baf17991a85ed23aab Mon Sep 17 00:00:00 2001 From: DavidXanatos <3890945+DavidXanatos@users.noreply.github.com> Date: Sun, 26 Nov 2023 18:15:39 +0100 Subject: [PATCH] Update BoxedProcess.cpp --- .../QSbieAPI/Sandboxie/BoxedProcess.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SandboxiePlus/QSbieAPI/Sandboxie/BoxedProcess.cpp b/SandboxiePlus/QSbieAPI/Sandboxie/BoxedProcess.cpp index 822b3073..0e54dc79 100644 --- a/SandboxiePlus/QSbieAPI/Sandboxie/BoxedProcess.cpp +++ b/SandboxiePlus/QSbieAPI/Sandboxie/BoxedProcess.cpp @@ -358,7 +358,8 @@ SB_STATUS CBoxedProcess::SetSuspend(bool bSet) bool CBoxedProcess::TestSuspended() { - bool isSuspended = true; + int iSuspended = 0; + int iRunning = 0; for (HANDLE hThread = NULL;;) { @@ -379,15 +380,14 @@ bool CBoxedProcess::TestSuspended() SuspendCount = SuspendThread(hThread); ResumeThread(hThread); } - if (SuspendCount == 0) { - isSuspended = false; - NtClose(hThread); - break; - } + if (SuspendCount > 0) + iSuspended++; + else + iRunning++; } - m_bSuspended = isSuspended; - return isSuspended; + m_bSuspended = iSuspended > 0 && iRunning == 0; + return m_bSuspended; } void CBoxedProcess::ResolveSymbols(const QVector& Addresses)