diff options
author | naga <naga@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-12 23:30:19 +0000 |
---|---|---|
committer | naga <naga@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-12 23:30:19 +0000 |
commit | aa2a60f518621b6ef984febdb7c73fa3d704e86f (patch) | |
tree | f6573ae65981e21e3a91b85464b8c929d5076a56 | |
parent | f0c15c97148c14e29a8f98aa37ac067fd15cb83e (diff) | |
download | ATCD-aa2a60f518621b6ef984febdb7c73fa3d704e86f.tar.gz |
*** empty log message ***
3 files changed, 42 insertions, 18 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp index 16e42e628a2..333e80782e8 100644 --- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp +++ b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp @@ -13,6 +13,12 @@ Command_Handler::Command_Handler (ACE_HANDLE command_handle) { } +Command_Handler::~Command_Handler (void) +{ + ACE_Reactor::instance ()->remove_handler (this, + ACE_Event_Handler::READ_MASK); +} + int Command_Handler::init (void) { @@ -1383,6 +1389,14 @@ Client_Sig_Handler::Client_Sig_Handler (Command_Handler *command_handler) { } +Client_Sig_Handler::~Client_Sig_Handler (void) +{ + ACE_Reactor::instance ()->remove_handler (this, + ACE_Event_Handler::NULL_MASK); + + ACE_Reactor::instance ()->remove_handler (this->sig_set); +} + int Client_Sig_Handler::register_handler (void) { @@ -1404,13 +1418,12 @@ Client_Sig_Handler::register_handler (void) -1); // Create a sigset_t corresponding to the signals we want to catch. - ACE_Sig_Set sig_set; - sig_set.sig_add (SIGINT); - sig_set.sig_add (SIGQUIT); - sig_set.sig_add (SIGALRM); - sig_set.sig_add (SIGUSR1); - sig_set.sig_add (SIGUSR2); + this->sig_set.sig_add (SIGINT); + this->sig_set.sig_add (SIGQUIT); + this->sig_set.sig_add (SIGALRM); + this->sig_set.sig_add (SIGUSR1); + this->sig_set.sig_add (SIGUSR2); // Register the signal handler object to catch the signals. if (ACE_Reactor::instance ()->register_handler (sig_set, diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.h index 10d36c8b05c..e8f2cefc39d 100644 --- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.h +++ b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.h @@ -52,6 +52,9 @@ public: Command_Handler (ACE_HANDLE command_handle); // Construct this handler with a control (UNIX) handle + ~Command_Handler (void); + // Destructor + int init (void); // initialize the ORB @@ -137,6 +140,9 @@ public: Client_Sig_Handler (Command_Handler *command_handler); // We need the command handler to call close () + ~Client_Sig_Handler (void); + // Destructor + virtual ACE_HANDLE get_handle (void) const; int register_handler (void); @@ -158,7 +164,10 @@ public: private: ACE_HANDLE handle_; // dummy handle for the sig handler. - + + ACE_Sig_Set sig_set; + // the signal set + Command_Handler *command_handler_; // We need the command handler to call close () diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp index b84cdd32ce3..0c9fa5b3197 100644 --- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp +++ b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp @@ -2972,31 +2972,33 @@ int CTRmain(void) // instantiate our command handler - Command_Handler *command_handler; - ACE_NEW_RETURN (command_handler, - Command_Handler (cmdSocket), - -1); + Command_Handler command_handler (cmdSocket); +// ACE_NEW_RETURN (command_handler, +// Command_Handler (cmdSocket), +// -1); - if (command_handler->init () == -1) + // if (command_handler->init () == -1) + if (command_handler.init () == -1) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) command_handler: init returned -1"), -1); // .. and register it with the reactor. - if (ACE_Reactor::instance ()->register_handler (command_handler, + if (ACE_Reactor::instance ()->register_handler (&command_handler, ACE_Event_Handler::READ_MASK) == -1) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) register_handler for command_handler failed\n"), -1); // and now instantiate the sig_handler - Client_Sig_Handler *client_sig_handler; - ACE_NEW_RETURN (client_sig_handler, - Client_Sig_Handler (command_handler), - -1); + Client_Sig_Handler client_sig_handler (&command_handler); +// Client_Sig_Handler *client_sig_handler; +// ACE_NEW_RETURN (client_sig_handler, +// Client_Sig_Handler (command_handler), +// -1); // .. and ask it to register itself with the reactor - if (client_sig_handler->register_handler () < 0) + if (client_sig_handler.register_handler () < 0) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) register_handler for sig_handler failed\n"), -1); |