| Index: chrome/browser/win/enumerate_modules_model.h
|
| diff --git a/chrome/browser/win/enumerate_modules_model.h b/chrome/browser/win/enumerate_modules_model.h
|
| index ce1ec23ecac2413e1c8ddcc41405c36d01892235..da0bdbd67fea8fd3df988268e479cb5e6ffdc97d 100644
|
| --- a/chrome/browser/win/enumerate_modules_model.h
|
| +++ b/chrome/browser/win/enumerate_modules_model.h
|
| @@ -139,7 +139,7 @@ class ModuleEnumerator {
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(EnumerateModulesTest, CollapsePath);
|
|
|
| - // This function does the actual file scanning work on the FILE thread. It
|
| + // This function does the actual file scanning work in the blocking pool. It
|
| // enumerates all loaded modules in the process and other modules of interest,
|
| // such as the registered Winsock LSP modules and stores them in
|
| // |enumerated_modules_|. It then normalizes the module info and matches them
|
| @@ -220,7 +220,9 @@ class ModuleEnumerator {
|
| // ready.
|
| //
|
| // The member functions of this class may only be used from the UI thread. The
|
| -// bulk of the work is actually performed on the FILE thread.
|
| +// bulk of the work is actually performed in the blocking pool with
|
| +// CONTINUE_ON_SHUTDOWN semantics, as the WinCrypt functions can effectively
|
| +// block arbitrarily during shutdown.
|
| //
|
| // TODO(chrisha): If this logic is ever extended to other platforms, then make
|
| // this file generic for all platforms, and remove the precompiler logic in
|
| @@ -307,13 +309,13 @@ class EnumerateModulesModel {
|
| void DoneScanning();
|
|
|
| // The vector containing all the modules enumerated. Will be normalized and
|
| - // any bad modules will be marked. Written to on the FILE thread by the
|
| + // any bad modules will be marked. Written to from the blocking pool by the
|
| // |module_enumerator_|, read from on the UI thread by this class.
|
| ModuleEnumerator::ModulesVector enumerated_modules_;
|
|
|
| - // The object responsible for enumerating the modules on the FILE thread.
|
| - // Only used from the UI thread. This ends up internally doing its work on the
|
| - // FILE thread.
|
| + // The object responsible for enumerating the modules in the blocking pool.
|
| + // Only used from the UI thread. This ends up internally doing its work in the
|
| + // blocking pool.
|
| std::unique_ptr<ModuleEnumerator> module_enumerator_;
|
|
|
| // Whether the conflict notification has been acknowledged by the user. Only
|
|
|