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',
|
'name': 'drag_handler_601',
|
||||||
'path': '../content/',
|
'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
|
# Fix crash on 10.6 when building with the 10.7 SDK
|
||||||
# http://code.google.com/p/chromiumembedded/issues/detail?id=1026
|
# 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