diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-10 22:24:53 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-10 22:24:53 +0000 |
commit | a40e548394014c8679c269fb936a57e68e632080 (patch) | |
tree | 9ecab63f54ba8ce7be569da87b2d364f48dca391 /chrome/browser/printing | |
parent | aebe23a3cd89181c929618093ec8a0fefb4b4f11 (diff) | |
download | chromium_src-a40e548394014c8679c269fb936a57e68e632080.zip chromium_src-a40e548394014c8679c269fb936a57e68e632080.tar.gz chromium_src-a40e548394014c8679c269fb936a57e68e632080.tar.bz2 |
Consider PlatformThread::Join() to be blocking IO.
Marks PlatformThread::Join() as blocking IO using ThreadRestrictions.
Whitelists existing spots where we join on the UI/IO threads.
Also noteworthy is I allow blocking IO on shutdown.
BUG=65530,66077,66082
TEST=none
Review URL: http://codereview.chromium.org/5693003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68893 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing')
-rw-r--r-- | chrome/browser/printing/printer_query.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/printing/printer_query.cc b/chrome/browser/printing/printer_query.cc index c28f400..7b73d86 100644 --- a/chrome/browser/printing/printer_query.cc +++ b/chrome/browser/printing/printer_query.cc @@ -5,6 +5,7 @@ #include "chrome/browser/printing/printer_query.h" #include "base/message_loop.h" +#include "base/thread_restrictions.h" #include "chrome/browser/printing/print_job_worker.h" namespace printing { @@ -96,6 +97,10 @@ void PrinterQuery::GetSettings(GetSettingsAskParam ask_user_for_settings, void PrinterQuery::StopWorker() { if (worker_.get()) { + // http://crbug.com/66082: We're blocking on the PrinterQuery's worker + // thread. It's not clear to me if this may result in blocking the current + // thread for an unacceptable time. We should probably fix it. + base::ThreadRestrictions::ScopedAllowIO allow_io; worker_->Stop(); worker_.reset(); } |