Chromium Code Reviews| Index: base/win/object_watcher.cc |
| diff --git a/base/win/object_watcher.cc b/base/win/object_watcher.cc |
| index fe209f5e3385ba58b496c56f8f9418c4391e8b57..efa133a2828978b572564aefdae56d09036a2704 100644 |
| --- a/base/win/object_watcher.cc |
| +++ b/base/win/object_watcher.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/bind.h" |
| #include "base/logging.h" |
| +#include "base/win/windows_version.h" |
| namespace base { |
| namespace win { |
| @@ -34,6 +35,10 @@ bool ObjectWatcher::StartWatching(HANDLE object, Delegate* delegate) { |
| // result back to this thread, we can just run on a Windows wait thread. |
| DWORD wait_flags = WT_EXECUTEINWAITTHREAD | WT_EXECUTEONLYONCE; |
| + if (base::win::GetVersion() > base::win::VERSION_XP) { |
| + wait_flags |= WT_TRANSFER_IMPERSONATION; |
|
forshaw
2015/02/20 11:38:02
What's the reason being this change? Currently it'
Shrikant Kelkar
2015/02/21 02:32:40
Removed.. During initial checks, I think chrome_el
|
| + } |
| + |
| // DoneWaiting can be synchronously called from RegisterWaitForSingleObject, |
| // so set up all state now. |
| callback_ = base::Bind(&ObjectWatcher::Signal, weak_factory_.GetWeakPtr(), |