Module: wine Branch: master Commit: 4fca1693018de3c77d8fea0c10753f40c7a3cd1c URL: http://source.winehq.org/git/wine.git/?a=commit;h=4fca1693018de3c77d8fea0c10...
Author: Piotr Caban piotr@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 */