diff options
author | bala <balanatarajan@users.noreply.github.com> | 2002-10-31 17:59:46 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2002-10-31 17:59:46 +0000 |
commit | 1d33458d172245a475e97828ecabe26200f974d3 (patch) | |
tree | a28dc91dcb42cdb7b375475207ea7a68397149da | |
parent | 4575d2ec434b4bbb168c268ba7d66a07601e2079 (diff) | |
download | ATCD-1d33458d172245a475e97828ecabe26200f974d3.tar.gz |
ChangeLogTag: Thu Oct 31 11:58:24 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 5 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp | 36 |
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[]); |