summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2002-10-31 17:59:46 +0000
committerbala <balanatarajan@users.noreply.github.com>2002-10-31 17:59:46 +0000
commit1d33458d172245a475e97828ecabe26200f974d3 (patch)
treea28dc91dcb42cdb7b375475207ea7a68397149da
parent4575d2ec434b4bbb168c268ba7d66a07601e2079 (diff)
downloadATCD-1d33458d172245a475e97828ecabe26200f974d3.tar.gz
ChangeLogTag: Thu Oct 31 11:58:24 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog5
-rw-r--r--TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp36
2 files changed, 30 insertions, 11 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index d2a61b4bbbd..76568e9aff0 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 31 11:58:24 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * orbsvcs/tests/EC_MT_Mcast/MCast.cpp: Fixed compile error in
+ builds where exceptions have been turned off.
+
Thu Oct 31 10:51:12 2002 Balachandran Natarajan <bala@cs.wustl.edu>
* docs/Smart_Proxies.html: Fixed a few typos.
diff --git a/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp b/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp
index 139777b12fa..63dcb3ed3a6 100644
--- a/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp
+++ b/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp
@@ -29,23 +29,37 @@ void *
run_orb_within_thread (void *)
{
ACE_DECLARE_NEW_CORBA_ENV;
+
while (! terminate_threads)
{
- CORBA::Boolean there_is_work =
- orb->work_pending (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- if (there_is_work)
+ ACE_TRY
{
- // We use a TAO extension. The CORBA mechanism does not
- // provide any decent way to control the duration of
- // perform_work() or work_pending(), so just calling
- // them results in a spin loop.
- ACE_Time_Value tv (0, 50000);
- orb->perform_work (tv ACE_ENV_ARG_PARAMETER);
+ CORBA::Boolean there_is_work =
+ orb->work_pending (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+ if (there_is_work)
+ {
+ // We use a TAO extension. The CORBA mechanism does not
+ // provide any decent way to control the duration of
+ // perform_work() or work_pending(), so just calling
+ // them results in a spin loop.
+ ACE_Time_Value tv (0, 50000);
+ orb->perform_work (tv ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "perform work");
+
+ return;
}
+ ACE_ENDTRY;
+ ACE_CHECK;
}
- return NULL;
+
+ return;
}
int parse_args (int argc, char *argv[]);