diff options
author | Lang Hames <lhames@gmail.com> | 2017-01-21 07:46:03 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2017-01-21 07:46:03 +0000 |
commit | 8ae86dbe4739115c923f1a7582e34cf23eb02385 (patch) | |
tree | 86d089996fe13410234678d722a1801495093183 /llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp | |
parent | 8e0724d33206c15061a0be2ff5c66c7e6b304d13 (diff) | |
download | bcm5719-llvm-8ae86dbe4739115c923f1a7582e34cf23eb02385.tar.gz bcm5719-llvm-8ae86dbe4739115c923f1a7582e34cf23eb02385.zip |
[Orc][RPC] Add 'removeHandler' and 'clearHandlers' methods to RPC endpoints.
This can be used to free handler resources for handlers that won't be called
again.
llvm-svn: 292714
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp')
-rw-r--r-- | llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp b/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp index 186c3d40848..9abf401af41 100644 --- a/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp @@ -504,3 +504,29 @@ TEST(DummyRPC, TestAPICalls) { ServerThread.join(); } + +TEST(DummyRPC, TestRemoveHandler) { + Queue Q1, Q2; + DummyRPCEndpoint Server(Q1, Q2); + + Server.addHandler<DummyRPCAPI::VoidBool>( + [](bool B) { + EXPECT_EQ(B, true) + << "Server void(bool) received unexpected result"; + }); + + Server.removeHandler<DummyRPCAPI::VoidBool>(); +} + +TEST(DummyRPC, TestClearHandlers) { + Queue Q1, Q2; + DummyRPCEndpoint Server(Q1, Q2); + + Server.addHandler<DummyRPCAPI::VoidBool>( + [](bool B) { + EXPECT_EQ(B, true) + << "Server void(bool) received unexpected result"; + }); + + Server.clearHandlers(); +} |