summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppb_message_loop_proxy.cc
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 01:44:47 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 01:44:47 +0000
commit4c41d3fd4bf9cfef6108f5f700d503820bcddba4 (patch)
treeefc3cf9fdac963f1aa6449cea762408904a9f936 /ppapi/proxy/ppb_message_loop_proxy.cc
parent0f9386895aa7a61246eaa95246cbc0f05d320eee (diff)
downloadchromium_src-4c41d3fd4bf9cfef6108f5f700d503820bcddba4.zip
chromium_src-4c41d3fd4bf9cfef6108f5f700d503820bcddba4.tar.gz
chromium_src-4c41d3fd4bf9cfef6108f5f700d503820bcddba4.tar.bz2
reland 121901, PPAPI: Add unlocking for PPP calls and callbacks...
""" With this patch, ppapi_tests pass locally when building with enable_pepper_threading=1. (They didn't before). TODO: Test more calls off the main thread, make sync completion callbacks work. BUG=92909 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121901 """ TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/9361065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122001 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppb_message_loop_proxy.cc')
-rw-r--r--ppapi/proxy/ppb_message_loop_proxy.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/ppapi/proxy/ppb_message_loop_proxy.cc b/ppapi/proxy/ppb_message_loop_proxy.cc
index 12a48bb..7a64b50 100644
--- a/ppapi/proxy/ppb_message_loop_proxy.cc
+++ b/ppapi/proxy/ppb_message_loop_proxy.cc
@@ -55,6 +55,9 @@ class MessageLoopResource : public Resource, public PPB_MessageLoop_API {
// Handles posting to the message loop if there is one, or the pending queue
// if there isn't.
+ // NOTE: The given closure will be run *WITHOUT* acquiring the Proxy lock.
+ // This only makes sense for user code and completely thread-safe
+ // proxy operations (e.g., MessageLoop::QuitClosure).
void PostClosure(const tracked_objects::Location& from_here,
const base::Closure& closure,
int64 delay_ms);
@@ -197,8 +200,9 @@ void MessageLoopResource::PostClosure(
const base::Closure& closure,
int64 delay_ms) {
if (loop_.get()) {
- loop_->PostDelayedTask(
- from_here, closure, base::TimeDelta::FromMilliseconds(delay_ms));
+ loop_->PostDelayedTask(from_here,
+ closure,
+ base::TimeDelta::FromMilliseconds(delay_ms));
} else {
TaskInfo info;
info.from_here = FROM_HERE;