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/1547@1350 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
23
patch/patches/sandbox_1011.patch
Normal file
23
patch/patches/sandbox_1011.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Index: sandbox_win.cc
|
||||
===================================================================
|
||||
--- sandbox_win.cc (revision 211613)
|
||||
+++ sandbox_win.cc (working copy)
|
||||
@@ -586,8 +586,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