diff options
71 files changed, 3411 insertions, 673 deletions
diff --git a/ChangeLog b/ChangeLog index 7618e77d5bc..5e98e8ed32c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +Thu Jan 06 22:26:42 2000 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (fcntl): There was a special fcntl() for Win32. + Removed that special version and added ACE_LACKS_FCNTL to + config-win32-common.h. + + * ace/ACE.cpp: Removed the non-"_n" versions of send/recv + functions that deal with message blocks. Since we deal with + continuation chains and linked messages, we are essentially + dealing with "_n" style functions. Also, improved the error + handling in case of timeouts. + + * ace/Strategies_T.cpp + (ACE_Cached_Connect_Strategy::connect_svc_handler): If an error + occurs while activating the handler, the <activate_svc_handler> + method will close the handler. We must set the handler to zero + to make sure that the higher layer doesn't try to close the + handler again! + Thu Jan 6 15:00:56 2000 Ossama Othman <othman@cs.wustl.edu> * aclocal.m4: diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 7618e77d5bc..5e98e8ed32c 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,22 @@ +Thu Jan 06 22:26:42 2000 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (fcntl): There was a special fcntl() for Win32. + Removed that special version and added ACE_LACKS_FCNTL to + config-win32-common.h. + + * ace/ACE.cpp: Removed the non-"_n" versions of send/recv + functions that deal with message blocks. Since we deal with + continuation chains and linked messages, we are essentially + dealing with "_n" style functions. Also, improved the error + handling in case of timeouts. + + * ace/Strategies_T.cpp + (ACE_Cached_Connect_Strategy::connect_svc_handler): If an error + occurs while activating the handler, the <activate_svc_handler> + method will close the handler. We must set the handler to zero + to make sure that the higher layer doesn't try to close the + handler again! + Thu Jan 6 15:00:56 2000 Ossama Othman <othman@cs.wustl.edu> * aclocal.m4: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 7618e77d5bc..5e98e8ed32c 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,22 @@ +Thu Jan 06 22:26:42 2000 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (fcntl): There was a special fcntl() for Win32. + Removed that special version and added ACE_LACKS_FCNTL to + config-win32-common.h. + + * ace/ACE.cpp: Removed the non-"_n" versions of send/recv + functions that deal with message blocks. Since we deal with + continuation chains and linked messages, we are essentially + dealing with "_n" style functions. Also, improved the error + handling in case of timeouts. + + * ace/Strategies_T.cpp + (ACE_Cached_Connect_Strategy::connect_svc_handler): If an error + occurs while activating the handler, the <activate_svc_handler> + method will close the handler. We must set the handler to zero + to make sure that the higher layer doesn't try to close the + handler again! + Thu Jan 6 15:00:56 2000 Ossama Othman <othman@cs.wustl.edu> * aclocal.m4: diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 880c5e9bd29..13e3e4a1be0 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,108 @@ +Thu Jan 06 22:26:42 2000 Irfan Pyarali <irfan@cs.wustl.edu> + + * tao: Minimum CORBA in TAO meant a minimum POA. This + relationship was changed such that minimum CORBA does not have + to mean a minimum POA. This will allow the user to use a + minimum CORBA build of TAO with the full functionality of the + POA. The default, however, remains the same, i.e., minimum + CORBA enables a minimum POA. + + Added a new variable TAS_HAS_MINIMUM_POA to orbconf.h. + TAS_HAS_MINIMUM_POA support is disabled by default if TAO is not + configured for minimum CORBA. If TAO is configured for minimum + CORBA, then TAS_HAS_MINIMUM_POA will be enabled by default. + Also, TAO_HAS_MINIMUM_POA_MAPS is now influenced by the value of + TAO_HAS_MINIMUM_POA rather than that of TAO_HAS_MINIMUM_CORBA if + not explicitly set by the user. + + The following files were involved in this change: + + - POA.cpp + - POA.h + - POA.i + - POA.pidl + - POAC.cpp + - POAC.h + - POAC.i + - POAManager.cpp + - POAManager.h + - POAManager.i + - POAS.cpp + - POAS.h + - POAS.i + - Object_Adapter.cpp + - Object_Adapter.h + - Object_Adapter.i + + * tests/Timed_Buffered_Oneways: New test for oneways with + buffering and timing constraints. The client sends is setup to + send large requests to the server. The server is setup to take + a long time to process these requests. The combination will + cause flow control for the client. The timing constraints on + the client ORB will prevent the client from blocking because of + flow control. The request is queued up for later delivery once + the flow control subsides. + + * tao/IIOP_Connect.cpp (handle_timeout): + * tao/UIOP_Connect.cpp (handle_timeout): + + Added code to access the thread or ORB roundtrip timeout + policies. This allows us to perform a timed send operation + instead of a blocking one. We do not consider the object + roundtrip timeout policy since we do not have access to it. + + * tao/ORB_Core.h (stubless_relative_roundtrip_timeout): Added a + new method to access the RoundtripTimeoutPolicy policy set on + the thread or on the ORB. In this method, we do not consider + the stub since we do not have access to it. + + * tao/Sync_Strategies.cpp: Moved the TAO-specific SYNCH_FLUSH + option from the Messaging::SyncScope policy and changed it to + BUFFER_FLUSH as one of the buffering constraint modes in the + TAO-specific BufferingConstraint policy. Since we now have + BUFFER_FLUSH, we don't need BUFFER_NONE anymore since they both + do the same thing. Also, we didn't need the + TAO_Flush_Sync_Strategy anymore and the Buffered_Oneway example + was changed to accommodate this change. + + * tao/Pluggable.cpp + + (send_buffered_messages): The return value of 0 is considered + EOF. Therefore, changed the return values in the case of + timeouts and empty queues to be 1. Also, fixed how timeouts are + handled. + + (reset_message): The resetting of the queued messages was not + correct. It was deleting excessively. This was fixed. Also, + the resetting was decoupled from the queue so that it can be + used with independent message blocks. + + * tao/Wait_Strategy.cpp: + + TAO_Exclusive_Wait_On_Leader_Follower::handle_input: The check + for <expecting_response_> was conflicting with the ability to + buffer asynchronous calls. If we mark the asynchronous call as + a twoway call, then buffering cannot take place. If we mark it + as a oneway call, then the check for <expecting_response_> + fails. For now I have selected to disable the check. The long + term fix is to separate out the two concerns (a) can the call be + buffered and (b) are we expecting a response. + + * tao/Transport_Mux_Strategy.cpp (dispatch_reply): Once we receive + our reply, we need to mark the transport as being available for + reuse again. + + * tao: Renamed TAO_RelativeRoundtripTimeoutPolicy_i to + TAO_RelativeRoundtripTimeoutPolicy. + + * tao/Messaging_Policy_i.cpp (set_time_value): Factored out common + code in Invocation.cpp and IIOP_Connect.cpp. + + * tao/MessagingS.cpp: Added an overloaded relative_expiry(), which + is a hacky TAO extension to reduce a call to + CORBA::Environment::default_environment () since this method + will never raise exceptions. + Thu Jan 06 21:26:17 2000 Nanbor Wang <nanbor@cs.wustl.edu> * tests/Param_Test/param_test_i.cpp @@ -28,7 +133,7 @@ Wed Jan 5 15:54:38 2000 Jeff Parsons <parsons@cs.wustl.edu> Tue Jan 4 11:46:42 2000 Jeff Parsons <parsons@cs.wustl.edu> * tao/Any.h: - *tao/Any.cpp: + * tao/Any.cpp: Added >>= operators to extract to const CORBA::Any *&, as well as to const char *& and const wchar *&, as outlined in the CORBA 2.3.1 C++ mapping. diff --git a/TAO/examples/Buffered_AMI/client.cpp b/TAO/examples/Buffered_AMI/client.cpp index cbbe9433f77..618831e7165 100644 --- a/TAO/examples/Buffered_AMI/client.cpp +++ b/TAO/examples/Buffered_AMI/client.cpp @@ -155,10 +155,10 @@ setup_buffering_constraints (CORBA::ORB_ptr orb, // Start off with no constraints. TAO::BufferingConstraint buffering_constraint; + buffering_constraint.mode = TAO::BUFFER_FLUSH; buffering_constraint.message_count = 0; buffering_constraint.message_bytes = 0; buffering_constraint.timeout = 0; - buffering_constraint.mode = TAO::BUFFER_NONE; // If valid <message_count>, set the implicit flushing to account // for queued messages. diff --git a/TAO/examples/Buffered_Oneways/client.cpp b/TAO/examples/Buffered_Oneways/client.cpp index 4732037d4e0..c5deb262ced 100644 --- a/TAO/examples/Buffered_Oneways/client.cpp +++ b/TAO/examples/Buffered_Oneways/client.cpp @@ -161,12 +161,41 @@ main (int argc, char **argv) ACE_TRY_ENV); ACE_TRY_CHECK; + // Setup the none sync scope policy, i.e., the ORB will buffer + // oneways. + Messaging::SyncScope sync_none = Messaging::SYNC_NONE; + + // Setup the none sync scope any. + CORBA::Any sync_none_any; + sync_none_any <<= sync_none; + + // Setup the none sync scope policy list. + CORBA::PolicyList sync_none_policy_list (1); + sync_none_policy_list.length (1); + + // Setup the none sync scope policy. + sync_none_policy_list[0] = + orb->create_policy (Messaging::SYNC_SCOPE_POLICY_TYPE, + sync_none_any, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Setup the none sync scope. + policy_current->set_policy_overrides (sync_none_policy_list, + CORBA::ADD_OVERRIDE, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // We are now done with this policy. + sync_none_policy_list[0]->destroy (ACE_TRY_ENV); + ACE_TRY_CHECK; + // Start off with no constraints. TAO::BufferingConstraint buffering_constraint; + buffering_constraint.mode = TAO::BUFFER_FLUSH; buffering_constraint.message_count = 0; buffering_constraint.message_bytes = 0; buffering_constraint.timeout = 0; - buffering_constraint.mode = TAO::BUFFER_NONE; // If valid <message_count>, set the implicit flushing to // account for queued messages. @@ -207,67 +236,41 @@ main (int argc, char **argv) ACE_TRY_ENV); ACE_TRY_CHECK; - // Setup the constraints (at the ORB level). + // Setup the constraints. policy_current->set_policy_overrides (buffering_constraint_policy_list, CORBA::ADD_OVERRIDE, ACE_TRY_ENV); ACE_TRY_CHECK; - // We are done with the policy. - buffering_constraint_policy_list[0]->destroy (ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Setup the none sync scope policy, i.e., the ORB will buffer - // oneways. - Messaging::SyncScope sync_none = Messaging::SYNC_NONE; - - // Setup the none sync scope any. - CORBA::Any sync_none_any; - sync_none_any <<= sync_none; - - // Setup the none sync scope policy list. - CORBA::PolicyList sync_none_policy_list (1); - sync_none_policy_list.length (1); - - // Setup the none sync scope policy. - sync_none_policy_list[0] = - orb->create_policy (Messaging::SYNC_SCOPE_POLICY_TYPE, - sync_none_any, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Setup the none sync scope (at the ORB level). - policy_current->set_policy_overrides (sync_none_policy_list, - CORBA::ADD_OVERRIDE, - ACE_TRY_ENV); - ACE_TRY_CHECK; - // - // Since we will use the none sync scope policy later, don't - // destroy it yet. + // We use this policy again later. Therefore, we don't destroy + // it right away. // - // Setup the flush sync scope policy, i.e., the ORB will flush - // any buffer oneways (explicit flushing). - Messaging::SyncScope sync_flush = Messaging::SYNC_FLUSH; + // Setup the explicit flushing policy. + TAO::BufferingConstraint buffering_flush; + buffering_flush.mode = TAO::BUFFER_FLUSH; + buffering_flush.message_count = 0; + buffering_flush.message_bytes = 0; + buffering_flush.timeout = 0; - // Setup the flush sync scope any. - CORBA::Any sync_flush_any; - sync_flush_any <<= sync_flush; + // Setup the buffering flush any. + CORBA::Any buffering_flush_any; + buffering_flush_any <<= buffering_flush; - // Setup the flush sync scope policy list. - CORBA::PolicyList sync_flush_policy_list (1); - sync_flush_policy_list.length (1); + // Setup the buffering flush policy list. + CORBA::PolicyList buffering_flush_policy_list (1); + buffering_flush_policy_list.length (1); - // Setup the flush sync scope policy. - sync_flush_policy_list[0] = - orb->create_policy (Messaging::SYNC_SCOPE_POLICY_TYPE, - sync_flush_any, + // Setup the buffering flush policy. + buffering_flush_policy_list[0] = + orb->create_policy (TAO::BUFFERING_CONSTRAINT_POLICY_TYPE, + buffering_flush_any, ACE_TRY_ENV); ACE_TRY_CHECK; // - // The default for now is none sync. We will use the flush policy later. + // Explicit flushing policy will be used later. // for (CORBA::ULong i = 1; i <= iterations; ++i) @@ -277,7 +280,7 @@ main (int argc, char **argv) i % flush_count == 0) { // Setup explicit flushing. - policy_current->set_policy_overrides (sync_flush_policy_list, + policy_current->set_policy_overrides (buffering_flush_policy_list, CORBA::ADD_OVERRIDE, ACE_TRY_ENV); ACE_TRY_CHECK; @@ -291,7 +294,7 @@ main (int argc, char **argv) ACE_TRY_CHECK; // Reset buffering policy. - policy_current->set_policy_overrides (sync_none_policy_list, + policy_current->set_policy_overrides (buffering_constraint_policy_list, CORBA::ADD_OVERRIDE, ACE_TRY_ENV); ACE_TRY_CHECK; @@ -322,11 +325,12 @@ main (int argc, char **argv) ACE_TRY_CHECK; } - // We are now done with these policies. - sync_none_policy_list[0]->destroy (ACE_TRY_ENV); + // We are done with the policy. + buffering_constraint_policy_list[0]->destroy (ACE_TRY_ENV); ACE_TRY_CHECK; - sync_flush_policy_list[0]->destroy (ACE_TRY_ENV); + // We are done with the policy. + buffering_flush_policy_list[0]->destroy (ACE_TRY_ENV); ACE_TRY_CHECK; root_poa->destroy (1, diff --git a/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp b/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp index b1489187186..7a48201d280 100644 --- a/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp +++ b/TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp @@ -87,8 +87,6 @@ print_params (void) one_way_style = "SYNC_WITH_TRANSPORT"; else if (sync_scope == Messaging::SYNC_WITH_SERVER) one_way_style = "SYNC_WITH_SERVER"; - else if (sync_scope == Messaging::SYNC_WITH_SERVER) - one_way_style = "SYNC_WITH_SERVER"; else if (sync_scope == Messaging::SYNC_WITH_TARGET) one_way_style = "SYNC_WITH_TARGET"; @@ -483,6 +481,8 @@ main (int argc, char *argv[]) TAO::BufferingConstraint buffering_constraint; buffering_constraint.mode = TAO::BUFFER_MESSAGE_COUNT; buffering_constraint.message_count = buffering_queue_size; + buffering_constraint.message_bytes = 0; + buffering_constraint.timeout = 0; // Set up the buffering constraint any. CORBA::Any buffering_constraint_any; diff --git a/TAO/tao/GIOP.cpp b/TAO/tao/GIOP.cpp index a86258f0973..68095d98e8d 100644 --- a/TAO/tao/GIOP.cpp +++ b/TAO/tao/GIOP.cpp @@ -1526,8 +1526,6 @@ TAO_GIOP::write_request_header_std (const IOP::ServiceContextList& svc_ctx, { case 0: case 1: - // This one corresponds to the TAO extension SYNC_FLUSH. - case 4: // No response required. out_stream << CORBA::Any::from_octet (0); break; diff --git a/TAO/tao/IIOP_Connect.cpp b/TAO/tao/IIOP_Connect.cpp index 53cc3f52acc..ec7663896e0 100644 --- a/TAO/tao/IIOP_Connect.cpp +++ b/TAO/tao/IIOP_Connect.cpp @@ -8,6 +8,8 @@ #include "tao/CDR.h" #include "tao/GIOP.h" +#include "tao/Messaging_Policy_i.h" + #if !defined (__ACE_INLINE__) # include "tao/IIOP_Connect.i" #endif /* ! __ACE_INLINE__ */ @@ -434,8 +436,26 @@ TAO_IIOP_Client_Connection_Handler::handle_timeout (const ACE_Time_Value &, // This method is called when buffering timer expires. // + ACE_Time_Value *max_wait_time = 0; + +#if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = + this->orb_core_->stubless_relative_roundtrip_timeout (); + + ACE_Time_Value max_wait_time_value; + + // If max_wait_time is not zero then this is not the first attempt + // to send the request, the timeout value includes *all* those + // attempts. + if (timeout_policy != 0) + { + timeout_policy->set_time_value (max_wait_time_value); + max_wait_time = &max_wait_time_value; + } +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ + // Cannot deal with errors, and therefore they are ignored. - this->transport ()->send_buffered_messages (); + this->transport ()->send_buffered_messages (max_wait_time); return 0; } diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index 190c292946f..327b9a3b5aa 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -239,32 +239,17 @@ TAO_GIOP_Invocation::start (CORBA::Environment &ACE_TRY_ENV) // So the invocation Object should handle policy decisions. #if (TAO_HAS_CORBA_MESSAGING == 1) - TAO_RelativeRoundtripTimeoutPolicy_i *timeout = + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = this->stub_->relative_roundtrip_timeout (); // If max_wait_time is not zero then this is not the first attempt // to send the request, the timeout value includes *all* those // attempts. if (this->max_wait_time_ == 0 - && timeout != 0) + && timeout_policy != 0) { - TimeBase::TimeT t = - timeout->relative_expiry (ACE_TRY_ENV); - ACE_CHECK; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - this->max_wait_time_value_.set (ACE_U64_TO_U32(seconds), - ACE_U64_TO_U32(microseconds)); + timeout_policy->set_time_value (this->max_wait_time_value_); this->max_wait_time_ = &this->max_wait_time_value_; - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - ACE_static_cast(CORBA::ULong, microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - ASYS_TEXT ("TAO (%P|%t) Timeout is <%u>\n"), - msecs)); - } } #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ @@ -957,8 +942,7 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->sync_scope_ == TAO::SYNC_WITH_TRANSPORT - || this->sync_scope_ == TAO::SYNC_NONE - || this->sync_scope_ == TAO::SYNC_FLUSH) + || this->sync_scope_ == TAO::SYNC_NONE) { return TAO_GIOP_Invocation::invoke (0, ACE_TRY_ENV); diff --git a/TAO/tao/Messaging.pidl b/TAO/tao/Messaging.pidl index 6c5d1a0dea1..94e991c0c42 100644 --- a/TAO/tao/Messaging.pidl +++ b/TAO/tao/Messaging.pidl @@ -41,9 +41,6 @@ module Messaging const SyncScope SYNC_WITH_SERVER = 2; const SyncScope SYNC_WITH_TARGET = 3; - // = TAO specific extension. - const SyncScope SYNC_FLUSH = 4; - typedef short RoutingType; const RoutingType ROUTE_NONE = 0; const RoutingType ROUTE_FORWARD = 1; diff --git a/TAO/tao/MessagingC.cpp b/TAO/tao/MessagingC.cpp index 81728a5dc32..8abd088c179 100644 --- a/TAO/tao/MessagingC.cpp +++ b/TAO/tao/MessagingC.cpp @@ -77,11 +77,6 @@ TAO_NAMESPACE_TYPE (const CORBA::Short) TAO_NAMESPACE_BEGIN (Messaging) TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_WITH_TARGET, 3) TAO_NAMESPACE_END -// = TAO specific extension. -TAO_NAMESPACE_TYPE (const CORBA::Short) -TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_FLUSH, 4) -TAO_NAMESPACE_END static const CORBA::Long _oc_Messaging_RoutingType[] = { TAO_ENCAP_BYTE_ORDER, // byte order diff --git a/TAO/tao/MessagingC.h b/TAO/tao/MessagingC.h index f8367d9a97c..54789c56a2a 100644 --- a/TAO/tao/MessagingC.h +++ b/TAO/tao/MessagingC.h @@ -84,9 +84,6 @@ TAO_NAMESPACE Messaging TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short SYNC_WITH_TARGET; - // = TAO specific extension. - TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short SYNC_FLUSH; - typedef CORBA::Short RoutingType; typedef CORBA::Short_out RoutingType_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_RoutingType; diff --git a/TAO/tao/MessagingS.cpp b/TAO/tao/MessagingS.cpp index 6fec3004b4c..b177dca761f 100644 --- a/TAO/tao/MessagingS.cpp +++ b/TAO/tao/MessagingS.cpp @@ -211,13 +211,9 @@ CORBA::Boolean POA_Messaging::_tao_collocated_SyncScopePolicy::_is_a ( ); } -Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization ( - CORBA::Environment &ACE_TRY_ENV - ) +Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization (CORBA::Environment &ACE_TRY_ENV) { - return this->servant_->synchronization ( - ACE_TRY_ENV - ); + return this->servant_->synchronization (ACE_TRY_ENV); } Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization (void) @@ -1007,13 +1003,14 @@ CORBA::Boolean POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::_is_ ); } -TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry ( - CORBA::Environment &ACE_TRY_ENV - ) +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry (CORBA::Environment &ACE_TRY_ENV) +{ + return this->servant_->relative_expiry (ACE_TRY_ENV); +} + +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry (void) { - return this->servant_->relative_expiry ( - ACE_TRY_ENV - ); + return this->servant_->relative_expiry (); } @@ -1122,13 +1119,14 @@ CORBA::Boolean POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::_i ); } -TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry ( - CORBA::Environment &ACE_TRY_ENV - ) +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry (CORBA::Environment &ACE_TRY_ENV) +{ + return this->servant_->relative_expiry (ACE_TRY_ENV); +} + +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry (void) { - return this->servant_->relative_expiry ( - ACE_TRY_ENV - ); + return this->servant_->relative_expiry (); } diff --git a/TAO/tao/MessagingS.h b/TAO/tao/MessagingS.h index 2c73d1cbdd9..c0dbb5ae462 100644 --- a/TAO/tao/MessagingS.h +++ b/TAO/tao/MessagingS.h @@ -1015,10 +1015,11 @@ private: virtual void* _downcast ( const char* logical_type_id ); - virtual TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ) = 0; + virtual TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV) = 0; + // Hacky TAO extension to reduce call to + // CORBA::Environment::default_environment () since this method + // will never raise exceptions. + virtual TimeBase::TimeT relative_expiry (void) = 0; Messaging::RelativeRequestTimeoutPolicy *_this ( CORBA::Environment &ACE_TRY_ENV = @@ -1047,10 +1048,8 @@ private: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - virtual TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ); + virtual TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV); + virtual TimeBase::TimeT relative_expiry (void); private: RelativeRequestTimeoutPolicy_ptr servant_; @@ -1090,10 +1089,8 @@ private: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ); + TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV); + TimeBase::TimeT relative_expiry (void); CORBA::PolicyType policy_type ( CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () @@ -1136,10 +1133,11 @@ private: virtual void* _downcast ( const char* logical_type_id ); - virtual TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ) = 0; + virtual TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV) = 0; + // Hacky TAO extension to reduce call to + // CORBA::Environment::default_environment () since this method + // will never raise exceptions. + virtual TimeBase::TimeT relative_expiry (void) = 0; Messaging::RelativeRoundtripTimeoutPolicy *_this ( CORBA::Environment &ACE_TRY_ENV = @@ -1168,10 +1166,8 @@ private: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - virtual TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ); + virtual TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV); + virtual TimeBase::TimeT relative_expiry (void); private: RelativeRoundtripTimeoutPolicy_ptr servant_; @@ -1211,10 +1207,8 @@ private: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ); + TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV); + TimeBase::TimeT relative_expiry (void); CORBA::PolicyType policy_type ( CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () diff --git a/TAO/tao/Messaging_Policy_i.cpp b/TAO/tao/Messaging_Policy_i.cpp index 8eb14cc9162..67a0a0f32cb 100644 --- a/TAO/tao/Messaging_Policy_i.cpp +++ b/TAO/tao/Messaging_Policy_i.cpp @@ -4,21 +4,22 @@ #if (TAO_HAS_CORBA_MESSAGING == 1) +#include "tao/debug.h" + #if ! defined (__ACE_INLINE__) #include "tao/Messaging_Policy_i.i" #endif /* __ACE_INLINE__ */ ACE_RCSID(TAO, Messaging_Policy_i, "$Id$") -TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i ( - PortableServer::POA_ptr poa, - const TimeBase::TimeT& relative_expiry) +TAO_RelativeRoundtripTimeoutPolicy::TAO_RelativeRoundtripTimeoutPolicy (PortableServer::POA_ptr poa, + const TimeBase::TimeT& relative_expiry) : poa_ (PortableServer::POA::_duplicate (poa)), relative_expiry_ (relative_expiry) { } -TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i (const TAO_RelativeRoundtripTimeoutPolicy_i &rhs) +TAO_RelativeRoundtripTimeoutPolicy::TAO_RelativeRoundtripTimeoutPolicy (const TAO_RelativeRoundtripTimeoutPolicy &rhs) : TAO_RefCountServantBase (rhs), POA_Messaging::RelativeRoundtripTimeoutPolicy (rhs), poa_ (rhs.poa_), @@ -27,17 +28,19 @@ TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i (cons } TimeBase::TimeT -TAO_RelativeRoundtripTimeoutPolicy_i::relative_expiry ( - CORBA::Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::relative_expiry (CORBA::Environment &) +{ + return this->relative_expiry_; +} + +TimeBase::TimeT +TAO_RelativeRoundtripTimeoutPolicy::relative_expiry (void) { return this->relative_expiry_; } CORBA::PolicyType -TAO_RelativeRoundtripTimeoutPolicy_i::policy_type ( - CORBA_Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::policy_type (CORBA_Environment &) { // Future policy implementors: notice how this minimizes the // footprint of the class. @@ -45,11 +48,9 @@ TAO_RelativeRoundtripTimeoutPolicy_i::policy_type ( } CORBA::Policy_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::create ( - PortableServer::POA_ptr poa, - const CORBA::Any& val, - CORBA::Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::create (PortableServer::POA_ptr poa, + const CORBA::Any& val, + CORBA::Environment &ACE_TRY_ENV) { // Future policy implementors: notice how the following code is // exception safe! @@ -59,9 +60,9 @@ TAO_RelativeRoundtripTimeoutPolicy_i::create ( ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), CORBA::Policy::_nil ()); - TAO_RelativeRoundtripTimeoutPolicy_i *tmp; + TAO_RelativeRoundtripTimeoutPolicy *tmp; ACE_NEW_THROW_EX (tmp, - TAO_RelativeRoundtripTimeoutPolicy_i (poa, + TAO_RelativeRoundtripTimeoutPolicy (poa, value), CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO)); @@ -75,26 +76,24 @@ TAO_RelativeRoundtripTimeoutPolicy_i::create ( return result._retn (); } -TAO_RelativeRoundtripTimeoutPolicy_i * -TAO_RelativeRoundtripTimeoutPolicy_i::clone (void) const +TAO_RelativeRoundtripTimeoutPolicy * +TAO_RelativeRoundtripTimeoutPolicy::clone (void) const { - TAO_RelativeRoundtripTimeoutPolicy_i *copy = 0; + TAO_RelativeRoundtripTimeoutPolicy *copy = 0; ACE_NEW_RETURN (copy, - TAO_RelativeRoundtripTimeoutPolicy_i (*this), + TAO_RelativeRoundtripTimeoutPolicy (*this), 0); return copy; } CORBA::Policy_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::copy ( - CORBA_Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::copy (CORBA_Environment &ACE_TRY_ENV) { // Future policy implementors: notice how the following code is // exception safe! - TAO_RelativeRoundtripTimeoutPolicy_i* tmp; - ACE_NEW_THROW_EX (tmp, TAO_RelativeRoundtripTimeoutPolicy_i (*this), + TAO_RelativeRoundtripTimeoutPolicy* tmp; + ACE_NEW_THROW_EX (tmp, TAO_RelativeRoundtripTimeoutPolicy (*this), CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO)); ACE_CHECK_RETURN (CORBA::Policy::_nil ()); @@ -108,9 +107,7 @@ TAO_RelativeRoundtripTimeoutPolicy_i::copy ( } void -TAO_RelativeRoundtripTimeoutPolicy_i::destroy ( - CORBA_Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::destroy (CORBA_Environment &ACE_TRY_ENV) { PortableServer::ObjectId_var id = this->poa_->servant_to_id (this, ACE_TRY_ENV); @@ -120,13 +117,30 @@ TAO_RelativeRoundtripTimeoutPolicy_i::destroy ( } PortableServer::POA_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::_default_POA ( - CORBA_Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::_default_POA (CORBA_Environment &) { return PortableServer::POA::_duplicate (this->poa_.in ()); } +void +TAO_RelativeRoundtripTimeoutPolicy::set_time_value (ACE_Time_Value &time_value) +{ + TimeBase::TimeT t = this->relative_expiry (); + TimeBase::TimeT seconds = t / 10000000u; + TimeBase::TimeT microseconds = (t % 10000000u) / 10; + time_value.set (ACE_U64_TO_U32 (seconds), + ACE_U64_TO_U32 (microseconds)); + + if (TAO_debug_level > 0) + { + CORBA::ULong msecs = + ACE_static_cast(CORBA::ULong, microseconds / 1000); + ACE_DEBUG ((LM_DEBUG, + ASYS_TEXT ("TAO (%P|%t) Timeout is <%u>\n"), + msecs)); + } +} + //////////////////////////////////////////////////////////////////////////////// TAO_Sync_Scope_Policy::TAO_Sync_Scope_Policy (Messaging::SyncScope synchronization, diff --git a/TAO/tao/Messaging_Policy_i.h b/TAO/tao/Messaging_Policy_i.h index 6adbfd2ae6d..9b5cf34fc05 100644 --- a/TAO/tao/Messaging_Policy_i.h +++ b/TAO/tao/Messaging_Policy_i.h @@ -33,8 +33,8 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ -class TAO_Export TAO_RelativeRoundtripTimeoutPolicy_i : public TAO_RefCountServantBase, - public POA_Messaging::RelativeRoundtripTimeoutPolicy +class TAO_Export TAO_RelativeRoundtripTimeoutPolicy : public TAO_RefCountServantBase, + public POA_Messaging::RelativeRoundtripTimeoutPolicy { // = TITLE // Messaging::RelativeRoundtripTimeoutPolicy implementation @@ -44,42 +44,36 @@ class TAO_Export TAO_RelativeRoundtripTimeoutPolicy_i : public TAO_RefCountServa // request. // public: - TAO_RelativeRoundtripTimeoutPolicy_i (PortableServer::POA_ptr poa, - const TimeBase::TimeT& relative_expiry); + TAO_RelativeRoundtripTimeoutPolicy (PortableServer::POA_ptr poa, + const TimeBase::TimeT& relative_expiry); // Constructor. - TAO_RelativeRoundtripTimeoutPolicy_i (const TAO_RelativeRoundtripTimeoutPolicy_i &rhs); + TAO_RelativeRoundtripTimeoutPolicy (const TAO_RelativeRoundtripTimeoutPolicy &rhs); // Copy constructor. - static CORBA::Policy_ptr create ( - PortableServer::POA_ptr poa, - const CORBA::Any& val, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static CORBA::Policy_ptr create (PortableServer::POA_ptr poa, + const CORBA::Any& val, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Helper method for the implementation of // CORBA::ORB::create_policy. - virtual TAO_RelativeRoundtripTimeoutPolicy_i *clone (void) const; + virtual TAO_RelativeRoundtripTimeoutPolicy *clone (void) const; // Returns a copy of <this>. // = The Messaging::RelativeRoundtripTimeoutPolicy methods - virtual TimeBase::TimeT relative_expiry ( - CORBA::Environment &ACE_TRY_ENV = - CORBA::Environment::default_environment () - ); - virtual CORBA::PolicyType policy_type ( - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - virtual CORBA::Policy_ptr copy ( - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - virtual void destroy ( - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - virtual PortableServer::POA_ptr _default_POA ( - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + virtual TimeBase::TimeT relative_expiry (CORBA::Environment &ACE_TRY_ENV); + virtual TimeBase::TimeT relative_expiry (void); + + virtual CORBA::PolicyType policy_type (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); + + virtual CORBA::Policy_ptr copy (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); + + virtual void destroy (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); + + virtual PortableServer::POA_ptr _default_POA (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); + + void set_time_value (ACE_Time_Value &time_value); + // Change the CORBA representation to the ACE representation. private: PortableServer::POA_var poa_; diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index 60477d82427..0a11f06b101 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -1671,9 +1671,9 @@ CORBA_ORB::create_policy (CORBA::PolicyType type, switch (type) { case TAO_MESSAGING_RELATIVE_RT_TIMEOUT_POLICY_TYPE: - return TAO_RelativeRoundtripTimeoutPolicy_i::create (root_poa.in (), - val, - ACE_TRY_ENV); + return TAO_RelativeRoundtripTimeoutPolicy::create (root_poa.in (), + val, + ACE_TRY_ENV); case TAO_CLIENT_PRIORITY_POLICY_TYPE: return TAO_Client_Priority_Policy::create (root_poa.in (), diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 8506a585ba4..a940ae5b426 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -106,7 +106,6 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) priority_mapping_ (0), #if (TAO_HAS_CORBA_MESSAGING == 1) none_sync_strategy_ (0), - flush_sync_strategy_ (0), #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ transport_sync_strategy_ (0), svc_config_argc_ (0), @@ -125,9 +124,6 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) ACE_NEW (this->none_sync_strategy_, TAO_None_Sync_Strategy); - ACE_NEW (this->flush_sync_strategy_, - TAO_Flush_Sync_Strategy); - ACE_NEW (this->policy_manager_, TAO_Policy_Manager); @@ -154,7 +150,6 @@ TAO_ORB_Core::~TAO_ORB_Core (void) #if (TAO_HAS_CORBA_MESSAGING == 1) delete this->none_sync_strategy_; - delete this->flush_sync_strategy_; delete this->policy_manager_; delete this->default_policies_; @@ -2101,6 +2096,36 @@ TAO_ORB_Core::implrepo_service (void) return CORBA::Object::_duplicate (this->implrepo_service_); } +#if (TAO_HAS_CORBA_MESSAGING == 1) + +TAO_RelativeRoundtripTimeoutPolicy * +TAO_ORB_Core::stubless_relative_roundtrip_timeout (void) +{ + TAO_RelativeRoundtripTimeoutPolicy *result = 0; + + // No need to lock, the object is in TSS storage.... + TAO_Policy_Current &policy_current = + this->policy_current (); + result = policy_current.relative_roundtrip_timeout (); + + // @@ Must lock, but is is harder to implement than just modifying + // this call: the ORB does take a lock to modify the policy + // manager + if (result == 0) + { + TAO_Policy_Manager *policy_manager = + this->policy_manager (); + if (policy_manager != 0) + result = policy_manager->relative_roundtrip_timeout (); + } + + if (result == 0) + result = this->default_relative_roundtrip_timeout (); + + return result; +} + +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ // **************************************************************** diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index cfb6185452d..14a50d15584 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -56,7 +56,6 @@ class TAO_Priority_Mapping; #if (TAO_HAS_CORBA_MESSAGING == 1) class TAO_None_Sync_Strategy; -class TAO_Flush_Sync_Strategy; #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ @@ -307,6 +306,7 @@ public: // tradeoffs and take a decision. #if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_Policy_Manager *policy_manager (void); // Return the Policy_Manager for this ORB. @@ -323,7 +323,7 @@ public: // type. // If there is no default policy it returns CORBA::Policy::_nil () - TAO_RelativeRoundtripTimeoutPolicy_i *default_relative_roundtrip_timeout (void) const; + TAO_RelativeRoundtripTimeoutPolicy *default_relative_roundtrip_timeout (void) const; TAO_Client_Priority_Policy *default_client_priority (void) const; @@ -331,15 +331,13 @@ public: TAO_Buffering_Constraint_Policy *default_buffering_constraint (void) const; -#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ - -#if (TAO_HAS_CORBA_MESSAGING == 1) - TAO_None_Sync_Strategy &none_sync_strategy (void); // This strategy will buffer messages. - TAO_Flush_Sync_Strategy &flush_sync_strategy (void); - // This strategy will flush any buffered messages. + TAO_RelativeRoundtripTimeoutPolicy *stubless_relative_roundtrip_timeout (void); + // Access to the RoundtripTimeoutPolicy policy set on the thread or + // on the ORB. In this method, we do not consider the stub since we + // do not have access to it. #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ @@ -596,9 +594,6 @@ protected: TAO_None_Sync_Strategy *none_sync_strategy_; // This strategy will buffer messages. - TAO_Flush_Sync_Strategy *flush_sync_strategy_; - // This strategy will flush any buffered messages. - #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ TAO_Transport_Sync_Strategy *transport_sync_strategy_; diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i index 30ca60678b3..c80459de462 100644 --- a/TAO/tao/ORB_Core.i +++ b/TAO/tao/ORB_Core.i @@ -129,7 +129,7 @@ TAO_ORB_Core::get_default_policy ( return this->default_policies_->get_policy (policy, ACE_TRY_ENV); } -ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy_i * +ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy * TAO_ORB_Core::default_relative_roundtrip_timeout (void) const { return this->default_policies_->relative_roundtrip_timeout (); @@ -194,7 +194,7 @@ TAO_ORB_Core::orbid (void) const return this->orbid_; } -ACE_INLINE void +ACE_INLINE void TAO_ORB_Core::implrepo_service (const CORBA::Object_ptr ir) { this->implrepo_service_ = ir; @@ -210,12 +210,6 @@ TAO_ORB_Core::none_sync_strategy (void) return *this->none_sync_strategy_; } -ACE_INLINE TAO_Flush_Sync_Strategy & -TAO_ORB_Core::flush_sync_strategy (void) -{ - return *this->flush_sync_strategy_; -} - #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ ACE_INLINE TAO_Transport_Sync_Strategy & @@ -352,4 +346,3 @@ TAO_ORB_Table::first_orb (void) { return this->first_orb_; } - diff --git a/TAO/tao/Object_Adapter.cpp b/TAO/tao/Object_Adapter.cpp index 196eadec3a5..7d0421cffa6 100644 --- a/TAO/tao/Object_Adapter.cpp +++ b/TAO/tao/Object_Adapter.cpp @@ -331,7 +331,7 @@ TAO_Object_Adapter::activate_poa (const poa_name &folded_name, { int result = -1; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // A recursive thread lock without using a recursive thread lock. // Non_Servant_Upcall has a magic constructor and destructor. We @@ -374,7 +374,7 @@ TAO_Object_Adapter::activate_poa (const poa_name &folded_name, ACE_UNUSED_ARG (folded_name); ACE_UNUSED_ARG (poa); ACE_UNUSED_ARG (ACE_TRY_ENV); -#endif /* !TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ return result; } @@ -748,10 +748,10 @@ TAO_Object_Adapter::Servant_Upcall::Servant_Upcall (TAO_Object_Adapter &object_a state_ (INITIAL_STAGE), id_ (), current_context_ (), -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) cookie_ (0), operation_ (0), -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ active_object_map_entry_ (0), using_servant_locator_ (0) { @@ -906,7 +906,7 @@ TAO_Object_Adapter::Servant_Upcall::wait_for_non_servant_upcalls_to_complete (CO void TAO_Object_Adapter::Servant_Upcall::servant_locator_cleanup (void) { -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) if (this->using_servant_locator_) { @@ -940,13 +940,13 @@ TAO_Object_Adapter::Servant_Upcall::servant_locator_cleanup (void) ACE_ENDTRY; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ } void TAO_Object_Adapter::Servant_Upcall::single_threaded_poa_setup (CORBA::Environment &ACE_TRY_ENV) { -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // Lock servant (if necessary). // @@ -966,17 +966,17 @@ TAO_Object_Adapter::Servant_Upcall::single_threaded_poa_setup (CORBA::Environmen } #else ACE_UNUSED_ARG (ACE_TRY_ENV); -#endif /* !TAO_HAS_MINIMUM_CORBA */ +#endif /* !TAO_HAS_MINIMUM_POA == 0 */ } void TAO_Object_Adapter::Servant_Upcall::single_threaded_poa_cleanup (void) { // Since the servant lock was acquired, we must release it. -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) if (this->poa_->policies ().thread () == PortableServer::SINGLE_THREAD_MODEL) this->servant_->_single_threaded_poa_lock ().release (); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ } void diff --git a/TAO/tao/Object_Adapter.h b/TAO/tao/Object_Adapter.h index 028e4ea1b96..145f2e7a45b 100644 --- a/TAO/tao/Object_Adapter.h +++ b/TAO/tao/Object_Adapter.h @@ -576,7 +576,7 @@ public: PortableServer::Servant servant (void) const; // Servant accessor. -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ServantLocator::Cookie locator_cookie (void) const; // Get the Servant Locator's cookie @@ -590,7 +590,7 @@ public: void operation (const char *); // Set the operation name. -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ void active_object_map_entry (TAO_Active_Object_Map::Map_Entry *entry); // Set the <active_object_map_entry>. @@ -631,7 +631,7 @@ public: TAO_POA_Current_Impl current_context_; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ServantLocator::Cookie cookie_; // Servant Locator's cookie @@ -639,7 +639,7 @@ public: const char *operation_; // Operation name for this current. -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_Active_Object_Map::Map_Entry *active_object_map_entry_; // Pointer to the entry in the TAO_Active_Object_Map corresponding diff --git a/TAO/tao/Object_Adapter.i b/TAO/tao/Object_Adapter.i index ac888704fdb..1fdd4613a0d 100644 --- a/TAO/tao/Object_Adapter.i +++ b/TAO/tao/Object_Adapter.i @@ -166,7 +166,7 @@ TAO_Object_Adapter::Servant_Upcall::id (void) const return this->id_; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::ServantLocator::Cookie TAO_Object_Adapter::Servant_Upcall::locator_cookie (void) const @@ -192,7 +192,7 @@ TAO_Object_Adapter::Servant_Upcall::operation (const char *name) this->operation_ = name; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE void TAO_Object_Adapter::Servant_Upcall::active_object_map_entry (TAO_Active_Object_Map::Map_Entry *entry) diff --git a/TAO/tao/POA.cpp b/TAO/tao/POA.cpp index aef585c27c1..5edbb9c7261 100644 --- a/TAO/tao/POA.cpp +++ b/TAO/tao/POA.cpp @@ -11,7 +11,9 @@ #include "tao/Exception.h" #include "tao/debug.h" -// ImplRepo stuff +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) # include "tao/ImplRepoC.h" # include "tao/ImplRepoS.h" @@ -19,6 +21,9 @@ #endif /* TAO_HAS_MINIMUM_CORBA */ +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) // This is to remove "inherits via dominance" warnings from MSVC. @@ -100,12 +105,20 @@ TAO_POA::TAO_POA (const TAO_POA::String &name, parent_ (parent), active_object_map_ (0), -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) adapter_activator_ (), servant_activator_ (), servant_locator_ (), default_servant_ (), + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + +// +// ImplRepo related. +// +#if !defined (TAO_HAS_MINIMUM_CORBA) + server_object_ (0), use_imr_ (1), @@ -171,6 +184,9 @@ TAO_POA::TAO_POA (const TAO_POA::String &name, // from the auto pointer. this->active_object_map_ = new_active_object_map.release (); +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) if (this->policies_.lifespan () == PortableServer::PERSISTENT) { @@ -390,7 +406,7 @@ TAO_POA::find_POA_i (const ACE_CString &child_name, int result = this->children_.find (child_name, child); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) if (result != 0) { @@ -433,7 +449,7 @@ TAO_POA::find_POA_i (const ACE_CString &child_name, } #else ACE_UNUSED_ARG (activate_it); -#endif /* !TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ if (result == 0) { @@ -488,6 +504,9 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, } +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) if (this->policies_.lifespan () == PortableServer::PERSISTENT) { @@ -567,7 +586,7 @@ TAO_POA::delete_child (const TAO_POA::String &child) return result; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ServantManager_ptr TAO_POA::get_servant_manager_i (CORBA::Environment &ACE_TRY_ENV) @@ -694,7 +713,7 @@ TAO_POA::set_servant_i (PortableServer::Servant servant, } } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ int TAO_POA::is_servant_in_map (PortableServer::Servant servant) @@ -1078,7 +1097,7 @@ TAO_POA::cleanup_servant (TAO_Active_Object_Map::Map_Entry *active_object_map_en // this->teardown_servant_lock (active_object_map_entry->servant_); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) if (this->etherealize_objects_ && this->policies ().request_processing () == PortableServer::USE_SERVANT_MANAGER && @@ -1117,7 +1136,7 @@ TAO_POA::cleanup_servant (TAO_Active_Object_Map::Map_Entry *active_object_map_en } else -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ { active_object_map_entry->servant_->_remove_ref (ACE_TRY_ENV); @@ -1578,7 +1597,7 @@ TAO_POA::reference_to_servant (CORBA::Object_ptr reference, } } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // Otherwise, if the POA has the USE_DEFAULT_SERVANT policy and a // default servant has been registered with the POA, this operation @@ -1612,7 +1631,7 @@ TAO_POA::reference_to_servant (CORBA::Object_ptr reference, } } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // Not reached return 0; @@ -1767,6 +1786,9 @@ TAO_POA::id_to_reference_i (const PortableServer::ObjectId &id, } } +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) void @@ -1846,7 +1868,7 @@ TAO_POA::locate_servant_i (const PortableServer::ObjectId &system_id, return TAO_SERVANT_NOT_FOUND; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // If the POA has the USE_DEFAULT_SERVANT policy, a default servant // has been associated with the POA, return TAO_DEFAULT_SERVANT. If @@ -1883,7 +1905,7 @@ TAO_POA::locate_servant_i (const PortableServer::ObjectId &system_id, } } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // Failure return TAO_SERVANT_NOT_FOUND; @@ -1954,7 +1976,7 @@ TAO_POA::locate_servant_i (const char *operation, 0); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // If the POA has the USE_DEFAULT_SERVANT policy, a default servant // has been associated with the POA so the POA will invoke the @@ -2142,7 +2164,7 @@ TAO_POA::locate_servant_i (const char *operation, } #else ACE_UNUSED_ARG (operation); -#endif /* !TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // Failure ACE_THROW_RETURN (CORBA::OBJ_ADAPTER (), @@ -2665,7 +2687,7 @@ TAO_POA::decode_string_to_sequence (TAO_Unbounded_Sequence<CORBA::Octet> &seq, seq.length (i); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ThreadPolicy_ptr TAO_POA::create_thread_policy (PortableServer::ThreadPolicyValue value, @@ -2694,7 +2716,7 @@ TAO_POA::create_thread_policy (PortableServer::ThreadPolicyValue value, return result._retn (); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::LifespanPolicy_ptr TAO_POA::create_lifespan_policy (PortableServer::LifespanPolicyValue value, @@ -2777,7 +2799,7 @@ TAO_POA::create_id_assignment_policy (PortableServer::IdAssignmentPolicyValue va return result._retn (); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ImplicitActivationPolicy_ptr TAO_POA::create_implicit_activation_policy (PortableServer::ImplicitActivationPolicyValue value, @@ -2860,9 +2882,9 @@ TAO_POA::create_request_processing_policy (PortableServer::RequestProcessingPoli return result._retn (); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Thread_Policy::TAO_Thread_Policy (PortableServer::ThreadPolicyValue value, PortableServer::POA_ptr poa) @@ -2934,7 +2956,7 @@ TAO_Thread_Policy::_default_POA (CORBA::Environment & /* ACE_TRY_ENV */) return PortableServer::POA::_duplicate (this->poa_.in ()); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_Lifespan_Policy::TAO_Lifespan_Policy (PortableServer::LifespanPolicyValue value, PortableServer::POA_ptr poa) @@ -3146,7 +3168,7 @@ TAO_Id_Assignment_Policy::_default_POA (CORBA::Environment & /* ACE_TRY_ENV */) return PortableServer::POA::_duplicate (this->poa_.in ()); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Implicit_Activation_Policy::TAO_Implicit_Activation_Policy (PortableServer::ImplicitActivationPolicyValue value, PortableServer::POA_ptr poa) @@ -3358,7 +3380,7 @@ TAO_Request_Processing_Policy::_default_POA (CORBA::Environment & /* ACE_TRY_ENV return PortableServer::POA::_duplicate (this->poa_.in ()); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_POA_Policies::TAO_POA_Policies (void) : thread_ (PortableServer::ORB_CTRL_MODEL), @@ -3424,7 +3446,7 @@ TAO_POA_Policies::parse_policy (const CORBA::Policy_ptr policy, CORBA::Environment &ACE_TRY_ENV) { -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ThreadPolicy_var thread = PortableServer::ThreadPolicy::_narrow (policy, @@ -3439,7 +3461,7 @@ TAO_POA_Policies::parse_policy (const CORBA::Policy_ptr policy, return; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::LifespanPolicy_var lifespan = PortableServer::LifespanPolicy::_narrow (policy, @@ -3480,7 +3502,7 @@ TAO_POA_Policies::parse_policy (const CORBA::Policy_ptr policy, return; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ImplicitActivationPolicy_var implicit_activation = PortableServer::ImplicitActivationPolicy::_narrow (policy, @@ -3521,12 +3543,12 @@ TAO_POA_Policies::parse_policy (const CORBA::Policy_ptr policy, return; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_THROW (PortableServer::POA::InvalidPolicy ()); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Adapter_Activator::TAO_Adapter_Activator (PortableServer::POAManager_ptr poa_manager) : poa_manager_ (PortableServer::POAManager::_duplicate (poa_manager)) @@ -3571,7 +3593,7 @@ TAO_Adapter_Activator::unknown_adapter (PortableServer::POA_ptr parent, return 1; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ CORBA::Object_ptr TAO_POA::key_to_object (const TAO_ObjectKey &key, @@ -3582,6 +3604,9 @@ TAO_POA::key_to_object (const TAO_ObjectKey &key, { CORBA::Object_ptr obj = CORBA::Object::_nil (); +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) if (this->use_imr_ @@ -3652,6 +3677,9 @@ orbkey: return obj; } +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) void @@ -3774,9 +3802,13 @@ TAO_POA::imr_notify_shutdown (void) template class ACE_Array<PortableServer::ObjectId>; template class ACE_Array_Base<PortableServer::ObjectId>; +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) template class ACE_Auto_Basic_Ptr<TAO_Forwarding_Servant>; +template class auto_ptr<TAO_Forwarding_Servant>; #endif /* TAO_HAS_MINIMUM_CORBA */ @@ -3801,12 +3833,6 @@ template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, TAO_POA *, ACE_Hash<AC template class ACE_Write_Guard<ACE_Lock>; template class ACE_Read_Guard<ACE_Lock>; -#if !defined (TAO_HAS_MINIMUM_CORBA) - -template class auto_ptr<TAO_Forwarding_Servant>; - -#endif /* TAO_HAS_MINIMUM_CORBA */ - //template class auto_ptr<TAO_Active_Object_Map_Iterator_Impl>; template class auto_ptr<TAO_POA>; template class auto_ptr<TAO_Active_Object_Map>; @@ -3818,9 +3844,13 @@ template class ACE_Node<TAO_POA *>; #pragma instantiate ACE_Array<PortableServer::ObjectId> #pragma instantiate ACE_Array_Base<PortableServer::ObjectId> +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) #pragma instantiate ACE_Auto_Basic_Ptr<TAO_Forwarding_Servant> +#pragma instantiate auto_ptr<TAO_Forwarding_Servant> #endif /* TAO_HAS_MINIMUM_CORBA */ @@ -3845,12 +3875,6 @@ template class ACE_Node<TAO_POA *>; #pragma instantiate ACE_Write_Guard<ACE_Lock> #pragma instantiate ACE_Read_Guard<ACE_Lock> -#if !defined (TAO_HAS_MINIMUM_CORBA) - -#pragma instantiate auto_ptr<TAO_Forwarding_Servant> - -#endif /* TAO_HAS_MINIMUM_CORBA */ - //#pragma instantiate auto_ptr<TAO_Active_Object_Map_Iterator_Impl> #pragma instantiate auto_ptr<TAO_POA> #pragma instantiate auto_ptr<TAO_Active_Object_Map> diff --git a/TAO/tao/POA.h b/TAO/tao/POA.h index d81309b1ed4..80992ac85c5 100644 --- a/TAO/tao/POA.h +++ b/TAO/tao/POA.h @@ -45,6 +45,9 @@ // POA Manager #include "tao/POAManager.h" +// +// ImplRepo related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) // Implementation Repository # include "tao/ImplRepoC.h" @@ -61,7 +64,7 @@ class TAO_POA; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class TAO_Export TAO_Thread_Policy : public virtual PortableServer::RefCountServantBase, public virtual POA_PortableServer::ThreadPolicy @@ -86,7 +89,7 @@ protected: PortableServer::POA_var poa_; }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ class TAO_Export TAO_Lifespan_Policy : public virtual PortableServer::RefCountServantBase, public virtual POA_PortableServer::LifespanPolicy @@ -157,7 +160,7 @@ protected: PortableServer::POA_var poa_; }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class TAO_Export TAO_Implicit_Activation_Policy : public virtual PortableServer::RefCountServantBase, public virtual POA_PortableServer::ImplicitActivationPolicy @@ -228,7 +231,7 @@ protected: PortableServer::POA_var poa_; }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ class TAO_Export TAO_POA_Policies { @@ -236,12 +239,12 @@ public: TAO_POA_Policies (void); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ThreadPolicyValue thread (void) const; void thread (PortableServer::ThreadPolicyValue value); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::LifespanPolicyValue lifespan (void) const; void lifespan (PortableServer::LifespanPolicyValue value); @@ -368,12 +371,12 @@ public: CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ThreadPolicy_ptr create_thread_policy (PortableServer::ThreadPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::LifespanPolicy_ptr create_lifespan_policy (PortableServer::LifespanPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -384,7 +387,7 @@ public: PortableServer::IdAssignmentPolicy_ptr create_id_assignment_policy (PortableServer::IdAssignmentPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy (PortableServer::ImplicitActivationPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -395,7 +398,7 @@ public: PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy (PortableServer::RequestProcessingPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ char * the_name (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -403,7 +406,7 @@ public: PortableServer::POAManager_ptr the_POAManager (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::AdapterActivator_ptr the_activator (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -420,7 +423,7 @@ public: void set_servant (PortableServer::Servant servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -456,6 +459,9 @@ public: CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &oid, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) void forward_object (const PortableServer::ObjectId &oid, @@ -535,7 +541,7 @@ protected: CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ServantManager_ptr get_servant_manager_i (CORBA_Environment &ACE_TRY_ENV); @@ -547,6 +553,13 @@ protected: void set_servant_i (PortableServer::Servant servant, CORBA_Environment &ACE_TRY_ENV); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + +// +// ImplRepo related. +// +#if !defined (TAO_HAS_MINIMUM_CORBA) + void imr_notify_startup (CORBA_Environment &ACE_TRY_ENV); // ImplRepo helper method, notify the ImplRepo on startup @@ -614,6 +627,9 @@ protected: CORBA::Object_ptr id_to_reference_i (const PortableServer::ObjectId &oid, CORBA_Environment &ACE_TRY_ENV); +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) void forward_object_i (const PortableServer::ObjectId &oid, @@ -715,7 +731,7 @@ protected: int delete_active_object_map_; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::AdapterActivator_var adapter_activator_; @@ -725,6 +741,10 @@ protected: PortableServer::ServantBase_var default_servant_; +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + +#if !defined (TAO_HAS_MINIMUM_CORBA) + ServerObject_i *server_object_; // Implementation Repository Server Object @@ -765,7 +785,7 @@ protected: CORBA::ULong waiting_servant_deactivation_; }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class TAO_Export TAO_Adapter_Activator : public POA_PortableServer::AdapterActivator { @@ -783,7 +803,7 @@ protected: // POA Manager }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if defined(_MSC_VER) && (_MSC_VER >= 1200) #pragma warning(pop) diff --git a/TAO/tao/POA.i b/TAO/tao/POA.i index f2145675125..58f279abb31 100644 --- a/TAO/tao/POA.i +++ b/TAO/tao/POA.i @@ -4,7 +4,7 @@ #include "tao/poa_macros.h" #include "tao/Environment.h" -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::ThreadPolicyValue TAO_POA_Policies::thread (void) const @@ -18,7 +18,7 @@ TAO_POA_Policies::thread (PortableServer::ThreadPolicyValue value) this->thread_ = value; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::LifespanPolicyValue TAO_POA_Policies::lifespan (void) const @@ -248,7 +248,7 @@ TAO_POA::active_object_map (void) const return *this->active_object_map_; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::ServantManager_ptr TAO_POA::get_servant_manager (CORBA::Environment &ACE_TRY_ENV) @@ -290,7 +290,7 @@ TAO_POA::set_servant (PortableServer::Servant servant, ACE_TRY_ENV); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::ObjectId * TAO_POA::activate_object (PortableServer::Servant servant, @@ -396,6 +396,9 @@ TAO_POA::id_to_reference (const PortableServer::ObjectId &oid, return this->id_to_reference_i (oid, ACE_TRY_ENV); } +// +// Forwarding related. +// #if !defined (TAO_HAS_MINIMUM_CORBA) ACE_INLINE void @@ -428,7 +431,7 @@ TAO_POA::the_POAManager (CORBA::Environment &ACE_TRY_ENV) return this->poa_manager_._this (ACE_TRY_ENV); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::AdapterActivator_ptr TAO_POA::the_activator (CORBA::Environment &ACE_TRY_ENV) @@ -449,7 +452,7 @@ TAO_POA::the_activator (PortableServer::AdapterActivator_ptr adapter_activator, this->adapter_activator_ = PortableServer::AdapterActivator::_duplicate (adapter_activator); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE const TAO_Creation_Time & TAO_POA::creation_time (void) @@ -623,27 +626,27 @@ TAO_POA::decrement_outstanding_requests (void) ACE_INLINE void TAO_POA::establish_servant_lock (PortableServer::Servant servant) { -#if defined (TAO_HAS_MINIMUM_CORBA) - ACE_UNUSED_ARG (servant); -#else /* ! TAO_HAS_MINIMUM_CORBA */ +#if (TAO_HAS_MINIMUM_POA == 0) if (this->policies ().thread () == PortableServer::SINGLE_THREAD_MODEL) { servant->_increment_single_threaded_poa_lock_count (); } -#endif /* ! TAO_HAS_MINIMUM_CORBA */ +#else /* TAO_HAS_MINIMUM_POA == 0 */ + ACE_UNUSED_ARG (servant); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ } ACE_INLINE void TAO_POA::teardown_servant_lock (PortableServer::Servant servant) { -#if defined (TAO_HAS_MINIMUM_CORBA) - ACE_UNUSED_ARG (servant); -#else /* ! TAO_HAS_MINIMUM_CORBA */ +#if (TAO_HAS_MINIMUM_POA == 0) if (this->policies ().thread () == PortableServer::SINGLE_THREAD_MODEL) { servant->_decrement_single_threaded_poa_lock_count (); } -#endif /* ! TAO_HAS_MINIMUM_CORBA */ +#else /* TAO_HAS_MINIMUM_POA == 0 */ + ACE_UNUSED_ARG (servant); +#endif /* TAO_HAS_MINIMUM_POA == 0 */ } ACE_INLINE TAO_ORB_Core & diff --git a/TAO/tao/POA.pidl b/TAO/tao/POA.pidl index a02445c38db..467d2a48b21 100644 --- a/TAO/tao/POA.pidl +++ b/TAO/tao/POA.pidl @@ -70,7 +70,7 @@ module PortableServer // Policy interfaces // // ********************************************** -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) enum ThreadPolicyValue { ORB_CTRL_MODEL, SINGLE_THREAD_MODEL @@ -79,7 +79,7 @@ module PortableServer { readonly attribute ThreadPolicyValue value; }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ enum LifespanPolicyValue { TRANSIENT, @@ -108,7 +108,7 @@ module PortableServer readonly attribute IdAssignmentPolicyValue value; }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) enum ImplicitActivationPolicyValue { IMPLICIT_ACTIVATION, NO_IMPLICIT_ACTIVATION @@ -136,7 +136,7 @@ module PortableServer { readonly attribute RequestProcessingPolicyValue value; }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // ************************************************** // @@ -157,7 +157,7 @@ module PortableServer void activate() raises(AdapterInactive); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) void hold_requests(in boolean wait_for_completion) raises(AdapterInactive); void discard_requests(in boolean wait_for_completion) @@ -165,7 +165,7 @@ module PortableServer void deactivate( in boolean etherealize_objects, in boolean wait_for_completion) raises(AdapterInactive); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ State get_state (); }; @@ -175,7 +175,7 @@ module PortableServer // // ************************************************** -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) interface AdapterActivator { boolean unknown_adapter(in POA parent, in string name); @@ -221,7 +221,7 @@ module PortableServer in Cookie the_cookie, in Servant the_servant ); }; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // ************************************************** @@ -233,14 +233,14 @@ module PortableServer interface POA { exception AdapterAlreadyExists {}; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) exception AdapterInactive {}; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ exception AdapterNonExistent {}; exception InvalidPolicy { unsigned short index; }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) exception NoServant {}; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ exception ObjectAlreadyActive {}; exception ObjectNotActive {}; exception ServantAlreadyActive {}; @@ -270,10 +270,10 @@ module PortableServer // Factories for Policy objects // // ************************************************** -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ThreadPolicy create_thread_policy(in ThreadPolicyValue value); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ LifespanPolicy create_lifespan_policy(in LifespanPolicyValue value); IdUniquenessPolicy @@ -282,7 +282,7 @@ module PortableServer IdAssignmentPolicy create_id_assignment_policy (in IdAssignmentPolicyValue value); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ImplicitActivationPolicy create_implicit_activation_policy (in ImplicitActivationPolicyValue value); @@ -292,7 +292,7 @@ module PortableServer RequestProcessingPolicy create_request_processing_policy (in RequestProcessingPolicyValue value); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ //-------------------------------------------------- // @@ -303,9 +303,9 @@ module PortableServer readonly attribute string the_name; readonly attribute POA the_parent; readonly attribute POAManager the_POAManager; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) attribute AdapterActivator the_activator; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ //-------------------------------------------------- @@ -314,7 +314,7 @@ module PortableServer // //-------------------------------------------------- -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ServantManager get_servant_manager() raises (WrongPolicy); @@ -332,7 +332,7 @@ module PortableServer void set_servant( in Servant p_servant) raises (WrongPolicy); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // ************************************************** // diff --git a/TAO/tao/POAC.cpp b/TAO/tao/POAC.cpp index 9dc34495fdd..3c21e411027 100644 --- a/TAO/tao/POAC.cpp +++ b/TAO/tao/POAC.cpp @@ -250,7 +250,7 @@ TAO_NAMESPACE_BEGIN (PortableServer) TAO_NAMESPACE_DEFINE (const CORBA::ULong, REQUEST_PROCESSING_POLICY_ID, 22) TAO_NAMESPACE_END -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) static const CORBA::Long _oc_PortableServer_ThreadPolicyValue[] = { @@ -413,7 +413,7 @@ TAO_NAMESPACE_BEGIN (PortableServer) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ThreadPolicy, &_tc_TAO_tc_PortableServer_ThreadPolicy) TAO_NAMESPACE_END -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ static const CORBA::Long _oc_PortableServer_LifespanPolicyValue[] = { @@ -903,7 +903,7 @@ TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_IdAssignmentPolicy, &_tc_TAO_tc_P TAO_NAMESPACE_END -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) static const CORBA::Long _oc_PortableServer_ImplicitActivationPolicyValue[] = { @@ -1393,7 +1393,7 @@ TAO_NAMESPACE_BEGIN (PortableServer) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_RequestProcessingPolicy, &_tc_TAO_tc_PortableServer_RequestProcessingPolicy) TAO_NAMESPACE_END -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager_ptr PortableServer::POAManager::_duplicate (PortableServer::POAManager_ptr obj) { @@ -1601,7 +1601,7 @@ TAO_NAMESPACE_BEGIN (PortableServer) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_POAManager, &_tc_TAO_tc_PortableServer_POAManager) TAO_NAMESPACE_END -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::AdapterActivator_ptr PortableServer::AdapterActivator::_duplicate (PortableServer::AdapterActivator_ptr obj) { @@ -1897,7 +1897,7 @@ TAO_NAMESPACE_BEGIN (PortableServer) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ServantLocator, &_tc_TAO_tc_PortableServer_ServantLocator) TAO_NAMESPACE_END -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POA_ptr PortableServer::POA::_duplicate (PortableServer::POA_ptr obj) { @@ -2073,7 +2073,7 @@ static CORBA::TypeCode _tc_TAO_tc_PortableServer_POA_AdapterAlreadyExists (PortableServer::POA::AdapterAlreadyExists)); CORBA::TypeCode_ptr PortableServer::POA::_tc_AdapterAlreadyExists = &_tc_TAO_tc_PortableServer_POA_AdapterAlreadyExists; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // default constructor PortableServer::POA::AdapterInactive::AdapterInactive (void) @@ -2207,7 +2207,7 @@ static CORBA::TypeCode _tc_TAO_tc_PortableServer_POA_AdapterInactive (PortableServer::POA::AdapterInactive)); CORBA::TypeCode_ptr PortableServer::POA::_tc_AdapterInactive = &_tc_TAO_tc_PortableServer_POA_AdapterInactive; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // default constructor PortableServer::POA::AdapterNonExistent::AdapterNonExistent (void) @@ -2485,7 +2485,7 @@ static CORBA::TypeCode _tc_TAO_tc_PortableServer_POA_InvalidPolicy (PortableServer::POA::InvalidPolicy)); CORBA::TypeCode_ptr PortableServer::POA::_tc_InvalidPolicy = &_tc_TAO_tc_PortableServer_POA_InvalidPolicy; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // default constructor PortableServer::POA::NoServant::NoServant (void) @@ -2621,7 +2621,7 @@ static CORBA::TypeCode _tc_TAO_tc_PortableServer_POA_NoServant (CORBA::tk_except sizeof (PortableServer::POA::NoServant)); CORBA::TypeCode_ptr PortableServer::POA::_tc_NoServant = &_tc_TAO_tc_PortableServer_POA_NoServant; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // default constructor PortableServer::POA::ObjectAlreadyActive::ObjectAlreadyActive (void) diff --git a/TAO/tao/POAC.h b/TAO/tao/POAC.h index 9f5984acd67..97a9cc3db09 100644 --- a/TAO/tao/POAC.h +++ b/TAO/tao/POAC.h @@ -270,7 +270,7 @@ TAO_NAMESPACE PortableServer{ SINGLE_THREAD_MODEL }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) typedef ThreadPolicyValue &ThreadPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ThreadPolicyValue; @@ -374,7 +374,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ThreadPolicy; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ enum LifespanPolicyValue { @@ -709,7 +709,7 @@ TAO_NAMESPACE PortableServer{ NO_IMPLICIT_ACTIVATION }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) typedef ImplicitActivationPolicyValue &ImplicitActivationPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ImplicitActivationPolicyValue; @@ -815,7 +815,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ImplicitActivationPolicy; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ enum ServantRetentionPolicyValue { @@ -823,7 +823,7 @@ TAO_NAMESPACE PortableServer{ NON_RETAIN }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) typedef ServantRetentionPolicyValue &ServantRetentionPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServantRetentionPolicyValue; @@ -929,7 +929,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServantRetentionPolicy; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ enum RequestProcessingPolicyValue { @@ -938,7 +938,7 @@ TAO_NAMESPACE PortableServer{ USE_SERVANT_MANAGER }; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) typedef RequestProcessingPolicyValue &RequestProcessingPolicyValue_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_RequestProcessingPolicyValue; @@ -1044,7 +1044,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_RequestProcessingPolicy; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (_PORTABLESERVER_POAMANAGER___PTR_CH_) #define _PORTABLESERVER_POAMANAGER___PTR_CH_ @@ -1164,13 +1164,13 @@ TAO_NAMESPACE PortableServer{ virtual void activate (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual void hold_requests (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void discard_requests (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void deactivate (CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual State get_state (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual CORBA::Boolean _is_a (const CORBA::Char *type_id, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -1192,7 +1192,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_POAManager; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) #if !defined (_PORTABLESERVER_ADAPTERACTIVATOR___PTR_CH_) #define _PORTABLESERVER_ADAPTERACTIVATOR___PTR_CH_ @@ -1586,7 +1586,7 @@ TAO_NAMESPACE PortableServer{ TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServantLocator; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (_PORTABLESERVER_POA___PTR_CH_) #define _PORTABLESERVER_POA___PTR_CH_ @@ -1697,7 +1697,7 @@ TAO_NAMESPACE PortableServer{ #endif /* end #if !defined */ -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) #if !defined (_PORTABLESERVER_POA_ADAPTERINACTIVE___PTR_CH_) #define _PORTABLESERVER_POA_ADAPTERINACTIVE___PTR_CH_ @@ -1736,7 +1736,7 @@ TAO_NAMESPACE PortableServer{ #endif /* end #if !defined */ -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (_PORTABLESERVER_POA_ADAPTERNONEXISTENT___PTR_CH_) #define _PORTABLESERVER_POA_ADAPTERNONEXISTENT___PTR_CH_ @@ -1818,7 +1818,7 @@ TAO_NAMESPACE PortableServer{ #endif /* end #if !defined */ -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) #if !defined (_PORTABLESERVER_POA_NOSERVANT___PTR_CH_) #define _PORTABLESERVER_POA_NOSERVANT___PTR_CH_ @@ -1857,7 +1857,7 @@ TAO_NAMESPACE PortableServer{ #endif /* end #if !defined */ -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (_PORTABLESERVER_POA_OBJECTALREADYACTIVE___PTR_CH_) #define _PORTABLESERVER_POA_OBJECTALREADYACTIVE___PTR_CH_ @@ -2085,29 +2085,29 @@ TAO_NAMESPACE PortableServer{ virtual POA_ptr find_POA (const char *adapter_name, CORBA::Boolean activate_it, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void destroy (CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual ThreadPolicy_ptr create_thread_policy (ThreadPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual LifespanPolicy_ptr create_lifespan_policy (LifespanPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual IdUniquenessPolicy_ptr create_id_uniqueness_policy (IdUniquenessPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual IdAssignmentPolicy_ptr create_id_assignment_policy (IdAssignmentPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual ImplicitActivationPolicy_ptr create_implicit_activation_policy (ImplicitActivationPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual ServantRetentionPolicy_ptr create_servant_retention_policy (ServantRetentionPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual RequestProcessingPolicy_ptr create_request_processing_policy (RequestProcessingPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual char * the_name (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual POA_ptr the_parent (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual POAManager_ptr the_POAManager (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual AdapterActivator_ptr the_activator (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void the_activator(AdapterActivator_ptr the_activator, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; @@ -2116,7 +2116,7 @@ TAO_NAMESPACE PortableServer{ virtual Servant get_servant (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void set_servant (Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual ObjectId * activate_object (Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; virtual void activate_object_with_id (const ObjectId &id, Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; @@ -2298,7 +2298,7 @@ TAO_NAMESPACE_CLOSE // POA's policies. -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ThreadPolicyValue &); // TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ThreadPolicyValue &); @@ -2307,7 +2307,7 @@ operator<< (TAO_OutputCDR &, const PortableServer::ThreadPolicy_ptr ); TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ThreadPolicy_ptr &); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::LifespanPolicyValue &); // TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::LifespanPolicyValue &); @@ -2328,7 +2328,7 @@ operator<< (TAO_OutputCDR &, const PortableServer::IdAssignmentPolicy_ptr ); TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::IdAssignmentPolicy_ptr &); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableServer::ImplicitActivationPolicyValue &); // TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::ImplicitActivationPolicyValue &); @@ -2349,20 +2349,20 @@ operator<< (TAO_OutputCDR &, const PortableServer::RequestProcessingPolicy_ptr ) TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, PortableServer::RequestProcessingPolicy_ptr &); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // POA's exceptions. TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::AdapterAlreadyExists &); // copying version TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::AdapterAlreadyExists*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableServer::POA::AdapterAlreadyExists *&); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::AdapterInactive &); // copying version TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::AdapterInactive*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableServer::POA::AdapterInactive *&); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::AdapterNonExistent &); // copying version TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::AdapterNonExistent*); // noncopying version @@ -2371,13 +2371,13 @@ TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::InvalidPol TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::InvalidPolicy*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableServer::POA::InvalidPolicy *&); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::NoServant &); // copying version TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::NoServant*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, PortableServer::POA::NoServant *&); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ TAO_Export void operator<<= (CORBA::Any &, const PortableServer::POA::ObjectAlreadyActive &); // copying version TAO_Export void operator<<= (CORBA::Any &, PortableServer::POA::ObjectAlreadyActive*); // noncopying version diff --git a/TAO/tao/POAC.i b/TAO/tao/POAC.i index 82876a5b4cc..07b043d1b4c 100644 --- a/TAO/tao/POAC.i +++ b/TAO/tao/POAC.i @@ -209,7 +209,7 @@ ACE_INLINE PortableServer::_tao_seq_Octet_var::_tao_seq_Octet_var (const PortableServer::_tao_seq_Octet_var &p) // copy constructor { if (p.ptr_) - ACE_NEW (this->ptr_, + ACE_NEW (this->ptr_, PortableServer::_tao_seq_Octet (*p.ptr_)); else this->ptr_ = 0; @@ -235,9 +235,9 @@ PortableServer::_tao_seq_Octet_var::operator= (const PortableServer::_tao_seq_Oc if (this != &p) { delete this->ptr_; - ACE_NEW_RETURN (this->ptr_, - PortableServer::_tao_seq_Octet (*p.ptr_), - *this); + ACE_NEW_RETURN (this->ptr_, + PortableServer::_tao_seq_Octet (*p.ptr_), + *this); } return *this; } @@ -385,7 +385,7 @@ PortableServer::_tao_seq_Octet_out::operator[] (CORBA::ULong slot) #endif // end #if !defined -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::ThreadPolicy::ThreadPolicy( @@ -579,7 +579,7 @@ PortableServer::ThreadPolicy_out::operator-> (void) #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::LifespanPolicy::LifespanPolicy( @@ -1160,7 +1160,7 @@ PortableServer::IdAssignmentPolicy_out::operator-> (void) #endif // end #if !defined -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::ImplicitActivationPolicy::ImplicitActivationPolicy( @@ -1741,7 +1741,7 @@ PortableServer::RequestProcessingPolicy_out::operator-> (void) #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::POAManager::POAManager( @@ -1936,7 +1936,7 @@ PortableServer::POAManager_out::operator-> (void) #endif // end #if !defined -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE PortableServer::AdapterActivator::AdapterActivator( @@ -2710,7 +2710,7 @@ PortableServer::ServantLocator_out::operator-> (void) #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::POA::POA( @@ -3106,7 +3106,8 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::Thread return 0; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) + ACE_INLINE CORBA::Boolean operator<< ( TAO_OutputCDR &, @@ -3155,7 +3156,8 @@ operator>> ( ACE_ENDTRY; return 0; } -#endif /* end #if !defined */ + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::LifespanPolicyValue &_tao_enumval) { @@ -3355,6 +3357,8 @@ operator>> ( return 0; } +#if (TAO_HAS_MINIMUM_POA == 0) + ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::ImplicitActivationPolicyValue &_tao_enumval) { return strm.write_ulong ((CORBA::ULong) _tao_enumval); @@ -3372,8 +3376,6 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::Implic return 0; } -#if !defined (TAO_HAS_MINIMUM_CORBA) - ACE_INLINE CORBA::Boolean operator<< ( TAO_OutputCDR &, @@ -3422,8 +3424,6 @@ operator>> ( ACE_ENDTRY; return 0; } -#endif /* !defined (TAO_HAS_MINIMUM_CORBA) */ - ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::ServantRetentionPolicyValue &_tao_enumval) { @@ -3442,8 +3442,6 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::Servan return 0; } -#if !defined (TAO_HAS_MINIMUM_CORBA) - ACE_INLINE CORBA::Boolean operator<< ( TAO_OutputCDR &, @@ -3493,8 +3491,6 @@ operator>> ( return 0; } -#endif /* TAO_HAS_MINIMUM_CORBA */ - ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::RequestProcessingPolicyValue &_tao_enumval) { return strm.write_ulong ((CORBA::ULong) _tao_enumval); @@ -3512,8 +3508,6 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::Reques return 0; } -#if !defined(TAO_HAS_MINIMUM_CORBA) - ACE_INLINE CORBA::Boolean operator<< ( TAO_OutputCDR &, @@ -3562,7 +3556,8 @@ operator>> ( ACE_ENDTRY; return 0; } -#endif /* TAO_HAS_MINIMUM_CORBA */ + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::POA::AdapterAlreadyExists &_tao_aggregate) @@ -3587,7 +3582,7 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::POA::A return 0; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::POA::AdapterInactive &_tao_aggregate) { @@ -3610,7 +3605,8 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::POA::A else return 0; } -#endif /* TAO_HAS_MINIMUM_CORBA */ + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::POA::AdapterNonExistent &_tao_aggregate) { @@ -3666,7 +3662,7 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::POA::I return 0; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::POA::NoServant &_tao_aggregate) { @@ -3689,7 +3685,8 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, PortableServer::POA::N else return 0; } -#endif /* !defined (TAO_HAS_MINIMUM_CORBA) */ + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const PortableServer::POA::ObjectAlreadyActive &_tao_aggregate) { diff --git a/TAO/tao/POAManager.cpp b/TAO/tao/POAManager.cpp index fa7d5ca89bb..8c86e550a06 100644 --- a/TAO/tao/POAManager.cpp +++ b/TAO/tao/POAManager.cpp @@ -110,7 +110,7 @@ TAO_POA_Manager::deactivate_i (CORBA::Boolean etherealize_objects, // of ORB::shutdown. } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) void TAO_POA_Manager::hold_requests_i (CORBA::Boolean wait_for_completion, @@ -220,7 +220,7 @@ TAO_POA_Manager::discard_requests_i (CORBA::Boolean wait_for_completion, } } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ int TAO_POA_Manager::remove_poa (TAO_POA *poa) diff --git a/TAO/tao/POAManager.h b/TAO/tao/POAManager.h index 4370f37be37..2a15d65d946 100644 --- a/TAO/tao/POAManager.h +++ b/TAO/tao/POAManager.h @@ -42,7 +42,7 @@ public: void activate (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) void hold_requests (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -54,7 +54,7 @@ public: CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager::State get_state (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -70,7 +70,7 @@ protected: CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) void hold_requests_i (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV); @@ -78,7 +78,7 @@ protected: void discard_requests_i (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager::State get_state_i (); diff --git a/TAO/tao/POAManager.i b/TAO/tao/POAManager.i index 28e8acbd991..b953dfd69b3 100644 --- a/TAO/tao/POAManager.i +++ b/TAO/tao/POAManager.i @@ -17,7 +17,7 @@ TAO_POA_Manager::activate (CORBA_Environment &ACE_TRY_ENV) this->activate_i (ACE_TRY_ENV); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) ACE_INLINE void TAO_POA_Manager::hold_requests (CORBA::Boolean wait_for_completion, @@ -52,7 +52,7 @@ TAO_POA_Manager::deactivate (CORBA::Boolean etherealize_objects, ACE_TRY_ENV); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ ACE_INLINE PortableServer::POAManager::State TAO_POA_Manager::get_state_i (void) diff --git a/TAO/tao/POAS.cpp b/TAO/tao/POAS.cpp index 17eb4e45972..0fcd784cdac 100644 --- a/TAO/tao/POAS.cpp +++ b/TAO/tao/POAS.cpp @@ -19,7 +19,7 @@ ACE_RCSID(tao, POAS, "$Id$") -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) #if !defined (TAO_HAS_LOCALITY_CONSTRAINT_POLICIES) class TAO_PortableServer_ThreadPolicy_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable @@ -314,7 +314,7 @@ POA_PortableServer::ThreadPolicy::_this (CORBA_Environment &ACE_TRY_ENV) return retval; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ #if !defined (TAO_HAS_LOCALITY_CONSTRAINT_POLICIES) class TAO_PortableServer_LifespanPolicy_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable @@ -1200,7 +1200,7 @@ POA_PortableServer::IdAssignmentPolicy::_this (CORBA_Environment &ACE_TRY_ENV) return retval; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) #if !defined (TAO_HAS_LOCALITY_CONSTRAINT_POLICIES) class TAO_PortableServer_ImplicitActivationPolicy_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable @@ -2087,7 +2087,7 @@ POA_PortableServer::RequestProcessingPolicy::_this (CORBA_Environment &ACE_TRY_E return retval; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // skeleton constructor POA_PortableServer::POAManager::POAManager (void) @@ -2158,7 +2158,7 @@ void POA_PortableServer::_tao_collocated_POAManager::activate ( ); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) void POA_PortableServer::_tao_collocated_POAManager::hold_requests ( CORBA::Boolean wait_for_completion, @@ -2195,7 +2195,7 @@ void POA_PortableServer::_tao_collocated_POAManager::deactivate ( ); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::POAManager::State POA_PortableServer::_tao_collocated_POAManager:: get_state(CORBA::Environment &ACE_TRY_ENV) @@ -2218,7 +2218,7 @@ POA_PortableServer::POAManager::_this (CORBA_Environment &) return retval; } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // skeleton constructor POA_PortableServer::AdapterActivator::AdapterActivator (void) @@ -2613,7 +2613,7 @@ POA_PortableServer::ServantLocator::_this (CORBA_Environment &) return retval; } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // skeleton constructor POA_PortableServer::POA::POA (void) @@ -2716,7 +2716,7 @@ void POA_PortableServer::_tao_collocated_POA::destroy ( ); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ThreadPolicy_ptr POA_PortableServer::_tao_collocated_POA::create_thread_policy ( PortableServer::ThreadPolicyValue value, @@ -2729,7 +2729,7 @@ PortableServer::ThreadPolicy_ptr POA_PortableServer::_tao_collocated_POA::create ); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::LifespanPolicy_ptr POA_PortableServer::_tao_collocated_POA::create_lifespan_policy ( PortableServer::LifespanPolicyValue value, @@ -2764,7 +2764,7 @@ PortableServer::IdAssignmentPolicy_ptr POA_PortableServer::_tao_collocated_POA:: ); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::ImplicitActivationPolicy_ptr POA_PortableServer::_tao_collocated_POA::create_implicit_activation_policy ( PortableServer::ImplicitActivationPolicyValue value, @@ -2799,7 +2799,7 @@ PortableServer::RequestProcessingPolicy_ptr POA_PortableServer::_tao_collocated_ ); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ char* POA_PortableServer::_tao_collocated_POA::the_name ( @@ -2823,7 +2823,7 @@ POA_PortableServer::_tao_collocated_POA::the_POAManager ( return this->servant_->the_POAManager(ACE_TRY_ENV); } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) PortableServer::AdapterActivator_ptr POA_PortableServer::_tao_collocated_POA::the_activator ( @@ -2884,7 +2884,7 @@ void POA_PortableServer::_tao_collocated_POA::set_servant ( ); } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ PortableServer::ObjectId * POA_PortableServer::_tao_collocated_POA::activate_object ( PortableServer::Servant p_servant, diff --git a/TAO/tao/POAS.h b/TAO/tao/POAS.h index 14f41651864..bb23b1fd692 100644 --- a/TAO/tao/POAS.h +++ b/TAO/tao/POAS.h @@ -41,7 +41,7 @@ TAO_NAMESPACE POA_PortableServer { -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class ThreadPolicy; typedef ThreadPolicy *ThreadPolicy_ptr; @@ -119,7 +119,7 @@ TAO_NAMESPACE POA_PortableServer #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ class LifespanPolicy; typedef LifespanPolicy *LifespanPolicy_ptr; @@ -358,7 +358,7 @@ TAO_NAMESPACE POA_PortableServer #endif // end #if !defined -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class ImplicitActivationPolicy; typedef ImplicitActivationPolicy *ImplicitActivationPolicy_ptr; @@ -596,7 +596,7 @@ TAO_NAMESPACE POA_PortableServer #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ class POAManager; @@ -615,7 +615,7 @@ TAO_NAMESPACE POA_PortableServer ); virtual void activate ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual void hold_requests (CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual @@ -623,7 +623,7 @@ TAO_NAMESPACE POA_PortableServer virtual void deactivate (CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::POAManager::State get_state (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual @@ -651,7 +651,7 @@ TAO_NAMESPACE POA_PortableServer CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual void hold_requests ( CORBA::Boolean wait_for_completion, @@ -667,7 +667,7 @@ TAO_NAMESPACE POA_PortableServer CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::POAManager::State get_state (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -679,7 +679,7 @@ TAO_NAMESPACE POA_PortableServer #endif // end #if !defined -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) class AdapterActivator; typedef AdapterActivator *AdapterActivator_ptr; @@ -902,7 +902,7 @@ TAO_NAMESPACE POA_PortableServer #endif // end #if !defined -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ class POA; typedef POA *POA_ptr; @@ -924,11 +924,11 @@ TAO_NAMESPACE POA_PortableServer virtual void destroy (CORBA::Boolean etherealize_objects, CORBA::Boolean wait_for_completion, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::ThreadPolicy_ptr create_thread_policy (PortableServer::ThreadPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::LifespanPolicy_ptr create_lifespan_policy (PortableServer::LifespanPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual @@ -936,7 +936,7 @@ TAO_NAMESPACE POA_PortableServer virtual PortableServer::IdAssignmentPolicy_ptr create_id_assignment_policy (PortableServer::IdAssignmentPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy (PortableServer::ImplicitActivationPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual @@ -944,7 +944,7 @@ TAO_NAMESPACE POA_PortableServer virtual PortableServer::RequestProcessingPolicy_ptr create_request_processing_policy (PortableServer::RequestProcessingPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual char * the_name (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; @@ -952,7 +952,7 @@ TAO_NAMESPACE POA_PortableServer virtual PortableServer::POAManager_ptr the_POAManager (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::AdapterActivator_ptr the_activator (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; @@ -966,7 +966,7 @@ TAO_NAMESPACE POA_PortableServer virtual void set_servant (PortableServer::Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::ObjectId * activate_object (PortableServer::Servant p_servant, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) = 0; // pure virtual @@ -1027,14 +1027,14 @@ TAO_NAMESPACE POA_PortableServer CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::ThreadPolicy_ptr create_thread_policy ( PortableServer::ThreadPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::LifespanPolicy_ptr create_lifespan_policy ( PortableServer::LifespanPolicyValue value, @@ -1048,7 +1048,7 @@ TAO_NAMESPACE POA_PortableServer PortableServer::IdAssignmentPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::ImplicitActivationPolicy_ptr create_implicit_activation_policy ( PortableServer::ImplicitActivationPolicyValue value, @@ -1062,7 +1062,7 @@ TAO_NAMESPACE POA_PortableServer PortableServer::RequestProcessingPolicyValue value, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual char* the_name ( @@ -1074,7 +1074,7 @@ TAO_NAMESPACE POA_PortableServer virtual PortableServer::POAManager_ptr the_POAManager ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) virtual PortableServer::AdapterActivator_ptr the_activator ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () @@ -1097,7 +1097,7 @@ TAO_NAMESPACE POA_PortableServer CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ virtual PortableServer::ObjectId * activate_object ( PortableServer::Servant p_servant, diff --git a/TAO/tao/POAS.i b/TAO/tao/POAS.i index 0d08448e83d..ba9c7e0c1ff 100644 --- a/TAO/tao/POAS.i +++ b/TAO/tao/POAS.i @@ -7,7 +7,7 @@ // Information on TAO is available at // http://www.cs.wustl.edu/~schmidt/TAO.html -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // skeleton destructor ACE_INLINE @@ -33,7 +33,7 @@ ACE_INLINE void POA_PortableServer::ThreadPolicy::_get_policy_type_skel (CORBA:: } #endif /* !TAO_HAS_LOCALITY_CONSTRAINT_POLICIES */ -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // skeleton destructor ACE_INLINE @@ -107,7 +107,7 @@ ACE_INLINE void POA_PortableServer::IdAssignmentPolicy::_get_policy_type_skel (C } #endif /* !TAO_HAS_LOCALITY_CONSTRAINT_POLICIES */ -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // skeleton destructor ACE_INLINE @@ -181,7 +181,7 @@ ACE_INLINE void POA_PortableServer::RequestProcessingPolicy::_get_policy_type_sk } #endif /* !TAO_HAS_LOCALITY_CONSTRAINT_POLICIES */ -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // skeleton destructor ACE_INLINE @@ -189,7 +189,7 @@ POA_PortableServer::POAManager::~POAManager (void) { } -#if !defined (TAO_HAS_MINIMUM_CORBA) +#if (TAO_HAS_MINIMUM_POA == 0) // skeleton destructor ACE_INLINE @@ -212,7 +212,7 @@ POA_PortableServer::ServantLocator::~ServantLocator (void) { } -#endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* TAO_HAS_MINIMUM_POA == 0 */ // skeleton destructor ACE_INLINE diff --git a/TAO/tao/Pluggable.cpp b/TAO/tao/Pluggable.cpp index 703cab202f2..949db6aaa1e 100644 --- a/TAO/tao/Pluggable.cpp +++ b/TAO/tao/Pluggable.cpp @@ -57,7 +57,7 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) // Make sure we have a buffering queue and there are messages in it. if (this->buffering_queue_ == 0 || this->buffering_queue_->is_empty ()) - return 0; + return 1; // Get the first message from the queue. ACE_Message_Block *queued_message = 0; @@ -70,22 +70,16 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) result = this->send (queued_message, max_wait_time); - // Socket closed. - if (result == 0) - { - this->dequeue_all (); - return -1; - } - // Cannot send. - if (result == -1) + if (result == -1 || + result == 0) { // Timeout. if (errno == ETIME) { // Since we queue up the message, this is not an error. We // can try next time around. - return 0; + return 1; } // Non-timeout error. else @@ -105,38 +99,76 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) } void +TAO_Transport::reset_sent_message (ACE_Message_Block *message_block, + size_t bytes_delivered) +{ + this->reset_message (message_block, + bytes_delivered, + 0); +} + +void TAO_Transport::reset_queued_message (ACE_Message_Block *message_block, size_t bytes_delivered) { - while (message_block != 0 && - bytes_delivered != 0) + this->reset_message (message_block, + bytes_delivered, + 1); +} + +void +TAO_Transport::reset_message (ACE_Message_Block *message_block, + size_t bytes_delivered, + int queued_message) +{ + while (bytes_delivered != 0) { // Our current message block chain. ACE_Message_Block *current_message_block = message_block; + int completely_delivered_current_message_block_chain = 0; + while (current_message_block != 0 && bytes_delivered != 0) { - size_t adjustment_size = ACE_MIN (current_message_block->length (), bytes_delivered); + size_t current_message_block_length = current_message_block->length (); + + int completely_delivered_current_message_block = + bytes_delivered >= current_message_block_length; + + size_t adjustment_size = ACE_MIN (current_message_block_length, bytes_delivered); // Reset according to send size. current_message_block->rd_ptr (adjustment_size); - // Hand adjust <message_length>. - this->buffering_queue_->message_length (this->buffering_queue_->message_length () - adjustment_size); + // If queued message, adjust the queue. + if (queued_message) + // Hand adjust <message_length>. + this->buffering_queue_->message_length (this->buffering_queue_->message_length () - adjustment_size); // Adjust <bytes_delivered>. bytes_delivered -= adjustment_size; - // Next message block in the continuation chain. - current_message_block = current_message_block->cont (); + if (completely_delivered_current_message_block) + { + // Next message block in the continuation chain. + current_message_block = current_message_block->cont (); + + if (current_message_block == 0) + completely_delivered_current_message_block_chain = 1; + } } - // Go to the next message block chain. - message_block = message_block->next (); + if (completely_delivered_current_message_block_chain) + { + // Go to the next message block chain. + message_block = message_block->next (); - // Release this <current_message_block>. - this->dequeue_head (); + // If queued message, adjust the queue. + if (queued_message) + // Release this <current_message_block>. + this->dequeue_head (); + } } } diff --git a/TAO/tao/Pluggable.h b/TAO/tao/Pluggable.h index 744e26cea56..8a529c762b6 100644 --- a/TAO/tao/Pluggable.h +++ b/TAO/tao/Pluggable.h @@ -191,6 +191,13 @@ protected: void reset_queued_message (ACE_Message_Block *message_block, size_t bytes_delivered); + void reset_sent_message (ACE_Message_Block *message_block, + size_t bytes_delivered); + + void reset_message (ACE_Message_Block *message_block, + size_t bytes_delivered, + int queued_message); + CORBA::ULong tag_; // IOP protocol tag. diff --git a/TAO/tao/Policy_Manager.cpp b/TAO/tao/Policy_Manager.cpp index 6508f2d0585..2fded2da609 100644 --- a/TAO/tao/Policy_Manager.cpp +++ b/TAO/tao/Policy_Manager.cpp @@ -161,8 +161,8 @@ TAO_Policy_Manager_Impl::set_policy_overrides ( if (tmp == 0) ACE_THROW (CORBA::INTERNAL ()); - TAO_RelativeRoundtripTimeoutPolicy_i *policy = - ACE_dynamic_cast (TAO_RelativeRoundtripTimeoutPolicy_i *, tmp); + TAO_RelativeRoundtripTimeoutPolicy *policy = + ACE_dynamic_cast (TAO_RelativeRoundtripTimeoutPolicy *, tmp); if (policy == 0) ACE_THROW (CORBA::INTERNAL ()); diff --git a/TAO/tao/Policy_Manager.h b/TAO/tao/Policy_Manager.h index bc6907c5a4b..569dd978c87 100644 --- a/TAO/tao/Policy_Manager.h +++ b/TAO/tao/Policy_Manager.h @@ -31,7 +31,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ // Forward declarations. -class TAO_RelativeRoundtripTimeoutPolicy_i; +class TAO_RelativeRoundtripTimeoutPolicy; class TAO_Client_Priority_Policy; class TAO_Sync_Scope_Policy; class TAO_Buffering_Constraint_Policy; @@ -87,7 +87,7 @@ public: // = Direct accesors to the policy implementations, for speedy // lookups. - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout (void) const; + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout (void) const; TAO_Client_Priority_Policy *client_priority (void) const; @@ -107,7 +107,7 @@ private: // The known policies are kept as pointers to the implementation // objects, this allow us to query the supported policies really // fast, without memory allocations. - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout_; + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout_; TAO_Client_Priority_Policy *client_priority_; @@ -150,7 +150,7 @@ public: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout (void) const; + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout (void) const; TAO_Client_Priority_Policy *client_priority (void) const; @@ -188,7 +188,7 @@ public: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout (void) const; + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout (void) const; TAO_Client_Priority_Policy *client_priority (void) const; @@ -229,7 +229,7 @@ public: CORBA::Environment &ACE_TRY_ENV = CORBA::Environment::default_environment () ); - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout (void) const; + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout (void) const; TAO_Client_Priority_Policy *client_priority (void) const; diff --git a/TAO/tao/Policy_Manager.i b/TAO/tao/Policy_Manager.i index 119ac1504d1..d43444083a2 100644 --- a/TAO/tao/Policy_Manager.i +++ b/TAO/tao/Policy_Manager.i @@ -10,7 +10,7 @@ TAO_Policy_Manager_Impl::TAO_Policy_Manager_Impl (void) { } -ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy_i * +ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy * TAO_Policy_Manager_Impl::relative_roundtrip_timeout (void) const { return this->relative_roundtrip_timeout_; @@ -66,7 +66,7 @@ TAO_Policy_Manager::set_policy_overrides ( this->impl_.set_policy_overrides (policies, set_add, ACE_TRY_ENV); } -ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy_i * +ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy * TAO_Policy_Manager::relative_roundtrip_timeout (void) const { return this->impl_.relative_roundtrip_timeout (); @@ -122,7 +122,7 @@ TAO_Policy_Current_Impl::set_policy_overrides ( this->manager_impl_.set_policy_overrides (policies, set_add, ACE_TRY_ENV); } -ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy_i * +ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy * TAO_Policy_Current_Impl::relative_roundtrip_timeout (void) const { return this->manager_impl_.relative_roundtrip_timeout (); @@ -179,7 +179,7 @@ TAO_Policy_Current::set_policy_overrides ( impl.set_policy_overrides (policies, set_add, ACE_TRY_ENV); } -ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy_i * +ACE_INLINE TAO_RelativeRoundtripTimeoutPolicy * TAO_Policy_Current::relative_roundtrip_timeout (void) const { TAO_Policy_Current_Impl &impl = this->implementation (); diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index ac192ae74d0..55e324b6e3d 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -867,10 +867,10 @@ TAO_Stub::get_client_policy (CORBA::PolicyType type, return result._retn (); } -TAO_RelativeRoundtripTimeoutPolicy_i * +TAO_RelativeRoundtripTimeoutPolicy * TAO_Stub::relative_roundtrip_timeout (void) { - TAO_RelativeRoundtripTimeoutPolicy_i *result = 0; + TAO_RelativeRoundtripTimeoutPolicy *result = 0; // No need to lock, the stub only changes its policies at // construction time... @@ -1155,9 +1155,6 @@ TAO_Stub::sync_strategy (void) if (scope == Messaging::SYNC_NONE) return this->orb_core_->none_sync_strategy (); - - if (scope == Messaging::SYNC_FLUSH) - return this->orb_core_->flush_sync_strategy (); } #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h index e09560a16bc..bf1c3f34bd7 100644 --- a/TAO/tao/Stub.h +++ b/TAO/tao/Stub.h @@ -42,7 +42,7 @@ #if (TAO_HAS_CORBA_MESSAGING == 1) // Forward declarations. -class TAO_RelativeRoundtripTimeoutPolicy_i; +class TAO_RelativeRoundtripTimeoutPolicy; class TAO_Client_Priority_Policy; class TAO_Sync_Scope_Policy; class TAO_Buffering_Constraint_Policy; @@ -285,7 +285,7 @@ public: TAO_default_environment () ); - TAO_RelativeRoundtripTimeoutPolicy_i *relative_roundtrip_timeout (void); + TAO_RelativeRoundtripTimeoutPolicy *relative_roundtrip_timeout (void); TAO_Client_Priority_Policy *client_priority (void); diff --git a/TAO/tao/Sync_Strategies.cpp b/TAO/tao/Sync_Strategies.cpp index 0ac0b7936c3..4f096f29d15 100644 --- a/TAO/tao/Sync_Strategies.cpp +++ b/TAO/tao/Sync_Strategies.cpp @@ -86,7 +86,7 @@ TAO_None_Sync_Strategy::buffering_constraints_reached (TAO_Transport &transport, this->timer_check (transport, buffering_constraint); - if (buffering_constraint.mode == TAO::BUFFER_NONE) + if (buffering_constraint.mode == TAO::BUFFER_FLUSH) return 1; if (ACE_BIT_ENABLED (buffering_constraint.mode, @@ -170,13 +170,4 @@ TAO_None_Sync_Strategy::time_conversion (const TimeBase::TimeT &time) ACE_U64_TO_U32 (microseconds)); } -int -TAO_Flush_Sync_Strategy::buffering_constraints_reached (TAO_Transport &, - TAO_Stub &, - TAO_Transport_Buffering_Queue &) -{ - // Always yes. - return 1; -} - #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/Sync_Strategies.h b/TAO/tao/Sync_Strategies.h index 08dcd335a3b..ea72257c7b7 100644 --- a/TAO/tao/Sync_Strategies.h +++ b/TAO/tao/Sync_Strategies.h @@ -69,14 +69,6 @@ public: ACE_Time_Value time_conversion (const TimeBase::TimeT &time); }; -class TAO_Export TAO_Flush_Sync_Strategy : public TAO_None_Sync_Strategy -{ -public: - virtual int buffering_constraints_reached (TAO_Transport &transport, - TAO_Stub &stub, - TAO_Transport_Buffering_Queue &buffering_queue); -}; - #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ #if defined (__ACE_INLINE__) diff --git a/TAO/tao/TAO.pidl b/TAO/tao/TAO.pidl index e5a1fec85b4..19e879f81c4 100644 --- a/TAO/tao/TAO.pidl +++ b/TAO/tao/TAO.pidl @@ -55,12 +55,12 @@ module TAO // Buffering constraint. // typedef unsigned short BufferingConstraintMode; - const BufferingConstraintMode BUFFER_NONE = 0x00; + const BufferingConstraintMode BUFFER_FLUSH = 0x00; // Note that timeout, message_count, and message_bytes can be or'd. const BufferingConstraintMode BUFFER_TIMEOUT = 0x01; const BufferingConstraintMode BUFFER_MESSAGE_COUNT = 0x02; - const BufferingConstraintMode BUFFER_MESSAGE_BYTES = 0x04; + const BufferingConstraintMode BUFFER_MESSAGE_BYTES = 0x04; struct BufferingConstraint { diff --git a/TAO/tao/TAOC.cpp b/TAO/tao/TAOC.cpp index b33be5c901f..906027c5c04 100644 --- a/TAO/tao/TAOC.cpp +++ b/TAO/tao/TAOC.cpp @@ -281,7 +281,7 @@ TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_BufferingConstraintMode, &_tc_TAO TAO_NAMESPACE_END TAO_NAMESPACE_TYPE (const CORBA::UShort) TAO_NAMESPACE_BEGIN (TAO) -TAO_NAMESPACE_DEFINE (const CORBA::UShort, BUFFER_NONE, 0U) +TAO_NAMESPACE_DEFINE (const CORBA::UShort, BUFFER_FLUSH, 0U) TAO_NAMESPACE_END TAO_NAMESPACE_TYPE (const CORBA::UShort) TAO_NAMESPACE_BEGIN (TAO) @@ -547,7 +547,3 @@ TAO_NAMESPACE_TYPE (const CORBA::Short) TAO_NAMESPACE_BEGIN (TAO) TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_WITH_TARGET, 3) TAO_NAMESPACE_END -TAO_NAMESPACE_TYPE (const CORBA::Short) -TAO_NAMESPACE_BEGIN (TAO) -TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_FLUSH, 4) -TAO_NAMESPACE_END diff --git a/TAO/tao/TAOC.h b/TAO/tao/TAOC.h index 9b7c39250da..3cde8d5ffc6 100644 --- a/TAO/tao/TAOC.h +++ b/TAO/tao/TAOC.h @@ -223,7 +223,7 @@ class TAO_Export ClientPriorityPolicy: public virtual CORBA::Policy typedef CORBA::UShort_out BufferingConstraintMode_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_BufferingConstraintMode; - TAO_NAMESPACE_STORAGE_CLASS const CORBA::UShort BUFFER_NONE; + TAO_NAMESPACE_STORAGE_CLASS const CORBA::UShort BUFFER_FLUSH; TAO_NAMESPACE_STORAGE_CLASS const CORBA::UShort BUFFER_TIMEOUT; @@ -410,8 +410,6 @@ class TAO_Export BufferingConstraintPolicy: public virtual CORBA::Policy TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short SYNC_WITH_SERVER; TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short SYNC_WITH_TARGET; - - TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short SYNC_FLUSH; } TAO_NAMESPACE_CLOSE // module TAO diff --git a/TAO/tao/Transport_Mux_Strategy.cpp b/TAO/tao/Transport_Mux_Strategy.cpp index aee7e8c4c80..2384c419d71 100644 --- a/TAO/tao/Transport_Mux_Strategy.cpp +++ b/TAO/tao/Transport_Mux_Strategy.cpp @@ -89,6 +89,10 @@ TAO_Exclusive_TMS::dispatch_reply (CORBA::ULong request_id, return 0; } + // The transport is available for reuse again since we have received + // our reply. + this->transport_->idle (); + TAO_Reply_Dispatcher *rd = this->rd_; this->request_id_ = 0xdeadbeef; // @@ What is a good value??? this->rd_ = 0; diff --git a/TAO/tao/UIOP_Connect.cpp b/TAO/tao/UIOP_Connect.cpp index 2426e603391..05dda5f23f5 100644 --- a/TAO/tao/UIOP_Connect.cpp +++ b/TAO/tao/UIOP_Connect.cpp @@ -12,6 +12,8 @@ #include "tao/CDR.h" #include "tao/Timeprobe.h" +#include "tao/Messaging_Policy_i.h" + #if !defined (__ACE_INLINE__) # include "tao/UIOP_Connect.i" #endif /* ! __ACE_INLINE__ */ @@ -401,8 +403,26 @@ TAO_UIOP_Client_Connection_Handler::handle_timeout (const ACE_Time_Value &, // This method is called when buffering timer expires. // + ACE_Time_Value *max_wait_time = 0; + +#if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = + this->orb_core_->stubless_relative_roundtrip_timeout (); + + ACE_Time_Value max_wait_time_value; + + // If max_wait_time is not zero then this is not the first attempt + // to send the request, the timeout value includes *all* those + // attempts. + if (timeout_policy != 0) + { + timeout_policy->set_time_value (max_wait_time_value); + max_wait_time = &max_wait_time_value; + } +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ + // Cannot deal with errors, and therefore they are ignored. - this->transport ()->send_buffered_messages (); + this->transport ()->send_buffered_messages (max_wait_time); return 0; } diff --git a/TAO/tao/Wait_Strategy.cpp b/TAO/tao/Wait_Strategy.cpp index ad9c273528c..bdfb0562eb5 100644 --- a/TAO/tao/Wait_Strategy.cpp +++ b/TAO/tao/Wait_Strategy.cpp @@ -446,6 +446,18 @@ TAO_Exclusive_Wait_On_Leader_Follower::handle_input (void) // error, but we should do more.... // @@ Alex: this could be a CloseConnection message or something // similar, has to be handled... + + // + // The following check is conflicting with the ability to buffer + // asynchronous calls. If we mark the asynchronous call as a twoway + // call, then buffering cannot take place. If we mark it as a + // oneway call, then the following check fails. For now I have + // selected to disable the check. The long term fix is to separate + // out the two concerns (a) can the call be buffered and (b) are we + // expecting a response. + // + + /* if (!this->expecting_response_) { if (TAO_debug_level > 0) @@ -455,6 +467,7 @@ TAO_Exclusive_Wait_On_Leader_Follower::handle_input (void) this->transport_)); return -1; } + */ // Receive any data that is available, without blocking... int result = this->transport_->handle_client_input (0); diff --git a/TAO/tao/orbconf.h b/TAO/tao/orbconf.h index 27b94262425..05bfbb31b1d 100644 --- a/TAO/tao/orbconf.h +++ b/TAO/tao/orbconf.h @@ -396,9 +396,26 @@ enum MCAST_SERVICEID # endif /* TAO_HAS_MINIMUM_CORBA */ #endif /* !TAO_HAS_RT_CORBA */ -// MINIMUM_POA_MAPS support is disabled by default if TAO is not +// MINIMUM_POA support is disabled by default if TAO is not // configured for minimum CORBA. If TAO is configured for minimum -// CORBA, then MINIMUM_POA_MAPS will be enabled by default. +// CORBA, then MINIMUM_POA will be enabled by default. +// To explicitly enable MINIMUM_POA support uncomment the following +// #define TAO_HAS_MINIMUM_POA 1 +// To explicitly disable MINIMUM_POA support uncomment the following +// #define TAO_HAS_MINIMUM_POA 0 + +// Default MINIMUM_POA settings +#if !defined (TAO_HAS_MINIMUM_POA) +# if defined (TAO_HAS_MINIMUM_CORBA) +# define TAO_HAS_MINIMUM_POA 1 +# else +# define TAO_HAS_MINIMUM_POA 0 +# endif /* TAO_HAS_MINIMUM_CORBA */ +#endif /* !TAO_HAS_MINIMUM_POA */ + +// MINIMUM_POA_MAPS support is disabled by default if TAO is not +// configured for minimum POA. If TAO is configured for minimum +// POA, then MINIMUM_POA_MAPS will be enabled by default. // To explicitly enable MINIMUM_POA_MAPS support uncomment the following // #define TAO_HAS_MINIMUM_POA_MAPS 1 // To explicitly disable MINIMUM_POA_MAPS support uncomment the following @@ -406,11 +423,11 @@ enum MCAST_SERVICEID // Default MINIMUM_POA_MAPS settings #if !defined (TAO_HAS_MINIMUM_POA_MAPS) -# if defined (TAO_HAS_MINIMUM_CORBA) +# if (TAO_HAS_MINIMUM_POA == 1) # define TAO_HAS_MINIMUM_POA_MAPS 1 # else # define TAO_HAS_MINIMUM_POA_MAPS 0 -# endif /* TAO_HAS_MINIMUM_CORBA */ +# endif /* TAO_HAS_MINIMUM_POA */ #endif /* !TAO_HAS_MINIMUM_POA_MAPS */ // CORBA_MESSAGING support is enabled by default if TAO is not diff --git a/TAO/tests/Makefile b/TAO/tests/Makefile index bfbb024b959..83f46cc148a 100644 --- a/TAO/tests/Makefile +++ b/TAO/tests/Makefile @@ -60,7 +60,8 @@ endif # ami_callback ifeq ($(corba_messaging),1) # Requires CORBA Messaging - DIRS += Timeout + DIRS += Timeout \ + Timed_Buffered_Oneways endif # corba_messaging diff --git a/TAO/tests/Timed_Buffered_Oneways/Makefile b/TAO/tests/Timed_Buffered_Oneways/Makefile new file mode 100644 index 00000000000..e1da3c16655 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/Makefile @@ -0,0 +1,1419 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif # ! TAO_ROOT + +LDLIBS = -lTAO + +IDLFILES = testC testS +BIN = client server + +SRC = $(addsuffix .cpp, $(BIN) $(IDLFILES) test_i) + +CLIENT_OBJS = client.o $(addsuffix .o, $(IDLFILES)) +SERVER_OBJS = server.o test_i.o $(addsuffix .o, $(IDLFILES)) + +TAO_IDLFLAGS += -Ge 1 +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU +include $(TAO_ROOT)/taoconfig.mk + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +.PRECIOUS: $(foreach ext, $(IDL_EXT), test$(ext)) + +server: $(addprefix $(VDIR),$(SERVER_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +client: $(addprefix $(VDIR),$(CLIENT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +realclean: clean + -$(RM) $(foreach ext, $(IDL_EXT), test$(ext)) + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Read_Buffer.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Read_Buffer.i testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i testC.i + +.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Get_Opt.i test_i.h testS.h \ + testC.h $(TAO_ROOT)/tao/corba.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i testC.i \ + testS_T.h testS_T.i testS_T.cpp testS.i + +.obj/testC.o .obj/testC.so .shobj/testC.o .shobj/testC.so: testC.cpp testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i testC.i + +.obj/testS.o .obj/testS.so .shobj/testS.o .shobj/testS.so: testS.cpp testS.h testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i testC.i \ + testS_T.h testS_T.i testS_T.cpp testS.i + +.obj/test_i.o .obj/test_i.so .shobj/test_i.o .shobj/test_i.so: test_i.cpp test_i.h testS.h testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/Request.h \ + $(TAO_ROOT)/tao/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i testC.i \ + testS_T.h testS_T.i testS_T.cpp testS.i + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/Timed_Buffered_Oneways/README b/TAO/tests/Timed_Buffered_Oneways/README new file mode 100644 index 00000000000..41888706f3d --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/README @@ -0,0 +1,32 @@ +# $Id$ + +Description: + +This is a test for oneways with buffering and timing constraints. The +client sends is setup to send large requests to the server. The +server is setup to take a long time to process these requests. The +combination will cause flow control for the client. The timing +constraints on the client ORB will prevent the client from blocking +because of flow control. The request is queued up for later delivery +once the flow control subsides. + +Controlling the test: + +The client invokes a oneway of size <data_bytes> after every +<interval> amount of time. The amount of time taken by the server to +process the request is <remote_work>. Blocking on the client is +prevented by <roundtrip_timeout>. + +Expected output: + +The client should be able to make steady progress, i.e., should not be +effected by flow control, while the server is slow to catch up. At +the end of the client application, it will block to make sure that any +unsent data is delivered to the server. + +How to run: + +You can use the run_test.pl script to run it or: + +$ server +$ client diff --git a/TAO/tests/Timed_Buffered_Oneways/Timed_Buffered_Oneways.dsw b/TAO/tests/Timed_Buffered_Oneways/Timed_Buffered_Oneways.dsw new file mode 100644 index 00000000000..65fefc63e63 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/Timed_Buffered_Oneways.dsw @@ -0,0 +1,40 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "client"=.\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "server"=.\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/TAO/tests/Timed_Buffered_Oneways/client.cpp b/TAO/tests/Timed_Buffered_Oneways/client.cpp new file mode 100644 index 00000000000..16f70aae903 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/client.cpp @@ -0,0 +1,330 @@ +// $Id$ + +// ================================================================ +// +// = FILENAME +// client.cpp +// +// = DESCRIPTION +// This is a client that uses oneways with buffering constraints +// and roundtrip timeout constraints. +// +// = AUTHOR +// Irfan Pyarali +// +// ================================================================ + +#include "ace/Get_Opt.h" +#include "ace/Read_Buffer.h" +#include "testC.h" + +ACE_RCSID(Timed_Buffered_Oneways, client, "$Id$") + +// Name of file contains ior. +static const char *IOR = "file://ior"; + +// Default iterations. +static u_long iterations = 20; + +// Default number of bytes to send as data. +static CORBA::ULong data_bytes = 100000; + +// Default roundtrip timeout (in milli seconds). +static long timeout = 500; + +// Default amount of work. +static CORBA::ULong work = 3000; + +// Time interval between invocation (in milli seconds). +static u_long interval = 500; + +// Flag indicates whether to shutdown remote server or not upon client +// shutdown. +static int shutdown_server = 0; + +static int +parse_args (int argc, char **argv) +{ + ACE_Get_Opt get_opts (argc, argv, "k:i:d:t:w:z:x"); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'k': + IOR = get_opts.optarg; + break; + + case 'i': + iterations = ::atoi (get_opts.optarg); + break; + + case 'd': + data_bytes = ::atoi (get_opts.optarg); + break; + + case 't': + timeout = ::atoi (get_opts.optarg); + break; + + case 'w': + work = ::atoi (get_opts.optarg); + break; + + case 'z': + interval = ::atoi (get_opts.optarg); + break; + + case 'x': + shutdown_server = 1; + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-k IOR " + "-i iterations " + "-d data bytes " + "-t roundtrip timeout " + "-w remote work " + "-z interval between calls " + "-x shutdown server " + "\n", + argv [0]), + -1); + } + + if (IOR == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Please specify the IOR for the servant\n"), -1); + + // Indicates successful parsing of command line. + return 0; +} + +void +setup_timeouts (CORBA::ORB_ptr orb, + CORBA::Environment &ACE_TRY_ENV) +{ + // Escape value. + if (timeout == -1) + return; + + // Obtain PolicyCurrent. + CORBA::Object_var object = orb->resolve_initial_references ("PolicyCurrent", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Narrow down to correct type. + CORBA::PolicyCurrent_var policy_current = + CORBA::PolicyCurrent::_narrow (object.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + TimeBase::TimeT rt_timeout = 10000 * timeout; + + CORBA::Any rt_timeout_any; + rt_timeout_any <<= rt_timeout; + + CORBA::PolicyList rt_timeout_policy_list (1); + rt_timeout_policy_list.length (1); + + rt_timeout_policy_list[0] = + orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, + rt_timeout_any, + ACE_TRY_ENV); + ACE_CHECK; + + policy_current->set_policy_overrides (rt_timeout_policy_list, + CORBA::ADD_OVERRIDE, + ACE_TRY_ENV); + ACE_CHECK; + + rt_timeout_policy_list[0]->destroy (ACE_TRY_ENV); + ACE_CHECK; +} + +void +setup_buffering_constraints (CORBA::ORB_ptr orb, + CORBA::Environment &ACE_TRY_ENV) +{ + // Obtain PolicyCurrent. + CORBA::Object_var object = orb->resolve_initial_references ("PolicyCurrent", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Narrow down to correct type. + CORBA::PolicyCurrent_var policy_current = + CORBA::PolicyCurrent::_narrow (object.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Setup the none sync scope policy, i.e., the ORB will buffer + // oneways. + Messaging::SyncScope sync_none = Messaging::SYNC_NONE; + + // Setup the none sync scope any. + CORBA::Any sync_none_any; + sync_none_any <<= sync_none; + + // Setup the none sync scope policy list. + CORBA::PolicyList sync_none_policy_list (1); + sync_none_policy_list.length (1); + + // Setup the none sync scope policy. + sync_none_policy_list[0] = + orb->create_policy (Messaging::SYNC_SCOPE_POLICY_TYPE, + sync_none_any, + ACE_TRY_ENV); + ACE_CHECK; + + // Setup the none sync scope. + policy_current->set_policy_overrides (sync_none_policy_list, + CORBA::ADD_OVERRIDE, + ACE_TRY_ENV); + ACE_CHECK; + + // We are now done with this policy. + sync_none_policy_list[0]->destroy (ACE_TRY_ENV); + ACE_CHECK; + + // Flush buffers. + TAO::BufferingConstraint buffering_constraint; + buffering_constraint.mode = TAO::BUFFER_FLUSH; + buffering_constraint.message_count = 0; + buffering_constraint.message_bytes = 0; + buffering_constraint.timeout = 0; + + // Setup the buffering constraint any. + CORBA::Any buffering_constraint_any; + buffering_constraint_any <<= buffering_constraint; + + // Setup the buffering constraint policy list. + CORBA::PolicyList buffering_constraint_policy_list (1); + buffering_constraint_policy_list.length (1); + + // Setup the buffering constraint policy. + buffering_constraint_policy_list[0] = + orb->create_policy (TAO::BUFFERING_CONSTRAINT_POLICY_TYPE, + buffering_constraint_any, + ACE_TRY_ENV); + ACE_CHECK; + + // Setup the constraints. + policy_current->set_policy_overrides (buffering_constraint_policy_list, + CORBA::ADD_OVERRIDE, + ACE_TRY_ENV); + ACE_CHECK; + + // We are done with the policy. + buffering_constraint_policy_list[0]->destroy (ACE_TRY_ENV); + ACE_CHECK; +} + +int +main (int argc, char **argv) +{ + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + // Initialize the ORB. + CORBA::ORB_var orb = + CORBA::ORB_init (argc, + argv, + 0, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Initialize options based on command-line arguments. + int parse_args_result = parse_args (argc, argv); + if (parse_args_result != 0) + return parse_args_result; + + CORBA::Object_var object = + orb->resolve_initial_references ("RootPOA", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::POA_var root_poa = + PortableServer::POA::_narrow (object.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get an object reference from the argument string. + object = orb->string_to_object (IOR, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Try to narrow the object reference to a <test> reference. + test_var test_object = test::_narrow (object.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Setup buffering. + setup_buffering_constraints (orb.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Setup timeout. + setup_timeouts (orb.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + test::data data (data_bytes); + data.length (data_bytes); + + for (CORBA::ULong i = 1; i <= iterations; ++i) + { + // Invoke the oneway method. + ACE_DEBUG ((LM_DEBUG, + "client: Iteration %d @ %T\n", + i)); + + test_object->method (i, + data, + work, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Interval between successive calls. + ACE_Time_Value sleep_interval (0, + interval * 1000); + + ACE_OS::sleep (sleep_interval); + } + + // Shutdown server. + if (shutdown_server) + { + test_object->shutdown (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + + root_poa->destroy (1, + 1, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Destroy the ORB. On some platforms, e.g., Win32, the socket + // library is closed at the end of main(). This means that any + // socket calls made after main() fail. Hence if we wait for + // static destructors to flush the queues, it will be too late. + // Therefore, we use explicit destruction here and flush the + // queues before main() ends. + orb->destroy (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Exception caught:"); + return -1; + } + ACE_ENDTRY; + + ACE_CHECK_RETURN (-1); + + return 0; +} diff --git a/TAO/tests/Timed_Buffered_Oneways/client.dsp b/TAO/tests/Timed_Buffered_Oneways/client.dsp new file mode 100644 index 00000000000..3d3d9f8277f --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/client.dsp @@ -0,0 +1,193 @@ +# Microsoft Developer Studio Project File - Name="Timed_Buffered_Oneways Client" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Timed_Buffered_Oneways Client - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "client.mak" CFG="Timed_Buffered_Oneways Client - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Timed_Buffered_Oneways Client - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Timed_Buffered_Oneways Client - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Timed_Buffered_Oneways Client - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib tao.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "Timed_Buffered_Oneways Client - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib taod.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Timed_Buffered_Oneways Client - Win32 Release"
+# Name "Timed_Buffered_Oneways Client - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testC.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\testC.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\test.idl
+
+!IF "$(CFG)" == "Timed_Buffered_Oneways Client - Win32 Release"
+
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Timed_Buffered_Oneways Client - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Timed_Buffered_Oneways/run_test.pl b/TAO/tests/Timed_Buffered_Oneways/run_test.pl new file mode 100755 index 00000000000..5b506755320 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/run_test.pl @@ -0,0 +1,43 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# -*- perl -*- + +unshift @INC, '../../../bin'; +require ACEutils; + +$iorfile = "ior"; + +unlink $iorfile; + +$SV = Process::Create ($EXEPREFIX."server$EXE_EXT"); + +if (ACE::waitforfile_timed ($iorfile, 5) == -1) { + print STDERR "ERROR: cannot find file <$iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} + +$CL = Process::Create ($EXEPREFIX."client$EXE_EXT ", "-x"); + +$client = $CL->TimedWait (60); +if ($client == -1) { + print STDERR "ERROR: client timedout\n"; + $CL->Kill (); $CL->TimedWait (1); +} + +$server = $SV->TimedWait (5); +if ($server == -1) { + print STDERR "ERROR: server timedout\n"; + $SV->Kill (); $SV->TimedWait (1); +} + +unlink $iorfile; + +if ($server != 0 || $client != 0) { + exit 1; +} + +exit 0; diff --git a/TAO/tests/Timed_Buffered_Oneways/server.cpp b/TAO/tests/Timed_Buffered_Oneways/server.cpp new file mode 100644 index 00000000000..6707dd21ce4 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/server.cpp @@ -0,0 +1,110 @@ +// $Id$ + +#include "ace/Get_Opt.h" +#include "test_i.h" + +ACE_RCSID(Timed_Buffered_Oneways, server, "$Id$") + +const char *ior_output_file = "ior"; + +int +parse_args (int argc, char *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, "o:"); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'o': + ior_output_file = get_opts.optarg; + break; + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-o <iorfile>" + "\n", + argv [0]), + -1); + } + + // Indicates sucessful parsing of the command line + return 0; +} + +int +main (int argc, char *argv[]) +{ + ACE_TRY_NEW_ENV + { + CORBA::ORB_var orb = + CORBA::ORB_init (argc, + argv, + "", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + CORBA::Object_var poa_object = + orb->resolve_initial_references ("RootPOA", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::POA_var root_poa = + PortableServer::POA::_narrow (poa_object.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::POAManager_var poa_manager = + root_poa->the_POAManager (ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (parse_args (argc, argv) != 0) + return -1; + + test_i servant (orb.in ()); + + test_var server = + servant._this (ACE_TRY_ENV); + ACE_TRY_CHECK; + + CORBA::String_var ior = + orb->object_to_string (server.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + ACE_DEBUG ((LM_DEBUG, "Activated as <%s>\n", ior.in ())); + + FILE *output_file = ACE_OS::fopen (ior_output_file, "w"); + if (output_file == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Cannot open output file for writing IOR: %s", + ior_output_file), + -1); + ACE_OS::fprintf (output_file, "%s", ior.in ()); + ACE_OS::fclose (output_file); + + poa_manager->activate (ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (orb->run (ACE_TRY_ENV) == -1) + ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "orb->run"), -1); + ACE_TRY_CHECK; + + ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); + + root_poa->destroy (1, + 1, + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Exception caught:"); + return -1; + } + ACE_ENDTRY; + + return 0; +} diff --git a/TAO/tests/Timed_Buffered_Oneways/server.dsp b/TAO/tests/Timed_Buffered_Oneways/server.dsp new file mode 100644 index 00000000000..67d3e9b7ada --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/server.dsp @@ -0,0 +1,205 @@ +# Microsoft Developer Studio Project File - Name="Timed_Buffered_Oneways Server" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Timed_Buffered_Oneways Server - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "server.mak" CFG="Timed_Buffered_Oneways Server - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Timed_Buffered_Oneways Server - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Timed_Buffered_Oneways Server - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Timed_Buffered_Oneways Server - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib tao.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\lib" /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ELSEIF "$(CFG)" == "Timed_Buffered_Oneways Server - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "server___Win32_Debug"
+# PROP BASE Intermediate_Dir "server___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib taod.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\lib" /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Timed_Buffered_Oneways Server - Win32 Release"
+# Name "Timed_Buffered_Oneways Server - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\test_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\test_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\testS.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\test.idl
+
+!IF "$(CFG)" == "Timed_Buffered_Oneways Server - Win32 Release"
+
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Timed_Buffered_Oneways Server - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Timed_Buffered_Oneways/test.idl b/TAO/tests/Timed_Buffered_Oneways/test.idl new file mode 100644 index 00000000000..ce512ae6fb2 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/test.idl @@ -0,0 +1,13 @@ +// +// $Id$ +// + +interface test +{ + typedef sequence<octet> data; + oneway void method (in unsigned long request_number, + in data d, + in unsigned long work); + + oneway void shutdown (); +}; diff --git a/TAO/tests/Timed_Buffered_Oneways/test_i.cpp b/TAO/tests/Timed_Buffered_Oneways/test_i.cpp new file mode 100644 index 00000000000..8e7b52af773 --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/test_i.cpp @@ -0,0 +1,37 @@ +// $Id$ + +#include "test_i.h" + +ACE_RCSID(Timed_Buffered_Oneways, test_i, "$Id$") + +test_i::test_i (CORBA::ORB_ptr orb) + : orb_ (CORBA::ORB::_duplicate (orb)) +{ +} + +void +test_i::method (CORBA::ULong request_number, + const test::data &, + CORBA::ULong work, + CORBA::Environment &) + ACE_THROW_SPEC (()) +{ + ACE_DEBUG ((LM_DEBUG, + "server: Iteration %d @ %T\n", + request_number)); + + // Time required to process this request. <work> is time units in + // milli seconds. + ACE_Time_Value work_time (0, + work * 1000); + + ACE_OS::sleep (work_time); +} + +void +test_i::shutdown (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (()) +{ + this->orb_->shutdown (0, + ACE_TRY_ENV); +} diff --git a/TAO/tests/Timed_Buffered_Oneways/test_i.h b/TAO/tests/Timed_Buffered_Oneways/test_i.h new file mode 100644 index 00000000000..19af9a8379f --- /dev/null +++ b/TAO/tests/Timed_Buffered_Oneways/test_i.h @@ -0,0 +1,45 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO/tests/Timed_Buffered_Oneways/ +// +// = FILENAME +// test_i.h +// +// = AUTHOR +// Irfan Pyarali +// +// ============================================================================ + +#ifndef TAO_TIMED_BUFFERED_ONEWAYS_TEST_I_H +#define TAO_TIMED_BUFFERED_ONEWAYS_TEST_I_H + +#include "testS.h" + +class test_i : public POA_test +{ + // = TITLE + // Simple implementation. + // +public: + test_i (CORBA::ORB_ptr orb); + // ctor. + + // = The test interface methods. + void method (CORBA::ULong request_number, + const test::data &, + CORBA::ULong work, + CORBA::Environment &) + ACE_THROW_SPEC (()); + + void shutdown (CORBA::Environment &) + ACE_THROW_SPEC (()); + +private: + CORBA::ORB_var orb_; + // The ORB. +}; + +#endif /* TAO_TIMED_BUFFERED_ONEWAYS_TEST_I_H */ diff --git a/TAO/version_tests.dsw b/TAO/version_tests.dsw index c86e5cf961f..d40a9fc2fdf 100644 --- a/TAO/version_tests.dsw +++ b/TAO/version_tests.dsw @@ -291,6 +291,42 @@ Package=<4> ###############################################################################
+Project: "Timed_Buffered_Oneways Client"=.\tests\Timed_Buffered_Oneways\client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Timed_Buffered_Oneways Server"=.\tests\Timed_Buffered_Oneways\server.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "Reliable Oneways Client"=.\performance-tests\RTCorba\Oneways\Reliable\client.dsp - Package Owner=<4>
Package=<5>
diff --git a/ace/ACE.cpp b/ace/ACE.cpp index c8048d0d56d..64dbaedcf45 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -1600,33 +1600,10 @@ ACE::recvv_n_i (ACE_HANDLE handle, } ssize_t -ACE::recv (ACE_HANDLE handle, - ACE_Message_Block *message_block, - const ACE_Time_Value *timeout) -{ - return ACE::recv_i (handle, - message_block, - timeout, - 0); -} - -ssize_t ACE::recv_n (ACE_HANDLE handle, ACE_Message_Block *message_block, const ACE_Time_Value *timeout) { - return ACE::recv_i (handle, - message_block, - timeout, - 1); -} - -ssize_t -ACE::recv_i (ACE_HANDLE handle, - ACE_Message_Block *message_block, - const ACE_Time_Value *timeout, - int loop) -{ iovec iov[IOV_MAX]; int iovcnt = 0; ssize_t n = 0; @@ -1659,19 +1636,15 @@ ACE::recv_i (ACE_HANDLE handle, // as 16. if (iovcnt == IOV_MAX) { - if (loop) - n = ACE::recvv_n (handle, - iov, - iovcnt, - timeout); - else - n = ACE::recvv (handle, + n = ACE::recvv_n (handle, iov, - iovcnt, - timeout); + iovcnt); - // Errors. - if (n <= 0) + // Errors. Make sure that we don't treat a timeout + // as an error. + if (n == -1 || + (n == 0 && + errno != ETIME)) return n; // Success. Add to total bytes transferred. @@ -1702,13 +1675,16 @@ ACE::recv_i (ACE_HANDLE handle, // IOV_MAX is not a multiple of the number of message blocks. if (iovcnt != 0) { - n = ACE::recvv (handle, - iov, - iovcnt, - timeout); - - // Errors. - if (n <= 0) + n = ACE::recvv_n (handle, + iov, + iovcnt, + timeout); + + // Errors. Make sure that we don't treat a timeout + // as an error. + if (n == -1 || + (n == 0 && + errno != ETIME)) return n; // Success. Add to total bytes transferred. @@ -2255,33 +2231,10 @@ ACE::sendv_n_i (ACE_HANDLE handle, } ssize_t -ACE::send (ACE_HANDLE handle, - const ACE_Message_Block *message_block, - const ACE_Time_Value *timeout) -{ - return ACE::send_i (handle, - message_block, - timeout, - 0); -} - -ssize_t ACE::send_n (ACE_HANDLE handle, const ACE_Message_Block *message_block, const ACE_Time_Value *timeout) { - return ACE::send_i (handle, - message_block, - timeout, - 1); -} - -ssize_t -ACE::send_i (ACE_HANDLE handle, - const ACE_Message_Block *message_block, - const ACE_Time_Value *timeout, - int loop) -{ iovec iov[IOV_MAX]; int iovcnt = 0; ssize_t n = 0; @@ -2314,19 +2267,16 @@ ACE::send_i (ACE_HANDLE handle, // as 16. if (iovcnt == IOV_MAX) { - if (loop) - n = ACE::sendv_n (handle, - iov, - iovcnt, - timeout); - else - n = ACE::sendv (handle, + n = ACE::sendv_n (handle, iov, iovcnt, timeout); - // Errors. - if (n <= 0) + // Errors. Make sure that we don't treat a timeout + // as an error. + if (n == -1 || + (n == 0 && + errno != ETIME)) return n; // Success. Add to total bytes transferred. @@ -2357,13 +2307,16 @@ ACE::send_i (ACE_HANDLE handle, // IOV_MAX is not a multiple of the number of message blocks. if (iovcnt != 0) { - n = ACE::sendv (handle, - iov, - iovcnt, - timeout); - - // Errors. - if (n <= 0) + n = ACE::sendv_n (handle, + iov, + iovcnt, + timeout); + + // Errors. Make sure that we don't treat a timeout + // as an error. + if (n == -1 || + (n == 0 && + errno != ETIME)) return n; // Success. Add to total bytes transferred. diff --git a/ace/ACE.h b/ace/ACE.h index 6ff3e15750e..96791dcb9f6 100644 --- a/ace/ACE.h +++ b/ace/ACE.h @@ -161,10 +161,6 @@ public: int iovcnt, const ACE_Time_Value *timeout = 0); - static ssize_t recv (ACE_HANDLE handle, - ACE_Message_Block *message_block, - const ACE_Time_Value *timeout = 0); - static ssize_t recv_n (ACE_HANDLE handle, ACE_Message_Block *message_block, const ACE_Time_Value *timeout = 0); @@ -217,10 +213,6 @@ public: int iovcnt, const ACE_Time_Value *timeout = 0); - static ssize_t send (ACE_HANDLE handle, - const ACE_Message_Block *message_block, - const ACE_Time_Value *timeout = 0); - static ssize_t send_n (ACE_HANDLE handle, const ACE_Message_Block *message_block, const ACE_Time_Value *timeout = 0); @@ -638,11 +630,6 @@ private: int iovcnt, const ACE_Time_Value *timeout); - static ssize_t recv_i (ACE_HANDLE handle, - ACE_Message_Block *message_block, - const ACE_Time_Value *timeout, - int loop); - // // = Send_n helpers // @@ -680,11 +667,6 @@ private: int iovcnt, const ACE_Time_Value *timeout); - static ssize_t send_i (ACE_HANDLE handle, - const ACE_Message_Block *message_block, - const ACE_Time_Value *timeout, - int loop); - static u_int init_fini_count_; // Counter to match <init>/<fini> calls. <init> must increment it; // <fini> must decrement it. <fini> then does nothing until it @@ -504,6 +504,20 @@ operator - (const ACE_Time_Value &tv1, return delta; } +ACE_INLINE int +ACE_OS::fcntl (ACE_HANDLE handle, int cmd, long arg) +{ + ACE_TRACE ("ACE_OS::fcntl"); +# if defined (ACE_LACKS_FCNTL) + ACE_UNUSED_ARG (handle); + ACE_UNUSED_ARG (cmd); + ACE_UNUSED_ARG (arg); + ACE_NOTSUP_RETURN (-1); +# else + ACE_OSCALL_RETURN (::fcntl (handle, cmd, arg), int, -1); +# endif /* ACE_LACKS_FCNTL */ +} + #if !defined (ACE_WIN32) // Matthew Stevens 7-10-95 Fix GNU GCC 2.7 for memchr() problem. @@ -589,20 +603,6 @@ ACE_OS::chdir (const char *path) # endif /* ACE_HAS_MOSTLY_UNICODE_APIS */ ACE_INLINE int -ACE_OS::fcntl (ACE_HANDLE handle, int cmd, long arg) -{ - ACE_TRACE ("ACE_OS::fcntl"); -# if defined (ACE_LACKS_FCNTL) - ACE_UNUSED_ARG (handle); - ACE_UNUSED_ARG (cmd); - ACE_UNUSED_ARG (arg); - ACE_NOTSUP_RETURN (-1); -# else - ACE_OSCALL_RETURN (::fcntl (handle, cmd, arg), int, -1); -# endif /* ACE_LACKS_FCNTL */ -} - -ACE_INLINE int ACE_OS::fstat (ACE_HANDLE handle, struct stat *stp) { ACE_TRACE ("ACE_OS::fstat"); @@ -840,17 +840,6 @@ ACE_OS::mktemp (char *s) # endif /* !ACE_LACKS_MKTEMP */ # endif /* !ACE_HAS_MOSTLY_UNICODE_APIS */ -ACE_INLINE int -ACE_OS::fcntl (ACE_HANDLE handle, int cmd, long arg) -{ - ACE_TRACE ("ACE_OS::fcntl"); - ACE_UNUSED_ARG (handle); - ACE_UNUSED_ARG (cmd); - ACE_UNUSED_ARG (arg); - - ACE_NOTSUP_RETURN (-1); // We should be able to map this stuff -} - ACE_INLINE uid_t ACE_OS::getgid (void) { @@ -5415,32 +5404,32 @@ ACE_OS::ioctl (ACE_HANDLE socket, if (result == SOCKET_ERROR) - { - u_long dwErr = ::WSAGetLastError (); - - if (dwErr == WSAEWOULDBLOCK) - { - errno = dwErr; - return -1; - } - else - if (dwErr != WSAENOBUFS) - { - errno = dwErr; - return -1; - } - } + { + u_long dwErr = ::WSAGetLastError (); + + if (dwErr == WSAEWOULDBLOCK) + { + errno = dwErr; + return -1; + } + else + if (dwErr != WSAENOBUFS) + { + errno = dwErr; + return -1; + } + } char *qos_buf; - ACE_NEW_RETURN (qos_buf, - char [dwBufferLen], - -1); + ACE_NEW_RETURN (qos_buf, + char [dwBufferLen], + -1); - QOS *qos = ACE_reinterpret_cast (QOS*, - qos_buf); + QOS *qos = ACE_reinterpret_cast (QOS*, + qos_buf); - result = ::WSAIoctl ((ACE_SOCKET) socket, - io_control_code, + result = ::WSAIoctl ((ACE_SOCKET) socket, + io_control_code, NULL, 0, qos, @@ -5450,7 +5439,7 @@ ACE_OS::ioctl (ACE_HANDLE socket, NULL); if (result == SOCKET_ERROR) - return result; + return result; ACE_Flow_Spec sending_flowspec (qos->SendingFlowspec.TokenRate, qos->SendingFlowspec.TokenBucketSize, diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp index 85c7241e4e6..9f53aa46d88 100644 --- a/ace/Strategies_T.cpp +++ b/ace/Strategies_T.cpp @@ -756,13 +756,27 @@ ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::connect_s // Note: This activation is outside the scope of the lock of the // cached connector. This is necessary to avoid subtle deadlock // conditions with this lock and the Reactor lock. - // - // @@ If an error occurs on activation, we should try to remove this - // entry from the internal table. if (!found) - if (this->activate_svc_handler (sh)) - return -1; + { + if (this->activate_svc_handler (sh) == -1) + { + // If an error occurs while activating the handler, the + // <activate_svc_handler> method will close the handler. + // This in turn will remove this entry from the internal + // table. + + // Synchronization is required here as the setting of the + // handler to zero must be done atomically with the users of + // the cache. + ACE_GUARD_RETURN (MUTEX, ace_mon, *this->lock_, -1); + + // Reset handler. + sh = 0; + + return -1; + } + } return 0; } @@ -809,13 +823,27 @@ ACE_Cached_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2, MUTEX>::connect_s // Note: This activation is outside the scope of the lock of the // cached connector. This is necessary to avoid subtle deadlock // conditions with this lock and the Reactor lock. - // - // @@ If an error occurs on activation, we should try to remove this - // entry from the internal table. if (!found) - if (this->activate_svc_handler (sh)) - return -1; + { + if (this->activate_svc_handler (sh) == -1) + { + // If an error occurs while activating the handler, the + // <activate_svc_handler> method will close the handler. + // This in turn will remove this entry from the internal + // table. + + // Synchronization is required here as the setting of the + // handler to zero must be done atomically with the users of + // the cache. + ACE_GUARD_RETURN (MUTEX, ace_mon, *this->lock_, -1); + + // Reset handler. + sh = 0; + + return -1; + } + } return 0; } diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h index 02dcf150957..23cf05c1b6a 100644 --- a/ace/config-win32-common.h +++ b/ace/config-win32-common.h @@ -67,6 +67,7 @@ #define ACE_LACKS_SYSV_SHMEM #define ACE_LACKS_UNISTD_H #define ACE_LACKS_RLIMIT +#define ACE_LACKS_FCNTL #define ACE_HAS_POSITION_INDEPENDENT_MALLOC #define ACE_SIZEOF_LONG_LONG 8 |