summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-16 17:15:17 +0000
committeriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-16 17:15:17 +0000
commit21ee691e7bc219c01b60dbf1bd27613347100d8f (patch)
tree0046330402f35320f1e34485cfc93905dd82e4ca
parent2980cced49a37d5f813fa83fb087b14ab7ccc421 (diff)
downloadATCD-21ee691e7bc219c01b60dbf1bd27613347100d8f.tar.gz
ChangeLogTag: Tue Jan 16 17:13:13 UTC 2007 Iliyan Jeliazkov <iliyan@ociweb.com>
-rw-r--r--TAO/ChangeLog38
-rw-r--r--TAO/tao/Transport.cpp15
-rw-r--r--TAO/tao/TransportCurrent/Current_Loader.cpp5
-rw-r--r--TAO/tao/TransportCurrent/Current_Loader.h10
-rw-r--r--TAO/tao/TransportCurrent/Current_ORBInitializer_Base.cpp9
-rw-r--r--TAO/tao/TransportCurrent/Current_ORBInitializer_Base.h68
-rw-r--r--TAO/tests/TransportCurrent/Framework/Server_Main.cpp10
-rw-r--r--TAO/tests/TransportCurrent/Framework/client.cpp32
-rw-r--r--TAO/tests/TransportCurrent/Framework/server.cpp25
-rw-r--r--TAO/tests/TransportCurrent/IIOP/client.cpp28
-rw-r--r--TAO/tests/TransportCurrent/IIOP/server.cpp14
-rw-r--r--TAO/tests/TransportCurrent/lib/Client_ORBInitializer.h6
-rw-r--r--TAO/tests/TransportCurrent/lib/Server_ORBInitializer.h11
13 files changed, 177 insertions, 94 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index acb60356366..18097458a56 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,41 @@
+Tue Jan 16 17:13:13 UTC 2007 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tao/Transport.cpp:
+
+ Added initialization for the stats_ member in case the TC
+ feature has been disabled, and providing a delete for it in the
+ destructor.
+
+ * tao/TransportCurrent/Current_Loader.h:
+ * tao/TransportCurrent/Current_Loader.cpp:
+
+ Removed unnecessary orbinitializer_registry method and
+ eliminated nnecesary whitespace.
+
+ * tao/TransportCurrent/Current_ORBInitializer_Base.h:
+ * tao/TransportCurrent/Current_ORBInitializer_Base.cpp:
+
+ Added TAO_Local_RefCounted_Object as an additional base class
+ to ensure proper cleanup of the ORB initializer instances. The
+ local CORBA objects are not reference counted (yet)!
+
+ * tests/TransportCurrent/Framework/Server_Main.cpp:
+ * tests/TransportCurrent/Framework/client.cpp:
+ * tests/TransportCurrent/Framework/server.cpp:
+ * tests/TransportCurrent/IIOP/client.cpp:
+ * tests/TransportCurrent/IIOP/server.cpp:
+
+ Ensured request interceptors are heap allocated to avoid
+ problems trying to delete automatic instances when the ORB is
+ destroyed.
+
+ * tests/TransportCurrent/lib/Client_ORBInitializer.h:
+ * tests/TransportCurrent/lib/Server_ORBInitializer.h:
+
+ Added TAO_Local_RefCounted_Object as an additional base class
+ to ensure proper cleanup of the ORB initializer instances. The
+ local CORBA objects are not reference counted (yet)!
+
Tue Jan 16 11:15:10 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp:
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 83f2a3f114d..8138085af05 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -52,7 +52,7 @@ dump_iov (iovec *iov, int iovcnt, size_t id,
size_t current_transfer,
const char *location)
{
- ACE_Log_Msg::instance ()->acquire ();
+ ACE_Guard <ACE_Log_Msg> log_guard (*ACE_Log_Msg::instance ());
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("TAO (%P|%t) - Transport[%d]::%s, ")
@@ -110,12 +110,15 @@ dump_iov (iovec *iov, int iovcnt, size_t id,
ACE_TEXT ("TAO (%P|%t) - Transport[%d]::%s, ")
ACE_TEXT ("end of data\n"),
id, ACE_TEXT_CHAR_TO_TCHAR(location)));
-
- ACE_Log_Msg::instance ()->release ();
}
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+TAO::Transport::Stats::~Stats ()
+{
+ // no-op
+}
+
TAO_Transport::TAO_Transport (CORBA::ULong tag,
TAO_ORB_Core *orb_core)
: tag_ (tag)
@@ -165,6 +168,8 @@ TAO_Transport::TAO_Transport (CORBA::ULong tag,
ACE_NEW_THROW_EX (this->stats_,
TAO::Transport::Stats,
CORBA::NO_MEMORY ());
+#else
+ this->stats_ = 0;
#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
/*
@@ -206,6 +211,10 @@ TAO_Transport::~TAO_Transport (void)
ACE_ASSERT (this->head_ == 0);
ACE_ASSERT (this->cache_map_entry_ == 0);
+#if TAO_HAS_TRANSPORT_CURRENT == 1
+ delete this->stats_;
+#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
+
/*
* Hook to add code that cleans up components
* belong to the concrete protocol implementation.
diff --git a/TAO/tao/TransportCurrent/Current_Loader.cpp b/TAO/tao/TransportCurrent/Current_Loader.cpp
index f2ff2564616..a4e2a6dde40 100644
--- a/TAO/tao/TransportCurrent/Current_Loader.cpp
+++ b/TAO/tao/TransportCurrent/Current_Loader.cpp
@@ -36,8 +36,6 @@ namespace TAO
{
}
-
-
/// Initializes object when dynamic linking occurs.
int
Current_Loader::init (int, ACE_TCHAR *[])
@@ -68,9 +66,6 @@ namespace TAO
TAO_END_VERSIONED_NAMESPACE_DECL
-
-
-
#if defined (TAO_AS_STATIC_LIBS)
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/TransportCurrent/Current_Loader.h b/TAO/tao/TransportCurrent/Current_Loader.h
index 1cb998ebcd7..388a3b7c342 100644
--- a/TAO/tao/TransportCurrent/Current_Loader.h
+++ b/TAO/tao/TransportCurrent/Current_Loader.h
@@ -25,12 +25,11 @@
#include "tao/Versioned_Namespace.h"
#include "tao/TransportCurrent/Transport_Current_Export.h"
-
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace TAO
{
- class ORBInitializer_Registry_Adapter;
+ // class ORBInitializer_Registry_Adapter;
namespace Transport
{
@@ -47,13 +46,6 @@ namespace TAO
// Protected destructor to enforce reference counting discipline
virtual ~Current_Loader (void);
-
- ORBInitializer_Registry_Adapter* orbinitializer_registry (void);
-
- private:
-
- /// A cache for the registry pointer
- ORBInitializer_Registry_Adapter* oir_;
};
}
diff --git a/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.cpp b/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.cpp
index bcd2e7d3d3c..306f8a13fcc 100644
--- a/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.cpp
+++ b/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.cpp
@@ -1,9 +1,9 @@
// $Id$
+
#include "tao/PI/ORBInitInfo.h"
#include "tao/TransportCurrent/Current_ORBInitializer_Base.h"
-
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace TAO
@@ -14,14 +14,15 @@ namespace TAO
Current_ORBInitializer_Base::Current_ORBInitializer_Base(const ACE_TCHAR* id)
: id_ (id)
{
+ // do nothing
}
Current_ORBInitializer_Base::~Current_ORBInitializer_Base(void)
{
+ // do nothing
}
-
void
Current_ORBInitializer_Base::pre_init (PortableInterceptor::ORBInitInfo_ptr info
ACE_ENV_ARG_DECL_NOT_USED )
@@ -56,7 +57,6 @@ namespace TAO
ACE_ENV_ARG_PARAMETER));
ACE_CHECK;
-
info->register_initial_reference (ACE_TEXT_ALWAYS_CHAR (this->id_.fast_rep ()),
current.in ());
@@ -67,6 +67,7 @@ namespace TAO
ACE_ENV_ARG_DECL_NOT_USED )
ACE_THROW_SPEC( (CORBA::SystemException) )
{
+ // do nothing
}
}
@@ -74,3 +75,5 @@ namespace TAO
}
TAO_END_VERSIONED_NAMESPACE_DECL
+
+
diff --git a/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.h b/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.h
index 38b6cc903dc..6fa97142298 100644
--- a/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.h
+++ b/TAO/tao/TransportCurrent/Current_ORBInitializer_Base.h
@@ -15,53 +15,55 @@
#define CURRENT_ORBINITIALIZER_BASE_H
#include /**/ "ace/pre.h"
-#include /**/ "tao/TransportCurrent/Transport_Current_Export.h"
+
+#include "ace/SString.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "ace/SString.h"
#include "tao/PI/PI.h"
-
+#include "tao/LocalObject.h"
#include "tao/TransportCurrent/TCC.h"
+#include "tao/TransportCurrent/Transport_Current_Export.h"
+
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace TAO
{
namespace Transport
{
-
- class TAO_Transport_Current_Export Current_ORBInitializer_Base :
- public PortableInterceptor::ORBInitializer
- {
- public:
- Current_ORBInitializer_Base (const ACE_TCHAR* id);
- virtual ~Current_ORBInitializer_Base (void);
-
- virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED )
- ACE_THROW_SPEC( (CORBA::SystemException) );
-
- virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
- ACE_ENV_ARG_DECL_NOT_USED )
- ACE_THROW_SPEC( (CORBA::SystemException) );
-
- protected:
- virtual TAO::Transport::Current_ptr
- make_current_instance (TAO_ORB_Core* core,
- size_t tss_slot_id
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
-
- protected:
- const ACE_TString id_;
- };
-
- }
-
-}
+ class TAO_Transport_Current_Export Current_ORBInitializer_Base
+ : public virtual PortableInterceptor::ORBInitializer
+ , public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ Current_ORBInitializer_Base (const ACE_TCHAR* id);
+ virtual ~Current_ORBInitializer_Base (void);
+
+ virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED )
+ ACE_THROW_SPEC( (CORBA::SystemException) );
+
+ virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_NOT_USED )
+ ACE_THROW_SPEC( (CORBA::SystemException) );
+
+ protected:
+ virtual TAO::Transport::Current_ptr
+ make_current_instance (TAO_ORB_Core* core,
+ size_t tss_slot_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+
+ protected:
+ const ACE_TString id_;
+ };
+
+ } /* namespace Transport */
+
+} /* namespace TAO */
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tests/TransportCurrent/Framework/Server_Main.cpp b/TAO/tests/TransportCurrent/Framework/Server_Main.cpp
index 21c1227fbf3..453dfd2136f 100644
--- a/TAO/tests/TransportCurrent/Framework/Server_Main.cpp
+++ b/TAO/tests/TransportCurrent/Framework/Server_Main.cpp
@@ -18,6 +18,12 @@ int
ACE_TMAIN (int argc,
ACE_TCHAR *argv[])
{
- Test::Server_Request_Interceptor cri ("test_orb", test_transport_current);
- return server_main (argc, argv, &cri);
+ Test::Server_Request_Interceptor* cri = 0;
+ ACE_NEW_RETURN (cri,
+ Test::Server_Request_Interceptor ("test_orb",
+ test_transport_current),
+ -1);
+ PortableInterceptor::ServerRequestInterceptor_var cri_safe (cri);
+
+ return server_main (argc, argv, cri);
}
diff --git a/TAO/tests/TransportCurrent/Framework/client.cpp b/TAO/tests/TransportCurrent/Framework/client.cpp
index 12207234dd4..db5e5ac2a30 100644
--- a/TAO/tests/TransportCurrent/Framework/client.cpp
+++ b/TAO/tests/TransportCurrent/Framework/client.cpp
@@ -161,20 +161,23 @@ Worker::svc (void)
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
+#if TAO_HAS_TRANSPORT_CURRENT == 1
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- Test::Client_Request_Interceptor cri (CLIENT_ORB_ID, test_transport_current);
-
- PortableInterceptor::ORBInitializer_ptr temp_initializer =
- PortableInterceptor::ORBInitializer::_nil ();
+ Test::Client_Request_Interceptor* cri = 0;
+ ACE_NEW_RETURN (cri,
+ Test::Client_Request_Interceptor (CLIENT_ORB_ID,
+ test_transport_current),
+ -1);
+ PortableInterceptor::ClientRequestInterceptor_var cri_safe (cri);
+ PortableInterceptor::ORBInitializer_ptr temp_initializer = 0;
ACE_NEW_RETURN (temp_initializer,
- Test::Client_ORBInitializer (&cri),
+ Test::Client_ORBInitializer (cri),
-1);
-
- PortableInterceptor::ORBInitializer_var orb_initializer =
- temp_initializer;
+ PortableInterceptor::ORBInitializer_var orb_initializer (temp_initializer);
PortableInterceptor::register_orb_initializer (orb_initializer.in ()
ACE_ENV_ARG_PARAMETER);
@@ -256,7 +259,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
CORBA::Long result = 0;
// Verify enough interception points have been triggered
- if (cri.interceptions () != 2 * // request & response
+ if (cri->interceptions () != 2 * // request & response
niterations * // iterations
nthreads * // threads
(2*use_dii)) // sii and dii, if needed
@@ -264,7 +267,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("Client (%P|%t) Expected %d client-side interceptions, but detected %d\n"),
2 * niterations * nthreads * (2*use_dii),
- cri.interceptions ()));
+ cri->interceptions ()));
}
else
{
@@ -285,11 +288,13 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
server->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Client (%P|%t) Invoking orb->destroy ()\n")));
+
orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
ACE_DEBUG ((LM_INFO,
- ACE_TEXT ("Client (%P|%t) Completed %s\n"),
+ ACE_TEXT ("Client (%P|%t) Completed %s.\n"),
((result == 0) ? ACE_TEXT ("successfuly") : ACE_TEXT ("with failure"))));
return result;
}
@@ -300,4 +305,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return -1;
}
ACE_ENDTRY;
+
+#else /* TAO_HAS_TRANSPORT_CURRENT == 1 */
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Client (%P|%t) Need TAO_HAS_TRANSPORT_CURRENT enabled to run.\n")));
+ return 0;
+#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
}
diff --git a/TAO/tests/TransportCurrent/Framework/server.cpp b/TAO/tests/TransportCurrent/Framework/server.cpp
index 579f11d7726..2e551ae6961 100644
--- a/TAO/tests/TransportCurrent/Framework/server.cpp
+++ b/TAO/tests/TransportCurrent/Framework/server.cpp
@@ -108,18 +108,18 @@ server_main (int argc,
ACE_TCHAR *argv[],
Test::Server_Request_Interceptor *cri)
{
+
+#if TAO_HAS_TRANSPORT_CURRENT == 1
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- PortableInterceptor::ORBInitializer_ptr temp_initializer =
- PortableInterceptor::ORBInitializer::_nil ();
-
+ PortableInterceptor::ORBInitializer_ptr temp_initializer = 0;
ACE_NEW_RETURN (temp_initializer,
Test::Server_ORBInitializer (cri),
-1); // No exceptions yet!
- PortableInterceptor::ORBInitializer_var orb_initializer =
- temp_initializer;
+ PortableInterceptor::ORBInitializer_var orb_initializer (temp_initializer);
PortableInterceptor::register_orb_initializer (orb_initializer.in ()
ACE_ENV_ARG_PARAMETER);
@@ -205,7 +205,11 @@ server_main (int argc,
ACE_TEXT ("Server (%P|%t) Cannot activate %d threads\n"),
nthreads),
-1);
- worker.thr_mgr ()->wait ();
+ if(worker.thr_mgr ()->wait () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Server (%P|%t) wait() Cannot wait for all %d threads\n"),
+ nthreads),
+ -1);
#else
if (nthreads > 1)
ACE_ERROR ((LM_WARNING,
@@ -221,9 +225,14 @@ server_main (int argc,
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("Server (%P|%t) ERROR: Interceptor self_test failed\n")));
+ root_poa->destroy (1, 1 ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
server->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Server (%P|%t) Invoking orb->destroy ()\n")));
+
orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -239,4 +248,8 @@ server_main (int argc,
ACE_DEBUG ((LM_INFO, ACE_TEXT ("Server (%P|%t) Completed successfuly.\n")));
return 0;
+#else /* TAO_HAS_TRANSPORT_CURRENT == 1 */
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Server (%P|%t) Need TAO_HAS_TRANSPORT_CURRENT enabled to run.\n")));
+ return 0;
+#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
}
diff --git a/TAO/tests/TransportCurrent/IIOP/client.cpp b/TAO/tests/TransportCurrent/IIOP/client.cpp
index 3cb8df90cc0..caec63c7038 100644
--- a/TAO/tests/TransportCurrent/IIOP/client.cpp
+++ b/TAO/tests/TransportCurrent/IIOP/client.cpp
@@ -161,20 +161,23 @@ Worker::svc (void)
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
+#if TAO_HAS_TRANSPORT_CURRENT == 1
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- Test::Client_Request_Interceptor cri (CLIENT_ORB_ID, test_transport_current);
-
- PortableInterceptor::ORBInitializer_ptr temp_initializer =
- PortableInterceptor::ORBInitializer::_nil ();
+ Test::Client_Request_Interceptor* cri = 0;
+ ACE_NEW_RETURN (cri,
+ Test::Client_Request_Interceptor (CLIENT_ORB_ID,
+ test_transport_current),
+ -1);
+ PortableInterceptor::ClientRequestInterceptor_var cri_safe (cri);
+ PortableInterceptor::ORBInitializer_ptr temp_initializer = 0;
ACE_NEW_RETURN (temp_initializer,
- Test::Client_ORBInitializer (&cri),
+ Test::Client_ORBInitializer (cri),
-1);
-
- PortableInterceptor::ORBInitializer_var orb_initializer =
- temp_initializer;
+ PortableInterceptor::ORBInitializer_var orb_initializer (temp_initializer);
PortableInterceptor::register_orb_initializer (orb_initializer.in ()
ACE_ENV_ARG_PARAMETER);
@@ -256,7 +259,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
CORBA::Long result = 0;
// Verify enough interception points have been triggered
- if (cri.interceptions () != 2 * // request & response
+ if (cri->interceptions () != 2 * // request & response
niterations * // iterations
nthreads * // threads
(2*use_dii)) // sii and dii, if needed
@@ -264,7 +267,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("Client (%P|%t) Expected %d client-side interceptions, but detected %d\n"),
2 * niterations * nthreads * (2*use_dii),
- cri.interceptions ()));
+ cri->interceptions ()));
}
else
{
@@ -300,4 +303,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return -1;
}
ACE_ENDTRY;
+
+#else /* TAO_HAS_TRANSPORT_CURRENT == 1 */
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Client (%P|%t) Need TAO_HAS_TRANSPORT_CURRENT enabled to run.\n")));
+ return 0;
+#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
}
diff --git a/TAO/tests/TransportCurrent/IIOP/server.cpp b/TAO/tests/TransportCurrent/IIOP/server.cpp
index 579f11d7726..c2ec8913306 100644
--- a/TAO/tests/TransportCurrent/IIOP/server.cpp
+++ b/TAO/tests/TransportCurrent/IIOP/server.cpp
@@ -108,18 +108,18 @@ server_main (int argc,
ACE_TCHAR *argv[],
Test::Server_Request_Interceptor *cri)
{
+
+#if TAO_HAS_TRANSPORT_CURRENT == 1
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- PortableInterceptor::ORBInitializer_ptr temp_initializer =
- PortableInterceptor::ORBInitializer::_nil ();
-
+ PortableInterceptor::ORBInitializer_ptr temp_initializer = 0;
ACE_NEW_RETURN (temp_initializer,
Test::Server_ORBInitializer (cri),
-1); // No exceptions yet!
- PortableInterceptor::ORBInitializer_var orb_initializer =
- temp_initializer;
+ PortableInterceptor::ORBInitializer_var orb_initializer (temp_initializer);
PortableInterceptor::register_orb_initializer (orb_initializer.in ()
ACE_ENV_ARG_PARAMETER);
@@ -239,4 +239,8 @@ server_main (int argc,
ACE_DEBUG ((LM_INFO, ACE_TEXT ("Server (%P|%t) Completed successfuly.\n")));
return 0;
+#else /* TAO_HAS_TRANSPORT_CURRENT == 1 */
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("Server (%P|%t) Need TAO_HAS_TRANSPORT_CURRENT enabled to run.\n")));
+ return 0;
+#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
}
diff --git a/TAO/tests/TransportCurrent/lib/Client_ORBInitializer.h b/TAO/tests/TransportCurrent/lib/Client_ORBInitializer.h
index dcafa6638f4..8e7477ba8fe 100644
--- a/TAO/tests/TransportCurrent/lib/Client_ORBInitializer.h
+++ b/TAO/tests/TransportCurrent/lib/Client_ORBInitializer.h
@@ -22,17 +22,19 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/PI/PI.h"
+#include "tao/LocalObject.h"
#include "tao/PortableInterceptorC.h"
namespace Test
{
class Current_Test_Export Client_ORBInitializer :
- public PortableInterceptor::ORBInitializer
+ public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
{
public:
Client_ORBInitializer (PortableInterceptor::ClientRequestInterceptor_ptr interceptor);
- ~Client_ORBInitializer (void);
+ virtual ~Client_ORBInitializer (void);
virtual void pre_init(PortableInterceptor::ORBInitInfo*)
throw (CORBA::SystemException);
diff --git a/TAO/tests/TransportCurrent/lib/Server_ORBInitializer.h b/TAO/tests/TransportCurrent/lib/Server_ORBInitializer.h
index 6a00e61fca1..f4a0c96fb07 100644
--- a/TAO/tests/TransportCurrent/lib/Server_ORBInitializer.h
+++ b/TAO/tests/TransportCurrent/lib/Server_ORBInitializer.h
@@ -13,26 +13,27 @@
#ifndef SERVER_ORBINITIALIZER_T_H
#define SERVER_ORBINITIALIZER_T_H
#include /**/ "ace/pre.h"
-#include /**/ "ace/config.h"
-
-#include /**/ "Current_Test_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/PI/PI.h"
+#include "tao/LocalObject.h"
#include "tao/PortableInterceptorC.h"
+#include "Current_Test_Export.h"
+
namespace Test
{
class Current_Test_Export Server_ORBInitializer :
- public PortableInterceptor::ORBInitializer
+ public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
{
public:
Server_ORBInitializer (PortableInterceptor::ServerRequestInterceptor_ptr interceptor);
- ~Server_ORBInitializer (void);
+ virtual ~Server_ORBInitializer (void);
virtual void pre_init(PortableInterceptor::ORBInitInfo*)
throw (CORBA::SystemException);