diff options
Diffstat (limited to 'TAO/tests/Stack_Recursion/Server_Task.cpp')
-rw-r--r-- | TAO/tests/Stack_Recursion/Server_Task.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/TAO/tests/Stack_Recursion/Server_Task.cpp b/TAO/tests/Stack_Recursion/Server_Task.cpp new file mode 100644 index 00000000000..d331cd5377d --- /dev/null +++ b/TAO/tests/Stack_Recursion/Server_Task.cpp @@ -0,0 +1,37 @@ +// +// $Id$ +// + +#include "Server_Task.h" + +ACE_RCSID(Stack_Recusrion, + Server_Task, + "$Id$") + +Server_Task::Server_Task (CORBA::ORB_ptr orb, + ACE_Thread_Manager *thr_mgr) + : ACE_Task_Base (thr_mgr) + , orb_ (CORBA::ORB::_duplicate (orb)) +{ +} + +int +Server_Task::svc (void) +{ + ACE_DEBUG ((LM_DEBUG, "(%P|%t) Starting server task\n")); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + // run the test for at most 120 seconds... + ACE_Time_Value tv (120, 0); + this->orb_->run (tv ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + return -1; + } + ACE_ENDTRY; + ACE_DEBUG ((LM_DEBUG, "(%P|%t) Server task finished\n")); + return 0; +} |