From 8ef9022a0d352066587791b3e225ca264c688ade Mon Sep 17 00:00:00 2001 From: yzshen Date: Mon, 22 Feb 2016 17:22:10 -0800 Subject: Reland "Mojo C++ bindings: support sync methods - part 2" This CL introduces the correct re-entrancy behavior: when a sync call is waiting for response, allow incoming sync requests on the same thread to re-enter, async messages are queued until the sync call completes. The following will be in future CLs: - Support sync calls with associated interfaces. The original CL is at https://codereview.chromium.org/1713203002/ BUG=577699 Review URL: https://codereview.chromium.org/1723673002 Cr-Commit-Position: refs/heads/master@{#376892} --- mojo/public/cpp/bindings/lib/interface_ptr_state.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mojo/public/cpp/bindings/lib/interface_ptr_state.h') diff --git a/mojo/public/cpp/bindings/lib/interface_ptr_state.h b/mojo/public/cpp/bindings/lib/interface_ptr_state.h index a175edd..b2093bb 100644 --- a/mojo/public/cpp/bindings/lib/interface_ptr_state.h +++ b/mojo/public/cpp/bindings/lib/interface_ptr_state.h @@ -172,7 +172,8 @@ class InterfacePtrState { filters.Append(); filters.Append(); - router_ = new Router(std::move(handle_), std::move(filters), waiter_); + router_ = + new Router(std::move(handle_), std::move(filters), false, waiter_); waiter_ = nullptr; proxy_ = new Proxy(router_); -- cgit v1.1