Piotr Caban : server: Don' t debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess.

Alexandre Julliard julliard at winehq.org
Wed Apr 9 13:52:05 CDT 2014


Module: wine
Branch: master
Commit: 4fca1693018de3c77d8fea0c10753f40c7a3cd1c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4fca1693018de3c77d8fea0c10753f40c7a3cd1c

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Apr  9 10:15:41 2014 +0200

server: Don't debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess.

---

 dlls/kernel32/tests/debugger.c |    1 +
 server/process.c               |    3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/kernel32/tests/debugger.c b/dlls/kernel32/tests/debugger.c
index 41e4f1a..011ed5f 100644
--- a/dlls/kernel32/tests/debugger.c
+++ b/dlls/kernel32/tests/debugger.c
@@ -846,6 +846,7 @@ START_TEST(debugger)
         test_debug_loop(myARGC, myARGV);
         test_debug_children(myARGV[0], DEBUG_PROCESS, TRUE);
         test_debug_children(myARGV[0], DEBUG_ONLY_THIS_PROCESS, FALSE);
+        test_debug_children(myARGV[0], DEBUG_PROCESS|DEBUG_ONLY_THIS_PROCESS, FALSE);
         test_debug_children(myARGV[0], 0, FALSE);
     }
 }
diff --git a/server/process.c b/server/process.c
index ceaef64..7b9a3b2 100644
--- a/server/process.c
+++ b/server/process.c
@@ -955,7 +955,8 @@ DECL_HANDLER(new_process)
 
     if (!(thread = create_process( socket_fd, current, req->inherit_all ))) goto done;
     process = thread->process;
-    process->debug_children = !!(req->create_flags & DEBUG_PROCESS);
+    process->debug_children = (req->create_flags & DEBUG_PROCESS)
+        && !(req->create_flags & DEBUG_ONLY_THIS_PROCESS);
     process->startup_info = (struct startup_info *)grab_object( info );
 
     /* connect to the window station */




More information about the wine-cvs mailing list