summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2003-07-16 13:07:25 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2003-07-16 13:07:25 +0000
commit9e19eedf923f0b467659a1a22af30f0d46124f84 (patch)
tree91a2a5e57ed0617d7a8c45242bd1d1f8c8838855 /TAO
parent9eff852e2be74f0e71708eac62d06c2ef9181ce4 (diff)
downloadATCD-9e19eedf923f0b467659a1a22af30f0d46124f84.tar.gz
ChangeLogTag: Wed Jul 16 13:05:12 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog10
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp26
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h20
3 files changed, 41 insertions, 15 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 3aea4f97c03..36bb68fd6be 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,13 @@
+Wed Jul 16 13:06:03 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp:
+ When updating the observers, when one fails, then just go on
+ further with the other observers instead of just stopping
+ with updating them all.
+
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h:
+ Small doxygen improvements
+
Wed Jul 16 12:15:34 UTC 2003 Don Hinton <dhinton@dresystems.com>
* TAO_IDL/ast/ast_argument.cpp:
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp
index a32233d1460..006c942f83c 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp
@@ -207,8 +207,17 @@ TAO_EC_Basic_ObserverStrategy::supplier_qos_update (
for (int i = 0; i != size; ++i)
{
- copy[i]->update_supplier (s_qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ ACE_TRY
+ {
+ copy[i]->update_supplier (s_qos ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ // Ignore exceptions, we must isolate other observers from
+ // failures on this one.
+ }
+ ACE_ENDTRY;
}
}
@@ -249,8 +258,17 @@ TAO_EC_Basic_ObserverStrategy::consumer_qos_update (
for (int i = 0; i != size; ++i)
{
- copy[i]->update_consumer (c_qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ ACE_TRY
+ {
+ copy[i]->update_consumer (c_qos ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ // Ignore exceptions, we must isolate other observers from
+ // failures on this one.
+ }
+ ACE_ENDTRY;
}
}
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h
index 1ca3f89b15d..6297dac192a 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h
@@ -35,16 +35,14 @@ class TAO_EC_ProxyPushSupplier;
/**
* @class TAO_EC_ObserverStrategy
*
- * @brief The strategy to handle observers for the Event Channel
- * subscriptions and publication.
+ * @brief The strategy to handle observers for the Event Channel subscriptions
+ * and publication.
*
- * The Event Channel supports Observers for the set of
- * subscriptions and publications.
- * This is used to implement federations of event channels,
- * either through UDP (multicast and unicast) and/or regular CORBA
- * calls.
- * This behavior of the EC is strategized to avoid overhead when
- * no gateways are needed.
+ * The Event Channel supports Observers for the set of subscriptions and
+ * publications. This is used to implement federations of event channels,
+ * either through UDP (multicast and unicast) and/or regular CORBA calls.
+ * This behavior of the EC is strategized to avoid overhead when no gateways
+ * are needed.
*/
class TAO_RTEvent_Export TAO_EC_ObserverStrategy
{
@@ -77,7 +75,7 @@ public:
virtual void disconnected (TAO_EC_ProxyPushConsumer*
ACE_ENV_ARG_DECL_NOT_USED) = 0;
- /// Used by the EC to inform the ObserverStrategy that a Consumer has
+ /// Used by the EC to inform the ObserverStrategy that a Supplier has
/// connected or disconnected from it.
virtual void connected (TAO_EC_ProxyPushSupplier*
ACE_ENV_ARG_DECL_NOT_USED) = 0;
@@ -194,7 +192,7 @@ public:
{
// The ACE_INLINE macros here are to keep g++ 2.7.X happy,
// otherwise it thinks they are used as inline functions before
- // beign used as such.... Apparently in the template code for the
+ // being used as such.... Apparently in the template code for the
// Hash_Map_Manager.
ACE_INLINE Observer_Entry (void);
ACE_INLINE Observer_Entry (RtecEventChannelAdmin::Observer_Handle h,