[ros-diffs] [sginsberg] 38568: - DbgkpSendApiMessage/DbgkpSendApiMessageLpc: Make sure the process is suspended before resuming it. Also, DbgkpSendApiMessage takes a BOOLEAN as 2nd parameter. - DbgkpWakeTarget: Correct a check for a Debug Event flag

sginsberg at svn.reactos.org sginsberg at svn.reactos.org
Sun Jan 4 18:33:48 CET 2009


Author: sginsberg
Date: Sun Jan  4 11:33:47 2009
New Revision: 38568

URL: http://svn.reactos.org/svn/reactos?rev=38568&view=rev
Log:
- DbgkpSendApiMessage/DbgkpSendApiMessageLpc: Make sure the process is suspended before resuming it. Also, DbgkpSendApiMessage takes a BOOLEAN as 2nd parameter.
- DbgkpWakeTarget: Correct a check for a Debug Event flag

Modified:
    trunk/reactos/ntoskrnl/dbgk/dbgkobj.c
    trunk/reactos/ntoskrnl/include/internal/dbgk.h

Modified: trunk/reactos/ntoskrnl/dbgk/dbgkobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/dbgk/dbgkobj.c?rev=38568&r1=38567&r2=38568&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/dbgk/dbgkobj.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/dbgk/dbgkobj.c [iso-8859-1] Sun Jan  4 11:33:47 2009
@@ -209,10 +209,11 @@
 {
     NTSTATUS Status;
     UCHAR Buffer[PORT_MAXIMUM_MESSAGE_LENGTH];
+    BOOLEAN Suspended = FALSE;
     PAGED_CODE();
 
     /* Suspend process if required */
-    if (SuspendProcess) DbgkpSuspendProcess();
+    if (SuspendProcess) Suspended = DbgkpSuspendProcess();
 
     /* Set return status */
     Message->ReturnedStatus = STATUS_PENDING;
@@ -232,21 +233,22 @@
     if (NT_SUCCESS(Status)) RtlCopyMemory(Message, Buffer, sizeof(DBGKM_MSG));
 
     /* Resume the process if it was suspended */
-    if (SuspendProcess) DbgkpResumeProcess();
+    if (Suspended) DbgkpResumeProcess();
     return Status;
 }
 
 NTSTATUS
 NTAPI
 DbgkpSendApiMessage(IN OUT PDBGKM_MSG ApiMsg,
-                    IN ULONG Flags)
+                    IN BOOLEAN SuspendProcess)
 {
     NTSTATUS Status;
+    BOOLEAN Suspended = FALSE;
     PAGED_CODE();
-    DBGKTRACE(DBGK_MESSAGE_DEBUG, "ApiMsg: %p Flags: %lx\n", ApiMsg, Flags);
+    DBGKTRACE(DBGK_MESSAGE_DEBUG, "ApiMsg: %p SuspendProcess: %lx\n", ApiMsg, SuspendProcess);
 
     /* Suspend process if required */
-    if (Flags) DbgkpSuspendProcess();
+    if (SuspendProcess) Suspended = DbgkpSuspendProcess();
 
     /* Set return status */
     ApiMsg->ReturnedStatus = STATUS_PENDING;
@@ -265,7 +267,7 @@
     ZwFlushInstructionCache(NtCurrentProcess(), NULL, 0);
 
     /* Resume the process if it was suspended */
-    if (Flags) DbgkpResumeProcess();
+    if (Suspended) DbgkpResumeProcess();
     return Status;
 }
 
@@ -426,7 +428,7 @@
     DBGKTRACE(DBGK_OBJECT_DEBUG, "DebugEvent: %p\n", DebugEvent);
 
     /* Check if we have to wake the thread */
-    if (DebugEvent->Flags & 20) PsResumeThread(Thread, NULL);
+    if (DebugEvent->Flags & 0x20) PsResumeThread(Thread, NULL);
 
     /* Check if we had locked the thread */
     if (DebugEvent->Flags & 8)

Modified: trunk/reactos/ntoskrnl/include/internal/dbgk.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/dbgk.h?rev=38568&r1=38567&r2=38568&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/dbgk.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/dbgk.h [iso-8859-1] Sun Jan  4 11:33:47 2009
@@ -102,7 +102,7 @@
 NTAPI
 DbgkpSendApiMessage(
     IN OUT PDBGKM_MSG ApiMsg,
-    IN ULONG Flags
+    IN BOOLEAN SuspendProcess
 );
 
 HANDLE



More information about the Ros-diffs mailing list