summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--ChangeLogs/ChangeLog-02a19
-rw-r--r--ChangeLogs/ChangeLog-03a19
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a107
-rw-r--r--TAO/examples/Buffered_AMI/client.cpp2
-rw-r--r--TAO/examples/Buffered_Oneways/client.cpp108
-rw-r--r--TAO/performance-tests/RTCorba/Oneways/Reliable/client.cpp4
-rw-r--r--TAO/tao/GIOP.cpp2
-rw-r--r--TAO/tao/IIOP_Connect.cpp22
-rw-r--r--TAO/tao/Invocation.cpp24
-rw-r--r--TAO/tao/Messaging.pidl3
-rw-r--r--TAO/tao/MessagingC.cpp5
-rw-r--r--TAO/tao/MessagingC.h3
-rw-r--r--TAO/tao/MessagingS.cpp34
-rw-r--r--TAO/tao/MessagingS.h42
-rw-r--r--TAO/tao/Messaging_Policy_i.cpp78
-rw-r--r--TAO/tao/Messaging_Policy_i.h50
-rw-r--r--TAO/tao/ORB.cpp6
-rw-r--r--TAO/tao/ORB_Core.cpp35
-rw-r--r--TAO/tao/ORB_Core.h17
-rw-r--r--TAO/tao/ORB_Core.i11
-rw-r--r--TAO/tao/Object_Adapter.cpp20
-rw-r--r--TAO/tao/Object_Adapter.h8
-rw-r--r--TAO/tao/Object_Adapter.i4
-rw-r--r--TAO/tao/POA.cpp104
-rw-r--r--TAO/tao/POA.h52
-rw-r--r--TAO/tao/POA.i31
-rw-r--r--TAO/tao/POA.pidl40
-rw-r--r--TAO/tao/POAC.cpp20
-rw-r--r--TAO/tao/POAC.h60
-rw-r--r--TAO/tao/POAC.i51
-rw-r--r--TAO/tao/POAManager.cpp4
-rw-r--r--TAO/tao/POAManager.h8
-rw-r--r--TAO/tao/POAManager.i4
-rw-r--r--TAO/tao/POAS.cpp28
-rw-r--r--TAO/tao/POAS.h44
-rw-r--r--TAO/tao/POAS.i12
-rw-r--r--TAO/tao/Pluggable.cpp74
-rw-r--r--TAO/tao/Pluggable.h7
-rw-r--r--TAO/tao/Policy_Manager.cpp4
-rw-r--r--TAO/tao/Policy_Manager.h12
-rw-r--r--TAO/tao/Policy_Manager.i8
-rw-r--r--TAO/tao/Stub.cpp7
-rw-r--r--TAO/tao/Stub.h4
-rw-r--r--TAO/tao/Sync_Strategies.cpp11
-rw-r--r--TAO/tao/Sync_Strategies.h8
-rw-r--r--TAO/tao/TAO.pidl4
-rw-r--r--TAO/tao/TAOC.cpp6
-rw-r--r--TAO/tao/TAOC.h4
-rw-r--r--TAO/tao/Transport_Mux_Strategy.cpp4
-rw-r--r--TAO/tao/UIOP_Connect.cpp22
-rw-r--r--TAO/tao/Wait_Strategy.cpp13
-rw-r--r--TAO/tao/orbconf.h25
-rw-r--r--TAO/tests/Makefile3
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/Makefile1419
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/README32
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/Timed_Buffered_Oneways.dsw40
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/client.cpp330
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/client.dsp193
-rwxr-xr-xTAO/tests/Timed_Buffered_Oneways/run_test.pl43
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/server.cpp110
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/server.dsp205
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/test.idl13
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/test_i.cpp37
-rw-r--r--TAO/tests/Timed_Buffered_Oneways/test_i.h45
-rw-r--r--TAO/version_tests.dsw36
-rw-r--r--ace/ACE.cpp113
-rw-r--r--ace/ACE.h18
-rw-r--r--ace/OS.i85
-rw-r--r--ace/Strategies_T.cpp48
-rw-r--r--ace/config-win32-common.h1
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
diff --git a/ace/OS.i b/ace/OS.i
index 9d544201a20..1c6939c877f 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -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