diff options
20 files changed, 208 insertions, 70 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a index 5cfada103ec..98ec87599d9 100644 --- a/ChangeLog-97a +++ b/ChangeLog-97a @@ -1,13 +1,88 @@ +Tue Apr 15 17:09:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/Connection/non_blocking/test_sock_connector.cpp: Added + a typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * examples/Connection/non_blocking/test_tli_connector.cpp: Added a + typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * examples/Connection/misc/test_upipe.cpp: Added a typedef for + ACE_RW_Mutex so that the code compiles on non-MT platforms. + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * performance-tests/Synch-Benchmarks/Options.cpp: Added a #ifdef + for ACE_Thread_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added a + typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: Added a + typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * examples/ASX/Event_Server/Event_Server/Options.cpp + (print_results): Although rusage struct is defined on SCO, there + is no getrusage(), rusage is used only by wait() + etc. internally. Therefore, we had to move some #ifdefs around. + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added a + typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + + * tests/Conn_Test.cpp: Added a typedef for ACE_RW_Mutex so that + the code compiles on non-MT platforms. Thanks to Ganesh Pai + <gpai@voicetek.com> for reporting this. + + * tests/SPIPE_Test.cpp (main): Removed the VXWORKS arm of the + #ifdef, which is not correct since this stuff only works if + we're working with a version of VxWorks that has STREAM pipes. + + * include/makeinclude/platform_sco5.0.0-nothread.GNU: Changed + + LIBS = -lsocket -lnsl -ldl + + to + + LIBS += -lsocket -lnsl -ldl + + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * netsvcs/lib/Client_Logging_Handler.cpp: Added a typedef for + ACE_RW_Mutex so that the code compiles on non-MT platforms. + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * netsvcs/lib/TS_Clerk_Handler.cpp: Added a typedef for + ACE_RW_Mutex so that the code compiles on non-MT platforms. + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added a + typedef for ACE_RW_Mutex so that the code compiles on non-MT + platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for + reporting this. + Tue Apr 15 13:01:13 1997 David L. Levine <levine@cs.wustl.edu> - * ace/Token_Request_Reply.cpp (ctor): added initialization of transfer_.data_ to - avoid unitialized memory read. + * ace/Token_Request_Reply.cpp (ctor): added initialization of + transfer_.data_ to avoid unitialized memory read. - * tests/test_config.h: removed "static" qualifier from randomize () to avoid warning from - g++ when it's not called in a test. + * tests/test_config.h: removed "static" qualifier from + randomize () to avoid warning from g++ when it's not called + in a test. - * examples/IPC_SAP/SPIPE_SAP/server.cpp (main): moved declaration of local variable "handle" - up before its first use. + * examples/IPC_SAP/SPIPE_SAP/server.cpp (main): moved + declaration of local variable "handle" up before its first + use. Mon Apr 14 23:08:27 1997 <irfan@TWOSTEP> diff --git a/ace/Singleton.h b/ace/Singleton.h index a1503183300..c925779993a 100644 --- a/ace/Singleton.h +++ b/ace/Singleton.h @@ -61,5 +61,3 @@ protected: #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ #endif /* ACE_SINGLETON_H */ - - diff --git a/apps/Gateway/Gateway/Proxy_Handler_Connector.cpp b/apps/Gateway/Gateway/Proxy_Handler_Connector.cpp index bcbd590efc0..dbc7b5c7b71 100644 --- a/apps/Gateway/Gateway/Proxy_Handler_Connector.cpp +++ b/apps/Gateway/Gateway/Proxy_Handler_Connector.cpp @@ -92,19 +92,19 @@ Proxy_Handler_Connector::initiate_connection (Proxy_Handler *proxy_handler, return 0; } -#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) -template class ACE_Connector<Proxy_Handler, ACE_SOCK_CONNECTOR>; -template class ACE_Svc_Tuple<Proxy_Handler>; #if defined (ACE_MT_SAFE) - template class ACE_Map_Manager<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, ACE_RW_Mutex>; - template class ACE_Map_Iterator<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, ACE_RW_Mutex>; - template class ACE_Map_Entry<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *>; - template class ACE_Guard<ACE_RW_Mutex>; - template class ACE_Read_Guard<ACE_RW_Mutex>; - template class ACE_Write_Guard<ACE_RW_Mutex>; +typedef ACE_RW_Mutex RW_MUTEX; #else - template class ACE_Map_Manager<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, ACE_Null_Mutex>; - template class ACE_Map_Iterator<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, ACE_Null_Mutex>; - template class ACE_Map_Entry<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *>; +typedef ACE_Null_Mutex RW_MUTEX; #endif /* ACE_MT_SAFE */ + +#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) +template class ACE_Connector<Proxy_Handler, ACE_SOCK_CONNECTOR>; +template class ACE_Svc_Tuple<Proxy_Handler>; +template class ACE_Map_Manager<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, RW_MUTEX>; +template class ACE_Map_Iterator<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *, RW_MUTEX>; +template class ACE_Map_Entry<ACE_HANDLE, ACE_Svc_Tuple<Proxy_Handler> *>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/ASX/Event_Server/Event_Server/Options.cpp b/examples/ASX/Event_Server/Event_Server/Options.cpp index 1255bbecf6a..ad4ddd00afb 100644 --- a/examples/ASX/Event_Server/Event_Server/Options.cpp +++ b/examples/ASX/Event_Server/Event_Server/Options.cpp @@ -41,14 +41,15 @@ void Options::print_results (void) { #if !defined (ACE_WIN32) ACE_Profile_Timer::ACE_Elapsed_Time et; - ACE_Profile_Timer::Rusage rusage; this->itimer_.elapsed_time (et); - this->itimer_.get_rusage (rusage); if (this->verbose ()) { #if defined (ACE_HAS_PRUSAGE_T) + ACE_Profile_Timer::Rusage rusage; + this->itimer_.get_rusage (rusage); + ACE_OS::printf ("final concurrency hint = %d\n", ACE_Thread::getconcurrency ()); ACE_OS::printf ("%8d = lwpid\n" "%8d = lwp count\n" diff --git a/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp b/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp index a281735a35b..017543878b2 100644 --- a/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp +++ b/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp @@ -349,6 +349,6 @@ Peer_Router::control (ACE_Message_Block *mb) #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Acceptor<Peer_Handler, ACE_SOCK_ACCEPTOR>; -template class ACE_Map_Iterator<ROUTING_KEY, Peer_Handler *, ACE_RW_Mutex>; -template class ACE_Map_Manager<ROUTING_KEY, Peer_Handler *, ACE_RW_Mutex>; +template class ACE_Map_Iterator<ROUTING_KEY, Peer_Handler *, ROUTER_MUTEX>; +template class ACE_Map_Manager<ROUTING_KEY, Peer_Handler *, ROUTER_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/ASX/Event_Server/Event_Server/Peer_Router.h b/examples/ASX/Event_Server/Event_Server/Peer_Router.h index dc69440c743..7bdfe46a271 100644 --- a/examples/ASX/Event_Server/Event_Server/Peer_Router.h +++ b/examples/ASX/Event_Server/Event_Server/Peer_Router.h @@ -15,6 +15,12 @@ typedef ACE_HANDLE ROUTING_KEY; class Peer_Router; class Peer_Router_Context; +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex ROUTER_MUTEX; +#else +typedef ACE_Null_Mutex ROUTER_MUTEX; +#endif /* ACE_MT_SAFE */ + class Peer_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_SYNCH> // = TITLE // Receive input from a Peer and forward to the appropriate @@ -78,8 +84,8 @@ private: // Pointer to the <Peer_Router> that we are accepting for. // = Useful typedefs - typedef ACE_Map_Manager <ROUTING_KEY, Peer_Handler *, ACE_RW_Mutex> PEER_MAP; - typedef ACE_Map_Iterator<ROUTING_KEY, Peer_Handler *, ACE_RW_Mutex> PEER_ITERATOR; + typedef ACE_Map_Manager <ROUTING_KEY, Peer_Handler *, ROUTER_MUTEX> PEER_MAP; + typedef ACE_Map_Iterator<ROUTING_KEY, Peer_Handler *, ROUTER_MUTEX> PEER_ITERATOR; typedef ACE_Map_Entry<ROUTING_KEY, Peer_Handler *> PEER_ENTRY; PEER_MAP peer_map_; diff --git a/examples/ASX/Event_Server/Transceiver/transceiver.cpp b/examples/ASX/Event_Server/Transceiver/transceiver.cpp index eef5248ee11..d37335de9fd 100644 --- a/examples/ASX/Event_Server/Transceiver/transceiver.cpp +++ b/examples/ASX/Event_Server/Transceiver/transceiver.cpp @@ -205,10 +205,15 @@ main (int argc, char *argv[]) return 0; } +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<Event_Transceiver, ACE_SOCK_CONNECTOR>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Event_Transceiver> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<Event_Transceiver> *, ACE_RW_Mutex>; template class ACE_Svc_Tuple<Event_Transceiver>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Event_Transceiver> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<Event_Transceiver> *, RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp b/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp index ce803b0538f..07b773c614f 100644 --- a/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp +++ b/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp @@ -128,12 +128,17 @@ Consumer_Router::info (char **strp, size_t length) const #endif /* ACE_HAS_THREADS */ +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Acceptor<Consumer_Handler, ACE_UPIPE_ACCEPTOR>; -template class ACE_Map_Iterator<long, Consumer_Handler *, ACE_RW_Mutex>; -template class ACE_Map_Manager<long, Consumer_Handler *, ACE_RW_Mutex>; template class Acceptor_Factory<Consumer_Handler, CONSUMER_KEY>; template class Peer_Handler<CONSUMER_ROUTER, CONSUMER_KEY>; template class Peer_Router<Consumer_Handler, CONSUMER_KEY>; +template class ACE_Map_Iterator<long, Consumer_Handler *, RW_MUTEX>; +template class ACE_Map_Manager<long, Consumer_Handler *, RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp b/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp index 7f02db5db67..2b4f6a22f18 100644 --- a/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp +++ b/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp @@ -128,17 +128,22 @@ Supplier_Router::info (char **strp, size_t length) const #endif /* ACE_HAS_THREADS */ +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class Acceptor_Factory<Supplier_Handler, SUPPLIER_KEY>; template class ACE_Acceptor<Supplier_Handler, ACE_UPIPE_ACCEPTOR>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<SUPPLIER_KEY, Supplier_Handler *, ACE_RW_Mutex>; -template class ACE_Map_Manager<SUPPLIER_KEY, Supplier_Handler *, ACE_RW_Mutex>; -template class ACE_Read_Guard<ACE_RW_Mutex>; -template class ACE_Write_Guard<ACE_RW_Mutex>; template class ACE_Svc_Handler<ACE_UPIPE_STREAM, ACE_MT_SYNCH>; template class ACE_TSS<ACE_Dynamic>; template class Peer_Handler<SUPPLIER_ROUTER, SUPPLIER_KEY>; template class Peer_Router<Supplier_Handler, SUPPLIER_KEY>; +template class ACE_Map_Iterator<SUPPLIER_KEY, Supplier_Handler *, RW_MUTEX>; +template class ACE_Map_Manager<SUPPLIER_KEY, Supplier_Handler *, RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; +template class ACE_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/Connection/Makefile b/examples/Connection/Makefile index f9345400a93..96c53892d51 100644 --- a/examples/Connection/Makefile +++ b/examples/Connection/Makefile @@ -10,7 +10,8 @@ INFO = README -DIRS = misc \ +DIRS = blocking \ + misc \ non_blocking #---------------------------------------------------------------------------- diff --git a/examples/Connection/misc/test_upipe.cpp b/examples/Connection/misc/test_upipe.cpp index eeaffddd864..f4d315f33bf 100644 --- a/examples/Connection/misc/test_upipe.cpp +++ b/examples/Connection/misc/test_upipe.cpp @@ -180,6 +180,11 @@ main (void) } #endif /* ACE_HAS_THREADS */ +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Accept_Strategy<Server_Service, ACE_UPIPE_ACCEPTOR>; @@ -187,12 +192,12 @@ template class ACE_Acceptor<Server_Service, ACE_UPIPE_ACCEPTOR>; template class ACE_Concurrency_Strategy<Server_Service>; template class ACE_Connector<Client_Service, ACE_UPIPE_CONNECTOR>; template class ACE_Creation_Strategy<Server_Service>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Client_Service> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<Client_Service> *, ACE_RW_Mutex>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Client_Service> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<Client_Service> *, RW_MUTEX>; template class ACE_Message_Queue<ACE_NULL_SYNCH>; template class ACE_Module<ACE_NULL_SYNCH>; -template class ACE_Read_Guard<ACE_RW_Mutex>; +template class ACE_Read_Guard<RW_MUTEX>; template class ACE_Scheduling_Strategy<Server_Service>; template class ACE_Strategy_Acceptor<Server_Service, ACE_UPIPE_ACCEPTOR>; template class ACE_Svc_Handler<ACE_UPIPE_STREAM, ACE_NULL_SYNCH>; @@ -201,5 +206,5 @@ template class ACE_TSS<ACE_Dynamic>; template class ACE_Task<ACE_NULL_SYNCH>; template class ACE_Thread_Strategy<Server_Service>; template class ACE_Thru_Task<ACE_NULL_SYNCH>; -template class ACE_Write_Guard<ACE_RW_Mutex>; +template class ACE_Write_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/Connection/non_blocking/test_sock_connector.cpp b/examples/Connection/non_blocking/test_sock_connector.cpp index 1417715f94e..f297af8efcb 100644 --- a/examples/Connection/non_blocking/test_sock_connector.cpp +++ b/examples/Connection/non_blocking/test_sock_connector.cpp @@ -23,17 +23,22 @@ main (int argc, char *argv[]) return peer_connector.svc (); } +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<PEER_HANDLER, ACE_SOCK_CONNECTOR>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Read_Guard<ACE_RW_Mutex>; template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_SYNCH>; template class ACE_Svc_Tuple<PEER_HANDLER>; -template class ACE_Write_Guard<ACE_RW_Mutex>; template class ACE_TSS<ACE_Dynamic>; template class IPC_Client<PEER_HANDLER, ACE_SOCK_CONNECTOR>; template class Peer_Handler<ACE_SOCK_STREAM>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/examples/Connection/non_blocking/test_spipe_connector.cpp b/examples/Connection/non_blocking/test_spipe_connector.cpp index d47fd847575..b540c954877 100644 --- a/examples/Connection/non_blocking/test_spipe_connector.cpp +++ b/examples/Connection/non_blocking/test_spipe_connector.cpp @@ -23,15 +23,21 @@ main (int argc, char *argv[]) return peer_connector.svc (); } +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ + #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<PEER_HANDLER, ACE_SPIPE_CONNECTOR>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Read_Guard<ACE_RW_Mutex>; template class ACE_Svc_Handler<ACE_SPIPE_STREAM, ACE_SYNCH>; template class ACE_Svc_Tuple<PEER_HANDLER>; -template class ACE_Write_Guard<ACE_RW_Mutex>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; template class ACE_TSS<ACE_Dynamic>; template class IPC_Client<PEER_HANDLER, ACE_SPIPE_CONNECTOR>; template class Peer_Handler<ACE_SPIPE_STREAM>; diff --git a/examples/Connection/non_blocking/test_tli_connector.cpp b/examples/Connection/non_blocking/test_tli_connector.cpp index 243da828cfc..810c0645f6c 100644 --- a/examples/Connection/non_blocking/test_tli_connector.cpp +++ b/examples/Connection/non_blocking/test_tli_connector.cpp @@ -25,15 +25,21 @@ main (int argc, char *argv[]) return peer_connector.svc (); } +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ + #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<PEER_HANDLER, ACE_TLI_CONNECTOR>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, ACE_RW_Mutex>; -template class ACE_Read_Guard<ACE_RW_Mutex>; template class ACE_Svc_Handler<ACE_TLI_STREAM, ACE_SYNCH>; template class ACE_Svc_Tuple<PEER_HANDLER>; -template class ACE_Write_Guard<ACE_RW_Mutex>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<PEER_HANDLER> *, RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; template class ACE_TSS<ACE_Dynamic>; template class IPC_Client<PEER_HANDLER, ACE_TLI_CONNECTOR>; template class Peer_Handler<ACE_TLI_STREAM>; diff --git a/include/makeinclude/platform_sco5.0.0-nothread.GNU b/include/makeinclude/platform_sco5.0.0-nothread.GNU index 0c27cb2528e..c9ae4d2da9f 100644 --- a/include/makeinclude/platform_sco5.0.0-nothread.GNU +++ b/include/makeinclude/platform_sco5.0.0-nothread.GNU @@ -7,7 +7,7 @@ CCFLAGS += -b elf -w -O2 -Xpg4plus -fno-implicit-templates \ -I/usr/progressive/lib/g++-include DLD = $(CXX) LD = $(CXX) -LIBS = -lsocket -lnsl -ldl +LIBS += -lsocket -lnsl -ldl PIC = -fpic AR = ar ARFLAGS = ruv diff --git a/netsvcs/lib/Client_Logging_Handler.cpp b/netsvcs/lib/Client_Logging_Handler.cpp index 81c01d89ecc..9d140dbc650 100644 --- a/netsvcs/lib/Client_Logging_Handler.cpp +++ b/netsvcs/lib/Client_Logging_Handler.cpp @@ -358,9 +358,15 @@ ACE_Client_Logging_Connector::resume (void) ACE_SVC_FACTORY_DEFINE (ACE_Client_Logging_Connector) +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ + #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<ACE_Client_Logging_Handler, ACE_SOCK_CONNECTOR>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<ACE_Client_Logging_Handler> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<ACE_Client_Logging_Handler> *, ACE_RW_Mutex>; template class ACE_Svc_Tuple<ACE_Client_Logging_Handler>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<ACE_Client_Logging_Handler> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<ACE_Client_Logging_Handler> *, RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/netsvcs/lib/TS_Clerk_Handler.cpp b/netsvcs/lib/TS_Clerk_Handler.cpp index 8632e28cc53..dfdfb84f00e 100644 --- a/netsvcs/lib/TS_Clerk_Handler.cpp +++ b/netsvcs/lib/TS_Clerk_Handler.cpp @@ -802,15 +802,21 @@ ACE_TS_Clerk_Processor::resume (void) ACE_SVC_FACTORY_DEFINE (ACE_TS_Clerk_Processor) +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ + #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Connector<ACE_TS_Clerk_Handler, ACE_SOCK_CONNECTOR>; -template class ACE_Guard<ACE_RW_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<ACE_TS_Clerk_Handler> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<ACE_TS_Clerk_Handler> *, ACE_RW_Mutex>; -template class ACE_Read_Guard<ACE_RW_Mutex>; template class ACE_Set_Node<ACE_TS_Clerk_Handler *>; template class ACE_Svc_Tuple<ACE_TS_Clerk_Handler>; template class ACE_Unbounded_Set<ACE_TS_Clerk_Handler *>; template class ACE_Unbounded_Set_Iterator<ACE_TS_Clerk_Handler *>; -template class ACE_Write_Guard<ACE_RW_Mutex>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<ACE_TS_Clerk_Handler> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<ACE_TS_Clerk_Handler> *, RW_MUTEX>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/performance-tests/Synch-Benchmarks/Options.cpp b/performance-tests/Synch-Benchmarks/Options.cpp index 9db91d5ff88..453c757356f 100644 --- a/performance-tests/Synch-Benchmarks/Options.cpp +++ b/performance-tests/Synch-Benchmarks/Options.cpp @@ -393,6 +393,8 @@ Options::print_results (void) #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) +#if defined (ACE_MT_SAFE) template class ACE_Atomic_Op<ACE_Thread_Mutex, size_t>; +#endif /* ACE_MT_SAFE */ #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/tests/Conn_Test.cpp b/tests/Conn_Test.cpp index 6067f730ee3..a2dbbdbbd52 100644 --- a/tests/Conn_Test.cpp +++ b/tests/Conn_Test.cpp @@ -622,25 +622,31 @@ main (int, char *[]) return 0; } +#if defined (ACE_MT_SAFE) +typedef ACE_RW_Mutex RW_MUTEX; +#else +typedef ACE_Null_Mutex RW_MUTEX; +#endif /* ACE_MT_SAFE */ + #if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION) template class ACE_Concurrency_Strategy<Svc_Handler>; template class ACE_Connect_Strategy<Svc_Handler, ACE_SOCK_CONNECTOR>; template class ACE_Connector<Svc_Handler, ACE_SOCK_CONNECTOR>; template class ACE_Creation_Strategy<Svc_Handler>; -template class ACE_Guard<ACE_RW_Mutex>; template class ACE_Hash_Map_Entry<Hash_Addr, Svc_Handler *>; template class ACE_Hash_Map_Manager<Hash_Addr, Svc_Handler *, ACE_Null_Mutex>; -template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Svc_Handler> *, ACE_RW_Mutex>; -template class ACE_Map_Manager<int, ACE_Svc_Tuple<Svc_Handler> *, ACE_RW_Mutex>; template class ACE_Message_Queue<ACE_NULL_SYNCH>; template class ACE_Module<ACE_NULL_SYNCH>; template class ACE_Oneshot_Acceptor<Svc_Handler, ACE_SOCK_ACCEPTOR>; -template class ACE_Read_Guard<ACE_RW_Mutex>; template class ACE_Strategy_Connector<Svc_Handler, ACE_SOCK_CONNECTOR>; template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>; template class ACE_Svc_Tuple<Svc_Handler>; template class ACE_TSS<ACE_Dynamic>; template class ACE_Task<ACE_NULL_SYNCH>; template class ACE_Thru_Task<ACE_NULL_SYNCH>; -template class ACE_Write_Guard<ACE_RW_Mutex>; +template class ACE_Guard<RW_MUTEX>; +template class ACE_Map_Iterator<int, ACE_Svc_Tuple<Svc_Handler> *, RW_MUTEX>; +template class ACE_Map_Manager<int, ACE_Svc_Tuple<Svc_Handler> *, RW_MUTEX>; +template class ACE_Read_Guard<RW_MUTEX>; +template class ACE_Write_Guard<RW_MUTEX>; #endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */ diff --git a/tests/SPIPE_Test.cpp b/tests/SPIPE_Test.cpp index 0c9eebd8829..cb4bbea0896 100644 --- a/tests/SPIPE_Test.cpp +++ b/tests/SPIPE_Test.cpp @@ -137,7 +137,7 @@ main (int, char *[]) { ACE_START_TEST ("SPIPE_Test"); -#if defined (ACE_HAS_STREAM_PIPES) || defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_HAS_STREAM_PIPES) || defined (ACE_WIN32) spawn (); #else ACE_DEBUG ((LM_DEBUG, |