Added patch to fix bug in wineserver debug_children inheritance (fixes Wine Staging Bug #525).

This commit is contained in:
Sebastian Lackner
2015-08-24 07:57:02 +02:00
parent 12d1613d90
commit ddb4ddd749
5 changed files with 71 additions and 1 deletions

View File

@@ -0,0 +1,43 @@
From 876a479a3c7697b863cedaabc610d3e2966b941e Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 24 Aug 2015 07:53:34 +0200
Subject: server: Properly inherit debug_children flag.
---
server/process.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/server/process.c b/server/process.c
index a92821a..adbc10b 100644
--- a/server/process.c
+++ b/server/process.c
@@ -1260,8 +1260,6 @@ 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)
- && !(req->create_flags & DEBUG_ONLY_THIS_PROCESS);
process->startup_info = (struct startup_info *)grab_object( info );
if (parent->job
@@ -1302,9 +1300,17 @@ DECL_HANDLER(new_process)
/* attach to the debugger if requested */
if (req->create_flags & (DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS))
+ {
set_process_debugger( process, current );
+ process->debug_children = !(req->create_flags & DEBUG_ONLY_THIS_PROCESS);
+ }
else if (parent->debugger && parent->debug_children)
+ {
set_process_debugger( process, parent->debugger );
+ process->debug_children = 1;
+ }
+ else
+ process->debug_children = 0;
if (!(req->create_flags & CREATE_NEW_PROCESS_GROUP))
process->group_id = parent->group_id;
--
2.5.0

View File

@@ -0,0 +1 @@
Fixes: Properly inherit debug_children flag in wineserver