summaryrefslogtreecommitdiff
path: root/examples/APG/ThreadManagement/Signals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/APG/ThreadManagement/Signals.cpp')
-rw-r--r--examples/APG/ThreadManagement/Signals.cpp97
1 files changed, 0 insertions, 97 deletions
diff --git a/examples/APG/ThreadManagement/Signals.cpp b/examples/APG/ThreadManagement/Signals.cpp
deleted file mode 100644
index 19b7e72e495..00000000000
--- a/examples/APG/ThreadManagement/Signals.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// $Id$
-
-#include "ace/config-lite.h"
-#if defined (ACE_HAS_THREADS)
-
-#include "ace/OS_NS_time.h"
-#include "ace/OS_NS_unistd.h"
-#include "ace/Task.h"
-#include "ace/Log_Msg.h"
-#include "ace/Signal.h"
-
-// Listing 1 code/ch13
-class SignalableTask : public ACE_Task<ACE_MT_SYNCH>
-{
-public:
- virtual int handle_signal (int signum,
- siginfo_t * = 0,
- ucontext_t * = 0)
- {
- if (signum == SIGUSR1)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) received a %S signal\n"),
- signum));
- handle_alert ();
- }
- return 0;
- }
-
- virtual int svc (void)
- {
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Starting thread\n")));
-
- while (1)
- {
- ACE_Message_Block* mb;
- ACE_Time_Value tv (0, 1000);
- tv += ACE_OS::time (0);
- int result = this->getq (mb, &tv);
- if (result == -1 && errno == EWOULDBLOCK)
- continue;
- else
- process_message (mb);
- }
-
- ACE_NOTREACHED (return 0);
- }
-
- void handle_alert ();
- void process_message (ACE_Message_Block *mb);
-};
-// Listing 1
-
-void
-SignalableTask::process_message (ACE_Message_Block *)
-{
-}
-
-void
-SignalableTask::handle_alert ()
-{
-}
-
-// Listing 2 code/ch13
-int ACE_TMAIN (int, ACE_TCHAR *[])
-{
- SignalableTask handler;
- handler.activate (THR_NEW_LWP | THR_JOINABLE , 5);
-
- ACE_Sig_Handler sh;
- sh.register_handler (SIGUSR1, &handler);
-
- ACE_OS::sleep (1);
-
- ACE_Thread_Manager::instance () ->
- kill_grp (handler.grp_id (), SIGUSR1);
- handler.wait ();
- return 0;
-}
-// Listing 2
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Task<ACE_MT_SYNCH>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-pragma instantiate ACE_Task<ACE_MT_SYNCH>;
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-#else
-#include "ace/OS_main.h"
-#include "ace/OS_NS_stdio.h"
-
-int ACE_TMAIN (int, ACE_TCHAR *[])
-{
- ACE_OS::puts (ACE_TEXT ("This example requires threads."));
- return 0;
-}
-
-#endif /* ACE_HAS_THREADS */