summaryrefslogtreecommitdiff
path: root/trunk/TAO/tests/Bug_2683_Regression/test_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tests/Bug_2683_Regression/test_i.cpp')
-rw-r--r--trunk/TAO/tests/Bug_2683_Regression/test_i.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/trunk/TAO/tests/Bug_2683_Regression/test_i.cpp b/trunk/TAO/tests/Bug_2683_Regression/test_i.cpp
new file mode 100644
index 00000000000..f808568b8ea
--- /dev/null
+++ b/trunk/TAO/tests/Bug_2683_Regression/test_i.cpp
@@ -0,0 +1,41 @@
+//
+// $Id$
+//
+#include "test_i.h"
+#include "ace/OS_NS_unistd.h"
+
+test_i::test_i (ORB_Killer *k)
+ : killer_ (k)
+{
+}
+
+void
+test_i::ping (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+
+}
+
+void
+test_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t) requesting shutdown \n"));
+ this->killer_->activate ();
+}
+
+
+ORB_Killer::ORB_Killer (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+int
+ORB_Killer::svc ()
+{
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t) doing shutdown \n"));
+ orb_->shutdown(1);
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t) shutdown complete\n"));
+ return 0;
+}