summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2017-01-21 07:46:03 +0000
committerLang Hames <lhames@gmail.com>2017-01-21 07:46:03 +0000
commit8ae86dbe4739115c923f1a7582e34cf23eb02385 (patch)
tree86d089996fe13410234678d722a1801495093183 /llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
parent8e0724d33206c15061a0be2ff5c66c7e6b304d13 (diff)
downloadbcm5719-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.cpp26
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();
+}
OpenPOWER on IntegriCloud