summaryrefslogtreecommitdiff
path: root/TAO/tests/Bug_3768_Regression/TestServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Bug_3768_Regression/TestServer.cpp')
-rw-r--r--TAO/tests/Bug_3768_Regression/TestServer.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/TAO/tests/Bug_3768_Regression/TestServer.cpp b/TAO/tests/Bug_3768_Regression/TestServer.cpp
new file mode 100644
index 00000000000..1df313ca1a1
--- /dev/null
+++ b/TAO/tests/Bug_3768_Regression/TestServer.cpp
@@ -0,0 +1,32 @@
+//
+// $Id: TestServer.cpp
+//
+#include "TestServer.h"
+
+void
+TestServer::pass_callback (Test::TestCallback_ptr test)
+{
+ // Save the callback object
+ callback_ = Test::TestCallback::_duplicate(test);
+
+ // Start worker threads on the client: this call won't come back
+ callback_->start_threads_and_block();
+}
+
+bool
+TestServer::got_callback (void)
+{
+ return (callback_.in() != 0);
+}
+
+void
+TestServer::make_callback (void)
+{
+ callback_->test_call();
+}
+
+void
+TestServer::shutdown_client (void)
+{
+ callback_->shutdown();
+}