diff options
Diffstat (limited to 'examples/APG/Signals/SigAction.cpp')
-rw-r--r-- | examples/APG/Signals/SigAction.cpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/examples/APG/Signals/SigAction.cpp b/examples/APG/Signals/SigAction.cpp deleted file mode 100644 index b9d96c6b702..00000000000 --- a/examples/APG/Signals/SigAction.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// $Id$ - -#include "ace/OS_NS_unistd.h" -#include "ace/Log_Msg.h" -// Listing 1 code/ch11 -#include "ace/Signal.h" - -// Forward declaration. -static void register_actions (); - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - ACE_TRACE (ACE_TEXT ("::main")); - - ::register_actions (); // Register actions to happen. - - // This will be raised immediately. - ACE_OS::kill (ACE_OS::getpid(), SIGUSR2); - - // This will pend until the first signal is completely - // handled and returns, because we masked it out - // in the registerAction call. - ACE_OS::kill (ACE_OS::getpid (), SIGUSR1); - - while (ACE_OS::sleep (100) == -1) - { - if (errno == EINTR) - continue; - else - ACE_OS::exit (1); - } - return 0; -} -// Listing 1 -#if defined (ACE_HAS_SIG_C_FUNC) -extern "C" { -#endif -// Listing 3 code/ch11 -static void my_sighandler (int signo) -{ - ACE_TRACE (ACE_TEXT ("::my_sighandler")); - - ACE_OS::kill (ACE_OS::getpid (), SIGUSR1); - - if (signo == SIGUSR1) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal SIGUSR1\n"))); - else - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Signal SIGUSR2\n"))); - - ACE_OS::sleep (10); -} -#if defined (ACE_HAS_SIG_C_FUNC) -} -#endif -// Listing 3 -// Listing 2 code/ch11 -static void register_actions () -{ - ACE_TRACE (ACE_TEXT ("::register_actions")); - - ACE_Sig_Action sa (reinterpret_cast <ACE_SignalHandler> (my_sighandler)); - - // Make sure we specify that SIGUSR1 will be masked out - // during the signal handler's execution. - ACE_Sig_Set ss; - ss.sig_add (SIGUSR1); - sa.mask (ss); - - // Register the same handler function for these - // two signals. - sa.register_action (SIGUSR1); - sa.register_action (SIGUSR2); -} -// Listing 2 |