mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Windows: Force child processes to exit on main process termination (issue #1011).
git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1453@1349 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -61,6 +61,12 @@ patches = [
|
||||
'name': 'drag_handler_601',
|
||||
'path': '../content/',
|
||||
},
|
||||
{
|
||||
# Force child processes to exit on main process termination.
|
||||
# http://code.google.com/p/chromiumembedded/issues/detail?id=1011
|
||||
'name': 'sandbox_1011',
|
||||
'path': '../content/common/',
|
||||
},
|
||||
{
|
||||
# Fix crash on 10.6 when building with the 10.7 SDK
|
||||
# http://code.google.com/p/chromiumembedded/issues/detail?id=1026
|
||||
|
23
cef3/patch/patches/sandbox_1011.patch
Normal file
23
cef3/patch/patches/sandbox_1011.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Index: sandbox_win.cc
|
||||
===================================================================
|
||||
--- sandbox_win.cc (revision 202711)
|
||||
+++ sandbox_win.cc (working copy)
|
||||
@@ -589,8 +589,17 @@
|
||||
cmd_line->AppendArg(base::StringPrintf("/prefetch:%d", base::Hash(type_str)));
|
||||
|
||||
if (!in_sandbox) {
|
||||
+ base::LaunchOptions options = base::LaunchOptions();
|
||||
base::ProcessHandle process = 0;
|
||||
- base::LaunchProcess(*cmd_line, base::LaunchOptions(), &process);
|
||||
+
|
||||
+ static HANDLE hJobObject = NULL;
|
||||
+ if (!hJobObject) {
|
||||
+ hJobObject = CreateJobObject(NULL, NULL);
|
||||
+ base::SetJobObjectAsKillOnJobClose(hJobObject);
|
||||
+ }
|
||||
+ options.job_handle = hJobObject;
|
||||
+
|
||||
+ base::LaunchProcess(*cmd_line, options, &process);
|
||||
g_broker_services->AddTargetPeer(process);
|
||||
return process;
|
||||
}
|
Reference in New Issue
Block a user