diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-03 17:13:49 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-03 17:13:49 +0000 |
commit | d9c964d64dc835bcabbaaf1a88d0030bb2abadee (patch) | |
tree | 250d28a3c45245e9d7a64c42504dc272715dc798 /ceee | |
parent | d7b59a0c525807f1eaf0456c3db3b4f659bcccc4 (diff) | |
download | chromium_src-d9c964d64dc835bcabbaaf1a88d0030bb2abadee.zip chromium_src-d9c964d64dc835bcabbaaf1a88d0030bb2abadee.tar.gz chromium_src-d9c964d64dc835bcabbaaf1a88d0030bb2abadee.tar.bz2 |
Avoid unwind in function using __try
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/5512008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68177 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ceee')
-rw-r--r-- | ceee/ie/broker/broker_rpc_client.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ceee/ie/broker/broker_rpc_client.cc b/ceee/ie/broker/broker_rpc_client.cc index 387f548..33e7d00 100644 --- a/ceee/ie/broker/broker_rpc_client.cc +++ b/ceee/ie/broker/broker_rpc_client.cc @@ -19,10 +19,16 @@ namespace { +// Avoid using objects requiring unwind in functions that use __try. void LogRpcException(const char* str, unsigned int exception_code) { LOG(ERROR) << str << com::LogWe(exception_code); } +// Avoid using objects requiring unwind in functions that use __try. +void RpcDcheck(const char* message) { + NOTREACHED() << message; +} + HRESULT BindRpc(std::wstring endpoint, RPC_BINDING_HANDLE* binding_handle) { DCHECK(binding_handle != NULL); std::wstring protocol = kRpcProtocol; @@ -157,7 +163,9 @@ template<class Function, class Params> HRESULT BrokerRpcClient::RunRpc(bool allow_restart, Function rpc_function, const Params& params) { - DCHECK(rpc_function); + if (!rpc_function) { + RpcDcheck("rpc_function is NULL"); + } if (!is_connected()) return RPC_E_FAULT; RpcTryExcept { |