diff options
author | mhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2013-10-23 08:44:20 +0000 |
---|---|---|
committer | mhengstmengel <mhengstmengel@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2013-10-23 08:44:20 +0000 |
commit | 121ae1d4eeb87d6b6920ec7ff7f8eef87b8fda6a (patch) | |
tree | b0701a19774a14a79d8a1f07ad24584752a70179 | |
parent | 6206a1506defd347551f3b33bbbb2265de05e6ce (diff) | |
download | ATCD-121ae1d4eeb87d6b6920ec7ff7f8eef87b8fda6a.tar.gz |
Changes for ANDROID port
31 files changed, 457 insertions, 150 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index 9275c518f3c..f12a7528efa 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,267 @@ +Wed Oct 23 08:28:29 UTC 2013 Marijke Hengstmengel <MHengstmengel.remedy.nl> + + * ace/Based_Pointer_Repository.cpp: + + * ace/Compression/rle/RLECompressor.cpp: + + * ace/Dynamic.cpp: + * ace/Lib_Find.cpp: + * ace/Obstack_T.cpp: + + * ace/SSL/SSL_Context.cpp: + + * ace/UUID.cpp: + * ace/config-android.h: + * ace/config-macros.h: + + * apps/JAWS3/jaws3/Templates.cpp: + + * apps/drwho/File_Manager.cpp: + + * bin/PerlACE/Process_Unix.pm: + * bin/PerlACE/TestTarget.pm: + * bin/PerlACE/TestTarget_Android.pm: + + * bin/auto_run_tests.pl: + + * examples/APG/Logging/Use_LogManager.cpp: + + * examples/APG/Timers/PTimerDispatcher.cpp: + * examples/APG/Timers/TimerDispatcher.cpp: + + * examples/C++NPv2/TP_Logging_Server.cpp: + + * examples/Export/dll.cpp: + + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: + + * examples/Logger/Acceptor-server/server_loggerd.cpp: + + * examples/Logger/simple-server/server_loggerd.cpp: + + * examples/Threads/auto_event.cpp: + * examples/Threads/tss2.cpp: + + * examples/Web_Crawler/Command_Processor.cpp: + + * performance-tests/Misc/test_singleton.cpp: + + * tests/MEM_Stream_Test.cpp: + * tests/Process_Strategy_Test.cpp: + + Changes for ANDROID CIAO port with native android + + + commit 43a2b2dfd3cc68ed5c30f4d8994a36183d972202 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 12:40:58 2013 +0200 + Removed my_test.lst + * ACE/bin/auto_run_tests.pl: + + commit 6e8749c45496635965cb9928690454572b208794 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 11:11:15 2013 +0200 + + Use typedef for template in Singleton template + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit 676e8e389552f864f5118a9616d156d134454085 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 10:06:07 2013 +0200 + + Added my_list + * ACE/bin/auto_run_tests.pl: + + commit b08cbe167f6f20b94d4e16c4e6cf6e516f605e16 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 15 15:35:33 2013 +0200 + + Temporarily use an other test list + * ACE/bin/auto_run_tests.pl: + + commit ac22da3990acafaa9e5c2e9ddf8fc08a8e86f2b0 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 15 15:22:58 2013 +0200 + + Work in progress + * ACE/bin/PerlACE/Process_Unix.pm: + * ACE/bin/PerlACE/TestTarget.pm: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit bb0a43d0cabb4a28504d9e57b21978b413d5eed5 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 9 15:56:10 2013 +0200 + + Changes for local AND remote targets + * ACE/bin/PerlACE/Process_Unix.pm: + * ACE/bin/PerlACE/TestTarget.pm: + * ACE/bin/PerlACE/TestTarget_Android.pm: + + Singleton errors. + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit a7d5192310bdac903fbc1c26cb2e02f3367804a0 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 9 10:03:30 2013 +0200 + + Solved compiler errors. + * ACE/examples/Export/dll.cpp: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/examples/Logger/simple-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit cd8529e7014ccede6aec99106074b39584eecf14 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 8 15:44:52 2013 +0200 + + Use macro ACE_SINGLETON_TEMPLATE_INSTANTIATE + * ACE/ace/Based_Pointer_Repository.cpp: + * ACE/ace/Dynamic.cpp: + * ACE/ace/Lib_Find.cpp: + * ACE/ace/SSL/SSL_Context.cpp: + * ACE/apps/JAWS3/jaws3/Templates.cpp: + * ACE/apps/drwho/File_Manager.cpp: + * ACE/examples/APG/Logging/Use_LogManager.cpp: + * ACE/examples/APG/Timers/PTimerDispatcher.cpp: + * ACE/examples/APG/Timers/TimerDispatcher.cpp: + * ACE/examples/C++NPv2/TP_Logging_Server.cpp: + * ACE/examples/Export/dll.cpp: + * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: + * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/examples/Logger/simple-server/server_loggerd.cpp: + * ACE/examples/Threads/auto_event.cpp: + * ACE/examples/Threads/tss2.cpp: + * ACE/examples/Web_Crawler/Command_Processor.cpp: + * ACE/performance-tests/Misc/test_singleton.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + * ACE/tests/Process_Strategy_Test.cpp: + + commit 43a2b2dfd3cc68ed5c30f4d8994a36183d972202 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 12:40:58 2013 +0200 + + Removed my_test.lst + * ACE/bin/auto_run_tests.pl: + + commit 6e8749c45496635965cb9928690454572b208794 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 11:11:15 2013 +0200 + + Use typedef for template in Singleton template + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit 676e8e389552f864f5118a9616d156d134454085 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 16 10:06:07 2013 +0200 + + Added my_list + * ACE/bin/auto_run_tests.pl: + + commit b08cbe167f6f20b94d4e16c4e6cf6e516f605e16 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 15 15:35:33 2013 +0200 + + Temporarily use an other test list + * ACE/bin/auto_run_tests.pl: + + commit ac22da3990acafaa9e5c2e9ddf8fc08a8e86f2b0 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 15 15:22:58 2013 +0200 + + Work in progress + * ACE/bin/PerlACE/Process_Unix.pm: + * ACE/bin/PerlACE/TestTarget.pm: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit bb0a43d0cabb4a28504d9e57b21978b413d5eed5 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 9 15:56:10 2013 +0200 + + refs #39157 + Changes for local AND remote targets + * ACE/bin/PerlACE/Process_Unix.pm: + * ACE/bin/PerlACE/TestTarget.pm: + * ACE/bin/PerlACE/TestTarget_Android.pm: + + Singleton errors. + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit a7d5192310bdac903fbc1c26cb2e02f3367804a0 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Wed Oct 9 10:03:30 2013 +0200 + + Solved compiler errors. + * ACE/examples/Export/dll.cpp: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/examples/Logger/simple-server/server_loggerd.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + + commit cd8529e7014ccede6aec99106074b39584eecf14 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 8 15:44:52 2013 +0200 + + Use macro ACE_SINGLETON_TEMPLATE_INSTANTIATE + * ACE/ace/Based_Pointer_Repository.cpp: + * ACE/ace/Dynamic.cpp: + * ACE/ace/Lib_Find.cpp: + * ACE/ace/SSL/SSL_Context.cpp: + * ACE/apps/JAWS3/jaws3/Templates.cpp: + * ACE/apps/drwho/File_Manager.cpp: + * ACE/examples/APG/Logging/Use_LogManager.cpp: + * ACE/examples/APG/Timers/PTimerDispatcher.cpp: + * ACE/examples/APG/Timers/TimerDispatcher.cpp: + * ACE/examples/C++NPv2/TP_Logging_Server.cpp: + * ACE/examples/Export/dll.cpp: + * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: + * ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: + * ACE/examples/Logger/Acceptor-server/server_loggerd.cpp: + * ACE/examples/Logger/simple-server/server_loggerd.cpp: + * ACE/examples/Threads/auto_event.cpp: + * ACE/examples/Threads/tss2.cpp: + * ACE/examples/Web_Crawler/Command_Processor.cpp: + * ACE/performance-tests/Misc/test_singleton.cpp: + * ACE/tests/MEM_Stream_Test.cpp: + * ACE/tests/Process_Strategy_Test.cpp: + + commit e9ae52194cec4f883c0c504026d53d2d52704c21 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Tue Oct 8 12:41:22 2013 +0200 + + Add support for remote testing in build environment with flat layout. + * ACE/bin/PerlACE/Process_Unix.pm: + + commit 1bf4499a38f5b1b1db7bfeb1c509708cc3950411 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Mon Oct 7 15:45:47 2013 +0200 + + Add Singleton instantiate + * ACE/ace/Compression/rle/RLECompressor.cpp: + + commit 384158b0b43c358cf5d960b9437f62701f402a07 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Mon Oct 7 09:39:43 2013 +0200 + + Added SINGLETON_DECLARATION + * ACE/ace/Obstack_T.cpp: + + commit eb9626a86511c55e5d46a65a260240af6103f8e4 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Thu Oct 3 10:19:06 2013 +0200 + + Solved singleton problems for android + * ACE/ace/UUID.cpp: + * ACE/ace/config-android.h: + * ACE/ace/config-macros.h: + + Tue Oct 22 22:09:41 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> * ace/Sock_Connect.cpp: diff --git a/ACE/ace/Based_Pointer_Repository.cpp b/ACE/ace/Based_Pointer_Repository.cpp index a76d3dbcbd3..07d71e85a86 100644 --- a/ACE/ace/Based_Pointer_Repository.cpp +++ b/ACE/ace/Based_Pointer_Repository.cpp @@ -111,9 +111,7 @@ ACE_Based_Pointer_Repository::unbind (void *addr) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX> * - ACE_Singleton<ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_RW_MUTEX); + ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/Compression/rle/RLECompressor.cpp b/ACE/ace/Compression/rle/RLECompressor.cpp index 22b4d784d8f..b1ca7c33fba 100644 --- a/ACE/ace/Compression/rle/RLECompressor.cpp +++ b/ACE/ace/Compression/rle/RLECompressor.cpp @@ -158,6 +158,8 @@ ACE_RLECompressor::decompress( const void *in_ptr, return out_len; } +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_RLECompressor, ACE_SYNCH_MUTEX); + // Close versioned namespace, if enabled by the user. ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/Dynamic.cpp b/ACE/ace/Dynamic.cpp index 0b8cc2df163..085f6e56fb5 100644 --- a/ACE/ace/Dynamic.cpp +++ b/ACE/ace/Dynamic.cpp @@ -26,9 +26,7 @@ ACE_Dynamic::instance (void) return ACE_TSS_Singleton<ACE_Dynamic, ACE_SYNCH_NULL_MUTEX>::instance (); } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex> * - ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_TSS_Singleton, ACE_Dynamic, ACE_SYNCH_MUTEX); + ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/Lib_Find.cpp b/ACE/ace/Lib_Find.cpp index 85004497660..b6570de9d18 100644 --- a/ACE/ace/Lib_Find.cpp +++ b/ACE/ace/Lib_Find.cpp @@ -104,10 +104,9 @@ ACE_SINGLETON_DECLARE (ACE_Singleton, typedef ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex> ACE_LD_SYMBOL_REGISTRY; -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex> * - ACE_Singleton<ACE_LD_Symbol_Registry, ACE_Thread_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_LD_Symbol_Registry, ACE_SYNCH_MUTEX); + + #endif diff --git a/ACE/ace/Obstack_T.cpp b/ACE/ace/Obstack_T.cpp index fe9a2f15482..c4d15b77c20 100644 --- a/ACE/ace/Obstack_T.cpp +++ b/ACE/ace/Obstack_T.cpp @@ -221,6 +221,8 @@ ACE_Obstack_T<ACE_CHAR_T>::freeze (void) return retv; } +ACE_SINGLETON_TEMPLATE_INSTANTIATION(ACE_Obstack_T <char>;); + ACE_END_VERSIONED_NAMESPACE_DECL #endif /* ACE_OBSTACK_T_CPP */ diff --git a/ACE/ace/SSL/SSL_Context.cpp b/ACE/ace/SSL/SSL_Context.cpp index ba25611aa74..37c10fca375 100644 --- a/ACE/ace/SSL/SSL_Context.cpp +++ b/ACE/ace/SSL/SSL_Context.cpp @@ -664,12 +664,6 @@ ACE_SSL_Context::dh_params (const char *file_name, } // **************************************************************** - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) - -template ACE_Unmanaged_Singleton<ACE_SSL_Context, ACE_SYNCH_MUTEX> * - ACE_Unmanaged_Singleton<ACE_SSL_Context, ACE_SYNCH_MUTEX>::singleton_; - -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Unmanaged_Singleton, ACE_Based_Pointer_Repository, ACE_SYNCH_MUTEX); ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/UUID.cpp b/ACE/ace/UUID.cpp index bda17c76930..1c3811e5fc2 100644 --- a/ACE/ace/UUID.cpp +++ b/ACE/ace/UUID.cpp @@ -487,9 +487,6 @@ namespace ACE_Utils } } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) - template ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX> * - ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX); ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/config-android.h b/ACE/ace/config-android.h index 9ccb4cafb0f..ec6fe88db9c 100644 --- a/ACE/ace/config-android.h +++ b/ACE/ace/config-android.h @@ -135,6 +135,13 @@ // this must appear before its #include. # define ACE_HAS_STRING_CLASS # include "ace/config-g++-common.h" + +# define ACE_HAS_CUSTOM_EXPORT_MACROS +# define ACE_Proper_Export_Flag +# define ACE_IMPORT_SINGLETON_DECLARATION(T) __extension__ extern template class T +# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) __extension__ extern template class SINGLETON_TYPE<CLASS, LOCK>; +# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + #elif defined (__GNUC__) /** * GNU C compiler. diff --git a/ACE/ace/config-macros.h b/ACE/ace/config-macros.h index 432457a980d..e0ca19d30d2 100644 --- a/ACE/ace/config-macros.h +++ b/ACE/ace/config-macros.h @@ -182,6 +182,25 @@ #endif /* !ACE_HAS_CUSTOM_EXPORT_MACROS */ +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T) \ + template class T; +# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK) \ + template class SINGLETON_TYPE < CLASS, LOCK >; +#elif defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) +# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T) \ + template T * T::singleton_; +# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK) \ + template SINGLETON_TYPE < CLASS, LOCK > * SINGLETON_TYPE < CLASS, LOCK >::singleton_; +#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ + +#if !defined(ACE_SINGLETON_TEMPLATE_INSTANTIATION) +# define ACE_SINGLETON_TEMPLATE_INSTANTIATION(T) +#endif +#if !defined(ACE_SINGLETON_TEMPLATE_INSTANTIATE) +# define ACE_SINGLETON_TEMPLATE_INSTANTIATE(SINGLETON_TYPE, CLASS, LOCK) +#endif + // This is a whim of mine -- that instead of annotating a class with // ACE_Export in its declaration, we make the declaration near the TOP // of the file with ACE_DECLARE_EXPORT. diff --git a/ACE/apps/JAWS3/jaws3/Templates.cpp b/ACE/apps/JAWS3/jaws3/Templates.cpp index 2f702936747..60bca7b9bc8 100644 --- a/ACE/apps/JAWS3/jaws3/Templates.cpp +++ b/ACE/apps/JAWS3/jaws3/Templates.cpp @@ -55,18 +55,17 @@ #define ACE_TQIT_R \ ACE_Timer_Queue_Iterator_T<ACE_WHEEL_TEMPLATE_ARGS_R> -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_Message_Block, ACE_Null_Mutex> *ACE_Singleton<ACE_Message_Block, ACE_Null_Mutex>::singleton_; -template ACE_Singleton<JAWS_Asynch_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Asynch_IO, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Concurrency, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_IO, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Options, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Options, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Reactive_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Reactive_IO, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Signal_Task, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Signal_Task, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Synch_IO, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Synch_IO, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_TPOOL_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_TPOOL_Concurrency, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_TPR_Concurrency, ACE_Thread_Mutex> *ACE_Singleton<JAWS_TPR_Concurrency, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Task_Timer, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Task_Timer, ACE_Thread_Mutex>::singleton_; -template ACE_Singleton<JAWS_Timer, ACE_Thread_Mutex> *ACE_Singleton<JAWS_Timer, ACE_Thread_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Message_Block, ACE_Null_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Asynch_IO, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Concurrency, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_IO, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Options, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Reactive_IO, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Signal_Task, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Synch_IO, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_THYBRID_Concurrency, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_TPOOL_Concurrency, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_TPR_Concurrency, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Task_Timer, ACE_Thread_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, JAWS_Timer, ACE_Thread_Mutex); + diff --git a/ACE/apps/drwho/File_Manager.cpp b/ACE/apps/drwho/File_Manager.cpp index 30df49cf8d7..f9d46814dc8 100644 --- a/ACE/apps/drwho/File_Manager.cpp +++ b/ACE/apps/drwho/File_Manager.cpp @@ -165,7 +165,5 @@ File_Manager::open_friends_file (const char *filename) return this->number_of_friends; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<File_Manager, ACE_Null_Mutex> * - ACE_Singleton<File_Manager, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, File_Manager, ACE_Null_Mutex); + diff --git a/ACE/bin/PerlACE/Process_Unix.pm b/ACE/bin/PerlACE/Process_Unix.pm index 75a4c7d2df4..0d41001f3a6 100644 --- a/ACE/bin/PerlACE/Process_Unix.pm +++ b/ACE/bin/PerlACE/Process_Unix.pm @@ -90,15 +90,14 @@ sub Executable $self->{EXECUTABLE} = shift; } - my $executable = $self->{EXECUTABLE}; + my $executable = File::Spec->rel2abs ($self->{EXECUTABLE}); - # If the target's config has a different ACE_ROOT, rebase the executable - # from $ACE_ROOT to the target's root. - if (defined $self->{TARGET} && - $self->{TARGET}->ACE_ROOT() ne $ENV{'ACE_ROOT'}) { - $executable = PerlACE::rebase_path ($executable, - $ENV{'ACE_ROOT'}, - $self->{TARGET}->ACE_ROOT()); + if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) { + # If the target's config has a different filesystem root, rebase the executable + # from local root to the target's root. + $executable = PerlACE::rebase_path ($executable, + $self->{TARGET}->{HOST_FSROOT}, + $self->{TARGET}->{TARGET_FSROOT}); } if ($self->{IGNOREHOSTROOT} == 0) { @@ -120,7 +119,6 @@ sub Executable } $executable = $dirname . $subdir . $basename; - return $executable; } @@ -141,7 +139,6 @@ sub CommandLine () my $exe = $self->Executable (); my $commandline = $exe; - if (defined $self->{REMOTEINFO}) { my($method) = $self->{REMOTEINFO}->{method}; my($username) = $self->{REMOTEINFO}->{username}; @@ -178,11 +175,9 @@ sub CommandLine () } $commandline .= $exe; } - if (defined $self->{ARGUMENTS}) { $commandline .= ' '.$self->{ARGUMENTS}; } - # Avoid modifying TAO/tests run_test.pl scripts by using the # ACE_RUNTEST_ARGS environment variable to append command line # arguments. @@ -195,7 +190,6 @@ sub CommandLine () . $global_args; } } - if (defined $self->{REMOTEINFO}) { $commandline .= '"'; } elsif (defined $self->{TARGET} && defined $self->{TARGET}->{REMOTE_SHELL}) { @@ -205,14 +199,19 @@ sub CommandLine () if (!defined $root) { $root = $ENV{'ACE_ROOT'}; } - my($exedir) = dirname ($exe); - my($local_xdir)= File::Spec->rel2abs($self->{EXECUTABLE}); - if ($exedir == '.' || $exedir == './' || $exedir == '') { - $exedir = cwd (); - $local_xdir = $exedir; + my $exedir = cwd (); + my $local_xdir = $exedir; + + if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) { + $exedir = PerlACE::rebase_path ($exedir, + $self->{TARGET}->{HOST_FSROOT}, + $self->{TARGET}->{TARGET_FSROOT}); + if (defined $ENV{'ACE_TEST_VERBOSE'}) { + print STDERR "INFO: rebased run script exedir to [",$exedir,"]\n"; + } } if (!defined $self->{PIDFILE}) { - $self->{PIDFILE} = "/tmp/.acerun/ace-".rand(time).".pid"; + $self->{PIDFILE} = "$exedir/ace-".rand(time).".pid"; } if (!defined $self->{SCRIPTFILE}) { $self->{SCRIPTFILE} = "$local_xdir/run-".rand(time).".sh"; @@ -223,13 +222,30 @@ sub CommandLine () $libpath = PerlACE::concat_path ($libpath, $self->{TARGET}->{LIBPATH}); } my $run_script = - "if [ ! -e /tmp/.acerun ]; then mkdir /tmp/.acerun; fi\n". + # "if [ ! -e /tmp/.acerun ]; then mkdir /tmp/.acerun; fi\n". "cd $exedir\n". "export LD_LIBRARY_PATH=$libpath:\$LD_LIBRARY_PATH\n". "export DYLD_LIBRARY_PATH=$libpath:\$DYLD_LIBRARY_PATH\n". "export LIBPATH=$libpath:\$LIBPATH\n". "export SHLIB_PATH=$libpath:\$SHLIB_PATH\n". "export PATH=\$PATH:$root/bin:$root/lib:$libpath\n"; + if (defined $self->{TARGET}->{dance_root}) { + $run_script .= + "export DANCE_ROOT=$self->{TARGET}->{dance_root}\n"; + } + if (defined $self->{TARGET}->{ace_root}) { + $run_script .= + "export ACE_ROOT=$self->{TARGET}->{ace_root}\n"; + } + if (defined $self->{TARGET}->{tao_root}) { + $run_script .= + "export TAO_ROOT=$self->{TARGET}->{tao_root}\n"; + } + if (defined $self->{TARGET}->{ciao_root}) { + $run_script .= + "export CIAO_ROOT=$self->{TARGET}->{ciao_root}\n"; + } + while ( my ($env_key, $env_value) = each(%$x_env_ref) ) { $run_script .= "export $env_key=$env_value\n"; @@ -241,7 +257,8 @@ sub CommandLine () "echo \$MY_PID > ".$self->{PIDFILE}."\n"; $run_script .= "wait \$MY_PID\n"; - + $run_script .= + "rm $self->{PIDFILE}\n"; unless (open (RUN_SCRIPT, ">".$self->{SCRIPTFILE})) { print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), "> failed to create ",$self->{SCRIPTFILE},"\n"; @@ -253,8 +270,16 @@ sub CommandLine () if (defined $ENV{'ACE_TEST_VERBOSE'}) { print STDERR "INFO: created run script [",$self->{SCRIPTFILE},"]\n", $run_script; } + if (defined $self->{TARGET} && defined $self->{TARGET}->{TARGET_FSROOT}) { + if ($self->{TARGET}->PutFile (basename ($self->{SCRIPTFILE})) == -1) { + print STDERR "ERROR: Failed to copy <", $self->{SCRIPTFILE}, + "> to target \n"; + return -1; + } + } $commandline = "$shell \"source $exedir/".basename ($self->{SCRIPTFILE})."\""; + } return $commandline; @@ -353,7 +378,9 @@ sub Spawn () } if ($self->{IGNOREEXESUBDIR} == 0) { - if (!defined $self->{REMOTEINFO} && !-f $self->Executable ()) { + if (!defined $self->{REMOTEINFO} && + !defined $self->{TARGET}->{REMOTE_SHELL} && + !-f $self->Executable ()) { print STDERR "ERROR: Cannot Spawn: <", $self->Executable (), "> not found\n"; return -1; diff --git a/ACE/bin/PerlACE/TestTarget.pm b/ACE/bin/PerlACE/TestTarget.pm index 4e356111db8..c132ca80ca1 100644 --- a/ACE/bin/PerlACE/TestTarget.pm +++ b/ACE/bin/PerlACE/TestTarget.pm @@ -11,8 +11,10 @@ use English; use POSIX qw(:time_h); use File::Copy; use File::Spec; +use File::Basename; use PerlACE::Run_Test; use Sys::Hostname; +use Cwd; ############################################################################### @@ -104,6 +106,7 @@ sub GetConfigSettings ($) if (defined $config_name) { $env_prefix = $config_name."_"; } + my $env_name = $env_prefix.'ACE_ROOT'; if (exists $ENV{$env_name}) { $self->{ace_root} = $ENV{$env_name}; @@ -113,17 +116,40 @@ sub GetConfigSettings ($) $self->{ace_root} = $ENV{'ACE_ROOT'}; } $env_name = $env_prefix.'TAO_ROOT'; - if (exists $ENV{$env_name}) { - $self->{tao_root} = $ENV{$env_name}; + if (exists $ENV{$env_name}) + { + $self->{tao_root} = $ENV{$env_name}; + } elsif (exists $ENV{'TAO_ROOT'}) { + $self->{tao_root} = $ENV{'TAO_ROOT'}; } else { + # assume there is a hierarchical struture $self->{tao_root} = "$self->{ace_root}/TAO"; } $env_name = $env_prefix.'CIAO_ROOT'; if (exists $ENV{$env_name}) { $self->{ciao_root} = $ENV{$env_name}; + } elsif (exists $ENV{'CIAO_ROOT'}) { + $self->{ciao_root} = $ENV{'CIAO_ROOT'}; } else { + # assume there is a hierarchical struture $self->{ciao_root} = "$self->{tao_root}/CIAO"; } + + $env_name = $env_prefix.'DANCE_ROOT'; + if (exists $ENV{$env_name}) { + $self->{dance_root} = $ENV{$env_name}; + } elsif (exists $ENV{'DANCE_ROOT'}) { + $self->{dance_root} = $ENV{'DANCE_ROOT'}; + } else { + # assume there is a hierarchical struture + $self->{dance_root} = "$self->{tao_root}/DANCE"; + } + + if ($self->{ace_root} ne $ENV{'ACE_ROOT'}) { + $self->{HOST_FSROOT} = dirname ($ENV{'ACE_ROOT'}); + $self->{TARGET_FSROOT} = dirname ($self->{ace_root}); + } + $env_name = $env_prefix.'EXE_SUBDIR'; if (exists $ENV{$env_name}) { $self->{EXE_SUBDIR} = $ENV{$env_name}.'/'; @@ -273,6 +299,12 @@ sub CIAO_ROOT ($) return $self->{ciao_root}; } +sub DANCE_ROOT ($) +{ + my $self = shift; + return $self->{dance_root}; +} + sub HostName ($) { my $self = shift; @@ -330,12 +362,33 @@ sub AdbWaitForDeviceTimeout ($) return $self->{ADB_WAIT_FOR_DEVICE_TIMEOUT}; } +sub LocalEnvDir ($) +{ + my $self = shift; + my $dir = shift; + my $newdir = $dir; + if (defined $self->{TARGET_FSROOT}) { + $newdir = PerlACE::rebase_path ($dir, + $self->{HOST_FSROOT}, + $self->{TARGET_FSROOT}); + + } + if (defined $ENV{'ACE_TEST_VERBOSE'}) { + print STDERR "LocalEnvDir for $dir is $newdir\n"; + } + return $newdir; +} sub LocalFile ($) { my $self = shift; my $file = shift; my $newfile = PerlACE::LocalFile($file); + if (defined $self->{TARGET_FSROOT}) { + $newfile = PerlACE::rebase_path ($newfile, + $self->{HOST_FSROOT}, + $self->{TARGET_FSROOT}); + } if (defined $ENV{'ACE_TEST_VERBOSE'}) { print STDERR "LocalFile for $file is $newfile\n"; } @@ -363,7 +416,7 @@ sub AddLibPath ($) $self->{LIBPATH} = PerlACE::concat_path ($self->{LIBPATH}, $dir); } else { # add rebased path - $dir = PerlACE::rebase_path ($dir, $ENV{'ACE_ROOT'}, $self->ACE_ROOT ()); + $dir = Cwd::realpath (PerlACE::rebase_path ($dir, $self->{HOST_FSROOT}, $self->{TARGET_FSROOT})); if (defined $ENV{'ACE_TEST_VERBOSE'}) { print STDERR "Adding libpath $dir\n"; } diff --git a/ACE/bin/PerlACE/TestTarget_Android.pm b/ACE/bin/PerlACE/TestTarget_Android.pm index 9fed5ae507f..ee80a382a8f 100644 --- a/ACE/bin/PerlACE/TestTarget_Android.pm +++ b/ACE/bin/PerlACE/TestTarget_Android.pm @@ -75,15 +75,6 @@ sub LocalFile { my $self = shift; my $file = shift; - my $cwdrel = $file; - my $prjroot = $ENV{'ACE_ROOT'}; - - if (length ($cwdrel) > 0) { - $cwdrel = File::Spec->abs2rel( cwd(), $prjroot ); - } - else { - $cwdrel = File::Spec->abs2rel( $cwdrel, $prjroot ); - } my $newfile = $self->{FSROOT} . "/" . $file; if (defined $ENV{'ACE_TEST_VERBOSE'}) { diff --git a/ACE/bin/auto_run_tests.pl b/ACE/bin/auto_run_tests.pl index af901ae17a4..171bf01641d 100755 --- a/ACE/bin/auto_run_tests.pl +++ b/ACE/bin/auto_run_tests.pl @@ -204,10 +204,10 @@ foreach my $test_lst (@file_list) { # when $opt_r is set make sure to *first* check the explicitly # specified directory and only when nothing found there check # the default dirs - if ($opt_r) { - unshift (@dirlist, $startdir."/$directory"); - unshift (@dirlist, $startdir."/$orig_dir"); - } + if ($opt_r) { + unshift (@dirlist, $startdir."/$directory"); + unshift (@dirlist, $startdir."/$orig_dir"); + } foreach my $path (@dirlist) { if (-d $path && ($status = chdir ($path))) { last; diff --git a/ACE/examples/APG/Logging/Use_LogManager.cpp b/ACE/examples/APG/Logging/Use_LogManager.cpp index 76de7b7fb56..34e1d5b8866 100644 --- a/ACE/examples/APG/Logging/Use_LogManager.cpp +++ b/ACE/examples/APG/Logging/Use_LogManager.cpp @@ -26,8 +26,6 @@ void foo (void) // Listing 1 // Listing 2 code/ch03 -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<LogManager, ACE_Null_Mutex> * - ACE_Singleton<LogManager, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, LogManager, ACE_Null_Mutex); + // Listing 2 diff --git a/ACE/examples/APG/Timers/PTimerDispatcher.cpp b/ACE/examples/APG/Timers/PTimerDispatcher.cpp index 9ac949814ac..7b7a4480a10 100644 --- a/ACE/examples/APG/Timers/PTimerDispatcher.cpp +++ b/ACE/examples/APG/Timers/PTimerDispatcher.cpp @@ -62,8 +62,5 @@ PTimer_Dispatcher::reset_interval (long timer_id, return timer_queue_->reset_interval (timer_id, interval); } +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, PTimer_Dispatcher, ACE_Null_Mutex); -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex> * - ACE_Singleton<PTimer_Dispatcher, ACE_Null_Mutex>::singleton_; -# endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ diff --git a/ACE/examples/APG/Timers/TimerDispatcher.cpp b/ACE/examples/APG/Timers/TimerDispatcher.cpp index 6455c0712e8..025bd64d979 100644 --- a/ACE/examples/APG/Timers/TimerDispatcher.cpp +++ b/ACE/examples/APG/Timers/TimerDispatcher.cpp @@ -66,8 +66,5 @@ Timer_Dispatcher::reset_interval (long timer_id, return timer_queue_->reset_interval(timer_id, interval); } +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Timer_Dispatcher, ACE_Null_Mutex); -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex> * - ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex>::singleton_; -# endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ diff --git a/ACE/examples/C++NPv2/TP_Logging_Server.cpp b/ACE/examples/C++NPv2/TP_Logging_Server.cpp index 7342cf4c757..ed9fac21a79 100644 --- a/ACE/examples/C++NPv2/TP_Logging_Server.cpp +++ b/ACE/examples/C++NPv2/TP_Logging_Server.cpp @@ -62,9 +62,6 @@ int TP_Logging_Task::svc () { ACE_FACTORY_DEFINE (TPLS, TP_Logging_Server) -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<TP_Logging_Task, ACE_Null_Mutex> * - ACE_Singleton<TP_Logging_Task, ACE_Null_Mutex>::singleton_; -template ACE_Unmanaged_Singleton<TP_Logging_Task, ACE_Null_Mutex> * - ACE_Unmanaged_Singleton<TP_Logging_Task, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, TP_Logging_Task, ACE_Null_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Unmanaged_Singleton, TP_Logging_Task, ACE_Null_Mutex); + diff --git a/ACE/examples/Export/dll.cpp b/ACE/examples/Export/dll.cpp index 07705db9d59..e692753d927 100644 --- a/ACE/examples/Export/dll.cpp +++ b/ACE/examples/Export/dll.cpp @@ -22,6 +22,4 @@ get_dll_singleton () return TEST_SINGLETON::instance (); } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<test_class, ACE_Null_Mutex> *ACE_Singleton<test_class, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, test_class, ACE_Null_Mutex); diff --git a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp index 04c792092c5..ec4d00e0185 100644 --- a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp +++ b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp @@ -427,7 +427,5 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX> * - ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_SYNCH_RECURSIVE_MUTEX); + diff --git a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp index 6108e378e70..756704ada4e 100644 --- a/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp +++ b/ACE/examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp @@ -579,8 +579,4 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return server.handle_events (); } - -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX> * - ACE_Singleton<Options, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_SYNCH_RECURSIVE_MUTEX); diff --git a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp index b639dd016aa..59cab12f535 100644 --- a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp +++ b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp @@ -261,11 +261,11 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_Reactor, ACE_Null_Mutex> * - ACE_Singleton<ACE_Reactor, ACE_Null_Mutex>::singleton_; -template ACE_Singleton<Options, ACE_Null_Mutex> * - ACE_Singleton<Options, ACE_Null_Mutex>::singleton_; -template ACE_Singleton<ACE_Test_and_Set <ACE_Null_Mutex, sig_atomic_t>, ACE_Null_Mutex> * - ACE_Singleton<ACE_Test_and_Set <ACE_Null_Mutex, sig_atomic_t>, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +//typedef ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t> +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex); +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex); +#define ACE_Test_and_Set_type \ + ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t> +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Test_and_Set_type, ACE_Null_Mutex); + + diff --git a/ACE/examples/Logger/simple-server/server_loggerd.cpp b/ACE/examples/Logger/simple-server/server_loggerd.cpp index 76eec6c71a2..fa58eac599f 100644 --- a/ACE/examples/Logger/simple-server/server_loggerd.cpp +++ b/ACE/examples/Logger/simple-server/server_loggerd.cpp @@ -77,8 +77,5 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex); -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_Reactor, ACE_Null_Mutex> * - ACE_Singleton<ACE_Reactor, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ diff --git a/ACE/examples/Threads/auto_event.cpp b/ACE/examples/Threads/auto_event.cpp index 55f469614f9..598236b25be 100644 --- a/ACE/examples/Threads/auto_event.cpp +++ b/ACE/examples/Threads/auto_event.cpp @@ -102,10 +102,7 @@ ACE_TMAIN (int argc, ACE_TCHAR **argv) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<ACE_Auto_Event, ACE_Thread_Mutex> * - ACE_Singleton<ACE_Auto_Event, ACE_Thread_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Auto_Event, ACE_Thread_Mutex); #else diff --git a/ACE/examples/Threads/tss2.cpp b/ACE/examples/Threads/tss2.cpp index eec0a2a32d5..c8debbf9a01 100644 --- a/ACE/examples/Threads/tss2.cpp +++ b/ACE/examples/Threads/tss2.cpp @@ -171,10 +171,8 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_TSS_Singleton<TSS_Data, ACE_SYNCH_MUTEX> * - ACE_TSS_Singleton<TSS_Data, ACE_SYNCH_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_TSS_Singleton, TSS_Data, ACE_SYNCH_MUTEX); + #else diff --git a/ACE/examples/Web_Crawler/Command_Processor.cpp b/ACE/examples/Web_Crawler/Command_Processor.cpp index ae03d574184..b5b9c00ba61 100644 --- a/ACE/examples/Web_Crawler/Command_Processor.cpp +++ b/ACE/examples/Web_Crawler/Command_Processor.cpp @@ -122,6 +122,4 @@ Command_Processor::insert (Command *command) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<Options, ACE_Null_Mutex> *ACE_Singleton<Options, ACE_Null_Mutex>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex); diff --git a/ACE/performance-tests/Misc/test_singleton.cpp b/ACE/performance-tests/Misc/test_singleton.cpp index a9534af5f41..6c19291e65f 100644 --- a/ACE/performance-tests/Misc/test_singleton.cpp +++ b/ACE/performance-tests/Misc/test_singleton.cpp @@ -161,10 +161,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) return 0; } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) -template ACE_Singleton<DC_Singleton, ACE_SYNCH_MUTEX> * - ACE_Singleton<DC_Singleton, ACE_SYNCH_MUTEX>::singleton_; -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DC_Singleton, ACE_SYNCH_MUTEX); #else int diff --git a/ACE/tests/MEM_Stream_Test.cpp b/ACE/tests/MEM_Stream_Test.cpp index 4118115ab23..ed591f46687 100644 --- a/ACE/tests/MEM_Stream_Test.cpp +++ b/ACE/tests/MEM_Stream_Test.cpp @@ -489,14 +489,10 @@ run_main (int argc, ACE_TCHAR *argv[]) } } -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) +#define ACE_Atomic_Op_type \ + ACE_Atomic_Op< ACE_SYNCH_MUTEX, u_short> +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Atomic_Op_type, ACE_SYNCH_RECURSIVE_MUTEX); -template ACE_Singleton<ACE_Atomic_Op<ACE_SYNCH_MUTEX, u_short>, - ACE_SYNCH_RECURSIVE_MUTEX> * - ACE_Singleton<ACE_Atomic_Op<ACE_SYNCH_MUTEX, u_short>, - ACE_SYNCH_RECURSIVE_MUTEX>::singleton_; - -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ #else int diff --git a/ACE/tests/Process_Strategy_Test.cpp b/ACE/tests/Process_Strategy_Test.cpp index 591bcc023d2..071aa19ae6c 100644 --- a/ACE/tests/Process_Strategy_Test.cpp +++ b/ACE/tests/Process_Strategy_Test.cpp @@ -59,12 +59,7 @@ #define ACE_LACKS_FORK #endif /* __hpux */ -#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION) - -template ACE_Singleton<Options, ACE_Null_Mutex> * - ACE_Singleton<Options, ACE_Null_Mutex>::singleton_; - -#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */ +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex); // Define a <Strategy_Acceptor> that's parameterized by the // <Counting_Service>. |