diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2006-05-16 22:44:35 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2006-05-16 22:44:35 +0000 |
commit | 8555af364564a56ac236370a180d4755dda9e1ba (patch) | |
tree | 51258c739b26ccb0b21057e6a2d84f1b0acbadd9 | |
parent | 1d60fc04c8e6250a4ec3771ec995877289792461 (diff) | |
download | ATCD-8555af364564a56ac236370a180d4755dda9e1ba.tar.gz |
ChangeLog tag: Tue May 16 19:08:49 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r-- | TAO/ChangeLog | 41 | ||||
-rw-r--r-- | TAO/NEWS | 18 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp | 13 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h | 4 | ||||
-rw-r--r-- | TAO/tao/BiDir_GIOP/BiDirGIOP.h | 2 | ||||
-rw-r--r-- | TAO/tao/CSD_Framework/CSD_Object_Adapter_Factory.h | 1 | ||||
-rw-r--r-- | TAO/tao/EndpointPolicy/EndpointPolicy.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/EndpointPolicy/EndpointPolicy.h | 1 | ||||
-rw-r--r-- | TAO/tao/Messaging/Messaging_Loader.h | 1 | ||||
-rw-r--r-- | TAO/tao/OctetSeqC.cpp | 20 | ||||
-rw-r--r-- | TAO/tao/OctetSeqC.h | 12 | ||||
-rw-r--r-- | TAO/tao/PI_Server/PI_Server_Loader.h | 1 | ||||
-rw-r--r-- | TAO/tao/RTScheduling/RTScheduler_Loader.h | 1 | ||||
-rw-r--r-- | TAO/tao/diffs/OctetSeq.diff | 57 | ||||
-rw-r--r-- | TAO/tests/Bug_2417_Regression/publisher_impl.cpp | 207 |
15 files changed, 262 insertions, 118 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 1e3302c2e7a..9199ec41a71 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,44 @@ +Tue May 16 19:08:49 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com> + + * NEWS: + Add decription of new features/fixes. + + * tao/BiDir_GIOP/BiDirGIOP.h: + * tao/CSD_Framework/CSD_Object_Adapter_Factory.h: + * tao/EndpointPolicy/EndpointPolicy.h: + * tao/EndpointPolicy/EndpointPolicy.cpp: + * tao/Messaging/Messaging_Loader.h: + * tao/PI_Server/PI_Server_Loader.h: + * tao/RTScheduling/RTScheduler_Loader.h: + + Fix for certain static builds, notably VC71 on WinXP, for + libraries that depend on the Portable Interceptors library for + registering ORB Initializers. + + * tests/Bug_2417_Regression/publisher_impl.cpp: + + This test runs very long for what it is demonstrating. With the + underlying reference counting problem resolved, the server now + runs to completion. Since the test is using asynch connection + establishment and SYNCH_NONE oneways, there is no way for the + publisher to detect that the subscriber is gone until it makes a + synchronizing twoway call. The period between synch tests was so + long that on a slow machine the test would time out. + + * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: + * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h: + * tao/OctetSeqC.cpp: + * tao/OctetSeqC.h: + * tao/diffs/OctetSeq.diff: + + Applying fixes to the problems still remaining in the versioned + namespace builds. Not all compilers found the problem in + Reconfig_Scheduler_T.cpp, but gcc 3.3.1 did. The OctetSeq change + might represent a candidate for a change to the IDL compiler, + but for now I think not, as octet sequences are treated as a + special case, having an explicit template instanciation provided + along with explicit equality operators. + Tue May 16 14:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> * tests/Strategies/Strategies.mpc: @@ -42,6 +42,24 @@ USER VISIBLE CHANGES BETWEEN TAO-1.5.1 and TAO-1.5.2 IDL compiler. If you need these for your project, add -GT to the idl compiler flags. +. Added support for CORBA specified truncatable valuetypes. + +. Added support for CORBA specified POAManagerFactory. + +. Added TAO-proprietary EndpointPolicy. This is used as a filter to limit + which of an ORBs endpoints are inserted into an object reference. The + endpoint policy is applied to POAManagers created via the POAManagerFactory + and affect all POAs associated with that POAManager. + +. Added a client-side connection optimization, the Parallel Connect Strategy + This strategy makes the client evaluate all endpoints in profile at the same + time when trying to connect to the server. For this to work the server must + be run with -ORBUseSharedProfile 1 and the client must be run with + -ORBUseParallelConnect 1. + +. Fixed several bugs related to asynchronous connection establishment. These + are represented by the AMI_Buffering tests and bug 2417's regression test. + USER VISIBLE CHANGES BETWEEN TAO-1.5 and TAO-1.5.1 ==================================================== diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp index d4d51e5294d..cc561b93bad 100644 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp +++ b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp @@ -1797,8 +1797,8 @@ create_i (const char *entry_point, auto_ptr<TAO_Reconfig_Scheduler_Entry> new_sched_entry_ptr (new_sched_entry); // Maintain the size of the entry pointer array. - ::maintain_scheduling_array (entry_ptr_array_, entry_ptr_array_size_, - handle ACE_ENV_ARG_PARAMETER); + maintain_scheduling_array (entry_ptr_array_, entry_ptr_array_size_, + handle ACE_ENV_ARG_PARAMETER); ACE_CHECK_RETURN (0); @@ -1914,10 +1914,10 @@ set_i (TAO_RT_Info_Ex *rt_info, } // Maintain the size of the entry pointer array. - ::maintain_scheduling_array (tuple_ptr_array_, - tuple_ptr_array_size_, - rt_info_tuple_count_ - ACE_ENV_ARG_PARAMETER); + maintain_scheduling_array (tuple_ptr_array_, + tuple_ptr_array_size_, + rt_info_tuple_count_ + ACE_ENV_ARG_PARAMETER); ACE_CHECK; // Store the new tuple in the tuple pointer array. @@ -3156,4 +3156,3 @@ TAO_Reconfig_Scheduler<RECONFIG_SCHED_STRATEGY, ACE_LOCK>::init_rt_info (RtecSch TAO_END_VERSIONED_NAMESPACE_DECL #endif /* TAO_RECONFIG_SCHEDULER_T_C */ - diff --git a/TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h b/TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h index e59fa4a10ab..b258b921ef1 100644 --- a/TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h +++ b/TAO/orbsvcs/orbsvcs/Trader/Interpreter_Utils.h @@ -25,7 +25,7 @@ #include "orbsvcs/Trader/trading_serv_export.h" -TAO_BEGIN_VERSIONED_NAMESPACE_DECL +ACE_BEGIN_VERSIONED_NAMESPACE_DECL template<> class TAO_Trading_Serv_Export ACE_Hash<CORBA::String_var> @@ -73,6 +73,8 @@ typedef ACE_Hash_Map_Manager_Ex<CORBA::String_var, ACE_Null_Mutex> TAO_Typecode_Table; +ACE_END_VERSIONED_NAMESPACE_DECL +TAO_BEGIN_VERSIONED_NAMESPACE_DECL // ************************************************************* // TAO_Sequence_Extracter_Base diff --git a/TAO/tao/BiDir_GIOP/BiDirGIOP.h b/TAO/tao/BiDir_GIOP/BiDirGIOP.h index c1cafd48fa3..fce8ed7395e 100644 --- a/TAO/tao/BiDir_GIOP/BiDirGIOP.h +++ b/TAO/tao/BiDir_GIOP/BiDirGIOP.h @@ -23,6 +23,8 @@ #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/PI/PI.h" #include "tao/BiDir_Adapter.h" #include "ace/Service_Config.h" diff --git a/TAO/tao/CSD_Framework/CSD_Object_Adapter_Factory.h b/TAO/tao/CSD_Framework/CSD_Object_Adapter_Factory.h index 7914266c53c..cda859315bf 100644 --- a/TAO/tao/CSD_Framework/CSD_Object_Adapter_Factory.h +++ b/TAO/tao/CSD_Framework/CSD_Object_Adapter_Factory.h @@ -21,6 +21,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PI/PI.h" #include "tao/Adapter_Factory.h" #include "ace/Service_Config.h" diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp index 534ac8fbd77..aff1b5bb0eb 100644 --- a/TAO/tao/EndpointPolicy/EndpointPolicy.cpp +++ b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp @@ -7,6 +7,7 @@ #include "tao/ORB_Core.h" #include "tao/ORBInitializer_Registry.h" +#include "tao/PI/PI.h" ACE_RCSID (EndpointPolicy, EndpointPolicy, "$Id$") diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.h b/TAO/tao/EndpointPolicy/EndpointPolicy.h index 14c9bd7f1a0..007294e420d 100644 --- a/TAO/tao/EndpointPolicy/EndpointPolicy.h +++ b/TAO/tao/EndpointPolicy/EndpointPolicy.h @@ -22,6 +22,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PI/PI.h" #include "tao/Versioned_Namespace.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/Messaging/Messaging_Loader.h b/TAO/tao/Messaging/Messaging_Loader.h index d15ee63f1c7..0a046f44675 100644 --- a/TAO/tao/Messaging/Messaging_Loader.h +++ b/TAO/tao/Messaging/Messaging_Loader.h @@ -22,6 +22,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PI/PI.h" #include "tao/Versioned_Namespace.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/OctetSeqC.cpp b/TAO/tao/OctetSeqC.cpp index 93c712762cb..3c8fe4aa136 100644 --- a/TAO/tao/OctetSeqC.cpp +++ b/TAO/tao/OctetSeqC.cpp @@ -119,6 +119,26 @@ CORBA::Boolean operator>> ( return TAO::demarshal_sequence(strm, _tao_sequence); } +#if (TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE) + +CORBA::Boolean +operator==(const CORBA::OctetSeq &lhs, const CORBA::OctetSeq &rhs) +{ + return ::operator== + (static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(lhs), + static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(rhs)); +} + +CORBA::Boolean +operator!=(const CORBA::OctetSeq &lhs, const CORBA::OctetSeq &rhs) +{ + return !::operator== + (static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(lhs), + static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(rhs)); +} + +#endif /* TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE */ + #endif /* _TAO_CDR_OP_CORBA_OctetSeq_CPP_ */ TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/OctetSeqC.h b/TAO/tao/OctetSeqC.h index ebc55bd289d..0f9cd5aaa9d 100644 --- a/TAO/tao/OctetSeqC.h +++ b/TAO/tao/OctetSeqC.h @@ -164,6 +164,16 @@ TAO_Export CORBA::Boolean operator>> ( // TAO_IDL - Generated from // be\be_codegen.cpp:1062 +// Added to handle the namespace resolution. +#if (TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE) + +TAO_Export CORBA::Boolean operator== (const CORBA::OctetSeq &lhs, + const CORBA::OctetSeq &rhs); +TAO_Export CORBA::Boolean operator!= (const CORBA::OctetSeq &lhs, + const CORBA::OctetSeq &rhs); + +#endif /* TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE */ + TAO_END_VERSIONED_NAMESPACE_DECL #if defined(_MSC_VER) @@ -173,5 +183,3 @@ TAO_END_VERSIONED_NAMESPACE_DECL #include /**/ "ace/post.h" #endif /* ifndef */ - - diff --git a/TAO/tao/PI_Server/PI_Server_Loader.h b/TAO/tao/PI_Server/PI_Server_Loader.h index b80753436b9..fb86088ae71 100644 --- a/TAO/tao/PI_Server/PI_Server_Loader.h +++ b/TAO/tao/PI_Server/PI_Server_Loader.h @@ -18,6 +18,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PI/PI.h" #include "tao/Versioned_Namespace.h" #include "ace/Service_Object.h" #include "ace/Service_Config.h" diff --git a/TAO/tao/RTScheduling/RTScheduler_Loader.h b/TAO/tao/RTScheduling/RTScheduler_Loader.h index 92715d11279..750f8eeddb3 100644 --- a/TAO/tao/RTScheduling/RTScheduler_Loader.h +++ b/TAO/tao/RTScheduling/RTScheduler_Loader.h @@ -23,6 +23,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/PI/PI.h" #include "tao/Versioned_Namespace.h" #include "ace/Service_Object.h" diff --git a/TAO/tao/diffs/OctetSeq.diff b/TAO/tao/diffs/OctetSeq.diff index cbdbb910426..4c917ccfaa0 100644 --- a/TAO/tao/diffs/OctetSeq.diff +++ b/TAO/tao/diffs/OctetSeq.diff @@ -1,6 +1,35 @@ ---- orig/OctetSeqC.h 2005-04-08 10:17:34.108726400 +0200 -+++ OctetSeqC.h 2005-04-08 10:17:41.829828800 +0200 -@@ -141,6 +141,18 @@ +--- orig/OctetSeqC.cpp 2006-05-16 17:15:30.000000000 -0500 ++++ OctetSeqC.cpp 2006-05-16 16:53:30.000000000 -0500 +@@ -119,6 +119,26 @@ + return TAO::demarshal_sequence(strm, _tao_sequence); + } + ++#if (TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE) ++ ++CORBA::Boolean ++operator==(const CORBA::OctetSeq &lhs, const CORBA::OctetSeq &rhs) ++{ ++ return ::operator== ++ (static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(lhs), ++ static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(rhs)); ++} ++ ++CORBA::Boolean ++operator!=(const CORBA::OctetSeq &lhs, const CORBA::OctetSeq &rhs) ++{ ++ return !::operator== ++ (static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(lhs), ++ static_cast<const TAO::unbounded_value_sequence< CORBA::Octet > &>(rhs)); ++} ++ ++#endif /* TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE */ ++ + #endif /* _TAO_CDR_OP_CORBA_OctetSeq_CPP_ */ + + TAO_END_VERSIONED_NAMESPACE_DECL +--- orig/OctetSeqC.h 2006-05-16 17:19:31.000000000 -0500 ++++ OctetSeqC.h 2006-05-16 17:23:31.000000000 -0500 +@@ -131,6 +131,19 @@ { } @@ -13,9 +42,27 @@ +// but we put the instantiation here because the application will +// need to see it in *C.h to avoid the error. +#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT -+ template class TAO_Export TAO_Unbounded_Sequence<CORBA::OctetSeq>; ++ template class TAO_Export TAO::unbounded_value_sequence<CORBA::OctetSeq>; +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */ + ++ + // TAO_IDL - Generated from + // be\be_visitor_sequence/cdr_op_ch.cpp:71 + +@@ -151,6 +164,16 @@ // TAO_IDL - Generated from - // be\be_visitor_sequence/any_op_ch.cpp:52 + // be\be_codegen.cpp:1062 + ++// Added to handle the namespace resolution. ++#if (TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE) ++ ++TAO_Export CORBA::Boolean operator== (const CORBA::OctetSeq &lhs, ++ const CORBA::OctetSeq &rhs); ++TAO_Export CORBA::Boolean operator!= (const CORBA::OctetSeq &lhs, ++ const CORBA::OctetSeq &rhs); ++ ++#endif /* TAO_HAS_VERSIONED_NAMESPACE || ACE_HAS_VERSIONED_NAMESPACE */ ++ + TAO_END_VERSIONED_NAMESPACE_DECL + #if defined(_MSC_VER) diff --git a/TAO/tests/Bug_2417_Regression/publisher_impl.cpp b/TAO/tests/Bug_2417_Regression/publisher_impl.cpp index e62ad292470..7c1084b7be0 100644 --- a/TAO/tests/Bug_2417_Regression/publisher_impl.cpp +++ b/TAO/tests/Bug_2417_Regression/publisher_impl.cpp @@ -11,155 +11,156 @@ using namespace std; struct _Subscriber { - Subscriber_var subscriber; - bool unsubscribed; - unsigned int count; + Subscriber_var subscriber; + bool unsubscribed; + unsigned int count; }; class Publisher_impl::Worker : public ACE_Task_Base { public: - Worker(Publisher_impl * _owner); - ~Worker(); - void addSubscriber(Subscriber_ptr subscriber); - virtual int svc (void); - void terminate(); + Worker(Publisher_impl * _owner); + ~Worker(); + void addSubscriber(Subscriber_ptr subscriber); + virtual int svc (void); + void terminate(); private: - bool terminated; - vector<_Subscriber> subscribers; - ACE_Thread_Mutex mutex; - Publisher_impl * owner; + bool terminated; + vector<_Subscriber> subscribers; + ACE_Thread_Mutex mutex; + Publisher_impl * owner; }; Publisher_impl::Worker::Worker(Publisher_impl * _owner) -: owner(_owner) + : owner(_owner) { - terminated = false; + terminated = false; } Publisher_impl::Worker::~Worker() { - terminated = true; + terminated = true; } void Publisher_impl::Worker::addSubscriber(Subscriber_ptr subscriber) { - ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); - subscribers.push_back(_Subscriber()); - _Subscriber& s = subscribers.back(); - s.unsubscribed = false; - s.subscriber = Subscriber::_duplicate(subscriber); - s.count = 0; + ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); + subscribers.push_back(_Subscriber()); + _Subscriber& s = subscribers.back(); + s.unsubscribed = false; + s.subscriber = Subscriber::_duplicate(subscriber); + s.count = 0; } int Publisher_impl::Worker::svc (void) { - double data = 0.0; - bool doShutdown = false; - unsigned long iteration = 0; - ACE_Time_Value tv; - tv.set(0.01); - while (!terminated) - { - data += 0.01; - ++iteration; - { - ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); - doShutdown = subscribers.size() > 0; - for (vector<_Subscriber>::iterator iter = subscribers.begin(); iter != subscribers.end(); ++iter) - { - if (!iter->unsubscribed) - { - doShutdown = false; - try - { - if (!CORBA::is_nil(iter->subscriber.in ())) - iter->subscriber->onData(data); - else - iter->unsubscribed = true; - ++iter->count; - } - catch (...) - { - iter->unsubscribed = true; - } - } - } - } - if (iteration % 1000 == 0) - { - ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); - for (vector<_Subscriber>::iterator iter = subscribers.begin(); iter != subscribers.end(); ++iter) - { - if (!iter->unsubscribed) - { - try - { - iter->subscriber->isAlive(); - } - catch (...) - { - iter->unsubscribed = true; - } - } - } - } - if (doShutdown) - owner->shutdown(); - else - ACE_OS::sleep(tv); - } - return 0; + double data = 0.0; + bool doShutdown = false; + unsigned long iteration = 0; + ACE_Time_Value tv; + tv.set(0.01); + while (!terminated) + { + data += 0.01; + ++iteration; + { + ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); + doShutdown = subscribers.size() > 0; + for (vector<_Subscriber>::iterator iter = subscribers.begin(); + iter != subscribers.end(); ++iter) + { + if (!iter->unsubscribed) + { + doShutdown = false; + try + { + if (!CORBA::is_nil(iter->subscriber.in ())) + iter->subscriber->onData(data); + else + iter->unsubscribed = true; + ++iter->count; + } + catch (...) + { + iter->unsubscribed = true; + } + } + } + } + if (iteration % 200 == 0) + { + ACE_Guard<ACE_Thread_Mutex> guard(mutex, 1, 1); + for (vector<_Subscriber>::iterator iter = subscribers.begin(); + iter != subscribers.end(); ++iter) + { + if (!iter->unsubscribed) + { + try + { + iter->subscriber->isAlive(); + } + catch (...) + { + iter->unsubscribed = true; + } + } + } + } + if (doShutdown) + owner->shutdown(); + else + ACE_OS::sleep(tv); + } + return 0; } void Publisher_impl::Worker::terminate() { - terminated = true; + terminated = true; } Publisher_impl::Publisher_impl(CORBA::ORB_ptr orb) -: orb_ (CORBA::ORB::_duplicate (orb)) + : orb_ (CORBA::ORB::_duplicate (orb)) { - worker = new Worker(this); - worker->activate(); + worker = new Worker(this); + worker->activate(); } Publisher_impl::~Publisher_impl() { - worker->terminate(); - worker->thr_mgr()->wait(); - delete worker; + worker->terminate(); + worker->thr_mgr()->wait(); + delete worker; } void subscribe ( - ::Subscriber_ptr subscriber - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); + ::Subscriber_ptr subscriber + ACE_ENV_ARG_DECL_WITH_DEFAULTS + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException + )); void Publisher_impl::subscribe( - ::Subscriber_ptr subscriber - ACE_ENV_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) + ::Subscriber_ptr subscriber + ACE_ENV_ARG_DECL_WITH_DEFAULTS + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException + )) { - worker->addSubscriber(subscriber); + worker->addSubscriber(subscriber); } void Publisher_impl::shutdown ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS - ) - ACE_THROW_SPEC (( - ::CORBA::SystemException - )) + ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException + )) { this->orb_->shutdown (0); worker->terminate(); } - |