summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-21 19:19:26 +0000
committerjohnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-21 19:19:26 +0000
commit749511fbc746ad0d8e87f09af01242df2cb81014 (patch)
tree51eadae9ab49fbcce99f1579e39fb2c2077a1b70
parent9dabf6e176227a0418b853df18c98c088c65790b (diff)
downloadATCD-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/ChangeLog13
-rw-r--r--ACE/ace/TP_Reactor.cpp19
-rw-r--r--ACE/ace/TP_Reactor.h6
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,