| Index: sandbox/win/src/target_services.cc
|
| diff --git a/sandbox/win/src/target_services.cc b/sandbox/win/src/target_services.cc
|
| index 03813c8feb7bf691bd6ffb051c681b7e5d9099ad..518507e95dc8a4ea13f515364d29db73a0239275 100644
|
| --- a/sandbox/win/src/target_services.cc
|
| +++ b/sandbox/win/src/target_services.cc
|
| @@ -7,6 +7,7 @@
|
| #include <process.h>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/win/windows_version.h"
|
| #include "sandbox/win/src/crosscall_client.h"
|
| #include "sandbox/win/src/handle_closer_agent.h"
|
| #include "sandbox/win/src/handle_interception.h"
|
| @@ -45,6 +46,13 @@ bool FlushCachedRegHandles() {
|
|
|
| // Checks if we have handle entries pending and runs the closer.
|
| bool CloseOpenHandles() {
|
| + // Windows 10 has FLG_ENABLE_HANDLE_EXCEPTIONS enabled by default so causes
|
| + // exceptions to be raised if target process attempts to close a handle that
|
| + // has already been closed by HandleCloser. Therefore, do not close any
|
| + // handles on Windows 10 until this flag is removed by MS.
|
| + // See crbug.com/452613.
|
| + if (base::win::GetVersion() == base::win::VERSION_WIN10)
|
| + return true;
|
| if (sandbox::HandleCloserAgent::NeedsHandlesClosed()) {
|
| sandbox::HandleCloserAgent handle_closer;
|
|
|
|
|