summaryrefslogtreecommitdiff
path: root/ACE/tests/Bug_2659_Regression_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests/Bug_2659_Regression_Test.cpp')
-rw-r--r--ACE/tests/Bug_2659_Regression_Test.cpp178
1 files changed, 0 insertions, 178 deletions
diff --git a/ACE/tests/Bug_2659_Regression_Test.cpp b/ACE/tests/Bug_2659_Regression_Test.cpp
deleted file mode 100644
index 2dd48ea3bce..00000000000
--- a/ACE/tests/Bug_2659_Regression_Test.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// tests
-//
-// = FILENAME
-// Bug_2659_Regression_Test.cpp
-//
-// = DESCRIPTION
-// Reproduces the problems reported in bug 2659:
-// http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2659
-//
-// = AUTHOR
-// Ciju John <johnc at ociweb>
-//
-// ============================================================================
-
-#include "test_config.h"
-
-#include "ace/Log_Msg.h"
-#include "ace/Task.h"
-#include "ace/OS_NS_unistd.h"
-#include "ace/Thread_Manager.h"
-#include "ace/TP_Reactor.h"
-
-#if !defined (ACE_LACKS_UNIX_SIGNALS)
-
-bool reactor_task_ready = false;
-
-
-//#define RUN_DEBUG 1
-
-#if defined RUN_DEBUG
-
-#define EE_DEBUG(CNAME,MNAME,LOC) \
-EntryExit ee (CNAME,MNAME,LOC)
-
-class EntryExit
-{
-public:
- EntryExit (const ACE_TCHAR* class_name, const ACE_TCHAR *method_name
- , void *location = 0)
- {
- class_name_ [20] = method_name_[20] = 0;
-
- ACE_OS::strncpy (class_name_, class_name, 20);
- ACE_OS::strncpy (method_name_, method_name, 20);
- location_ = location;
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Entry %@ %s::%s\n")
- , location, class_name, method_name));
- };
-
- ~EntryExit ()
- {
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Exit %@ %s::%s\n")
- , location_, class_name_, method_name_));
- };
-
-private:
- ACE_TCHAR class_name_[21];
- ACE_TCHAR method_name_[21];
- void *location_;
-};
-
-#else
-
-#define EE_DEBUG(CNAME,MNAME,LOC)
-
-#endif // if defined RUN_DEBUG
-
-
-
-static void
-handle_signal (int )
-{
- EE_DEBUG ("", "handle_signal", 0);
-
- // Dummy signal handler
-}
-
-class ReactorTask : public ACE_Task_Base
-{
-public:
-
- virtual ~ReactorTask ()
- {
- EE_DEBUG ("ReactorTask", "~ReactorTask", this);
- };
-
- virtual int svc (void )
- {
- EE_DEBUG ("ReactorTask", "svc", this);
-
- // Register a valid signal handler
- // so process doesn't die upon receiving signal
- ACE_Sig_Action sa ((ACE_SignalHandler) &::handle_signal, SIGUSR1);
- ACE_UNUSED_ARG (sa);
-
- if (simulate_perform_work () == -1) {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) ERROR: simulated_perform_work failed.\n"))
- , -1);
- }
-
- return 0;
- };
-
-private:
- int simulate_perform_work ()
- {
- EE_DEBUG ("ReactorTask", "simulate_perform_work", this);
-
- // Create a reactor which doesn't automatically restart
- // upon interruption
- ACE_TP_Reactor tp_reactor (ACE_TP_Reactor::DEFAULT_SIZE
- , 0);
-
- reactor_task_ready = true;
-
- // This will return upon signal interruption
- return tp_reactor.handle_events ();
- }
-};
-
-int
-run_main (int, ACE_TCHAR *[])
-{
- ACE_START_TEST (ACE_TEXT ("Bug_2659_Regression_Test"));
- EE_DEBUG ("", "run_main", 0);
-
- ReactorTask reactor_task;
-
- if (reactor_task.activate () == -1) {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Task activation failed.\n"))
- , -1);
- }
-
- ACE_Thread_Manager *thread_manager = reactor_task.thr_mgr ();
- if (thread_manager == 0) {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) No Thread Manager found.\n"))
- , -1);
- }
-
- while (!reactor_task_ready) {
- ACE_OS:: sleep (1);
- }
-
- if (thread_manager->kill_all (SIGUSR1) == -1) {
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) Task signalling failed.\n"))
- , -1);
- }
-
- if (reactor_task.wait () == -1) {
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("(%P|%t) Task wait failed.\n"))
- , -1);
- }
-
- ACE_END_TEST;
-
- return 0;
-}
-
-#else
-int
-run_main (int, ACE_TCHAR *[])
-{
- ACE_START_TEST (ACE_TEXT ("Bug_2659_Regression_Test"));
- ACE_ERROR ((LM_INFO,
- ACE_TEXT ("The Unix Signals capability is not supported on this platform\n")));
- ACE_END_TEST;
- return 0;
-}
-#endif /* !defined (ACE_LACKS_UNIX_SIGNALS) */