summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2002-04-15 18:33:43 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2002-04-15 18:33:43 +0000
commit288352386a822504386d01882966a8307b67feea (patch)
treeb66d368c5530a8fc76848489dba1aa09affbb3ad
parent8f142a3bb37a19711dad9f2aae813ee5c6e6d9b6 (diff)
downloadATCD-288352386a822504386d01882966a8307b67feea.tar.gz
ChangeLogTag:Mon Apr 15 11:30:50 2002 Ossama Othman <ossama@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a21
-rw-r--r--TAO/tao/IIOP_Connector.cpp11
-rw-r--r--TAO/tao/ORBInitializer_Registry.h15
-rw-r--r--TAO/tao/ORB_Table.h14
-rw-r--r--TAO/tao/Strategies/SHMIOP_Connector.cpp3
-rw-r--r--TAO/tao/Strategies/UIOP_Connector.cpp11
6 files changed, 53 insertions, 22 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 57679a9b62b..c6e914547f4 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,24 @@
+Mon Apr 15 11:30:50 2002 Ossama Othman <ossama@uci.edu>
+
+ * tao/ORB_Table.h:
+ * tao/ORBInitializer_Registry.h:
+
+ Declare the singletons in these headers with the
+ TAO_SINGLETON_DECLARE macro to force a single instance to be
+ instantiated and exported in/from a Win32 TAO DLL. This should
+ correct a problem where multiple instances of TAO's ORB table
+ and ORBInitializer registry would end up being created despite
+ the fact they are supposed to be singletons. Kudos to Nanbor
+ for his help on these fixes.
+
+ * tao/IIOP_Connector.cpp:
+ * tao/Strategies/SHMIOP_Connector.cpp:
+ * tao/Strategies/UIOP_Connector.cpp:
+
+ Removed unused auto_ptr related explicit template
+ instantiations. They were only used by the preconnect code (see
+ below).
+
Mon Apr 15 08:05:14 2002 Balachandran Natarajan <bala@cs.wustl.edu>
* orbsvcs/orbsvcs/Security/Security_Current_Impl.h: Included
diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp
index 101660999e8..7f8ca4e55ce 100644
--- a/TAO/tao/IIOP_Connector.cpp
+++ b/TAO/tao/IIOP_Connector.cpp
@@ -1,13 +1,9 @@
-// This may look like C, but it's really -*- C++ -*-
-// $Id$
-
#include "tao/IIOP_Connector.h"
#include "tao/IIOP_Profile.h"
#include "tao/debug.h"
#include "tao/ORB_Core.h"
#include "tao/Client_Strategy_Factory.h"
#include "tao/Environment.h"
-#include "ace/Auto_Ptr.h"
#include "tao/Base_Transport_Property.h"
#include "tao/Protocols_Hooks.h"
#include "tao/Transport_Cache_Manager.h"
@@ -47,8 +43,6 @@ template class ACE_Map_Reverse_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_IIOP_Connec
#pragma instantiate ACE_Map_Entry<ACE_HANDLE,ACE_Svc_Tuple<TAO_IIOP_Connection_Handler>*>
#pragma instantiate ACE_Map_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_IIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
#pragma instantiate ACE_Map_Reverse_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_IIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<TAO_IIOP_Connection_Handler*>
-
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
@@ -359,9 +353,8 @@ TAO_IIOP_Connector::init_tcp_properties (void)
#if 0
-/*
- * TODO: Needs to be removed
- *
+/**
+ * @todo Needs to be removed
*/
int
TAO_IIOP_Connector::preconnect (const char *preconnects)
diff --git a/TAO/tao/ORBInitializer_Registry.h b/TAO/tao/ORBInitializer_Registry.h
index 8badb87e55e..82ec0bb2384 100644
--- a/TAO/tao/ORBInitializer_Registry.h
+++ b/TAO/tao/ORBInitializer_Registry.h
@@ -88,6 +88,21 @@ private:
# include "tao/ORBInitializer_Registry.inl"
#endif /* __ACE_INLINE__ */
+#if defined (_MSC_VER)
+// Disable "nonstandard extension used : 'extern' before template
+// explicit instantiation" warning.
+#pragma warning(disable:4231)
+#endif /* _MSC_VER */
+
+TAO_SINGLETON_DECLARE (TAO_Singleton,
+ TAO_ORBInitializer_Registry,
+ TAO_SYNCH_MUTEX)
+
+#if defined (_MSC_VER)
+// Re-enable the warning.
+#pragma warning(default:4231)
+#endif /* _MSC_VER */
+
#include "ace/post.h"
#endif /* TAO_ORB_INITIALIZER_REGISTRY_H */
diff --git a/TAO/tao/ORB_Table.h b/TAO/tao/ORB_Table.h
index db8f7465958..9adda3bb185 100644
--- a/TAO/tao/ORB_Table.h
+++ b/TAO/tao/ORB_Table.h
@@ -92,11 +92,23 @@ private:
};
-
#if defined (__ACE_INLINE__)
# include "tao/ORB_Table.inl"
#endif /* __ACE_INLINE__ */
+#if defined (_MSC_VER)
+// Disable "nonstandard extension used : 'extern' before template
+// explicit instantiation" warning.
+#pragma warning(disable:4231)
+#endif /* _MSC_VER */
+
+TAO_SINGLETON_DECLARE (TAO_Singleton, TAO_ORB_Table, TAO_SYNCH_MUTEX)
+
+#if defined (_MSC_VER)
+// Re-enable the warning.
+#pragma warning(default:4231)
+#endif /* _MSC_VER */
+
#include "ace/post.h"
#endif /* TAO_ORB_TABLE_H */
diff --git a/TAO/tao/Strategies/SHMIOP_Connector.cpp b/TAO/tao/Strategies/SHMIOP_Connector.cpp
index 440522991d1..0b7dd818d6a 100644
--- a/TAO/tao/Strategies/SHMIOP_Connector.cpp
+++ b/TAO/tao/Strategies/SHMIOP_Connector.cpp
@@ -11,7 +11,6 @@
#include "tao/ORB_Core.h"
#include "tao/Client_Strategy_Factory.h"
#include "tao/Environment.h"
-#include "ace/Auto_Ptr.h"
#include "tao/Transport_Cache_Manager.h"
#include "tao/Invocation.h"
#include "tao/Thread_Lane_Resources.h"
@@ -34,7 +33,6 @@ template class ACE_Map_Iterator_Base<ACE_HANDLE, ACE_Svc_Tuple<TAO_SHMIOP_Connec
template class ACE_Map_Entry<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*>;
template class ACE_Map_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
template class ACE_Map_Reverse_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-template class ACE_Auto_Basic_Array_Ptr<TAO_SHMIOP_Connection_Handler*>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
@@ -50,7 +48,6 @@ template class ACE_Auto_Basic_Array_Ptr<TAO_SHMIOP_Connection_Handler*>;
#pragma instantiate ACE_Map_Entry<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*>
#pragma instantiate ACE_Map_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
#pragma instantiate ACE_Map_Reverse_Iterator<ACE_HANDLE,ACE_Svc_Tuple<TAO_SHMIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<TAO_SHMIOP_Connection_Handler*>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/Strategies/UIOP_Connector.cpp b/TAO/tao/Strategies/UIOP_Connector.cpp
index cc594d87c81..d86e4e509cb 100644
--- a/TAO/tao/Strategies/UIOP_Connector.cpp
+++ b/TAO/tao/Strategies/UIOP_Connector.cpp
@@ -1,5 +1,3 @@
-// $Id$
-
#include "UIOP_Connector.h"
#if TAO_HAS_UIOP == 1
@@ -8,7 +6,6 @@
#include "tao/debug.h"
#include "tao/ORB_Core.h"
#include "tao/Environment.h"
-#include "ace/Auto_Ptr.h"
#include "tao/Protocols_Hooks.h"
#include "tao/Base_Transport_Property.h"
#include "tao/Transport_Cache_Manager.h"
@@ -33,13 +30,11 @@ template class ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<TAO_UIOP_Connection_Hand
template class ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*>;
template class ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
template class ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-template class ACE_Auto_Basic_Array_Ptr<TAO_UIOP_Connection_Handler*>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Node<ACE_UNIX_Addr>
#pragma instantiate ACE_Unbounded_Stack<ACE_UNIX_Addr>
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<ACE_UNIX_Addr>
#pragma instantiate TAO_Connect_Concurrency_Strategy<TAO_UIOP_Connection_Handler>
#pragma instantiate TAO_Connect_Creation_Strategy<TAO_UIOP_Connection_Handler>
@@ -53,7 +48,6 @@ template class ACE_Auto_Basic_Array_Ptr<TAO_UIOP_Connection_Handler*>;
#pragma instantiate ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*>
#pragma instantiate ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
#pragma instantiate ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_UIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<TAO_UIOP_Connection_Handler*>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
@@ -351,9 +345,8 @@ TAO_UIOP_Connector::init_uiop_properties (void)
#if 0
-/*
- * TODO Needs to be removed
- *
+/**
+ * @todo Needs to be removed
*/
int
TAO_UIOP_Connector::preconnect (const char *preconnects)