diff options
author | johnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-21 19:19:26 +0000 |
---|---|---|
committer | johnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-21 19:19:26 +0000 |
commit | 749511fbc746ad0d8e87f09af01242df2cb81014 (patch) | |
tree | 51eadae9ab49fbcce99f1579e39fb2c2077a1b70 | |
parent | 9dabf6e176227a0418b853df18c98c088c65790b (diff) | |
download | ATCD-749511fbc746ad0d8e87f09af01242df2cb81014.tar.gz |
Thu Sep 21 16:51:34 UTC 2006 Ciju John <johnc@ociweb.com>
* ace/TP_Reactor.h:
* ace/TP_Reactor.cpp:
The TP_Reactor signal handling implementation is
incomplete. In the current implementation under certain
circumstances (event loop breaks out if interrupted. This is
controlled via ACE_Select_Reactor_T::restart()), a properly
handled OS signal can break the reactor event loop in
an unpredictable manner. This is due to the fact that we cannot
predict which thread will receive the OS signal. Untill the
TP_Reactor signal handling is fixed, I am commenting it out.
-rw-r--r-- | ACE/ChangeLog | 13 | ||||
-rw-r--r-- | ACE/ace/TP_Reactor.cpp | 19 | ||||
-rw-r--r-- | ACE/ace/TP_Reactor.h | 6 |
3 files changed, 35 insertions, 3 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index e0e1d6028aa..aa98dde2017 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,16 @@ +Thu Sep 21 16:51:34 UTC 2006 Ciju John <johnc@ociweb.com> + + * ace/TP_Reactor.h: + * ace/TP_Reactor.cpp: + The TP_Reactor signal handling implementation is + incomplete. In the current implementation under certain + circumstances (event loop breaks out if interrupted. This is + controlled via ACE_Select_Reactor_T::restart()), a properly + handled OS signal can break the reactor event loop in + an unpredictable manner. This is due to the fact that we cannot + predict which thread will receive the OS signal. Untill the + TP_Reactor signal handling is fixed, I am commenting it out. + Thu Sep 21 15:13:19 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com> * bin/tao_orb_tests.lst: diff --git a/ACE/ace/TP_Reactor.cpp b/ACE/ace/TP_Reactor.cpp index aa2c8438a46..f879bab9e0a 100644 --- a/ACE/ace/TP_Reactor.cpp +++ b/ACE/ace/TP_Reactor.cpp @@ -191,6 +191,11 @@ ACE_TP_Reactor::dispatch_i (ACE_Time_Value *max_wait_time, // how many events still need processing. May be this could be // useful in future. +#if 0 + // @Ciju + // signal handling isn't in a production state yet. + // Commenting it out for now. + // Dispatch signals if (event_count == -1) { @@ -203,6 +208,7 @@ ACE_TP_Reactor::dispatch_i (ACE_Time_Value *max_wait_time, return this->handle_signals (event_count, guard); } +#endif // #if 0 // If there are no signals and if we had received a proper // event_count then first look at dispatching timeouts. We need to @@ -253,6 +259,12 @@ ACE_TP_Reactor::dispatch_i (ACE_Time_Value *max_wait_time, return 0; } + +#if 0 + // @Ciju + // signal handling isn't in a production state yet. + // Commenting it out for now. + int ACE_TP_Reactor::handle_signals (int & /*event_count*/, ACE_TP_Token_Guard & /*guard*/) @@ -275,7 +287,7 @@ ACE_TP_Reactor::handle_signals (int & /*event_count*/, // handle signals at all then. If we happen to handle signals // in the TP_Reactor, we should then start worryiung about this // - Bala 21-Aug- 01 -#if 0 +if 0 // Not sure if this should be done in the TP_Reactor // case... leave it out for now. -Steve Huston 22-Aug-00 @@ -283,9 +295,9 @@ ACE_TP_Reactor::handle_signals (int & /*event_count*/, // result of signals they should be dispatched since // they may be time critical... active_handle_count = this->any_ready (dispatch_set); -#else +else // active_handle_count = 0; -#endif +endif // Record the fact that the Reactor has dispatched a // handle_signal() method. We need this to return the @@ -295,6 +307,7 @@ ACE_TP_Reactor::handle_signals (int & /*event_count*/, return -1; } +#endif // #if 0 int diff --git a/ACE/ace/TP_Reactor.h b/ACE/ace/TP_Reactor.h index 6cea2171307..228247cb2e8 100644 --- a/ACE/ace/TP_Reactor.h +++ b/ACE/ace/TP_Reactor.h @@ -258,10 +258,16 @@ protected: /// return 1 I/O handler for dispatching int get_event_for_dispatching (ACE_Time_Value *max_wait_time); +#if 0 + // @Ciju + // signal handling isn't in a production state yet. + // Commenting it out for now. + /// Method to handle signals /// @note It is just busted at this point in time. int handle_signals (int &event_count, ACE_TP_Token_Guard &g); +#endif // #if 0 /// Handle timer events int handle_timer_events (int &event_count, |