aboutsummaryrefslogtreecommitdiff
path: root/externals/ace/OS_NS_Thread.cpp
diff options
context:
space:
mode:
authorclick <none@none>2010-08-17 02:14:20 +0200
committerclick <none@none>2010-08-17 02:14:20 +0200
commite5b00f9b1058437ebe02faebbdb5e75590659ec4 (patch)
tree4fe7930441708e3f4e821a763fa7805edc71dc82 /externals/ace/OS_NS_Thread.cpp
parentd8b2a31f707d6969ac69b65a0ab0804564055b35 (diff)
Buildsystem: Use "industry standard" foldernames on dpendencies + move/rename ace-folder (for future upgrades/changes).
This does not break anything, it has been tested with compile etc. --HG-- branch : trunk rename : externals/CMakeLists.txt => dep/CMakeLists.txt rename : externals/PackageList.txt => dep/PackageList.txt rename : externals/SFMT/SFMT-alti.h => dep/SFMT/SFMT-alti.h rename : externals/SFMT/SFMT-params.h => dep/SFMT/SFMT-params.h rename : externals/SFMT/SFMT-sse2.h => dep/SFMT/SFMT-sse2.h rename : externals/SFMT/SFMT.c => dep/SFMT/SFMT.c rename : externals/SFMT/SFMT.h => dep/SFMT/SFMT.h rename : externals/ace/ACE.cpp => dep/acelite/ace/ACE.cpp rename : externals/ace/ACE.h => dep/acelite/ace/ACE.h rename : externals/ace/ACE.inl => dep/acelite/ace/ACE.inl rename : externals/ace/ACE.pc.in => dep/acelite/ace/ACE.pc.in rename : externals/ace/ACE_crc32.cpp => dep/acelite/ace/ACE_crc32.cpp rename : externals/ace/ACE_crc_ccitt.cpp => dep/acelite/ace/ACE_crc_ccitt.cpp rename : externals/ace/ACE_export.h => dep/acelite/ace/ACE_export.h rename : externals/ace/ARGV.cpp => dep/acelite/ace/ARGV.cpp rename : externals/ace/ARGV.h => dep/acelite/ace/ARGV.h rename : externals/ace/ARGV.inl => dep/acelite/ace/ARGV.inl rename : externals/ace/ATM_Acceptor.cpp => dep/acelite/ace/ATM_Acceptor.cpp rename : externals/ace/ATM_Acceptor.h => dep/acelite/ace/ATM_Acceptor.h rename : externals/ace/ATM_Acceptor.inl => dep/acelite/ace/ATM_Acceptor.inl rename : externals/ace/ATM_Addr.cpp => dep/acelite/ace/ATM_Addr.cpp rename : externals/ace/ATM_Addr.h => dep/acelite/ace/ATM_Addr.h rename : externals/ace/ATM_Addr.inl => dep/acelite/ace/ATM_Addr.inl rename : externals/ace/ATM_Connector.cpp => dep/acelite/ace/ATM_Connector.cpp rename : externals/ace/ATM_Connector.h => dep/acelite/ace/ATM_Connector.h rename : externals/ace/ATM_Connector.inl => dep/acelite/ace/ATM_Connector.inl rename : externals/ace/ATM_Params.cpp => dep/acelite/ace/ATM_Params.cpp rename : externals/ace/ATM_Params.h => dep/acelite/ace/ATM_Params.h rename : externals/ace/ATM_Params.inl => dep/acelite/ace/ATM_Params.inl rename : externals/ace/ATM_QoS.cpp => dep/acelite/ace/ATM_QoS.cpp rename : externals/ace/ATM_QoS.h => dep/acelite/ace/ATM_QoS.h rename : externals/ace/ATM_QoS.inl => dep/acelite/ace/ATM_QoS.inl rename : externals/ace/ATM_Stream.cpp => dep/acelite/ace/ATM_Stream.cpp rename : externals/ace/ATM_Stream.h => dep/acelite/ace/ATM_Stream.h rename : externals/ace/ATM_Stream.inl => dep/acelite/ace/ATM_Stream.inl rename : externals/ace/Acceptor.cpp => dep/acelite/ace/Acceptor.cpp rename : externals/ace/Acceptor.h => dep/acelite/ace/Acceptor.h rename : externals/ace/Activation_Queue.cpp => dep/acelite/ace/Activation_Queue.cpp rename : externals/ace/Activation_Queue.h => dep/acelite/ace/Activation_Queue.h rename : externals/ace/Activation_Queue.inl => dep/acelite/ace/Activation_Queue.inl rename : externals/ace/Active_Map_Manager.cpp => dep/acelite/ace/Active_Map_Manager.cpp rename : externals/ace/Active_Map_Manager.h => dep/acelite/ace/Active_Map_Manager.h rename : externals/ace/Active_Map_Manager.inl => dep/acelite/ace/Active_Map_Manager.inl rename : externals/ace/Active_Map_Manager_T.cpp => dep/acelite/ace/Active_Map_Manager_T.cpp rename : externals/ace/Active_Map_Manager_T.h => dep/acelite/ace/Active_Map_Manager_T.h rename : externals/ace/Active_Map_Manager_T.inl => dep/acelite/ace/Active_Map_Manager_T.inl rename : externals/ace/Addr.cpp => dep/acelite/ace/Addr.cpp rename : externals/ace/Addr.h => dep/acelite/ace/Addr.h rename : externals/ace/Addr.inl => dep/acelite/ace/Addr.inl rename : externals/ace/Arg_Shifter.cpp => dep/acelite/ace/Arg_Shifter.cpp rename : externals/ace/Arg_Shifter.h => dep/acelite/ace/Arg_Shifter.h rename : externals/ace/Argv_Type_Converter.cpp => dep/acelite/ace/Argv_Type_Converter.cpp rename : externals/ace/Argv_Type_Converter.h => dep/acelite/ace/Argv_Type_Converter.h rename : externals/ace/Argv_Type_Converter.inl => dep/acelite/ace/Argv_Type_Converter.inl rename : externals/ace/Array.h => dep/acelite/ace/Array.h rename : externals/ace/Array_Base.cpp => dep/acelite/ace/Array_Base.cpp rename : externals/ace/Array_Base.h => dep/acelite/ace/Array_Base.h rename : externals/ace/Array_Base.inl => dep/acelite/ace/Array_Base.inl rename : externals/ace/Array_Map.cpp => dep/acelite/ace/Array_Map.cpp rename : externals/ace/Array_Map.h => dep/acelite/ace/Array_Map.h rename : externals/ace/Array_Map.inl => dep/acelite/ace/Array_Map.inl rename : externals/ace/Assert.cpp => dep/acelite/ace/Assert.cpp rename : externals/ace/Assert.h => dep/acelite/ace/Assert.h rename : externals/ace/Asynch_Acceptor.cpp => dep/acelite/ace/Asynch_Acceptor.cpp rename : externals/ace/Asynch_Acceptor.h => dep/acelite/ace/Asynch_Acceptor.h rename : externals/ace/Asynch_Connector.cpp => dep/acelite/ace/Asynch_Connector.cpp rename : externals/ace/Asynch_Connector.h => dep/acelite/ace/Asynch_Connector.h rename : externals/ace/Asynch_IO.cpp => dep/acelite/ace/Asynch_IO.cpp rename : externals/ace/Asynch_IO.h => dep/acelite/ace/Asynch_IO.h rename : externals/ace/Asynch_IO_Impl.cpp => dep/acelite/ace/Asynch_IO_Impl.cpp rename : externals/ace/Asynch_IO_Impl.h => dep/acelite/ace/Asynch_IO_Impl.h rename : externals/ace/Asynch_IO_Impl.inl => dep/acelite/ace/Asynch_IO_Impl.inl rename : externals/ace/Asynch_Pseudo_Task.cpp => dep/acelite/ace/Asynch_Pseudo_Task.cpp rename : externals/ace/Asynch_Pseudo_Task.h => dep/acelite/ace/Asynch_Pseudo_Task.h rename : externals/ace/Atomic_Op.cpp => dep/acelite/ace/Atomic_Op.cpp rename : externals/ace/Atomic_Op.h => dep/acelite/ace/Atomic_Op.h rename : externals/ace/Atomic_Op.inl => dep/acelite/ace/Atomic_Op.inl rename : externals/ace/Atomic_Op_GCC_T.cpp => dep/acelite/ace/Atomic_Op_GCC_T.cpp rename : externals/ace/Atomic_Op_GCC_T.h => dep/acelite/ace/Atomic_Op_GCC_T.h rename : externals/ace/Atomic_Op_GCC_T.inl => dep/acelite/ace/Atomic_Op_GCC_T.inl rename : externals/ace/Atomic_Op_Sparc.c => dep/acelite/ace/Atomic_Op_Sparc.c rename : externals/ace/Atomic_Op_Sparc.h => dep/acelite/ace/Atomic_Op_Sparc.h rename : externals/ace/Atomic_Op_T.cpp => dep/acelite/ace/Atomic_Op_T.cpp rename : externals/ace/Atomic_Op_T.h => dep/acelite/ace/Atomic_Op_T.h rename : externals/ace/Atomic_Op_T.inl => dep/acelite/ace/Atomic_Op_T.inl rename : externals/ace/Auto_Event.cpp => dep/acelite/ace/Auto_Event.cpp rename : externals/ace/Auto_Event.h => dep/acelite/ace/Auto_Event.h rename : externals/ace/Auto_Event.inl => dep/acelite/ace/Auto_Event.inl rename : externals/ace/Auto_Functor.cpp => dep/acelite/ace/Auto_Functor.cpp rename : externals/ace/Auto_Functor.h => dep/acelite/ace/Auto_Functor.h rename : externals/ace/Auto_Functor.inl => dep/acelite/ace/Auto_Functor.inl rename : externals/ace/Auto_IncDec_T.cpp => dep/acelite/ace/Auto_IncDec_T.cpp rename : externals/ace/Auto_IncDec_T.h => dep/acelite/ace/Auto_IncDec_T.h rename : externals/ace/Auto_IncDec_T.inl => dep/acelite/ace/Auto_IncDec_T.inl rename : externals/ace/Auto_Ptr.cpp => dep/acelite/ace/Auto_Ptr.cpp rename : externals/ace/Auto_Ptr.h => dep/acelite/ace/Auto_Ptr.h rename : externals/ace/Auto_Ptr.inl => dep/acelite/ace/Auto_Ptr.inl rename : externals/ace/Barrier.cpp => dep/acelite/ace/Barrier.cpp rename : externals/ace/Barrier.h => dep/acelite/ace/Barrier.h rename : externals/ace/Barrier.inl => dep/acelite/ace/Barrier.inl rename : externals/ace/Base_Thread_Adapter.cpp => dep/acelite/ace/Base_Thread_Adapter.cpp rename : externals/ace/Base_Thread_Adapter.h => dep/acelite/ace/Base_Thread_Adapter.h rename : externals/ace/Base_Thread_Adapter.inl => dep/acelite/ace/Base_Thread_Adapter.inl rename : externals/ace/Based_Pointer_Repository.cpp => dep/acelite/ace/Based_Pointer_Repository.cpp rename : externals/ace/Based_Pointer_Repository.h => dep/acelite/ace/Based_Pointer_Repository.h rename : externals/ace/Based_Pointer_T.cpp => dep/acelite/ace/Based_Pointer_T.cpp rename : externals/ace/Based_Pointer_T.h => dep/acelite/ace/Based_Pointer_T.h rename : externals/ace/Based_Pointer_T.inl => dep/acelite/ace/Based_Pointer_T.inl rename : externals/ace/Basic_Stats.cpp => dep/acelite/ace/Basic_Stats.cpp rename : externals/ace/Basic_Stats.h => dep/acelite/ace/Basic_Stats.h rename : externals/ace/Basic_Stats.inl => dep/acelite/ace/Basic_Stats.inl rename : externals/ace/Basic_Types.cpp => dep/acelite/ace/Basic_Types.cpp rename : externals/ace/Basic_Types.h => dep/acelite/ace/Basic_Types.h rename : externals/ace/Basic_Types.inl => dep/acelite/ace/Basic_Types.inl rename : externals/ace/Bound_Ptr.h => dep/acelite/ace/Bound_Ptr.h rename : externals/ace/Bound_Ptr.inl => dep/acelite/ace/Bound_Ptr.inl rename : externals/ace/CDR_Base.cpp => dep/acelite/ace/CDR_Base.cpp rename : externals/ace/CDR_Base.h => dep/acelite/ace/CDR_Base.h rename : externals/ace/CDR_Base.inl => dep/acelite/ace/CDR_Base.inl rename : externals/ace/CDR_Size.cpp => dep/acelite/ace/CDR_Size.cpp rename : externals/ace/CDR_Size.h => dep/acelite/ace/CDR_Size.h rename : externals/ace/CDR_Size.inl => dep/acelite/ace/CDR_Size.inl rename : externals/ace/CDR_Stream.cpp => dep/acelite/ace/CDR_Stream.cpp rename : externals/ace/CDR_Stream.h => dep/acelite/ace/CDR_Stream.h rename : externals/ace/CDR_Stream.inl => dep/acelite/ace/CDR_Stream.inl rename : externals/ace/CE_Screen_Output.cpp => dep/acelite/ace/CE_Screen_Output.cpp rename : externals/ace/CE_Screen_Output.h => dep/acelite/ace/CE_Screen_Output.h rename : externals/ace/CMakeLists.txt => dep/acelite/ace/CMakeLists.txt rename : externals/ace/CORBA_macros.h => dep/acelite/ace/CORBA_macros.h rename : externals/ace/Cache_Map_Manager_T.cpp => dep/acelite/ace/Cache_Map_Manager_T.cpp rename : externals/ace/Cache_Map_Manager_T.h => dep/acelite/ace/Cache_Map_Manager_T.h rename : externals/ace/Cache_Map_Manager_T.inl => dep/acelite/ace/Cache_Map_Manager_T.inl rename : externals/ace/Cached_Connect_Strategy_T.cpp => dep/acelite/ace/Cached_Connect_Strategy_T.cpp rename : externals/ace/Cached_Connect_Strategy_T.h => dep/acelite/ace/Cached_Connect_Strategy_T.h rename : externals/ace/Caching_Strategies_T.cpp => dep/acelite/ace/Caching_Strategies_T.cpp rename : externals/ace/Caching_Strategies_T.h => dep/acelite/ace/Caching_Strategies_T.h rename : externals/ace/Caching_Strategies_T.inl => dep/acelite/ace/Caching_Strategies_T.inl rename : externals/ace/Caching_Utility_T.cpp => dep/acelite/ace/Caching_Utility_T.cpp rename : externals/ace/Caching_Utility_T.h => dep/acelite/ace/Caching_Utility_T.h rename : externals/ace/Capabilities.cpp => dep/acelite/ace/Capabilities.cpp rename : externals/ace/Capabilities.h => dep/acelite/ace/Capabilities.h rename : externals/ace/Capabilities.inl => dep/acelite/ace/Capabilities.inl rename : externals/ace/Cleanup.cpp => dep/acelite/ace/Cleanup.cpp rename : externals/ace/Cleanup.h => dep/acelite/ace/Cleanup.h rename : externals/ace/Cleanup.inl => dep/acelite/ace/Cleanup.inl rename : externals/ace/Cleanup_Strategies_T.cpp => dep/acelite/ace/Cleanup_Strategies_T.cpp rename : externals/ace/Cleanup_Strategies_T.h => dep/acelite/ace/Cleanup_Strategies_T.h rename : externals/ace/Codecs.cpp => dep/acelite/ace/Codecs.cpp rename : externals/ace/Codecs.h => dep/acelite/ace/Codecs.h rename : externals/ace/Codeset_IBM1047.cpp => dep/acelite/ace/Codeset_IBM1047.cpp rename : externals/ace/Codeset_IBM1047.h => dep/acelite/ace/Codeset_IBM1047.h rename : externals/ace/Codeset_Registry.cpp => dep/acelite/ace/Codeset_Registry.cpp rename : externals/ace/Codeset_Registry.h => dep/acelite/ace/Codeset_Registry.h rename : externals/ace/Codeset_Registry.inl => dep/acelite/ace/Codeset_Registry.inl rename : externals/ace/Codeset_Registry_db.cpp => dep/acelite/ace/Codeset_Registry_db.cpp rename : externals/ace/Codeset_Symbols.h => dep/acelite/ace/Codeset_Symbols.h rename : externals/ace/Condition_Recursive_Thread_Mutex.cpp => dep/acelite/ace/Condition_Recursive_Thread_Mutex.cpp rename : externals/ace/Condition_Recursive_Thread_Mutex.h => dep/acelite/ace/Condition_Recursive_Thread_Mutex.h rename : externals/ace/Condition_T.cpp => dep/acelite/ace/Condition_T.cpp rename : externals/ace/Condition_T.h => dep/acelite/ace/Condition_T.h rename : externals/ace/Condition_T.inl => dep/acelite/ace/Condition_T.inl rename : externals/ace/Condition_Thread_Mutex.cpp => dep/acelite/ace/Condition_Thread_Mutex.cpp rename : externals/ace/Condition_Thread_Mutex.h => dep/acelite/ace/Condition_Thread_Mutex.h rename : externals/ace/Condition_Thread_Mutex.inl => dep/acelite/ace/Condition_Thread_Mutex.inl rename : externals/ace/Configuration.cpp => dep/acelite/ace/Configuration.cpp rename : externals/ace/Configuration.h => dep/acelite/ace/Configuration.h rename : externals/ace/Configuration.inl => dep/acelite/ace/Configuration.inl rename : externals/ace/Configuration_Import_Export.cpp => dep/acelite/ace/Configuration_Import_Export.cpp rename : externals/ace/Configuration_Import_Export.h => dep/acelite/ace/Configuration_Import_Export.h rename : externals/ace/Connection_Recycling_Strategy.cpp => dep/acelite/ace/Connection_Recycling_Strategy.cpp rename : externals/ace/Connection_Recycling_Strategy.h => dep/acelite/ace/Connection_Recycling_Strategy.h rename : externals/ace/Connector.cpp => dep/acelite/ace/Connector.cpp rename : externals/ace/Connector.h => dep/acelite/ace/Connector.h rename : externals/ace/Containers.cpp => dep/acelite/ace/Containers.cpp rename : externals/ace/Containers.h => dep/acelite/ace/Containers.h rename : externals/ace/Containers.inl => dep/acelite/ace/Containers.inl rename : externals/ace/Containers_T.cpp => dep/acelite/ace/Containers_T.cpp rename : externals/ace/Containers_T.h => dep/acelite/ace/Containers_T.h rename : externals/ace/Containers_T.inl => dep/acelite/ace/Containers_T.inl rename : externals/ace/Copy_Disabled.cpp => dep/acelite/ace/Copy_Disabled.cpp rename : externals/ace/Copy_Disabled.h => dep/acelite/ace/Copy_Disabled.h rename : externals/ace/Countdown_Time.cpp => dep/acelite/ace/Countdown_Time.cpp rename : externals/ace/Countdown_Time.h => dep/acelite/ace/Countdown_Time.h rename : externals/ace/Countdown_Time.inl => dep/acelite/ace/Countdown_Time.inl rename : externals/ace/DEV.cpp => dep/acelite/ace/DEV.cpp rename : externals/ace/DEV.h => dep/acelite/ace/DEV.h rename : externals/ace/DEV.inl => dep/acelite/ace/DEV.inl rename : externals/ace/DEV_Addr.cpp => dep/acelite/ace/DEV_Addr.cpp rename : externals/ace/DEV_Addr.h => dep/acelite/ace/DEV_Addr.h rename : externals/ace/DEV_Addr.inl => dep/acelite/ace/DEV_Addr.inl rename : externals/ace/DEV_Connector.cpp => dep/acelite/ace/DEV_Connector.cpp rename : externals/ace/DEV_Connector.h => dep/acelite/ace/DEV_Connector.h rename : externals/ace/DEV_Connector.inl => dep/acelite/ace/DEV_Connector.inl rename : externals/ace/DEV_IO.cpp => dep/acelite/ace/DEV_IO.cpp rename : externals/ace/DEV_IO.h => dep/acelite/ace/DEV_IO.h rename : externals/ace/DEV_IO.inl => dep/acelite/ace/DEV_IO.inl rename : externals/ace/DLL.cpp => dep/acelite/ace/DLL.cpp rename : externals/ace/DLL.h => dep/acelite/ace/DLL.h rename : externals/ace/DLL_Manager.cpp => dep/acelite/ace/DLL_Manager.cpp rename : externals/ace/DLL_Manager.h => dep/acelite/ace/DLL_Manager.h rename : externals/ace/Date_Time.cpp => dep/acelite/ace/Date_Time.cpp rename : externals/ace/Date_Time.h => dep/acelite/ace/Date_Time.h rename : externals/ace/Date_Time.inl => dep/acelite/ace/Date_Time.inl rename : externals/ace/Default_Constants.h => dep/acelite/ace/Default_Constants.h rename : externals/ace/Dev_Poll_Reactor.cpp => dep/acelite/ace/Dev_Poll_Reactor.cpp rename : externals/ace/Dev_Poll_Reactor.h => dep/acelite/ace/Dev_Poll_Reactor.h rename : externals/ace/Dev_Poll_Reactor.inl => dep/acelite/ace/Dev_Poll_Reactor.inl rename : externals/ace/Dirent.cpp => dep/acelite/ace/Dirent.cpp rename : externals/ace/Dirent.h => dep/acelite/ace/Dirent.h rename : externals/ace/Dirent.inl => dep/acelite/ace/Dirent.inl rename : externals/ace/Dirent_Selector.cpp => dep/acelite/ace/Dirent_Selector.cpp rename : externals/ace/Dirent_Selector.h => dep/acelite/ace/Dirent_Selector.h rename : externals/ace/Dirent_Selector.inl => dep/acelite/ace/Dirent_Selector.inl rename : externals/ace/Dump.cpp => dep/acelite/ace/Dump.cpp rename : externals/ace/Dump.h => dep/acelite/ace/Dump.h rename : externals/ace/Dump_T.cpp => dep/acelite/ace/Dump_T.cpp rename : externals/ace/Dump_T.h => dep/acelite/ace/Dump_T.h rename : externals/ace/Dynamic.cpp => dep/acelite/ace/Dynamic.cpp rename : externals/ace/Dynamic.h => dep/acelite/ace/Dynamic.h rename : externals/ace/Dynamic.inl => dep/acelite/ace/Dynamic.inl rename : externals/ace/Dynamic_Message_Strategy.cpp => dep/acelite/ace/Dynamic_Message_Strategy.cpp rename : externals/ace/Dynamic_Message_Strategy.h => dep/acelite/ace/Dynamic_Message_Strategy.h rename : externals/ace/Dynamic_Message_Strategy.inl => dep/acelite/ace/Dynamic_Message_Strategy.inl rename : externals/ace/Dynamic_Service.cpp => dep/acelite/ace/Dynamic_Service.cpp rename : externals/ace/Dynamic_Service.h => dep/acelite/ace/Dynamic_Service.h rename : externals/ace/Dynamic_Service.inl => dep/acelite/ace/Dynamic_Service.inl rename : externals/ace/Dynamic_Service_Base.cpp => dep/acelite/ace/Dynamic_Service_Base.cpp rename : externals/ace/Dynamic_Service_Base.h => dep/acelite/ace/Dynamic_Service_Base.h rename : externals/ace/Dynamic_Service_Dependency.cpp => dep/acelite/ace/Dynamic_Service_Dependency.cpp rename : externals/ace/Dynamic_Service_Dependency.h => dep/acelite/ace/Dynamic_Service_Dependency.h rename : externals/ace/Encoding_Converter.cpp => dep/acelite/ace/Encoding_Converter.cpp rename : externals/ace/Encoding_Converter.h => dep/acelite/ace/Encoding_Converter.h rename : externals/ace/Encoding_Converter_Factory.cpp => dep/acelite/ace/Encoding_Converter_Factory.cpp rename : externals/ace/Encoding_Converter_Factory.h => dep/acelite/ace/Encoding_Converter_Factory.h rename : externals/ace/Env_Value_T.cpp => dep/acelite/ace/Env_Value_T.cpp rename : externals/ace/Env_Value_T.h => dep/acelite/ace/Env_Value_T.h rename : externals/ace/Env_Value_T.inl => dep/acelite/ace/Env_Value_T.inl rename : externals/ace/Event.cpp => dep/acelite/ace/Event.cpp rename : externals/ace/Event.h => dep/acelite/ace/Event.h rename : externals/ace/Event.inl => dep/acelite/ace/Event.inl rename : externals/ace/Event_Handler.cpp => dep/acelite/ace/Event_Handler.cpp rename : externals/ace/Event_Handler.h => dep/acelite/ace/Event_Handler.h rename : externals/ace/Event_Handler.inl => dep/acelite/ace/Event_Handler.inl rename : externals/ace/Event_Handler_T.cpp => dep/acelite/ace/Event_Handler_T.cpp rename : externals/ace/Event_Handler_T.h => dep/acelite/ace/Event_Handler_T.h rename : externals/ace/Event_Handler_T.inl => dep/acelite/ace/Event_Handler_T.inl rename : externals/ace/Exception_Macros.h => dep/acelite/ace/Exception_Macros.h rename : externals/ace/FIFO.cpp => dep/acelite/ace/FIFO.cpp rename : externals/ace/FIFO.h => dep/acelite/ace/FIFO.h rename : externals/ace/FIFO.inl => dep/acelite/ace/FIFO.inl rename : externals/ace/FIFO_Recv.cpp => dep/acelite/ace/FIFO_Recv.cpp rename : externals/ace/FIFO_Recv.h => dep/acelite/ace/FIFO_Recv.h rename : externals/ace/FIFO_Recv.inl => dep/acelite/ace/FIFO_Recv.inl rename : externals/ace/FIFO_Recv_Msg.cpp => dep/acelite/ace/FIFO_Recv_Msg.cpp rename : externals/ace/FIFO_Recv_Msg.h => dep/acelite/ace/FIFO_Recv_Msg.h rename : externals/ace/FIFO_Recv_Msg.inl => dep/acelite/ace/FIFO_Recv_Msg.inl rename : externals/ace/FIFO_Send.cpp => dep/acelite/ace/FIFO_Send.cpp rename : externals/ace/FIFO_Send.h => dep/acelite/ace/FIFO_Send.h rename : externals/ace/FIFO_Send.inl => dep/acelite/ace/FIFO_Send.inl rename : externals/ace/FIFO_Send_Msg.cpp => dep/acelite/ace/FIFO_Send_Msg.cpp rename : externals/ace/FIFO_Send_Msg.h => dep/acelite/ace/FIFO_Send_Msg.h rename : externals/ace/FIFO_Send_Msg.inl => dep/acelite/ace/FIFO_Send_Msg.inl rename : externals/ace/FILE.cpp => dep/acelite/ace/FILE.cpp rename : externals/ace/FILE.h => dep/acelite/ace/FILE.h rename : externals/ace/FILE.inl => dep/acelite/ace/FILE.inl rename : externals/ace/FILE_Addr.cpp => dep/acelite/ace/FILE_Addr.cpp rename : externals/ace/FILE_Addr.h => dep/acelite/ace/FILE_Addr.h rename : externals/ace/FILE_Addr.inl => dep/acelite/ace/FILE_Addr.inl rename : externals/ace/FILE_Connector.cpp => dep/acelite/ace/FILE_Connector.cpp rename : externals/ace/FILE_Connector.h => dep/acelite/ace/FILE_Connector.h rename : externals/ace/FILE_Connector.inl => dep/acelite/ace/FILE_Connector.inl rename : externals/ace/FILE_IO.cpp => dep/acelite/ace/FILE_IO.cpp rename : externals/ace/FILE_IO.h => dep/acelite/ace/FILE_IO.h rename : externals/ace/FILE_IO.inl => dep/acelite/ace/FILE_IO.inl rename : externals/ace/File_Lock.cpp => dep/acelite/ace/File_Lock.cpp rename : externals/ace/File_Lock.h => dep/acelite/ace/File_Lock.h rename : externals/ace/File_Lock.inl => dep/acelite/ace/File_Lock.inl rename : externals/ace/Filecache.cpp => dep/acelite/ace/Filecache.cpp rename : externals/ace/Filecache.h => dep/acelite/ace/Filecache.h rename : externals/ace/Flag_Manip.cpp => dep/acelite/ace/Flag_Manip.cpp rename : externals/ace/Flag_Manip.h => dep/acelite/ace/Flag_Manip.h rename : externals/ace/Flag_Manip.inl => dep/acelite/ace/Flag_Manip.inl rename : externals/ace/Framework_Component.cpp => dep/acelite/ace/Framework_Component.cpp rename : externals/ace/Framework_Component.h => dep/acelite/ace/Framework_Component.h rename : externals/ace/Framework_Component.inl => dep/acelite/ace/Framework_Component.inl rename : externals/ace/Framework_Component_T.cpp => dep/acelite/ace/Framework_Component_T.cpp rename : externals/ace/Framework_Component_T.h => dep/acelite/ace/Framework_Component_T.h rename : externals/ace/Free_List.cpp => dep/acelite/ace/Free_List.cpp rename : externals/ace/Free_List.h => dep/acelite/ace/Free_List.h rename : externals/ace/Functor.cpp => dep/acelite/ace/Functor.cpp rename : externals/ace/Functor.h => dep/acelite/ace/Functor.h rename : externals/ace/Functor.inl => dep/acelite/ace/Functor.inl rename : externals/ace/Functor_String.cpp => dep/acelite/ace/Functor_String.cpp rename : externals/ace/Functor_String.h => dep/acelite/ace/Functor_String.h rename : externals/ace/Functor_String.inl => dep/acelite/ace/Functor_String.inl rename : externals/ace/Functor_T.cpp => dep/acelite/ace/Functor_T.cpp rename : externals/ace/Functor_T.h => dep/acelite/ace/Functor_T.h rename : externals/ace/Functor_T.inl => dep/acelite/ace/Functor_T.inl rename : externals/ace/Future.cpp => dep/acelite/ace/Future.cpp rename : externals/ace/Future.h => dep/acelite/ace/Future.h rename : externals/ace/Future_Set.cpp => dep/acelite/ace/Future_Set.cpp rename : externals/ace/Future_Set.h => dep/acelite/ace/Future_Set.h rename : externals/ace/Get_Opt.cpp => dep/acelite/ace/Get_Opt.cpp rename : externals/ace/Get_Opt.h => dep/acelite/ace/Get_Opt.h rename : externals/ace/Get_Opt.inl => dep/acelite/ace/Get_Opt.inl rename : externals/ace/Global_Macros.h => dep/acelite/ace/Global_Macros.h rename : externals/ace/Guard_T.cpp => dep/acelite/ace/Guard_T.cpp rename : externals/ace/Guard_T.h => dep/acelite/ace/Guard_T.h rename : externals/ace/Guard_T.inl => dep/acelite/ace/Guard_T.inl rename : externals/ace/Handle_Gobbler.h => dep/acelite/ace/Handle_Gobbler.h rename : externals/ace/Handle_Gobbler.inl => dep/acelite/ace/Handle_Gobbler.inl rename : externals/ace/Handle_Ops.cpp => dep/acelite/ace/Handle_Ops.cpp rename : externals/ace/Handle_Ops.h => dep/acelite/ace/Handle_Ops.h rename : externals/ace/Handle_Set.cpp => dep/acelite/ace/Handle_Set.cpp rename : externals/ace/Handle_Set.h => dep/acelite/ace/Handle_Set.h rename : externals/ace/Handle_Set.inl => dep/acelite/ace/Handle_Set.inl rename : externals/ace/Hash_Cache_Map_Manager_T.cpp => dep/acelite/ace/Hash_Cache_Map_Manager_T.cpp rename : externals/ace/Hash_Cache_Map_Manager_T.h => dep/acelite/ace/Hash_Cache_Map_Manager_T.h rename : externals/ace/Hash_Cache_Map_Manager_T.inl => dep/acelite/ace/Hash_Cache_Map_Manager_T.inl rename : externals/ace/Hash_Map_Manager.h => dep/acelite/ace/Hash_Map_Manager.h rename : externals/ace/Hash_Map_Manager_T.cpp => dep/acelite/ace/Hash_Map_Manager_T.cpp rename : externals/ace/Hash_Map_Manager_T.h => dep/acelite/ace/Hash_Map_Manager_T.h rename : externals/ace/Hash_Map_Manager_T.inl => dep/acelite/ace/Hash_Map_Manager_T.inl rename : externals/ace/Hash_Map_With_Allocator_T.cpp => dep/acelite/ace/Hash_Map_With_Allocator_T.cpp rename : externals/ace/Hash_Map_With_Allocator_T.h => dep/acelite/ace/Hash_Map_With_Allocator_T.h rename : externals/ace/Hash_Map_With_Allocator_T.inl => dep/acelite/ace/Hash_Map_With_Allocator_T.inl rename : externals/ace/Hash_Multi_Map_Manager_T.cpp => dep/acelite/ace/Hash_Multi_Map_Manager_T.cpp rename : externals/ace/Hash_Multi_Map_Manager_T.h => dep/acelite/ace/Hash_Multi_Map_Manager_T.h rename : externals/ace/Hash_Multi_Map_Manager_T.inl => dep/acelite/ace/Hash_Multi_Map_Manager_T.inl rename : externals/ace/Hashable.cpp => dep/acelite/ace/Hashable.cpp rename : externals/ace/Hashable.h => dep/acelite/ace/Hashable.h rename : externals/ace/Hashable.inl => dep/acelite/ace/Hashable.inl rename : externals/ace/High_Res_Timer.cpp => dep/acelite/ace/High_Res_Timer.cpp rename : externals/ace/High_Res_Timer.h => dep/acelite/ace/High_Res_Timer.h rename : externals/ace/High_Res_Timer.inl => dep/acelite/ace/High_Res_Timer.inl rename : externals/ace/ICMP_Socket.cpp => dep/acelite/ace/ICMP_Socket.cpp rename : externals/ace/ICMP_Socket.h => dep/acelite/ace/ICMP_Socket.h rename : externals/ace/INET_Addr.cpp => dep/acelite/ace/INET_Addr.cpp rename : externals/ace/INET_Addr.h => dep/acelite/ace/INET_Addr.h rename : externals/ace/INET_Addr.inl => dep/acelite/ace/INET_Addr.inl rename : externals/ace/IOStream.cpp => dep/acelite/ace/IOStream.cpp rename : externals/ace/IOStream.h => dep/acelite/ace/IOStream.h rename : externals/ace/IOStream_T.cpp => dep/acelite/ace/IOStream_T.cpp rename : externals/ace/IOStream_T.h => dep/acelite/ace/IOStream_T.h rename : externals/ace/IOStream_T.inl => dep/acelite/ace/IOStream_T.inl rename : externals/ace/IO_Cntl_Msg.cpp => dep/acelite/ace/IO_Cntl_Msg.cpp rename : externals/ace/IO_Cntl_Msg.h => dep/acelite/ace/IO_Cntl_Msg.h rename : externals/ace/IO_Cntl_Msg.inl => dep/acelite/ace/IO_Cntl_Msg.inl rename : externals/ace/IO_SAP.cpp => dep/acelite/ace/IO_SAP.cpp rename : externals/ace/IO_SAP.h => dep/acelite/ace/IO_SAP.h rename : externals/ace/IO_SAP.inl => dep/acelite/ace/IO_SAP.inl rename : externals/ace/IPC_SAP.cpp => dep/acelite/ace/IPC_SAP.cpp rename : externals/ace/IPC_SAP.h => dep/acelite/ace/IPC_SAP.h rename : externals/ace/IPC_SAP.inl => dep/acelite/ace/IPC_SAP.inl rename : externals/ace/If_Then_Else.h => dep/acelite/ace/If_Then_Else.h rename : externals/ace/Init_ACE.cpp => dep/acelite/ace/Init_ACE.cpp rename : externals/ace/Init_ACE.h => dep/acelite/ace/Init_ACE.h rename : externals/ace/Intrusive_Auto_Ptr.cpp => dep/acelite/ace/Intrusive_Auto_Ptr.cpp rename : externals/ace/Intrusive_Auto_Ptr.h => dep/acelite/ace/Intrusive_Auto_Ptr.h rename : externals/ace/Intrusive_Auto_Ptr.inl => dep/acelite/ace/Intrusive_Auto_Ptr.inl rename : externals/ace/Intrusive_List.cpp => dep/acelite/ace/Intrusive_List.cpp rename : externals/ace/Intrusive_List.h => dep/acelite/ace/Intrusive_List.h rename : externals/ace/Intrusive_List.inl => dep/acelite/ace/Intrusive_List.inl rename : externals/ace/Intrusive_List_Node.cpp => dep/acelite/ace/Intrusive_List_Node.cpp rename : externals/ace/Intrusive_List_Node.h => dep/acelite/ace/Intrusive_List_Node.h rename : externals/ace/Intrusive_List_Node.inl => dep/acelite/ace/Intrusive_List_Node.inl rename : externals/ace/LOCK_SOCK_Acceptor.cpp => dep/acelite/ace/LOCK_SOCK_Acceptor.cpp rename : externals/ace/LOCK_SOCK_Acceptor.h => dep/acelite/ace/LOCK_SOCK_Acceptor.h rename : externals/ace/LSOCK.cpp => dep/acelite/ace/LSOCK.cpp rename : externals/ace/LSOCK.h => dep/acelite/ace/LSOCK.h rename : externals/ace/LSOCK.inl => dep/acelite/ace/LSOCK.inl rename : externals/ace/LSOCK_Acceptor.cpp => dep/acelite/ace/LSOCK_Acceptor.cpp rename : externals/ace/LSOCK_Acceptor.h => dep/acelite/ace/LSOCK_Acceptor.h rename : externals/ace/LSOCK_CODgram.cpp => dep/acelite/ace/LSOCK_CODgram.cpp rename : externals/ace/LSOCK_CODgram.h => dep/acelite/ace/LSOCK_CODgram.h rename : externals/ace/LSOCK_CODgram.inl => dep/acelite/ace/LSOCK_CODgram.inl rename : externals/ace/LSOCK_Connector.cpp => dep/acelite/ace/LSOCK_Connector.cpp rename : externals/ace/LSOCK_Connector.h => dep/acelite/ace/LSOCK_Connector.h rename : externals/ace/LSOCK_Connector.inl => dep/acelite/ace/LSOCK_Connector.inl rename : externals/ace/LSOCK_Dgram.cpp => dep/acelite/ace/LSOCK_Dgram.cpp rename : externals/ace/LSOCK_Dgram.h => dep/acelite/ace/LSOCK_Dgram.h rename : externals/ace/LSOCK_Dgram.inl => dep/acelite/ace/LSOCK_Dgram.inl rename : externals/ace/LSOCK_Stream.cpp => dep/acelite/ace/LSOCK_Stream.cpp rename : externals/ace/LSOCK_Stream.h => dep/acelite/ace/LSOCK_Stream.h rename : externals/ace/LSOCK_Stream.inl => dep/acelite/ace/LSOCK_Stream.inl rename : externals/ace/Lib_Find.cpp => dep/acelite/ace/Lib_Find.cpp rename : externals/ace/Lib_Find.h => dep/acelite/ace/Lib_Find.h rename : externals/ace/Local_Memory_Pool.cpp => dep/acelite/ace/Local_Memory_Pool.cpp rename : externals/ace/Local_Memory_Pool.h => dep/acelite/ace/Local_Memory_Pool.h rename : externals/ace/Local_Name_Space.cpp => dep/acelite/ace/Local_Name_Space.cpp rename : externals/ace/Local_Name_Space.h => dep/acelite/ace/Local_Name_Space.h rename : externals/ace/Local_Name_Space_T.cpp => dep/acelite/ace/Local_Name_Space_T.cpp rename : externals/ace/Local_Name_Space_T.h => dep/acelite/ace/Local_Name_Space_T.h rename : externals/ace/Local_Tokens.cpp => dep/acelite/ace/Local_Tokens.cpp rename : externals/ace/Local_Tokens.h => dep/acelite/ace/Local_Tokens.h rename : externals/ace/Local_Tokens.inl => dep/acelite/ace/Local_Tokens.inl rename : externals/ace/Lock.cpp => dep/acelite/ace/Lock.cpp rename : externals/ace/Lock.h => dep/acelite/ace/Lock.h rename : externals/ace/Lock.inl => dep/acelite/ace/Lock.inl rename : externals/ace/Lock_Adapter_T.cpp => dep/acelite/ace/Lock_Adapter_T.cpp rename : externals/ace/Lock_Adapter_T.h => dep/acelite/ace/Lock_Adapter_T.h rename : externals/ace/Lock_Adapter_T.inl => dep/acelite/ace/Lock_Adapter_T.inl rename : externals/ace/Log_Msg.cpp => dep/acelite/ace/Log_Msg.cpp rename : externals/ace/Log_Msg.h => dep/acelite/ace/Log_Msg.h rename : externals/ace/Log_Msg.inl => dep/acelite/ace/Log_Msg.inl rename : externals/ace/Log_Msg_Backend.cpp => dep/acelite/ace/Log_Msg_Backend.cpp rename : externals/ace/Log_Msg_Backend.h => dep/acelite/ace/Log_Msg_Backend.h rename : externals/ace/Log_Msg_Callback.cpp => dep/acelite/ace/Log_Msg_Callback.cpp rename : externals/ace/Log_Msg_Callback.h => dep/acelite/ace/Log_Msg_Callback.h rename : externals/ace/Log_Msg_IPC.cpp => dep/acelite/ace/Log_Msg_IPC.cpp rename : externals/ace/Log_Msg_IPC.h => dep/acelite/ace/Log_Msg_IPC.h rename : externals/ace/Log_Msg_NT_Event_Log.cpp => dep/acelite/ace/Log_Msg_NT_Event_Log.cpp rename : externals/ace/Log_Msg_NT_Event_Log.h => dep/acelite/ace/Log_Msg_NT_Event_Log.h rename : externals/ace/Log_Msg_UNIX_Syslog.cpp => dep/acelite/ace/Log_Msg_UNIX_Syslog.cpp rename : externals/ace/Log_Msg_UNIX_Syslog.h => dep/acelite/ace/Log_Msg_UNIX_Syslog.h rename : externals/ace/Log_Priority.h => dep/acelite/ace/Log_Priority.h rename : externals/ace/Log_Record.cpp => dep/acelite/ace/Log_Record.cpp rename : externals/ace/Log_Record.h => dep/acelite/ace/Log_Record.h rename : externals/ace/Log_Record.inl => dep/acelite/ace/Log_Record.inl rename : externals/ace/Logging_Strategy.cpp => dep/acelite/ace/Logging_Strategy.cpp rename : externals/ace/Logging_Strategy.h => dep/acelite/ace/Logging_Strategy.h rename : externals/ace/MEM_Acceptor.cpp => dep/acelite/ace/MEM_Acceptor.cpp rename : externals/ace/MEM_Acceptor.h => dep/acelite/ace/MEM_Acceptor.h rename : externals/ace/MEM_Acceptor.inl => dep/acelite/ace/MEM_Acceptor.inl rename : externals/ace/MEM_Addr.cpp => dep/acelite/ace/MEM_Addr.cpp rename : externals/ace/MEM_Addr.h => dep/acelite/ace/MEM_Addr.h rename : externals/ace/MEM_Addr.inl => dep/acelite/ace/MEM_Addr.inl rename : externals/ace/MEM_Connector.cpp => dep/acelite/ace/MEM_Connector.cpp rename : externals/ace/MEM_Connector.h => dep/acelite/ace/MEM_Connector.h rename : externals/ace/MEM_Connector.inl => dep/acelite/ace/MEM_Connector.inl rename : externals/ace/MEM_IO.cpp => dep/acelite/ace/MEM_IO.cpp rename : externals/ace/MEM_IO.h => dep/acelite/ace/MEM_IO.h rename : externals/ace/MEM_IO.inl => dep/acelite/ace/MEM_IO.inl rename : externals/ace/MEM_SAP.cpp => dep/acelite/ace/MEM_SAP.cpp rename : externals/ace/MEM_SAP.h => dep/acelite/ace/MEM_SAP.h rename : externals/ace/MEM_SAP.inl => dep/acelite/ace/MEM_SAP.inl rename : externals/ace/MEM_Stream.cpp => dep/acelite/ace/MEM_Stream.cpp rename : externals/ace/MEM_Stream.h => dep/acelite/ace/MEM_Stream.h rename : externals/ace/MEM_Stream.inl => dep/acelite/ace/MEM_Stream.inl rename : externals/ace/MMAP_Memory_Pool.cpp => dep/acelite/ace/MMAP_Memory_Pool.cpp rename : externals/ace/MMAP_Memory_Pool.h => dep/acelite/ace/MMAP_Memory_Pool.h rename : externals/ace/MMAP_Memory_Pool.inl => dep/acelite/ace/MMAP_Memory_Pool.inl rename : externals/ace/Makefile.in => dep/acelite/ace/Makefile.in rename : externals/ace/Malloc.cpp => dep/acelite/ace/Malloc.cpp rename : externals/ace/Malloc.h => dep/acelite/ace/Malloc.h rename : externals/ace/Malloc.inl => dep/acelite/ace/Malloc.inl rename : externals/ace/Malloc_Allocator.cpp => dep/acelite/ace/Malloc_Allocator.cpp rename : externals/ace/Malloc_Allocator.h => dep/acelite/ace/Malloc_Allocator.h rename : externals/ace/Malloc_Allocator.inl => dep/acelite/ace/Malloc_Allocator.inl rename : externals/ace/Malloc_Base.h => dep/acelite/ace/Malloc_Base.h rename : externals/ace/Malloc_T.cpp => dep/acelite/ace/Malloc_T.cpp rename : externals/ace/Malloc_T.h => dep/acelite/ace/Malloc_T.h rename : externals/ace/Malloc_T.inl => dep/acelite/ace/Malloc_T.inl rename : externals/ace/Managed_Object.cpp => dep/acelite/ace/Managed_Object.cpp rename : externals/ace/Managed_Object.h => dep/acelite/ace/Managed_Object.h rename : externals/ace/Managed_Object.inl => dep/acelite/ace/Managed_Object.inl rename : externals/ace/Manual_Event.cpp => dep/acelite/ace/Manual_Event.cpp rename : externals/ace/Manual_Event.h => dep/acelite/ace/Manual_Event.h rename : externals/ace/Manual_Event.inl => dep/acelite/ace/Manual_Event.inl rename : externals/ace/Map.h => dep/acelite/ace/Map.h rename : externals/ace/Map_Manager.cpp => dep/acelite/ace/Map_Manager.cpp rename : externals/ace/Map_Manager.h => dep/acelite/ace/Map_Manager.h rename : externals/ace/Map_Manager.inl => dep/acelite/ace/Map_Manager.inl rename : externals/ace/Map_T.cpp => dep/acelite/ace/Map_T.cpp rename : externals/ace/Map_T.h => dep/acelite/ace/Map_T.h rename : externals/ace/Map_T.inl => dep/acelite/ace/Map_T.inl rename : externals/ace/Mem_Map.cpp => dep/acelite/ace/Mem_Map.cpp rename : externals/ace/Mem_Map.h => dep/acelite/ace/Mem_Map.h rename : externals/ace/Mem_Map.inl => dep/acelite/ace/Mem_Map.inl rename : externals/ace/Memory_Pool.h => dep/acelite/ace/Memory_Pool.h rename : externals/ace/Message_Block.cpp => dep/acelite/ace/Message_Block.cpp rename : externals/ace/Message_Block.h => dep/acelite/ace/Message_Block.h rename : externals/ace/Message_Block.inl => dep/acelite/ace/Message_Block.inl rename : externals/ace/Message_Block_T.cpp => dep/acelite/ace/Message_Block_T.cpp rename : externals/ace/Message_Block_T.h => dep/acelite/ace/Message_Block_T.h rename : externals/ace/Message_Block_T.inl => dep/acelite/ace/Message_Block_T.inl rename : externals/ace/Message_Queue.cpp => dep/acelite/ace/Message_Queue.cpp rename : externals/ace/Message_Queue.h => dep/acelite/ace/Message_Queue.h rename : externals/ace/Message_Queue.inl => dep/acelite/ace/Message_Queue.inl rename : externals/ace/Message_Queue_NT.cpp => dep/acelite/ace/Message_Queue_NT.cpp rename : externals/ace/Message_Queue_NT.h => dep/acelite/ace/Message_Queue_NT.h rename : externals/ace/Message_Queue_NT.inl => dep/acelite/ace/Message_Queue_NT.inl rename : externals/ace/Message_Queue_T.cpp => dep/acelite/ace/Message_Queue_T.cpp rename : externals/ace/Message_Queue_T.h => dep/acelite/ace/Message_Queue_T.h rename : externals/ace/Message_Queue_Vx.cpp => dep/acelite/ace/Message_Queue_Vx.cpp rename : externals/ace/Message_Queue_Vx.h => dep/acelite/ace/Message_Queue_Vx.h rename : externals/ace/Message_Queue_Vx.inl => dep/acelite/ace/Message_Queue_Vx.inl rename : externals/ace/Method_Object.h => dep/acelite/ace/Method_Object.h rename : externals/ace/Method_Request.cpp => dep/acelite/ace/Method_Request.cpp rename : externals/ace/Method_Request.h => dep/acelite/ace/Method_Request.h rename : externals/ace/Metrics_Cache.h => dep/acelite/ace/Metrics_Cache.h rename : externals/ace/Metrics_Cache_T.cpp => dep/acelite/ace/Metrics_Cache_T.cpp rename : externals/ace/Metrics_Cache_T.h => dep/acelite/ace/Metrics_Cache_T.h rename : externals/ace/Metrics_Cache_T.inl => dep/acelite/ace/Metrics_Cache_T.inl rename : externals/ace/Min_Max.h => dep/acelite/ace/Min_Max.h rename : externals/ace/Module.cpp => dep/acelite/ace/Module.cpp rename : externals/ace/Module.h => dep/acelite/ace/Module.h rename : externals/ace/Module.inl => dep/acelite/ace/Module.inl rename : externals/ace/Monitor_Admin.cpp => dep/acelite/ace/Monitor_Admin.cpp rename : externals/ace/Monitor_Admin.h => dep/acelite/ace/Monitor_Admin.h rename : externals/ace/Monitor_Admin_Manager.cpp => dep/acelite/ace/Monitor_Admin_Manager.cpp rename : externals/ace/Monitor_Admin_Manager.h => dep/acelite/ace/Monitor_Admin_Manager.h rename : externals/ace/Monitor_Base.cpp => dep/acelite/ace/Monitor_Base.cpp rename : externals/ace/Monitor_Base.h => dep/acelite/ace/Monitor_Base.h rename : externals/ace/Monitor_Base.inl => dep/acelite/ace/Monitor_Base.inl rename : externals/ace/Monitor_Control_Action.cpp => dep/acelite/ace/Monitor_Control_Action.cpp rename : externals/ace/Monitor_Control_Action.h => dep/acelite/ace/Monitor_Control_Action.h rename : externals/ace/Monitor_Control_Types.cpp => dep/acelite/ace/Monitor_Control_Types.cpp rename : externals/ace/Monitor_Control_Types.h => dep/acelite/ace/Monitor_Control_Types.h rename : externals/ace/Monitor_Point_Registry.cpp => dep/acelite/ace/Monitor_Point_Registry.cpp rename : externals/ace/Monitor_Point_Registry.h => dep/acelite/ace/Monitor_Point_Registry.h rename : externals/ace/Monitor_Size.cpp => dep/acelite/ace/Monitor_Size.cpp rename : externals/ace/Monitor_Size.h => dep/acelite/ace/Monitor_Size.h rename : externals/ace/Msg_WFMO_Reactor.cpp => dep/acelite/ace/Msg_WFMO_Reactor.cpp rename : externals/ace/Msg_WFMO_Reactor.h => dep/acelite/ace/Msg_WFMO_Reactor.h rename : externals/ace/Msg_WFMO_Reactor.inl => dep/acelite/ace/Msg_WFMO_Reactor.inl rename : externals/ace/Multihomed_INET_Addr.cpp => dep/acelite/ace/Multihomed_INET_Addr.cpp rename : externals/ace/Multihomed_INET_Addr.h => dep/acelite/ace/Multihomed_INET_Addr.h rename : externals/ace/Multihomed_INET_Addr.inl => dep/acelite/ace/Multihomed_INET_Addr.inl rename : externals/ace/Mutex.cpp => dep/acelite/ace/Mutex.cpp rename : externals/ace/Mutex.h => dep/acelite/ace/Mutex.h rename : externals/ace/Mutex.inl => dep/acelite/ace/Mutex.inl rename : externals/ace/NT_Service.cpp => dep/acelite/ace/NT_Service.cpp rename : externals/ace/NT_Service.h => dep/acelite/ace/NT_Service.h rename : externals/ace/NT_Service.inl => dep/acelite/ace/NT_Service.inl rename : externals/ace/Name_Proxy.cpp => dep/acelite/ace/Name_Proxy.cpp rename : externals/ace/Name_Proxy.h => dep/acelite/ace/Name_Proxy.h rename : externals/ace/Name_Request_Reply.cpp => dep/acelite/ace/Name_Request_Reply.cpp rename : externals/ace/Name_Request_Reply.h => dep/acelite/ace/Name_Request_Reply.h rename : externals/ace/Name_Space.cpp => dep/acelite/ace/Name_Space.cpp rename : externals/ace/Name_Space.h => dep/acelite/ace/Name_Space.h rename : externals/ace/Naming_Context.cpp => dep/acelite/ace/Naming_Context.cpp rename : externals/ace/Naming_Context.h => dep/acelite/ace/Naming_Context.h rename : externals/ace/Naming_Context.inl => dep/acelite/ace/Naming_Context.inl rename : externals/ace/Netlink_Addr.cpp => dep/acelite/ace/Netlink_Addr.cpp rename : externals/ace/Netlink_Addr.h => dep/acelite/ace/Netlink_Addr.h rename : externals/ace/Netlink_Addr.inl => dep/acelite/ace/Netlink_Addr.inl rename : externals/ace/Node.cpp => dep/acelite/ace/Node.cpp rename : externals/ace/Node.h => dep/acelite/ace/Node.h rename : externals/ace/Notification_Queue.cpp => dep/acelite/ace/Notification_Queue.cpp rename : externals/ace/Notification_Queue.h => dep/acelite/ace/Notification_Queue.h rename : externals/ace/Notification_Queue.inl => dep/acelite/ace/Notification_Queue.inl rename : externals/ace/Notification_Strategy.cpp => dep/acelite/ace/Notification_Strategy.cpp rename : externals/ace/Notification_Strategy.h => dep/acelite/ace/Notification_Strategy.h rename : externals/ace/Notification_Strategy.inl => dep/acelite/ace/Notification_Strategy.inl rename : externals/ace/Null_Barrier.h => dep/acelite/ace/Null_Barrier.h rename : externals/ace/Null_Condition.h => dep/acelite/ace/Null_Condition.h rename : externals/ace/Null_Mutex.h => dep/acelite/ace/Null_Mutex.h rename : externals/ace/Null_Semaphore.h => dep/acelite/ace/Null_Semaphore.h rename : externals/ace/Numeric_Limits.h => dep/acelite/ace/Numeric_Limits.h rename : externals/ace/OS.cpp => dep/acelite/ace/OS.cpp rename : externals/ace/OS.h => dep/acelite/ace/OS.h rename : externals/ace/OS.inl => dep/acelite/ace/OS.inl rename : externals/ace/OS_Dirent.h => dep/acelite/ace/OS_Dirent.h rename : externals/ace/OS_Errno.cpp => dep/acelite/ace/OS_Errno.cpp rename : externals/ace/OS_Errno.h => dep/acelite/ace/OS_Errno.h rename : externals/ace/OS_Errno.inl => dep/acelite/ace/OS_Errno.inl rename : externals/ace/OS_Log_Msg_Attributes.cpp => dep/acelite/ace/OS_Log_Msg_Attributes.cpp rename : externals/ace/OS_Log_Msg_Attributes.h => dep/acelite/ace/OS_Log_Msg_Attributes.h rename : externals/ace/OS_Log_Msg_Attributes.inl => dep/acelite/ace/OS_Log_Msg_Attributes.inl rename : externals/ace/OS_Memory.h => dep/acelite/ace/OS_Memory.h rename : externals/ace/OS_NS_Thread.cpp => dep/acelite/ace/OS_NS_Thread.cpp rename : externals/ace/OS_NS_Thread.h => dep/acelite/ace/OS_NS_Thread.h rename : externals/ace/OS_NS_Thread.inl => dep/acelite/ace/OS_NS_Thread.inl rename : externals/ace/OS_NS_arpa_inet.cpp => dep/acelite/ace/OS_NS_arpa_inet.cpp rename : externals/ace/OS_NS_arpa_inet.h => dep/acelite/ace/OS_NS_arpa_inet.h rename : externals/ace/OS_NS_arpa_inet.inl => dep/acelite/ace/OS_NS_arpa_inet.inl rename : externals/ace/OS_NS_ctype.cpp => dep/acelite/ace/OS_NS_ctype.cpp rename : externals/ace/OS_NS_ctype.h => dep/acelite/ace/OS_NS_ctype.h rename : externals/ace/OS_NS_ctype.inl => dep/acelite/ace/OS_NS_ctype.inl rename : externals/ace/OS_NS_dirent.cpp => dep/acelite/ace/OS_NS_dirent.cpp rename : externals/ace/OS_NS_dirent.h => dep/acelite/ace/OS_NS_dirent.h rename : externals/ace/OS_NS_dirent.inl => dep/acelite/ace/OS_NS_dirent.inl rename : externals/ace/OS_NS_dlfcn.cpp => dep/acelite/ace/OS_NS_dlfcn.cpp rename : externals/ace/OS_NS_dlfcn.h => dep/acelite/ace/OS_NS_dlfcn.h rename : externals/ace/OS_NS_dlfcn.inl => dep/acelite/ace/OS_NS_dlfcn.inl rename : externals/ace/OS_NS_errno.cpp => dep/acelite/ace/OS_NS_errno.cpp rename : externals/ace/OS_NS_errno.h => dep/acelite/ace/OS_NS_errno.h rename : externals/ace/OS_NS_errno.inl => dep/acelite/ace/OS_NS_errno.inl rename : externals/ace/OS_NS_fcntl.cpp => dep/acelite/ace/OS_NS_fcntl.cpp rename : externals/ace/OS_NS_fcntl.h => dep/acelite/ace/OS_NS_fcntl.h rename : externals/ace/OS_NS_fcntl.inl => dep/acelite/ace/OS_NS_fcntl.inl rename : externals/ace/OS_NS_macros.h => dep/acelite/ace/OS_NS_macros.h rename : externals/ace/OS_NS_math.cpp => dep/acelite/ace/OS_NS_math.cpp rename : externals/ace/OS_NS_math.h => dep/acelite/ace/OS_NS_math.h rename : externals/ace/OS_NS_math.inl => dep/acelite/ace/OS_NS_math.inl rename : externals/ace/OS_NS_netdb.cpp => dep/acelite/ace/OS_NS_netdb.cpp rename : externals/ace/OS_NS_netdb.h => dep/acelite/ace/OS_NS_netdb.h rename : externals/ace/OS_NS_netdb.inl => dep/acelite/ace/OS_NS_netdb.inl rename : externals/ace/OS_NS_poll.cpp => dep/acelite/ace/OS_NS_poll.cpp rename : externals/ace/OS_NS_poll.h => dep/acelite/ace/OS_NS_poll.h rename : externals/ace/OS_NS_poll.inl => dep/acelite/ace/OS_NS_poll.inl rename : externals/ace/OS_NS_pwd.cpp => dep/acelite/ace/OS_NS_pwd.cpp rename : externals/ace/OS_NS_pwd.h => dep/acelite/ace/OS_NS_pwd.h rename : externals/ace/OS_NS_pwd.inl => dep/acelite/ace/OS_NS_pwd.inl rename : externals/ace/OS_NS_regex.cpp => dep/acelite/ace/OS_NS_regex.cpp rename : externals/ace/OS_NS_regex.h => dep/acelite/ace/OS_NS_regex.h rename : externals/ace/OS_NS_regex.inl => dep/acelite/ace/OS_NS_regex.inl rename : externals/ace/OS_NS_signal.cpp => dep/acelite/ace/OS_NS_signal.cpp rename : externals/ace/OS_NS_signal.h => dep/acelite/ace/OS_NS_signal.h rename : externals/ace/OS_NS_signal.inl => dep/acelite/ace/OS_NS_signal.inl rename : externals/ace/OS_NS_stdio.cpp => dep/acelite/ace/OS_NS_stdio.cpp rename : externals/ace/OS_NS_stdio.h => dep/acelite/ace/OS_NS_stdio.h rename : externals/ace/OS_NS_stdio.inl => dep/acelite/ace/OS_NS_stdio.inl rename : externals/ace/OS_NS_stdlib.cpp => dep/acelite/ace/OS_NS_stdlib.cpp rename : externals/ace/OS_NS_stdlib.h => dep/acelite/ace/OS_NS_stdlib.h rename : externals/ace/OS_NS_stdlib.inl => dep/acelite/ace/OS_NS_stdlib.inl rename : externals/ace/OS_NS_string.cpp => dep/acelite/ace/OS_NS_string.cpp rename : externals/ace/OS_NS_string.h => dep/acelite/ace/OS_NS_string.h rename : externals/ace/OS_NS_string.inl => dep/acelite/ace/OS_NS_string.inl rename : externals/ace/OS_NS_strings.cpp => dep/acelite/ace/OS_NS_strings.cpp rename : externals/ace/OS_NS_strings.h => dep/acelite/ace/OS_NS_strings.h rename : externals/ace/OS_NS_strings.inl => dep/acelite/ace/OS_NS_strings.inl rename : externals/ace/OS_NS_stropts.cpp => dep/acelite/ace/OS_NS_stropts.cpp rename : externals/ace/OS_NS_stropts.h => dep/acelite/ace/OS_NS_stropts.h rename : externals/ace/OS_NS_stropts.inl => dep/acelite/ace/OS_NS_stropts.inl rename : externals/ace/OS_NS_sys_mman.cpp => dep/acelite/ace/OS_NS_sys_mman.cpp rename : externals/ace/OS_NS_sys_mman.h => dep/acelite/ace/OS_NS_sys_mman.h rename : externals/ace/OS_NS_sys_mman.inl => dep/acelite/ace/OS_NS_sys_mman.inl rename : externals/ace/OS_NS_sys_msg.cpp => dep/acelite/ace/OS_NS_sys_msg.cpp rename : externals/ace/OS_NS_sys_msg.h => dep/acelite/ace/OS_NS_sys_msg.h rename : externals/ace/OS_NS_sys_msg.inl => dep/acelite/ace/OS_NS_sys_msg.inl rename : externals/ace/OS_NS_sys_resource.cpp => dep/acelite/ace/OS_NS_sys_resource.cpp rename : externals/ace/OS_NS_sys_resource.h => dep/acelite/ace/OS_NS_sys_resource.h rename : externals/ace/OS_NS_sys_resource.inl => dep/acelite/ace/OS_NS_sys_resource.inl rename : externals/ace/OS_NS_sys_select.cpp => dep/acelite/ace/OS_NS_sys_select.cpp rename : externals/ace/OS_NS_sys_select.h => dep/acelite/ace/OS_NS_sys_select.h rename : externals/ace/OS_NS_sys_select.inl => dep/acelite/ace/OS_NS_sys_select.inl rename : externals/ace/OS_NS_sys_sendfile.cpp => dep/acelite/ace/OS_NS_sys_sendfile.cpp rename : externals/ace/OS_NS_sys_sendfile.h => dep/acelite/ace/OS_NS_sys_sendfile.h rename : externals/ace/OS_NS_sys_sendfile.inl => dep/acelite/ace/OS_NS_sys_sendfile.inl rename : externals/ace/OS_NS_sys_shm.cpp => dep/acelite/ace/OS_NS_sys_shm.cpp rename : externals/ace/OS_NS_sys_shm.h => dep/acelite/ace/OS_NS_sys_shm.h rename : externals/ace/OS_NS_sys_shm.inl => dep/acelite/ace/OS_NS_sys_shm.inl rename : externals/ace/OS_NS_sys_socket.cpp => dep/acelite/ace/OS_NS_sys_socket.cpp rename : externals/ace/OS_NS_sys_socket.h => dep/acelite/ace/OS_NS_sys_socket.h rename : externals/ace/OS_NS_sys_socket.inl => dep/acelite/ace/OS_NS_sys_socket.inl rename : externals/ace/OS_NS_sys_stat.cpp => dep/acelite/ace/OS_NS_sys_stat.cpp rename : externals/ace/OS_NS_sys_stat.h => dep/acelite/ace/OS_NS_sys_stat.h rename : externals/ace/OS_NS_sys_stat.inl => dep/acelite/ace/OS_NS_sys_stat.inl rename : externals/ace/OS_NS_sys_time.cpp => dep/acelite/ace/OS_NS_sys_time.cpp rename : externals/ace/OS_NS_sys_time.h => dep/acelite/ace/OS_NS_sys_time.h rename : externals/ace/OS_NS_sys_time.inl => dep/acelite/ace/OS_NS_sys_time.inl rename : externals/ace/OS_NS_sys_uio.cpp => dep/acelite/ace/OS_NS_sys_uio.cpp rename : externals/ace/OS_NS_sys_uio.h => dep/acelite/ace/OS_NS_sys_uio.h rename : externals/ace/OS_NS_sys_uio.inl => dep/acelite/ace/OS_NS_sys_uio.inl rename : externals/ace/OS_NS_sys_utsname.cpp => dep/acelite/ace/OS_NS_sys_utsname.cpp rename : externals/ace/OS_NS_sys_utsname.h => dep/acelite/ace/OS_NS_sys_utsname.h rename : externals/ace/OS_NS_sys_wait.cpp => dep/acelite/ace/OS_NS_sys_wait.cpp rename : externals/ace/OS_NS_sys_wait.h => dep/acelite/ace/OS_NS_sys_wait.h rename : externals/ace/OS_NS_sys_wait.inl => dep/acelite/ace/OS_NS_sys_wait.inl rename : externals/ace/OS_NS_time.cpp => dep/acelite/ace/OS_NS_time.cpp rename : externals/ace/OS_NS_time.h => dep/acelite/ace/OS_NS_time.h rename : externals/ace/OS_NS_time.inl => dep/acelite/ace/OS_NS_time.inl rename : externals/ace/OS_NS_unistd.cpp => dep/acelite/ace/OS_NS_unistd.cpp rename : externals/ace/OS_NS_unistd.h => dep/acelite/ace/OS_NS_unistd.h rename : externals/ace/OS_NS_unistd.inl => dep/acelite/ace/OS_NS_unistd.inl rename : externals/ace/OS_NS_wchar.cpp => dep/acelite/ace/OS_NS_wchar.cpp rename : externals/ace/OS_NS_wchar.h => dep/acelite/ace/OS_NS_wchar.h rename : externals/ace/OS_NS_wchar.inl => dep/acelite/ace/OS_NS_wchar.inl rename : externals/ace/OS_NS_wctype.cpp => dep/acelite/ace/OS_NS_wctype.cpp rename : externals/ace/OS_NS_wctype.h => dep/acelite/ace/OS_NS_wctype.h rename : externals/ace/OS_NS_wctype.inl => dep/acelite/ace/OS_NS_wctype.inl rename : externals/ace/OS_QoS.cpp => dep/acelite/ace/OS_QoS.cpp rename : externals/ace/OS_QoS.h => dep/acelite/ace/OS_QoS.h rename : externals/ace/OS_String.h => dep/acelite/ace/OS_String.h rename : externals/ace/OS_TLI.cpp => dep/acelite/ace/OS_TLI.cpp rename : externals/ace/OS_TLI.h => dep/acelite/ace/OS_TLI.h rename : externals/ace/OS_TLI.inl => dep/acelite/ace/OS_TLI.inl rename : externals/ace/OS_Thread_Adapter.cpp => dep/acelite/ace/OS_Thread_Adapter.cpp rename : externals/ace/OS_Thread_Adapter.h => dep/acelite/ace/OS_Thread_Adapter.h rename : externals/ace/OS_main.cpp => dep/acelite/ace/OS_main.cpp rename : externals/ace/OS_main.h => dep/acelite/ace/OS_main.h rename : externals/ace/Obchunk.cpp => dep/acelite/ace/Obchunk.cpp rename : externals/ace/Obchunk.h => dep/acelite/ace/Obchunk.h rename : externals/ace/Obchunk.inl => dep/acelite/ace/Obchunk.inl rename : externals/ace/Object_Manager.cpp => dep/acelite/ace/Object_Manager.cpp rename : externals/ace/Object_Manager.h => dep/acelite/ace/Object_Manager.h rename : externals/ace/Object_Manager.inl => dep/acelite/ace/Object_Manager.inl rename : externals/ace/Object_Manager_Base.cpp => dep/acelite/ace/Object_Manager_Base.cpp rename : externals/ace/Object_Manager_Base.h => dep/acelite/ace/Object_Manager_Base.h rename : externals/ace/Obstack.h => dep/acelite/ace/Obstack.h rename : externals/ace/Obstack_T.cpp => dep/acelite/ace/Obstack_T.cpp rename : externals/ace/Obstack_T.h => dep/acelite/ace/Obstack_T.h rename : externals/ace/Obstack_T.inl => dep/acelite/ace/Obstack_T.inl rename : externals/ace/PI_Malloc.cpp => dep/acelite/ace/PI_Malloc.cpp rename : externals/ace/PI_Malloc.h => dep/acelite/ace/PI_Malloc.h rename : externals/ace/PI_Malloc.inl => dep/acelite/ace/PI_Malloc.inl rename : externals/ace/POSIX_Asynch_IO.cpp => dep/acelite/ace/POSIX_Asynch_IO.cpp rename : externals/ace/POSIX_Asynch_IO.h => dep/acelite/ace/POSIX_Asynch_IO.h rename : externals/ace/POSIX_CB_Proactor.cpp => dep/acelite/ace/POSIX_CB_Proactor.cpp rename : externals/ace/POSIX_CB_Proactor.h => dep/acelite/ace/POSIX_CB_Proactor.h rename : externals/ace/POSIX_Proactor.cpp => dep/acelite/ace/POSIX_Proactor.cpp rename : externals/ace/POSIX_Proactor.h => dep/acelite/ace/POSIX_Proactor.h rename : externals/ace/POSIX_Proactor.inl => dep/acelite/ace/POSIX_Proactor.inl rename : externals/ace/Pagefile_Memory_Pool.cpp => dep/acelite/ace/Pagefile_Memory_Pool.cpp rename : externals/ace/Pagefile_Memory_Pool.h => dep/acelite/ace/Pagefile_Memory_Pool.h rename : externals/ace/Pagefile_Memory_Pool.inl => dep/acelite/ace/Pagefile_Memory_Pool.inl rename : externals/ace/Pair.h => dep/acelite/ace/Pair.h rename : externals/ace/Pair_T.cpp => dep/acelite/ace/Pair_T.cpp rename : externals/ace/Pair_T.h => dep/acelite/ace/Pair_T.h rename : externals/ace/Pair_T.inl => dep/acelite/ace/Pair_T.inl rename : externals/ace/Parse_Node.cpp => dep/acelite/ace/Parse_Node.cpp rename : externals/ace/Parse_Node.h => dep/acelite/ace/Parse_Node.h rename : externals/ace/Ping_Socket.cpp => dep/acelite/ace/Ping_Socket.cpp rename : externals/ace/Ping_Socket.h => dep/acelite/ace/Ping_Socket.h rename : externals/ace/Ping_Socket.inl => dep/acelite/ace/Ping_Socket.inl rename : externals/ace/Pipe.cpp => dep/acelite/ace/Pipe.cpp rename : externals/ace/Pipe.h => dep/acelite/ace/Pipe.h rename : externals/ace/Pipe.inl => dep/acelite/ace/Pipe.inl rename : externals/ace/PrecompiledHeaders/WinAcePCH.cpp => dep/acelite/ace/PrecompiledHeaders/WinAcePCH.cpp rename : externals/ace/PrecompiledHeaders/WinAcePCH.h => dep/acelite/ace/PrecompiledHeaders/WinAcePCH.h rename : externals/ace/Priority_Reactor.cpp => dep/acelite/ace/Priority_Reactor.cpp rename : externals/ace/Priority_Reactor.h => dep/acelite/ace/Priority_Reactor.h rename : externals/ace/Proactor.cpp => dep/acelite/ace/Proactor.cpp rename : externals/ace/Proactor.h => dep/acelite/ace/Proactor.h rename : externals/ace/Proactor.inl => dep/acelite/ace/Proactor.inl rename : externals/ace/Proactor_Impl.cpp => dep/acelite/ace/Proactor_Impl.cpp rename : externals/ace/Proactor_Impl.h => dep/acelite/ace/Proactor_Impl.h rename : externals/ace/Process.cpp => dep/acelite/ace/Process.cpp rename : externals/ace/Process.h => dep/acelite/ace/Process.h rename : externals/ace/Process.inl => dep/acelite/ace/Process.inl rename : externals/ace/Process_Manager.cpp => dep/acelite/ace/Process_Manager.cpp rename : externals/ace/Process_Manager.h => dep/acelite/ace/Process_Manager.h rename : externals/ace/Process_Manager.inl => dep/acelite/ace/Process_Manager.inl rename : externals/ace/Process_Mutex.cpp => dep/acelite/ace/Process_Mutex.cpp rename : externals/ace/Process_Mutex.h => dep/acelite/ace/Process_Mutex.h rename : externals/ace/Process_Mutex.inl => dep/acelite/ace/Process_Mutex.inl rename : externals/ace/Process_Semaphore.cpp => dep/acelite/ace/Process_Semaphore.cpp rename : externals/ace/Process_Semaphore.h => dep/acelite/ace/Process_Semaphore.h rename : externals/ace/Process_Semaphore.inl => dep/acelite/ace/Process_Semaphore.inl rename : externals/ace/Profile_Timer.cpp => dep/acelite/ace/Profile_Timer.cpp rename : externals/ace/Profile_Timer.h => dep/acelite/ace/Profile_Timer.h rename : externals/ace/Profile_Timer.inl => dep/acelite/ace/Profile_Timer.inl rename : externals/ace/QoS/ACE_QoS_Export.h => dep/acelite/ace/QoS/ACE_QoS_Export.h rename : externals/ace/QoS/QoS_Decorator.cpp => dep/acelite/ace/QoS/QoS_Decorator.cpp rename : externals/ace/QoS/QoS_Decorator.h => dep/acelite/ace/QoS/QoS_Decorator.h rename : externals/ace/QoS/QoS_Manager.cpp => dep/acelite/ace/QoS/QoS_Manager.cpp rename : externals/ace/QoS/QoS_Manager.h => dep/acelite/ace/QoS/QoS_Manager.h rename : externals/ace/QoS/QoS_Session.h => dep/acelite/ace/QoS/QoS_Session.h rename : externals/ace/QoS/QoS_Session_Factory.cpp => dep/acelite/ace/QoS/QoS_Session_Factory.cpp rename : externals/ace/QoS/QoS_Session_Factory.h => dep/acelite/ace/QoS/QoS_Session_Factory.h rename : externals/ace/QoS/QoS_Session_Impl.cpp => dep/acelite/ace/QoS/QoS_Session_Impl.cpp rename : externals/ace/QoS/QoS_Session_Impl.h => dep/acelite/ace/QoS/QoS_Session_Impl.h rename : externals/ace/QoS/QoS_Session_Impl.inl => dep/acelite/ace/QoS/QoS_Session_Impl.inl rename : externals/ace/QoS/README => dep/acelite/ace/QoS/README rename : externals/ace/QoS/SOCK_Dgram_Mcast_QoS.cpp => dep/acelite/ace/QoS/SOCK_Dgram_Mcast_QoS.cpp rename : externals/ace/QoS/SOCK_Dgram_Mcast_QoS.h => dep/acelite/ace/QoS/SOCK_Dgram_Mcast_QoS.h rename : externals/ace/QoS/SOCK_Dgram_Mcast_QoS.inl => dep/acelite/ace/QoS/SOCK_Dgram_Mcast_QoS.inl rename : externals/ace/RB_Tree.cpp => dep/acelite/ace/RB_Tree.cpp rename : externals/ace/RB_Tree.h => dep/acelite/ace/RB_Tree.h rename : externals/ace/RB_Tree.inl => dep/acelite/ace/RB_Tree.inl rename : externals/ace/README => dep/acelite/ace/README rename : externals/ace/RW_Mutex.cpp => dep/acelite/ace/RW_Mutex.cpp rename : externals/ace/RW_Mutex.h => dep/acelite/ace/RW_Mutex.h rename : externals/ace/RW_Mutex.inl => dep/acelite/ace/RW_Mutex.inl rename : externals/ace/RW_Process_Mutex.cpp => dep/acelite/ace/RW_Process_Mutex.cpp rename : externals/ace/RW_Process_Mutex.h => dep/acelite/ace/RW_Process_Mutex.h rename : externals/ace/RW_Process_Mutex.inl => dep/acelite/ace/RW_Process_Mutex.inl rename : externals/ace/RW_Thread_Mutex.cpp => dep/acelite/ace/RW_Thread_Mutex.cpp rename : externals/ace/RW_Thread_Mutex.h => dep/acelite/ace/RW_Thread_Mutex.h rename : externals/ace/RW_Thread_Mutex.inl => dep/acelite/ace/RW_Thread_Mutex.inl rename : externals/ace/Reactor.cpp => dep/acelite/ace/Reactor.cpp rename : externals/ace/Reactor.h => dep/acelite/ace/Reactor.h rename : externals/ace/Reactor.inl => dep/acelite/ace/Reactor.inl rename : externals/ace/Reactor_Impl.cpp => dep/acelite/ace/Reactor_Impl.cpp rename : externals/ace/Reactor_Impl.h => dep/acelite/ace/Reactor_Impl.h rename : externals/ace/Reactor_Notification_Strategy.cpp => dep/acelite/ace/Reactor_Notification_Strategy.cpp rename : externals/ace/Reactor_Notification_Strategy.h => dep/acelite/ace/Reactor_Notification_Strategy.h rename : externals/ace/Reactor_Notification_Strategy.inl => dep/acelite/ace/Reactor_Notification_Strategy.inl rename : externals/ace/Reactor_Timer_Interface.cpp => dep/acelite/ace/Reactor_Timer_Interface.cpp rename : externals/ace/Reactor_Timer_Interface.h => dep/acelite/ace/Reactor_Timer_Interface.h rename : externals/ace/Reactor_Token_T.cpp => dep/acelite/ace/Reactor_Token_T.cpp rename : externals/ace/Reactor_Token_T.h => dep/acelite/ace/Reactor_Token_T.h rename : externals/ace/Read_Buffer.cpp => dep/acelite/ace/Read_Buffer.cpp rename : externals/ace/Read_Buffer.h => dep/acelite/ace/Read_Buffer.h rename : externals/ace/Read_Buffer.inl => dep/acelite/ace/Read_Buffer.inl rename : externals/ace/Recursive_Thread_Mutex.cpp => dep/acelite/ace/Recursive_Thread_Mutex.cpp rename : externals/ace/Recursive_Thread_Mutex.h => dep/acelite/ace/Recursive_Thread_Mutex.h rename : externals/ace/Recursive_Thread_Mutex.inl => dep/acelite/ace/Recursive_Thread_Mutex.inl rename : externals/ace/Recyclable.cpp => dep/acelite/ace/Recyclable.cpp rename : externals/ace/Recyclable.h => dep/acelite/ace/Recyclable.h rename : externals/ace/Recyclable.inl => dep/acelite/ace/Recyclable.inl rename : externals/ace/Refcountable.h => dep/acelite/ace/Refcountable.h rename : externals/ace/Refcountable_T.cpp => dep/acelite/ace/Refcountable_T.cpp rename : externals/ace/Refcountable_T.h => dep/acelite/ace/Refcountable_T.h rename : externals/ace/Refcountable_T.inl => dep/acelite/ace/Refcountable_T.inl rename : externals/ace/Refcounted_Auto_Ptr.cpp => dep/acelite/ace/Refcounted_Auto_Ptr.cpp rename : externals/ace/Refcounted_Auto_Ptr.h => dep/acelite/ace/Refcounted_Auto_Ptr.h rename : externals/ace/Refcounted_Auto_Ptr.inl => dep/acelite/ace/Refcounted_Auto_Ptr.inl rename : externals/ace/Registry.cpp => dep/acelite/ace/Registry.cpp rename : externals/ace/Registry.h => dep/acelite/ace/Registry.h rename : externals/ace/Registry_Name_Space.cpp => dep/acelite/ace/Registry_Name_Space.cpp rename : externals/ace/Registry_Name_Space.h => dep/acelite/ace/Registry_Name_Space.h rename : externals/ace/Remote_Name_Space.cpp => dep/acelite/ace/Remote_Name_Space.cpp rename : externals/ace/Remote_Name_Space.h => dep/acelite/ace/Remote_Name_Space.h rename : externals/ace/Remote_Tokens.cpp => dep/acelite/ace/Remote_Tokens.cpp rename : externals/ace/Remote_Tokens.h => dep/acelite/ace/Remote_Tokens.h rename : externals/ace/Remote_Tokens.inl => dep/acelite/ace/Remote_Tokens.inl rename : externals/ace/Reverse_Lock_T.cpp => dep/acelite/ace/Reverse_Lock_T.cpp rename : externals/ace/Reverse_Lock_T.h => dep/acelite/ace/Reverse_Lock_T.h rename : externals/ace/Reverse_Lock_T.inl => dep/acelite/ace/Reverse_Lock_T.inl rename : externals/ace/Rtems_init.c => dep/acelite/ace/Rtems_init.c rename : externals/ace/SOCK.cpp => dep/acelite/ace/SOCK.cpp rename : externals/ace/SOCK.h => dep/acelite/ace/SOCK.h rename : externals/ace/SOCK.inl => dep/acelite/ace/SOCK.inl rename : externals/ace/SOCK_Acceptor.cpp => dep/acelite/ace/SOCK_Acceptor.cpp rename : externals/ace/SOCK_Acceptor.h => dep/acelite/ace/SOCK_Acceptor.h rename : externals/ace/SOCK_Acceptor.inl => dep/acelite/ace/SOCK_Acceptor.inl rename : externals/ace/SOCK_CODgram.cpp => dep/acelite/ace/SOCK_CODgram.cpp rename : externals/ace/SOCK_CODgram.h => dep/acelite/ace/SOCK_CODgram.h rename : externals/ace/SOCK_CODgram.inl => dep/acelite/ace/SOCK_CODgram.inl rename : externals/ace/SOCK_Connector.cpp => dep/acelite/ace/SOCK_Connector.cpp rename : externals/ace/SOCK_Connector.h => dep/acelite/ace/SOCK_Connector.h rename : externals/ace/SOCK_Connector.inl => dep/acelite/ace/SOCK_Connector.inl rename : externals/ace/SOCK_Dgram.cpp => dep/acelite/ace/SOCK_Dgram.cpp rename : externals/ace/SOCK_Dgram.h => dep/acelite/ace/SOCK_Dgram.h rename : externals/ace/SOCK_Dgram.inl => dep/acelite/ace/SOCK_Dgram.inl rename : externals/ace/SOCK_Dgram_Bcast.cpp => dep/acelite/ace/SOCK_Dgram_Bcast.cpp rename : externals/ace/SOCK_Dgram_Bcast.h => dep/acelite/ace/SOCK_Dgram_Bcast.h rename : externals/ace/SOCK_Dgram_Bcast.inl => dep/acelite/ace/SOCK_Dgram_Bcast.inl rename : externals/ace/SOCK_Dgram_Mcast.cpp => dep/acelite/ace/SOCK_Dgram_Mcast.cpp rename : externals/ace/SOCK_Dgram_Mcast.h => dep/acelite/ace/SOCK_Dgram_Mcast.h rename : externals/ace/SOCK_Dgram_Mcast.inl => dep/acelite/ace/SOCK_Dgram_Mcast.inl rename : externals/ace/SOCK_IO.cpp => dep/acelite/ace/SOCK_IO.cpp rename : externals/ace/SOCK_IO.h => dep/acelite/ace/SOCK_IO.h rename : externals/ace/SOCK_IO.inl => dep/acelite/ace/SOCK_IO.inl rename : externals/ace/SOCK_Netlink.cpp => dep/acelite/ace/SOCK_Netlink.cpp rename : externals/ace/SOCK_Netlink.h => dep/acelite/ace/SOCK_Netlink.h rename : externals/ace/SOCK_Netlink.inl => dep/acelite/ace/SOCK_Netlink.inl rename : externals/ace/SOCK_SEQPACK_Acceptor.cpp => dep/acelite/ace/SOCK_SEQPACK_Acceptor.cpp rename : externals/ace/SOCK_SEQPACK_Acceptor.h => dep/acelite/ace/SOCK_SEQPACK_Acceptor.h rename : externals/ace/SOCK_SEQPACK_Acceptor.inl => dep/acelite/ace/SOCK_SEQPACK_Acceptor.inl rename : externals/ace/SOCK_SEQPACK_Association.cpp => dep/acelite/ace/SOCK_SEQPACK_Association.cpp rename : externals/ace/SOCK_SEQPACK_Association.h => dep/acelite/ace/SOCK_SEQPACK_Association.h rename : externals/ace/SOCK_SEQPACK_Association.inl => dep/acelite/ace/SOCK_SEQPACK_Association.inl rename : externals/ace/SOCK_SEQPACK_Connector.cpp => dep/acelite/ace/SOCK_SEQPACK_Connector.cpp rename : externals/ace/SOCK_SEQPACK_Connector.h => dep/acelite/ace/SOCK_SEQPACK_Connector.h rename : externals/ace/SOCK_SEQPACK_Connector.inl => dep/acelite/ace/SOCK_SEQPACK_Connector.inl rename : externals/ace/SOCK_Stream.cpp => dep/acelite/ace/SOCK_Stream.cpp rename : externals/ace/SOCK_Stream.h => dep/acelite/ace/SOCK_Stream.h rename : externals/ace/SOCK_Stream.inl => dep/acelite/ace/SOCK_Stream.inl rename : externals/ace/SPIPE.cpp => dep/acelite/ace/SPIPE.cpp rename : externals/ace/SPIPE.h => dep/acelite/ace/SPIPE.h rename : externals/ace/SPIPE.inl => dep/acelite/ace/SPIPE.inl rename : externals/ace/SPIPE_Acceptor.cpp => dep/acelite/ace/SPIPE_Acceptor.cpp rename : externals/ace/SPIPE_Acceptor.h => dep/acelite/ace/SPIPE_Acceptor.h rename : externals/ace/SPIPE_Addr.cpp => dep/acelite/ace/SPIPE_Addr.cpp rename : externals/ace/SPIPE_Addr.h => dep/acelite/ace/SPIPE_Addr.h rename : externals/ace/SPIPE_Addr.inl => dep/acelite/ace/SPIPE_Addr.inl rename : externals/ace/SPIPE_Connector.cpp => dep/acelite/ace/SPIPE_Connector.cpp rename : externals/ace/SPIPE_Connector.h => dep/acelite/ace/SPIPE_Connector.h rename : externals/ace/SPIPE_Connector.inl => dep/acelite/ace/SPIPE_Connector.inl rename : externals/ace/SPIPE_Stream.cpp => dep/acelite/ace/SPIPE_Stream.cpp rename : externals/ace/SPIPE_Stream.h => dep/acelite/ace/SPIPE_Stream.h rename : externals/ace/SPIPE_Stream.inl => dep/acelite/ace/SPIPE_Stream.inl rename : externals/ace/SSL/SSL_Asynch_BIO.cpp => dep/acelite/ace/SSL/SSL_Asynch_BIO.cpp rename : externals/ace/SSL/SSL_Asynch_BIO.h => dep/acelite/ace/SSL/SSL_Asynch_BIO.h rename : externals/ace/SSL/SSL_Asynch_Stream.cpp => dep/acelite/ace/SSL/SSL_Asynch_Stream.cpp rename : externals/ace/SSL/SSL_Asynch_Stream.h => dep/acelite/ace/SSL/SSL_Asynch_Stream.h rename : externals/ace/SSL/SSL_Asynch_Stream.inl => dep/acelite/ace/SSL/SSL_Asynch_Stream.inl rename : externals/ace/SSL/SSL_Context.cpp => dep/acelite/ace/SSL/SSL_Context.cpp rename : externals/ace/SSL/SSL_Context.h => dep/acelite/ace/SSL/SSL_Context.h rename : externals/ace/SSL/SSL_Context.inl => dep/acelite/ace/SSL/SSL_Context.inl rename : externals/ace/SSL/SSL_Export.h => dep/acelite/ace/SSL/SSL_Export.h rename : externals/ace/SSL/SSL_SOCK.cpp => dep/acelite/ace/SSL/SSL_SOCK.cpp rename : externals/ace/SSL/SSL_SOCK.h => dep/acelite/ace/SSL/SSL_SOCK.h rename : externals/ace/SSL/SSL_SOCK.inl => dep/acelite/ace/SSL/SSL_SOCK.inl rename : externals/ace/SSL/SSL_SOCK_Acceptor.cpp => dep/acelite/ace/SSL/SSL_SOCK_Acceptor.cpp rename : externals/ace/SSL/SSL_SOCK_Acceptor.h => dep/acelite/ace/SSL/SSL_SOCK_Acceptor.h rename : externals/ace/SSL/SSL_SOCK_Acceptor.inl => dep/acelite/ace/SSL/SSL_SOCK_Acceptor.inl rename : externals/ace/SSL/SSL_SOCK_Connector.cpp => dep/acelite/ace/SSL/SSL_SOCK_Connector.cpp rename : externals/ace/SSL/SSL_SOCK_Connector.h => dep/acelite/ace/SSL/SSL_SOCK_Connector.h rename : externals/ace/SSL/SSL_SOCK_Connector.inl => dep/acelite/ace/SSL/SSL_SOCK_Connector.inl rename : externals/ace/SSL/SSL_SOCK_Stream.cpp => dep/acelite/ace/SSL/SSL_SOCK_Stream.cpp rename : externals/ace/SSL/SSL_SOCK_Stream.h => dep/acelite/ace/SSL/SSL_SOCK_Stream.h rename : externals/ace/SSL/SSL_SOCK_Stream.inl => dep/acelite/ace/SSL/SSL_SOCK_Stream.inl rename : externals/ace/SSL/sslconf.h => dep/acelite/ace/SSL/sslconf.h rename : externals/ace/SString.cpp => dep/acelite/ace/SString.cpp rename : externals/ace/SString.h => dep/acelite/ace/SString.h rename : externals/ace/SString.inl => dep/acelite/ace/SString.inl rename : externals/ace/SStringfwd.h => dep/acelite/ace/SStringfwd.h rename : externals/ace/SUN_Proactor.cpp => dep/acelite/ace/SUN_Proactor.cpp rename : externals/ace/SUN_Proactor.h => dep/acelite/ace/SUN_Proactor.h rename : externals/ace/SV_Message.cpp => dep/acelite/ace/SV_Message.cpp rename : externals/ace/SV_Message.h => dep/acelite/ace/SV_Message.h rename : externals/ace/SV_Message.inl => dep/acelite/ace/SV_Message.inl rename : externals/ace/SV_Message_Queue.cpp => dep/acelite/ace/SV_Message_Queue.cpp rename : externals/ace/SV_Message_Queue.h => dep/acelite/ace/SV_Message_Queue.h rename : externals/ace/SV_Message_Queue.inl => dep/acelite/ace/SV_Message_Queue.inl rename : externals/ace/SV_Semaphore_Complex.cpp => dep/acelite/ace/SV_Semaphore_Complex.cpp rename : externals/ace/SV_Semaphore_Complex.h => dep/acelite/ace/SV_Semaphore_Complex.h rename : externals/ace/SV_Semaphore_Complex.inl => dep/acelite/ace/SV_Semaphore_Complex.inl rename : externals/ace/SV_Semaphore_Simple.cpp => dep/acelite/ace/SV_Semaphore_Simple.cpp rename : externals/ace/SV_Semaphore_Simple.h => dep/acelite/ace/SV_Semaphore_Simple.h rename : externals/ace/SV_Semaphore_Simple.inl => dep/acelite/ace/SV_Semaphore_Simple.inl rename : externals/ace/SV_Shared_Memory.cpp => dep/acelite/ace/SV_Shared_Memory.cpp rename : externals/ace/SV_Shared_Memory.h => dep/acelite/ace/SV_Shared_Memory.h rename : externals/ace/SV_Shared_Memory.inl => dep/acelite/ace/SV_Shared_Memory.inl rename : externals/ace/Sample_History.cpp => dep/acelite/ace/Sample_History.cpp rename : externals/ace/Sample_History.h => dep/acelite/ace/Sample_History.h rename : externals/ace/Sample_History.inl => dep/acelite/ace/Sample_History.inl rename : externals/ace/Sbrk_Memory_Pool.cpp => dep/acelite/ace/Sbrk_Memory_Pool.cpp rename : externals/ace/Sbrk_Memory_Pool.h => dep/acelite/ace/Sbrk_Memory_Pool.h rename : externals/ace/Sched_Params.cpp => dep/acelite/ace/Sched_Params.cpp rename : externals/ace/Sched_Params.h => dep/acelite/ace/Sched_Params.h rename : externals/ace/Sched_Params.inl => dep/acelite/ace/Sched_Params.inl rename : externals/ace/Select_Reactor.h => dep/acelite/ace/Select_Reactor.h rename : externals/ace/Select_Reactor_Base.cpp => dep/acelite/ace/Select_Reactor_Base.cpp rename : externals/ace/Select_Reactor_Base.h => dep/acelite/ace/Select_Reactor_Base.h rename : externals/ace/Select_Reactor_Base.inl => dep/acelite/ace/Select_Reactor_Base.inl rename : externals/ace/Select_Reactor_T.cpp => dep/acelite/ace/Select_Reactor_T.cpp rename : externals/ace/Select_Reactor_T.h => dep/acelite/ace/Select_Reactor_T.h rename : externals/ace/Select_Reactor_T.inl => dep/acelite/ace/Select_Reactor_T.inl rename : externals/ace/Semaphore.cpp => dep/acelite/ace/Semaphore.cpp rename : externals/ace/Semaphore.h => dep/acelite/ace/Semaphore.h rename : externals/ace/Semaphore.inl => dep/acelite/ace/Semaphore.inl rename : externals/ace/Service_Config.cpp => dep/acelite/ace/Service_Config.cpp rename : externals/ace/Service_Config.h => dep/acelite/ace/Service_Config.h rename : externals/ace/Service_Config.inl => dep/acelite/ace/Service_Config.inl rename : externals/ace/Service_Gestalt.cpp => dep/acelite/ace/Service_Gestalt.cpp rename : externals/ace/Service_Gestalt.h => dep/acelite/ace/Service_Gestalt.h rename : externals/ace/Service_Gestalt.inl => dep/acelite/ace/Service_Gestalt.inl rename : externals/ace/Service_Manager.cpp => dep/acelite/ace/Service_Manager.cpp rename : externals/ace/Service_Manager.h => dep/acelite/ace/Service_Manager.h rename : externals/ace/Service_Object.cpp => dep/acelite/ace/Service_Object.cpp rename : externals/ace/Service_Object.h => dep/acelite/ace/Service_Object.h rename : externals/ace/Service_Object.inl => dep/acelite/ace/Service_Object.inl rename : externals/ace/Service_Repository.cpp => dep/acelite/ace/Service_Repository.cpp rename : externals/ace/Service_Repository.h => dep/acelite/ace/Service_Repository.h rename : externals/ace/Service_Repository.inl => dep/acelite/ace/Service_Repository.inl rename : externals/ace/Service_Templates.h => dep/acelite/ace/Service_Templates.h rename : externals/ace/Service_Types.cpp => dep/acelite/ace/Service_Types.cpp rename : externals/ace/Service_Types.h => dep/acelite/ace/Service_Types.h rename : externals/ace/Service_Types.inl => dep/acelite/ace/Service_Types.inl rename : externals/ace/Shared_Memory.cpp => dep/acelite/ace/Shared_Memory.cpp rename : externals/ace/Shared_Memory.h => dep/acelite/ace/Shared_Memory.h rename : externals/ace/Shared_Memory_MM.cpp => dep/acelite/ace/Shared_Memory_MM.cpp rename : externals/ace/Shared_Memory_MM.h => dep/acelite/ace/Shared_Memory_MM.h rename : externals/ace/Shared_Memory_MM.inl => dep/acelite/ace/Shared_Memory_MM.inl rename : externals/ace/Shared_Memory_Pool.cpp => dep/acelite/ace/Shared_Memory_Pool.cpp rename : externals/ace/Shared_Memory_Pool.h => dep/acelite/ace/Shared_Memory_Pool.h rename : externals/ace/Shared_Memory_SV.cpp => dep/acelite/ace/Shared_Memory_SV.cpp rename : externals/ace/Shared_Memory_SV.h => dep/acelite/ace/Shared_Memory_SV.h rename : externals/ace/Shared_Memory_SV.inl => dep/acelite/ace/Shared_Memory_SV.inl rename : externals/ace/Shared_Object.cpp => dep/acelite/ace/Shared_Object.cpp rename : externals/ace/Shared_Object.h => dep/acelite/ace/Shared_Object.h rename : externals/ace/Shared_Object.inl => dep/acelite/ace/Shared_Object.inl rename : externals/ace/Sig_Adapter.cpp => dep/acelite/ace/Sig_Adapter.cpp rename : externals/ace/Sig_Adapter.h => dep/acelite/ace/Sig_Adapter.h rename : externals/ace/Sig_Handler.cpp => dep/acelite/ace/Sig_Handler.cpp rename : externals/ace/Sig_Handler.h => dep/acelite/ace/Sig_Handler.h rename : externals/ace/Sig_Handler.inl => dep/acelite/ace/Sig_Handler.inl rename : externals/ace/Signal.cpp => dep/acelite/ace/Signal.cpp rename : externals/ace/Signal.h => dep/acelite/ace/Signal.h rename : externals/ace/Signal.inl => dep/acelite/ace/Signal.inl rename : externals/ace/Singleton.cpp => dep/acelite/ace/Singleton.cpp rename : externals/ace/Singleton.h => dep/acelite/ace/Singleton.h rename : externals/ace/Singleton.inl => dep/acelite/ace/Singleton.inl rename : externals/ace/Sock_Connect.cpp => dep/acelite/ace/Sock_Connect.cpp rename : externals/ace/Sock_Connect.h => dep/acelite/ace/Sock_Connect.h rename : externals/ace/Stack_Trace.cpp => dep/acelite/ace/Stack_Trace.cpp rename : externals/ace/Stack_Trace.h => dep/acelite/ace/Stack_Trace.h rename : externals/ace/Static_Object_Lock.h => dep/acelite/ace/Static_Object_Lock.h rename : externals/ace/Stats.cpp => dep/acelite/ace/Stats.cpp rename : externals/ace/Stats.h => dep/acelite/ace/Stats.h rename : externals/ace/Stats.inl => dep/acelite/ace/Stats.inl rename : externals/ace/Strategies.h => dep/acelite/ace/Strategies.h rename : externals/ace/Strategies_T.cpp => dep/acelite/ace/Strategies_T.cpp rename : externals/ace/Strategies_T.h => dep/acelite/ace/Strategies_T.h rename : externals/ace/Strategies_T.inl => dep/acelite/ace/Strategies_T.inl rename : externals/ace/Stream.cpp => dep/acelite/ace/Stream.cpp rename : externals/ace/Stream.h => dep/acelite/ace/Stream.h rename : externals/ace/Stream.inl => dep/acelite/ace/Stream.inl rename : externals/ace/Stream_Modules.cpp => dep/acelite/ace/Stream_Modules.cpp rename : externals/ace/Stream_Modules.h => dep/acelite/ace/Stream_Modules.h rename : externals/ace/String_Base.cpp => dep/acelite/ace/String_Base.cpp rename : externals/ace/String_Base.h => dep/acelite/ace/String_Base.h rename : externals/ace/String_Base.inl => dep/acelite/ace/String_Base.inl rename : externals/ace/String_Base_Const.cpp => dep/acelite/ace/String_Base_Const.cpp rename : externals/ace/String_Base_Const.h => dep/acelite/ace/String_Base_Const.h rename : externals/ace/Svc_Conf.h => dep/acelite/ace/Svc_Conf.h rename : externals/ace/Svc_Conf.y => dep/acelite/ace/Svc_Conf.y rename : externals/ace/Svc_Conf_Lexer.cpp => dep/acelite/ace/Svc_Conf_Lexer.cpp rename : externals/ace/Svc_Conf_Lexer.h => dep/acelite/ace/Svc_Conf_Lexer.h rename : externals/ace/Svc_Conf_Param.h => dep/acelite/ace/Svc_Conf_Param.h rename : externals/ace/Svc_Conf_Token_Table.h => dep/acelite/ace/Svc_Conf_Token_Table.h rename : externals/ace/Svc_Conf_Tokens.h => dep/acelite/ace/Svc_Conf_Tokens.h rename : externals/ace/Svc_Conf_y.cpp => dep/acelite/ace/Svc_Conf_y.cpp rename : externals/ace/Svc_Handler.cpp => dep/acelite/ace/Svc_Handler.cpp rename : externals/ace/Svc_Handler.h => dep/acelite/ace/Svc_Handler.h rename : externals/ace/Synch.h => dep/acelite/ace/Synch.h rename : externals/ace/Synch_Options.cpp => dep/acelite/ace/Synch_Options.cpp rename : externals/ace/Synch_Options.h => dep/acelite/ace/Synch_Options.h rename : externals/ace/Synch_T.cpp => dep/acelite/ace/Synch_T.cpp rename : externals/ace/Synch_T.h => dep/acelite/ace/Synch_T.h rename : externals/ace/Synch_Traits.h => dep/acelite/ace/Synch_Traits.h rename : externals/ace/System_Time.cpp => dep/acelite/ace/System_Time.cpp rename : externals/ace/System_Time.h => dep/acelite/ace/System_Time.h rename : externals/ace/TLI.cpp => dep/acelite/ace/TLI.cpp rename : externals/ace/TLI.h => dep/acelite/ace/TLI.h rename : externals/ace/TLI.inl => dep/acelite/ace/TLI.inl rename : externals/ace/TLI_Acceptor.cpp => dep/acelite/ace/TLI_Acceptor.cpp rename : externals/ace/TLI_Acceptor.h => dep/acelite/ace/TLI_Acceptor.h rename : externals/ace/TLI_Connector.cpp => dep/acelite/ace/TLI_Connector.cpp rename : externals/ace/TLI_Connector.h => dep/acelite/ace/TLI_Connector.h rename : externals/ace/TLI_Connector.inl => dep/acelite/ace/TLI_Connector.inl rename : externals/ace/TLI_Stream.cpp => dep/acelite/ace/TLI_Stream.cpp rename : externals/ace/TLI_Stream.h => dep/acelite/ace/TLI_Stream.h rename : externals/ace/TLI_Stream.inl => dep/acelite/ace/TLI_Stream.inl rename : externals/ace/TP_Reactor.cpp => dep/acelite/ace/TP_Reactor.cpp rename : externals/ace/TP_Reactor.h => dep/acelite/ace/TP_Reactor.h rename : externals/ace/TP_Reactor.inl => dep/acelite/ace/TP_Reactor.inl rename : externals/ace/TSS_Adapter.cpp => dep/acelite/ace/TSS_Adapter.cpp rename : externals/ace/TSS_Adapter.h => dep/acelite/ace/TSS_Adapter.h rename : externals/ace/TSS_T.cpp => dep/acelite/ace/TSS_T.cpp rename : externals/ace/TSS_T.h => dep/acelite/ace/TSS_T.h rename : externals/ace/TSS_T.inl => dep/acelite/ace/TSS_T.inl rename : externals/ace/TTY_IO.cpp => dep/acelite/ace/TTY_IO.cpp rename : externals/ace/TTY_IO.h => dep/acelite/ace/TTY_IO.h rename : externals/ace/Task.cpp => dep/acelite/ace/Task.cpp rename : externals/ace/Task.h => dep/acelite/ace/Task.h rename : externals/ace/Task.inl => dep/acelite/ace/Task.inl rename : externals/ace/Task_Ex_T.cpp => dep/acelite/ace/Task_Ex_T.cpp rename : externals/ace/Task_Ex_T.h => dep/acelite/ace/Task_Ex_T.h rename : externals/ace/Task_Ex_T.inl => dep/acelite/ace/Task_Ex_T.inl rename : externals/ace/Task_T.cpp => dep/acelite/ace/Task_T.cpp rename : externals/ace/Task_T.h => dep/acelite/ace/Task_T.h rename : externals/ace/Task_T.inl => dep/acelite/ace/Task_T.inl rename : externals/ace/Test_and_Set.cpp => dep/acelite/ace/Test_and_Set.cpp rename : externals/ace/Test_and_Set.h => dep/acelite/ace/Test_and_Set.h rename : externals/ace/Thread.cpp => dep/acelite/ace/Thread.cpp rename : externals/ace/Thread.h => dep/acelite/ace/Thread.h rename : externals/ace/Thread.inl => dep/acelite/ace/Thread.inl rename : externals/ace/Thread_Adapter.cpp => dep/acelite/ace/Thread_Adapter.cpp rename : externals/ace/Thread_Adapter.h => dep/acelite/ace/Thread_Adapter.h rename : externals/ace/Thread_Adapter.inl => dep/acelite/ace/Thread_Adapter.inl rename : externals/ace/Thread_Control.cpp => dep/acelite/ace/Thread_Control.cpp rename : externals/ace/Thread_Control.h => dep/acelite/ace/Thread_Control.h rename : externals/ace/Thread_Control.inl => dep/acelite/ace/Thread_Control.inl rename : externals/ace/Thread_Exit.cpp => dep/acelite/ace/Thread_Exit.cpp rename : externals/ace/Thread_Exit.h => dep/acelite/ace/Thread_Exit.h rename : externals/ace/Thread_Hook.cpp => dep/acelite/ace/Thread_Hook.cpp rename : externals/ace/Thread_Hook.h => dep/acelite/ace/Thread_Hook.h rename : externals/ace/Thread_Manager.cpp => dep/acelite/ace/Thread_Manager.cpp rename : externals/ace/Thread_Manager.h => dep/acelite/ace/Thread_Manager.h rename : externals/ace/Thread_Manager.inl => dep/acelite/ace/Thread_Manager.inl rename : externals/ace/Thread_Mutex.cpp => dep/acelite/ace/Thread_Mutex.cpp rename : externals/ace/Thread_Mutex.h => dep/acelite/ace/Thread_Mutex.h rename : externals/ace/Thread_Mutex.inl => dep/acelite/ace/Thread_Mutex.inl rename : externals/ace/Thread_Semaphore.cpp => dep/acelite/ace/Thread_Semaphore.cpp rename : externals/ace/Thread_Semaphore.h => dep/acelite/ace/Thread_Semaphore.h rename : externals/ace/Thread_Semaphore.inl => dep/acelite/ace/Thread_Semaphore.inl rename : externals/ace/Throughput_Stats.cpp => dep/acelite/ace/Throughput_Stats.cpp rename : externals/ace/Throughput_Stats.h => dep/acelite/ace/Throughput_Stats.h rename : externals/ace/Time_Value.cpp => dep/acelite/ace/Time_Value.cpp rename : externals/ace/Time_Value.h => dep/acelite/ace/Time_Value.h rename : externals/ace/Time_Value.inl => dep/acelite/ace/Time_Value.inl rename : externals/ace/Timeprobe.cpp => dep/acelite/ace/Timeprobe.cpp rename : externals/ace/Timeprobe.h => dep/acelite/ace/Timeprobe.h rename : externals/ace/Timeprobe.inl => dep/acelite/ace/Timeprobe.inl rename : externals/ace/Timeprobe_T.cpp => dep/acelite/ace/Timeprobe_T.cpp rename : externals/ace/Timeprobe_T.h => dep/acelite/ace/Timeprobe_T.h rename : externals/ace/Timer_Hash.h => dep/acelite/ace/Timer_Hash.h rename : externals/ace/Timer_Hash_T.cpp => dep/acelite/ace/Timer_Hash_T.cpp rename : externals/ace/Timer_Hash_T.h => dep/acelite/ace/Timer_Hash_T.h rename : externals/ace/Timer_Heap.h => dep/acelite/ace/Timer_Heap.h rename : externals/ace/Timer_Heap_T.cpp => dep/acelite/ace/Timer_Heap_T.cpp rename : externals/ace/Timer_Heap_T.h => dep/acelite/ace/Timer_Heap_T.h rename : externals/ace/Timer_List.h => dep/acelite/ace/Timer_List.h rename : externals/ace/Timer_List_T.cpp => dep/acelite/ace/Timer_List_T.cpp rename : externals/ace/Timer_List_T.h => dep/acelite/ace/Timer_List_T.h rename : externals/ace/Timer_Queue.h => dep/acelite/ace/Timer_Queue.h rename : externals/ace/Timer_Queue_Adapters.cpp => dep/acelite/ace/Timer_Queue_Adapters.cpp rename : externals/ace/Timer_Queue_Adapters.h => dep/acelite/ace/Timer_Queue_Adapters.h rename : externals/ace/Timer_Queue_Adapters.inl => dep/acelite/ace/Timer_Queue_Adapters.inl rename : externals/ace/Timer_Queue_T.cpp => dep/acelite/ace/Timer_Queue_T.cpp rename : externals/ace/Timer_Queue_T.h => dep/acelite/ace/Timer_Queue_T.h rename : externals/ace/Timer_Queue_T.inl => dep/acelite/ace/Timer_Queue_T.inl rename : externals/ace/Timer_Queuefwd.h => dep/acelite/ace/Timer_Queuefwd.h rename : externals/ace/Timer_Wheel.h => dep/acelite/ace/Timer_Wheel.h rename : externals/ace/Timer_Wheel_T.cpp => dep/acelite/ace/Timer_Wheel_T.cpp rename : externals/ace/Timer_Wheel_T.h => dep/acelite/ace/Timer_Wheel_T.h rename : externals/ace/Token.cpp => dep/acelite/ace/Token.cpp rename : externals/ace/Token.h => dep/acelite/ace/Token.h rename : externals/ace/Token.inl => dep/acelite/ace/Token.inl rename : externals/ace/Token_Collection.cpp => dep/acelite/ace/Token_Collection.cpp rename : externals/ace/Token_Collection.h => dep/acelite/ace/Token_Collection.h rename : externals/ace/Token_Collection.inl => dep/acelite/ace/Token_Collection.inl rename : externals/ace/Token_Invariants.cpp => dep/acelite/ace/Token_Invariants.cpp rename : externals/ace/Token_Invariants.h => dep/acelite/ace/Token_Invariants.h rename : externals/ace/Token_Manager.cpp => dep/acelite/ace/Token_Manager.cpp rename : externals/ace/Token_Manager.h => dep/acelite/ace/Token_Manager.h rename : externals/ace/Token_Manager.inl => dep/acelite/ace/Token_Manager.inl rename : externals/ace/Token_Request_Reply.cpp => dep/acelite/ace/Token_Request_Reply.cpp rename : externals/ace/Token_Request_Reply.h => dep/acelite/ace/Token_Request_Reply.h rename : externals/ace/Token_Request_Reply.inl => dep/acelite/ace/Token_Request_Reply.inl rename : externals/ace/Tokenizer_T.cpp => dep/acelite/ace/Tokenizer_T.cpp rename : externals/ace/Tokenizer_T.h => dep/acelite/ace/Tokenizer_T.h rename : externals/ace/Trace.cpp => dep/acelite/ace/Trace.cpp rename : externals/ace/Trace.h => dep/acelite/ace/Trace.h rename : externals/ace/Truncate.h => dep/acelite/ace/Truncate.h rename : externals/ace/Typed_SV_Message.cpp => dep/acelite/ace/Typed_SV_Message.cpp rename : externals/ace/Typed_SV_Message.h => dep/acelite/ace/Typed_SV_Message.h rename : externals/ace/Typed_SV_Message.inl => dep/acelite/ace/Typed_SV_Message.inl rename : externals/ace/Typed_SV_Message_Queue.cpp => dep/acelite/ace/Typed_SV_Message_Queue.cpp rename : externals/ace/Typed_SV_Message_Queue.h => dep/acelite/ace/Typed_SV_Message_Queue.h rename : externals/ace/Typed_SV_Message_Queue.inl => dep/acelite/ace/Typed_SV_Message_Queue.inl rename : externals/ace/UNIX_Addr.cpp => dep/acelite/ace/UNIX_Addr.cpp rename : externals/ace/UNIX_Addr.h => dep/acelite/ace/UNIX_Addr.h rename : externals/ace/UNIX_Addr.inl => dep/acelite/ace/UNIX_Addr.inl rename : externals/ace/UPIPE_Acceptor.cpp => dep/acelite/ace/UPIPE_Acceptor.cpp rename : externals/ace/UPIPE_Acceptor.h => dep/acelite/ace/UPIPE_Acceptor.h rename : externals/ace/UPIPE_Acceptor.inl => dep/acelite/ace/UPIPE_Acceptor.inl rename : externals/ace/UPIPE_Addr.h => dep/acelite/ace/UPIPE_Addr.h rename : externals/ace/UPIPE_Connector.cpp => dep/acelite/ace/UPIPE_Connector.cpp rename : externals/ace/UPIPE_Connector.h => dep/acelite/ace/UPIPE_Connector.h rename : externals/ace/UPIPE_Connector.inl => dep/acelite/ace/UPIPE_Connector.inl rename : externals/ace/UPIPE_Stream.cpp => dep/acelite/ace/UPIPE_Stream.cpp rename : externals/ace/UPIPE_Stream.h => dep/acelite/ace/UPIPE_Stream.h rename : externals/ace/UPIPE_Stream.inl => dep/acelite/ace/UPIPE_Stream.inl rename : externals/ace/UTF16_Encoding_Converter.cpp => dep/acelite/ace/UTF16_Encoding_Converter.cpp rename : externals/ace/UTF16_Encoding_Converter.h => dep/acelite/ace/UTF16_Encoding_Converter.h rename : externals/ace/UTF16_Encoding_Converter.inl => dep/acelite/ace/UTF16_Encoding_Converter.inl rename : externals/ace/UTF32_Encoding_Converter.cpp => dep/acelite/ace/UTF32_Encoding_Converter.cpp rename : externals/ace/UTF32_Encoding_Converter.h => dep/acelite/ace/UTF32_Encoding_Converter.h rename : externals/ace/UTF8_Encoding_Converter.cpp => dep/acelite/ace/UTF8_Encoding_Converter.cpp rename : externals/ace/UTF8_Encoding_Converter.h => dep/acelite/ace/UTF8_Encoding_Converter.h rename : externals/ace/UUID.cpp => dep/acelite/ace/UUID.cpp rename : externals/ace/UUID.h => dep/acelite/ace/UUID.h rename : externals/ace/UUID.inl => dep/acelite/ace/UUID.inl rename : externals/ace/Unbounded_Queue.cpp => dep/acelite/ace/Unbounded_Queue.cpp rename : externals/ace/Unbounded_Queue.h => dep/acelite/ace/Unbounded_Queue.h rename : externals/ace/Unbounded_Queue.inl => dep/acelite/ace/Unbounded_Queue.inl rename : externals/ace/Unbounded_Set.cpp => dep/acelite/ace/Unbounded_Set.cpp rename : externals/ace/Unbounded_Set.h => dep/acelite/ace/Unbounded_Set.h rename : externals/ace/Unbounded_Set.inl => dep/acelite/ace/Unbounded_Set.inl rename : externals/ace/Unbounded_Set_Ex.cpp => dep/acelite/ace/Unbounded_Set_Ex.cpp rename : externals/ace/Unbounded_Set_Ex.h => dep/acelite/ace/Unbounded_Set_Ex.h rename : externals/ace/Unbounded_Set_Ex.inl => dep/acelite/ace/Unbounded_Set_Ex.inl rename : externals/ace/Value_Ptr.h => dep/acelite/ace/Value_Ptr.h rename : externals/ace/Vector_T.cpp => dep/acelite/ace/Vector_T.cpp rename : externals/ace/Vector_T.h => dep/acelite/ace/Vector_T.h rename : externals/ace/Vector_T.inl => dep/acelite/ace/Vector_T.inl rename : externals/ace/Version.h => dep/acelite/ace/Version.h rename : externals/ace/Versioned_Namespace.h => dep/acelite/ace/Versioned_Namespace.h rename : externals/ace/WFMO_Reactor.cpp => dep/acelite/ace/WFMO_Reactor.cpp rename : externals/ace/WFMO_Reactor.h => dep/acelite/ace/WFMO_Reactor.h rename : externals/ace/WFMO_Reactor.inl => dep/acelite/ace/WFMO_Reactor.inl rename : externals/ace/WIN32_Asynch_IO.cpp => dep/acelite/ace/WIN32_Asynch_IO.cpp rename : externals/ace/WIN32_Asynch_IO.h => dep/acelite/ace/WIN32_Asynch_IO.h rename : externals/ace/WIN32_Proactor.cpp => dep/acelite/ace/WIN32_Proactor.cpp rename : externals/ace/WIN32_Proactor.h => dep/acelite/ace/WIN32_Proactor.h rename : externals/ace/XML_Svc_Conf.cpp => dep/acelite/ace/XML_Svc_Conf.cpp rename : externals/ace/XML_Svc_Conf.h => dep/acelite/ace/XML_Svc_Conf.h rename : externals/ace/XTI_ATM_Mcast.cpp => dep/acelite/ace/XTI_ATM_Mcast.cpp rename : externals/ace/XTI_ATM_Mcast.h => dep/acelite/ace/XTI_ATM_Mcast.h rename : externals/ace/XTI_ATM_Mcast.inl => dep/acelite/ace/XTI_ATM_Mcast.inl rename : externals/ace/ace.rc => dep/acelite/ace/ace.rc rename : externals/ace/ace_message_table.bin => dep/acelite/ace/ace_message_table.bin rename : externals/ace/ace_wchar.cpp => dep/acelite/ace/ace_wchar.cpp rename : externals/ace/ace_wchar.h => dep/acelite/ace/ace_wchar.h rename : externals/ace/ace_wchar.inl => dep/acelite/ace/ace_wchar.inl rename : externals/ace/checked_iterator.h => dep/acelite/ace/checked_iterator.h rename : externals/ace/config-WinCE.h => dep/acelite/ace/config-WinCE.h rename : externals/ace/config-aix-5.x.h => dep/acelite/ace/config-aix-5.x.h rename : externals/ace/config-all.h => dep/acelite/ace/config-all.h rename : externals/ace/config-cray.h => dep/acelite/ace/config-cray.h rename : externals/ace/config-cxx-common.h => dep/acelite/ace/config-cxx-common.h rename : externals/ace/config-cygwin32.h => dep/acelite/ace/config-cygwin32.h rename : externals/ace/config-doxygen.h => dep/acelite/ace/config-doxygen.h rename : externals/ace/config-freebsd.h => dep/acelite/ace/config-freebsd.h rename : externals/ace/config-g++-common.h => dep/acelite/ace/config-g++-common.h rename : externals/ace/config-ghs-common.h => dep/acelite/ace/config-ghs-common.h rename : externals/ace/config-hpux-11.00.h => dep/acelite/ace/config-hpux-11.00.h rename : externals/ace/config-icc-common.h => dep/acelite/ace/config-icc-common.h rename : externals/ace/config-integritySCA.h => dep/acelite/ace/config-integritySCA.h rename : externals/ace/config-irix6.5.x-sgic++.h => dep/acelite/ace/config-irix6.5.x-sgic++.h rename : externals/ace/config-irix6.x-common.h => dep/acelite/ace/config-irix6.x-common.h rename : externals/ace/config-irix6.x-g++.h => dep/acelite/ace/config-irix6.x-g++.h rename : externals/ace/config-irix6.x-sgic++.h => dep/acelite/ace/config-irix6.x-sgic++.h rename : externals/ace/config-linux-common.h => dep/acelite/ace/config-linux-common.h rename : externals/ace/config-linux.h => dep/acelite/ace/config-linux.h rename : externals/ace/config-lite.h => dep/acelite/ace/config-lite.h rename : externals/ace/config-lynxos.h => dep/acelite/ace/config-lynxos.h rename : externals/ace/config-macosx-iphone-hardware.h => dep/acelite/ace/config-macosx-iphone-hardware.h rename : externals/ace/config-macosx-iphone-simulator.h => dep/acelite/ace/config-macosx-iphone-simulator.h rename : externals/ace/config-macosx-leopard.h => dep/acelite/ace/config-macosx-leopard.h rename : externals/ace/config-macosx-panther.h => dep/acelite/ace/config-macosx-panther.h rename : externals/ace/config-macosx-snowleopard.h => dep/acelite/ace/config-macosx-snowleopard.h rename : externals/ace/config-macosx-tiger.h => dep/acelite/ace/config-macosx-tiger.h rename : externals/ace/config-macosx.h => dep/acelite/ace/config-macosx.h rename : externals/ace/config-macros.h => dep/acelite/ace/config-macros.h rename : externals/ace/config-minimal.h => dep/acelite/ace/config-minimal.h rename : externals/ace/config-mvs.h => dep/acelite/ace/config-mvs.h rename : externals/ace/config-netbsd.h => dep/acelite/ace/config-netbsd.h rename : externals/ace/config-openbsd.h => dep/acelite/ace/config-openbsd.h rename : externals/ace/config-openvms.h => dep/acelite/ace/config-openvms.h rename : externals/ace/config-pharlap.h => dep/acelite/ace/config-pharlap.h rename : externals/ace/config-posix-nonetworking.h => dep/acelite/ace/config-posix-nonetworking.h rename : externals/ace/config-posix.h => dep/acelite/ace/config-posix.h rename : externals/ace/config-qnx-neutrino.h => dep/acelite/ace/config-qnx-neutrino.h rename : externals/ace/config-qnx-rtp-62x.h => dep/acelite/ace/config-qnx-rtp-62x.h rename : externals/ace/config-qnx-rtp-common.h => dep/acelite/ace/config-qnx-rtp-common.h rename : externals/ace/config-qnx-rtp-pre62x.h => dep/acelite/ace/config-qnx-rtp-pre62x.h rename : externals/ace/config-qnx-rtp.h => dep/acelite/ace/config-qnx-rtp.h rename : externals/ace/config-rtems.h => dep/acelite/ace/config-rtems.h rename : externals/ace/config-sco-5.0.0-nothread.h => dep/acelite/ace/config-sco-5.0.0-nothread.h rename : externals/ace/config-sco-5.0.0.h => dep/acelite/ace/config-sco-5.0.0.h rename : externals/ace/config-suncc-common.h => dep/acelite/ace/config-suncc-common.h rename : externals/ace/config-sunos5.10.h => dep/acelite/ace/config-sunos5.10.h rename : externals/ace/config-sunos5.11.h => dep/acelite/ace/config-sunos5.11.h rename : externals/ace/config-sunos5.4-g++.h => dep/acelite/ace/config-sunos5.4-g++.h rename : externals/ace/config-sunos5.4-sunc++-4.x.h => dep/acelite/ace/config-sunos5.4-sunc++-4.x.h rename : externals/ace/config-sunos5.5.h => dep/acelite/ace/config-sunos5.5.h rename : externals/ace/config-sunos5.6.h => dep/acelite/ace/config-sunos5.6.h rename : externals/ace/config-sunos5.7.h => dep/acelite/ace/config-sunos5.7.h rename : externals/ace/config-sunos5.8.h => dep/acelite/ace/config-sunos5.8.h rename : externals/ace/config-sunos5.9.h => dep/acelite/ace/config-sunos5.9.h rename : externals/ace/config-tandem-nsk-mips-v2.h => dep/acelite/ace/config-tandem-nsk-mips-v2.h rename : externals/ace/config-tandem-nsk-mips-v3.h => dep/acelite/ace/config-tandem-nsk-mips-v3.h rename : externals/ace/config-tandem.h => dep/acelite/ace/config-tandem.h rename : externals/ace/config-tru64.h => dep/acelite/ace/config-tru64.h rename : externals/ace/config-unixware-7.1.0.h => dep/acelite/ace/config-unixware-7.1.0.h rename : externals/ace/config-unixware-7.1.0.udk.h => dep/acelite/ace/config-unixware-7.1.0.udk.h rename : externals/ace/config-visualage.h => dep/acelite/ace/config-visualage.h rename : externals/ace/config-vxworks.h => dep/acelite/ace/config-vxworks.h rename : externals/ace/config-vxworks6.4.h => dep/acelite/ace/config-vxworks6.4.h rename : externals/ace/config-vxworks6.5.h => dep/acelite/ace/config-vxworks6.5.h rename : externals/ace/config-vxworks6.6.h => dep/acelite/ace/config-vxworks6.6.h rename : externals/ace/config-vxworks6.7.h => dep/acelite/ace/config-vxworks6.7.h rename : externals/ace/config-vxworks6.8.h => dep/acelite/ace/config-vxworks6.8.h rename : externals/ace/config-win32-borland.h => dep/acelite/ace/config-win32-borland.h rename : externals/ace/config-win32-cegcc.h => dep/acelite/ace/config-win32-cegcc.h rename : externals/ace/config-win32-common.h => dep/acelite/ace/config-win32-common.h rename : externals/ace/config-win32-dmc.h => dep/acelite/ace/config-win32-dmc.h rename : externals/ace/config-win32-ghs.h => dep/acelite/ace/config-win32-ghs.h rename : externals/ace/config-win32-interix.h => dep/acelite/ace/config-win32-interix.h rename : externals/ace/config-win32-mingw.h => dep/acelite/ace/config-win32-mingw.h rename : externals/ace/config-win32-msvc-10.h => dep/acelite/ace/config-win32-msvc-10.h rename : externals/ace/config-win32-msvc-7.h => dep/acelite/ace/config-win32-msvc-7.h rename : externals/ace/config-win32-msvc-8.h => dep/acelite/ace/config-win32-msvc-8.h rename : externals/ace/config-win32-msvc-9.h => dep/acelite/ace/config-win32-msvc-9.h rename : externals/ace/config-win32-msvc.h => dep/acelite/ace/config-win32-msvc.h rename : externals/ace/config-win32.h => dep/acelite/ace/config-win32.h rename : externals/ace/config.h.in => dep/acelite/ace/config.h.in rename : externals/ace/gethrtime.cpp => dep/acelite/ace/gethrtime.cpp rename : externals/ace/iosfwd.h => dep/acelite/ace/iosfwd.h rename : externals/ace/os_include/arpa/os_inet.h => dep/acelite/ace/os_include/arpa/os_inet.h rename : externals/ace/os_include/net/os_if.h => dep/acelite/ace/os_include/net/os_if.h rename : externals/ace/os_include/netinet/os_in.h => dep/acelite/ace/os_include/netinet/os_in.h rename : externals/ace/os_include/netinet/os_tcp.h => dep/acelite/ace/os_include/netinet/os_tcp.h rename : externals/ace/os_include/os_aio.h => dep/acelite/ace/os_include/os_aio.h rename : externals/ace/os_include/os_assert.h => dep/acelite/ace/os_include/os_assert.h rename : externals/ace/os_include/os_byteswap.h => dep/acelite/ace/os_include/os_byteswap.h rename : externals/ace/os_include/os_complex.h => dep/acelite/ace/os_include/os_complex.h rename : externals/ace/os_include/os_cpio.h => dep/acelite/ace/os_include/os_cpio.h rename : externals/ace/os_include/os_ctype.h => dep/acelite/ace/os_include/os_ctype.h rename : externals/ace/os_include/os_dirent.h => dep/acelite/ace/os_include/os_dirent.h rename : externals/ace/os_include/os_dlfcn.h => dep/acelite/ace/os_include/os_dlfcn.h rename : externals/ace/os_include/os_errno.h => dep/acelite/ace/os_include/os_errno.h rename : externals/ace/os_include/os_fcntl.h => dep/acelite/ace/os_include/os_fcntl.h rename : externals/ace/os_include/os_fenv.h => dep/acelite/ace/os_include/os_fenv.h rename : externals/ace/os_include/os_float.h => dep/acelite/ace/os_include/os_float.h rename : externals/ace/os_include/os_fmtmsg.h => dep/acelite/ace/os_include/os_fmtmsg.h rename : externals/ace/os_include/os_fnmatch.h => dep/acelite/ace/os_include/os_fnmatch.h rename : externals/ace/os_include/os_ftw.h => dep/acelite/ace/os_include/os_ftw.h rename : externals/ace/os_include/os_glob.h => dep/acelite/ace/os_include/os_glob.h rename : externals/ace/os_include/os_grp.h => dep/acelite/ace/os_include/os_grp.h rename : externals/ace/os_include/os_iconv.h => dep/acelite/ace/os_include/os_iconv.h rename : externals/ace/os_include/os_intrin.h => dep/acelite/ace/os_include/os_intrin.h rename : externals/ace/os_include/os_inttypes.h => dep/acelite/ace/os_include/os_inttypes.h rename : externals/ace/os_include/os_iso646.h => dep/acelite/ace/os_include/os_iso646.h rename : externals/ace/os_include/os_kstat.h => dep/acelite/ace/os_include/os_kstat.h rename : externals/ace/os_include/os_langinfo.h => dep/acelite/ace/os_include/os_langinfo.h rename : externals/ace/os_include/os_libgen.h => dep/acelite/ace/os_include/os_libgen.h rename : externals/ace/os_include/os_limits.h => dep/acelite/ace/os_include/os_limits.h rename : externals/ace/os_include/os_local.h => dep/acelite/ace/os_include/os_local.h rename : externals/ace/os_include/os_math.h => dep/acelite/ace/os_include/os_math.h rename : externals/ace/os_include/os_monetary.h => dep/acelite/ace/os_include/os_monetary.h rename : externals/ace/os_include/os_mqueue.h => dep/acelite/ace/os_include/os_mqueue.h rename : externals/ace/os_include/os_ndbm.h => dep/acelite/ace/os_include/os_ndbm.h rename : externals/ace/os_include/os_netdb.h => dep/acelite/ace/os_include/os_netdb.h rename : externals/ace/os_include/os_nl_types.h => dep/acelite/ace/os_include/os_nl_types.h rename : externals/ace/os_include/os_pdh.h => dep/acelite/ace/os_include/os_pdh.h rename : externals/ace/os_include/os_pdhmsg.h => dep/acelite/ace/os_include/os_pdhmsg.h rename : externals/ace/os_include/os_poll.h => dep/acelite/ace/os_include/os_poll.h rename : externals/ace/os_include/os_pthread.h => dep/acelite/ace/os_include/os_pthread.h rename : externals/ace/os_include/os_pwd.h => dep/acelite/ace/os_include/os_pwd.h rename : externals/ace/os_include/os_regex.h => dep/acelite/ace/os_include/os_regex.h rename : externals/ace/os_include/os_sched.h => dep/acelite/ace/os_include/os_sched.h rename : externals/ace/os_include/os_search.h => dep/acelite/ace/os_include/os_search.h rename : externals/ace/os_include/os_semaphore.h => dep/acelite/ace/os_include/os_semaphore.h rename : externals/ace/os_include/os_setjmp.h => dep/acelite/ace/os_include/os_setjmp.h rename : externals/ace/os_include/os_signal.h => dep/acelite/ace/os_include/os_signal.h rename : externals/ace/os_include/os_spawn.h => dep/acelite/ace/os_include/os_spawn.h rename : externals/ace/os_include/os_stdarg.h => dep/acelite/ace/os_include/os_stdarg.h rename : externals/ace/os_include/os_stdbool.h => dep/acelite/ace/os_include/os_stdbool.h rename : externals/ace/os_include/os_stddef.h => dep/acelite/ace/os_include/os_stddef.h rename : externals/ace/os_include/os_stdint.h => dep/acelite/ace/os_include/os_stdint.h rename : externals/ace/os_include/os_stdio.h => dep/acelite/ace/os_include/os_stdio.h rename : externals/ace/os_include/os_stdlib.h => dep/acelite/ace/os_include/os_stdlib.h rename : externals/ace/os_include/os_string.h => dep/acelite/ace/os_include/os_string.h rename : externals/ace/os_include/os_strings.h => dep/acelite/ace/os_include/os_strings.h rename : externals/ace/os_include/os_stropts.h => dep/acelite/ace/os_include/os_stropts.h rename : externals/ace/os_include/os_syslog.h => dep/acelite/ace/os_include/os_syslog.h rename : externals/ace/os_include/os_tar.h => dep/acelite/ace/os_include/os_tar.h rename : externals/ace/os_include/os_termios.h => dep/acelite/ace/os_include/os_termios.h rename : externals/ace/os_include/os_tgmath.h => dep/acelite/ace/os_include/os_tgmath.h rename : externals/ace/os_include/os_time.h => dep/acelite/ace/os_include/os_time.h rename : externals/ace/os_include/os_trace.h => dep/acelite/ace/os_include/os_trace.h rename : externals/ace/os_include/os_typeinfo.h => dep/acelite/ace/os_include/os_typeinfo.h rename : externals/ace/os_include/os_ucontext.h => dep/acelite/ace/os_include/os_ucontext.h rename : externals/ace/os_include/os_ulimit.h => dep/acelite/ace/os_include/os_ulimit.h rename : externals/ace/os_include/os_unistd.h => dep/acelite/ace/os_include/os_unistd.h rename : externals/ace/os_include/os_utime.h => dep/acelite/ace/os_include/os_utime.h rename : externals/ace/os_include/os_utmpx.h => dep/acelite/ace/os_include/os_utmpx.h rename : externals/ace/os_include/os_wchar.h => dep/acelite/ace/os_include/os_wchar.h rename : externals/ace/os_include/os_wctype.h => dep/acelite/ace/os_include/os_wctype.h rename : externals/ace/os_include/os_wordexp.h => dep/acelite/ace/os_include/os_wordexp.h rename : externals/ace/os_include/sys/os_ipc.h => dep/acelite/ace/os_include/sys/os_ipc.h rename : externals/ace/os_include/sys/os_loadavg.h => dep/acelite/ace/os_include/sys/os_loadavg.h rename : externals/ace/os_include/sys/os_mman.h => dep/acelite/ace/os_include/sys/os_mman.h rename : externals/ace/os_include/sys/os_msg.h => dep/acelite/ace/os_include/sys/os_msg.h rename : externals/ace/os_include/sys/os_pstat.h => dep/acelite/ace/os_include/sys/os_pstat.h rename : externals/ace/os_include/sys/os_resource.h => dep/acelite/ace/os_include/sys/os_resource.h rename : externals/ace/os_include/sys/os_select.h => dep/acelite/ace/os_include/sys/os_select.h rename : externals/ace/os_include/sys/os_sem.h => dep/acelite/ace/os_include/sys/os_sem.h rename : externals/ace/os_include/sys/os_shm.h => dep/acelite/ace/os_include/sys/os_shm.h rename : externals/ace/os_include/sys/os_socket.h => dep/acelite/ace/os_include/sys/os_socket.h rename : externals/ace/os_include/sys/os_stat.h => dep/acelite/ace/os_include/sys/os_stat.h rename : externals/ace/os_include/sys/os_statvfs.h => dep/acelite/ace/os_include/sys/os_statvfs.h rename : externals/ace/os_include/sys/os_sysctl.h => dep/acelite/ace/os_include/sys/os_sysctl.h rename : externals/ace/os_include/sys/os_sysinfo.h => dep/acelite/ace/os_include/sys/os_sysinfo.h rename : externals/ace/os_include/sys/os_time.h => dep/acelite/ace/os_include/sys/os_time.h rename : externals/ace/os_include/sys/os_timeb.h => dep/acelite/ace/os_include/sys/os_timeb.h rename : externals/ace/os_include/sys/os_times.h => dep/acelite/ace/os_include/sys/os_times.h rename : externals/ace/os_include/sys/os_types.h => dep/acelite/ace/os_include/sys/os_types.h rename : externals/ace/os_include/sys/os_uio.h => dep/acelite/ace/os_include/sys/os_uio.h rename : externals/ace/os_include/sys/os_un.h => dep/acelite/ace/os_include/sys/os_un.h rename : externals/ace/os_include/sys/os_utsname.h => dep/acelite/ace/os_include/sys/os_utsname.h rename : externals/ace/os_include/sys/os_wait.h => dep/acelite/ace/os_include/sys/os_wait.h rename : externals/ace/post.h => dep/acelite/ace/post.h rename : externals/ace/pre.h => dep/acelite/ace/pre.h rename : externals/ace/streams.h => dep/acelite/ace/streams.h rename : externals/ace/svc_export.h => dep/acelite/ace/svc_export.h rename : externals/bzip2/CMakeLists.txt => dep/bzip2/CMakeLists.txt rename : externals/bzip2/blocksort.c => dep/bzip2/blocksort.c rename : externals/bzip2/bzlib.c => dep/bzip2/bzlib.c rename : externals/bzip2/bzlib.h => dep/bzip2/bzlib.h rename : externals/bzip2/bzlib_private.h => dep/bzip2/bzlib_private.h rename : externals/bzip2/compress.c => dep/bzip2/compress.c rename : externals/bzip2/crctable.c => dep/bzip2/crctable.c rename : externals/bzip2/decompress.c => dep/bzip2/decompress.c rename : externals/bzip2/huffman.c => dep/bzip2/huffman.c rename : externals/bzip2/randtable.c => dep/bzip2/randtable.c rename : externals/g3dlite/AABox.cpp => dep/g3dlite/AABox.cpp rename : externals/g3dlite/Any.cpp => dep/g3dlite/Any.cpp rename : externals/g3dlite/BinaryFormat.cpp => dep/g3dlite/BinaryFormat.cpp rename : externals/g3dlite/BinaryInput.cpp => dep/g3dlite/BinaryInput.cpp rename : externals/g3dlite/BinaryOutput.cpp => dep/g3dlite/BinaryOutput.cpp rename : externals/g3dlite/Box.cpp => dep/g3dlite/Box.cpp rename : externals/g3dlite/CMakeLists.txt => dep/g3dlite/CMakeLists.txt rename : externals/g3dlite/Capsule.cpp => dep/g3dlite/Capsule.cpp rename : externals/g3dlite/CollisionDetection.cpp => dep/g3dlite/CollisionDetection.cpp rename : externals/g3dlite/CoordinateFrame.cpp => dep/g3dlite/CoordinateFrame.cpp rename : externals/g3dlite/Crypto.cpp => dep/g3dlite/Crypto.cpp rename : externals/g3dlite/Cylinder.cpp => dep/g3dlite/Cylinder.cpp rename : externals/g3dlite/G3D/AABox.h => dep/g3dlite/G3D/AABox.h rename : externals/g3dlite/G3D/Any.h => dep/g3dlite/G3D/Any.h rename : externals/g3dlite/G3D/AnyVal.h => dep/g3dlite/G3D/AnyVal.h rename : externals/g3dlite/G3D/AreaMemoryManager.h => dep/g3dlite/G3D/AreaMemoryManager.h rename : externals/g3dlite/G3D/Array.h => dep/g3dlite/G3D/Array.h rename : externals/g3dlite/G3D/AtomicInt32.h => dep/g3dlite/G3D/AtomicInt32.h rename : externals/g3dlite/G3D/BinaryFormat.h => dep/g3dlite/G3D/BinaryFormat.h rename : externals/g3dlite/G3D/BinaryInput.h => dep/g3dlite/G3D/BinaryInput.h rename : externals/g3dlite/G3D/BinaryOutput.h => dep/g3dlite/G3D/BinaryOutput.h rename : externals/g3dlite/G3D/BoundsTrait.h => dep/g3dlite/G3D/BoundsTrait.h rename : externals/g3dlite/G3D/Box.h => dep/g3dlite/G3D/Box.h rename : externals/g3dlite/G3D/Box2D.h => dep/g3dlite/G3D/Box2D.h rename : externals/g3dlite/G3D/BumpMapPreprocess.h => dep/g3dlite/G3D/BumpMapPreprocess.h rename : externals/g3dlite/G3D/Capsule.h => dep/g3dlite/G3D/Capsule.h rename : externals/g3dlite/G3D/CollisionDetection.h => dep/g3dlite/G3D/CollisionDetection.h rename : externals/g3dlite/G3D/Color1.h => dep/g3dlite/G3D/Color1.h rename : externals/g3dlite/G3D/Color1uint8.h => dep/g3dlite/G3D/Color1uint8.h rename : externals/g3dlite/G3D/Color3.h => dep/g3dlite/G3D/Color3.h rename : externals/g3dlite/G3D/Color3uint8.h => dep/g3dlite/G3D/Color3uint8.h rename : externals/g3dlite/G3D/Color4.h => dep/g3dlite/G3D/Color4.h rename : externals/g3dlite/G3D/Color4uint8.h => dep/g3dlite/G3D/Color4uint8.h rename : externals/g3dlite/G3D/Cone.h => dep/g3dlite/G3D/Cone.h rename : externals/g3dlite/G3D/ConvexPolyhedron.h => dep/g3dlite/G3D/ConvexPolyhedron.h rename : externals/g3dlite/G3D/CoordinateFrame.h => dep/g3dlite/G3D/CoordinateFrame.h rename : externals/g3dlite/G3D/Crypto.h => dep/g3dlite/G3D/Crypto.h rename : externals/g3dlite/G3D/Cylinder.h => dep/g3dlite/G3D/Cylinder.h rename : externals/g3dlite/G3D/EqualsTrait.h => dep/g3dlite/G3D/EqualsTrait.h rename : externals/g3dlite/G3D/G3D.h => dep/g3dlite/G3D/G3D.h rename : externals/g3dlite/G3D/G3DAll.h => dep/g3dlite/G3D/G3DAll.h rename : externals/g3dlite/G3D/G3DGameUnits.h => dep/g3dlite/G3D/G3DGameUnits.h rename : externals/g3dlite/G3D/GCamera.h => dep/g3dlite/G3D/GCamera.h rename : externals/g3dlite/G3D/GImage.h => dep/g3dlite/G3D/GImage.h rename : externals/g3dlite/G3D/GLight.h => dep/g3dlite/G3D/GLight.h rename : externals/g3dlite/G3D/GMutex.h => dep/g3dlite/G3D/GMutex.h rename : externals/g3dlite/G3D/GThread.h => dep/g3dlite/G3D/GThread.h rename : externals/g3dlite/G3D/GUniqueID.h => dep/g3dlite/G3D/GUniqueID.h rename : externals/g3dlite/G3D/HashTrait.h => dep/g3dlite/G3D/HashTrait.h rename : externals/g3dlite/G3D/Image1.h => dep/g3dlite/G3D/Image1.h rename : externals/g3dlite/G3D/Image1uint8.h => dep/g3dlite/G3D/Image1uint8.h rename : externals/g3dlite/G3D/Image3.h => dep/g3dlite/G3D/Image3.h rename : externals/g3dlite/G3D/Image3uint8.h => dep/g3dlite/G3D/Image3uint8.h rename : externals/g3dlite/G3D/Image4.h => dep/g3dlite/G3D/Image4.h rename : externals/g3dlite/G3D/Image4uint8.h => dep/g3dlite/G3D/Image4uint8.h rename : externals/g3dlite/G3D/ImageFormat.h => dep/g3dlite/G3D/ImageFormat.h rename : externals/g3dlite/G3D/Intersect.h => dep/g3dlite/G3D/Intersect.h rename : externals/g3dlite/G3D/KDTree.h => dep/g3dlite/G3D/KDTree.h rename : externals/g3dlite/G3D/Line.h => dep/g3dlite/G3D/Line.h rename : externals/g3dlite/G3D/LineSegment.h => dep/g3dlite/G3D/LineSegment.h rename : externals/g3dlite/G3D/Log.h => dep/g3dlite/G3D/Log.h rename : externals/g3dlite/G3D/Map2D.h => dep/g3dlite/G3D/Map2D.h rename : externals/g3dlite/G3D/Matrix.h => dep/g3dlite/G3D/Matrix.h rename : externals/g3dlite/G3D/Matrix2.h => dep/g3dlite/G3D/Matrix2.h rename : externals/g3dlite/G3D/Matrix3.h => dep/g3dlite/G3D/Matrix3.h rename : externals/g3dlite/G3D/Matrix4.h => dep/g3dlite/G3D/Matrix4.h rename : externals/g3dlite/G3D/MemoryManager.h => dep/g3dlite/G3D/MemoryManager.h rename : externals/g3dlite/G3D/MeshAlg.h => dep/g3dlite/G3D/MeshAlg.h rename : externals/g3dlite/G3D/MeshBuilder.h => dep/g3dlite/G3D/MeshBuilder.h rename : externals/g3dlite/G3D/NetAddress.h => dep/g3dlite/G3D/NetAddress.h rename : externals/g3dlite/G3D/NetworkDevice.h => dep/g3dlite/G3D/NetworkDevice.h rename : externals/g3dlite/G3D/ParseError.h => dep/g3dlite/G3D/ParseError.h rename : externals/g3dlite/G3D/PhysicsFrame.h => dep/g3dlite/G3D/PhysicsFrame.h rename : externals/g3dlite/G3D/Plane.h => dep/g3dlite/G3D/Plane.h rename : externals/g3dlite/G3D/PointHashGrid.h => dep/g3dlite/G3D/PointHashGrid.h rename : externals/g3dlite/G3D/PointKDTree.h => dep/g3dlite/G3D/PointKDTree.h rename : externals/g3dlite/G3D/Pointer.h => dep/g3dlite/G3D/Pointer.h rename : externals/g3dlite/G3D/PositionTrait.h => dep/g3dlite/G3D/PositionTrait.h rename : externals/g3dlite/G3D/PrecomputedRandom.h => dep/g3dlite/G3D/PrecomputedRandom.h rename : externals/g3dlite/G3D/Quat.h => dep/g3dlite/G3D/Quat.h rename : externals/g3dlite/G3D/Quat.inl => dep/g3dlite/G3D/Quat.inl rename : externals/g3dlite/G3D/Queue.h => dep/g3dlite/G3D/Queue.h rename : externals/g3dlite/G3D/Random.h => dep/g3dlite/G3D/Random.h rename : externals/g3dlite/G3D/Ray.h => dep/g3dlite/G3D/Ray.h rename : externals/g3dlite/G3D/Rect2D.h => dep/g3dlite/G3D/Rect2D.h rename : externals/g3dlite/G3D/ReferenceCount.h => dep/g3dlite/G3D/ReferenceCount.h rename : externals/g3dlite/G3D/RegistryUtil.h => dep/g3dlite/G3D/RegistryUtil.h rename : externals/g3dlite/G3D/Set.h => dep/g3dlite/G3D/Set.h rename : externals/g3dlite/G3D/SmallArray.h => dep/g3dlite/G3D/SmallArray.h rename : externals/g3dlite/G3D/Sphere.h => dep/g3dlite/G3D/Sphere.h rename : externals/g3dlite/G3D/Spline.h => dep/g3dlite/G3D/Spline.h rename : externals/g3dlite/G3D/Stopwatch.h => dep/g3dlite/G3D/Stopwatch.h rename : externals/g3dlite/G3D/System.h => dep/g3dlite/G3D/System.h rename : externals/g3dlite/G3D/Table.h => dep/g3dlite/G3D/Table.h rename : externals/g3dlite/G3D/TextInput.h => dep/g3dlite/G3D/TextInput.h rename : externals/g3dlite/G3D/TextOutput.h => dep/g3dlite/G3D/TextOutput.h rename : externals/g3dlite/G3D/ThreadSet.h => dep/g3dlite/G3D/ThreadSet.h rename : externals/g3dlite/G3D/Triangle.h => dep/g3dlite/G3D/Triangle.h rename : externals/g3dlite/G3D/UprightFrame.h => dep/g3dlite/G3D/UprightFrame.h rename : externals/g3dlite/G3D/Vector2.h => dep/g3dlite/G3D/Vector2.h rename : externals/g3dlite/G3D/Vector2.inl => dep/g3dlite/G3D/Vector2.inl rename : externals/g3dlite/G3D/Vector2int16.h => dep/g3dlite/G3D/Vector2int16.h rename : externals/g3dlite/G3D/Vector3.h => dep/g3dlite/G3D/Vector3.h rename : externals/g3dlite/G3D/Vector3.inl => dep/g3dlite/G3D/Vector3.inl rename : externals/g3dlite/G3D/Vector3int16.h => dep/g3dlite/G3D/Vector3int16.h rename : externals/g3dlite/G3D/Vector3int32.h => dep/g3dlite/G3D/Vector3int32.h rename : externals/g3dlite/G3D/Vector4.h => dep/g3dlite/G3D/Vector4.h rename : externals/g3dlite/G3D/Vector4.inl => dep/g3dlite/G3D/Vector4.inl rename : externals/g3dlite/G3D/Vector4int8.h => dep/g3dlite/G3D/Vector4int8.h rename : externals/g3dlite/G3D/WeakCache.h => dep/g3dlite/G3D/WeakCache.h rename : externals/g3dlite/G3D/Welder.h => dep/g3dlite/G3D/Welder.h rename : externals/g3dlite/G3D/WrapMode.h => dep/g3dlite/G3D/WrapMode.h rename : externals/g3dlite/G3D/constants.h => dep/g3dlite/G3D/constants.h rename : externals/g3dlite/G3D/debug.h => dep/g3dlite/G3D/debug.h rename : externals/g3dlite/G3D/debugAssert.h => dep/g3dlite/G3D/debugAssert.h rename : externals/g3dlite/G3D/debugPrintf.h => dep/g3dlite/G3D/debugPrintf.h rename : externals/g3dlite/G3D/enumclass.h => dep/g3dlite/G3D/enumclass.h rename : externals/g3dlite/G3D/fileutils.h => dep/g3dlite/G3D/fileutils.h rename : externals/g3dlite/G3D/filter.h => dep/g3dlite/G3D/filter.h rename : externals/g3dlite/G3D/format.h => dep/g3dlite/G3D/format.h rename : externals/g3dlite/G3D/g3dfnmatch.h => dep/g3dlite/G3D/g3dfnmatch.h rename : externals/g3dlite/G3D/g3dmath.h => dep/g3dlite/G3D/g3dmath.h rename : externals/g3dlite/G3D/g3dmath.inl => dep/g3dlite/G3D/g3dmath.inl rename : externals/g3dlite/G3D/platform.h => dep/g3dlite/G3D/platform.h rename : externals/g3dlite/G3D/prompt.h => dep/g3dlite/G3D/prompt.h rename : externals/g3dlite/G3D/serialize.h => dep/g3dlite/G3D/serialize.h rename : externals/g3dlite/G3D/splinefunc.h => dep/g3dlite/G3D/splinefunc.h rename : externals/g3dlite/G3D/stringutils.h => dep/g3dlite/G3D/stringutils.h rename : externals/g3dlite/G3D/uint128.h => dep/g3dlite/G3D/uint128.h rename : externals/g3dlite/G3D/units.h => dep/g3dlite/G3D/units.h rename : externals/g3dlite/G3D/vectorMath.h => dep/g3dlite/G3D/vectorMath.h rename : externals/g3dlite/Line.cpp => dep/g3dlite/Line.cpp rename : externals/g3dlite/LineSegment.cpp => dep/g3dlite/LineSegment.cpp rename : externals/g3dlite/Log.cpp => dep/g3dlite/Log.cpp rename : externals/g3dlite/Matrix3.cpp => dep/g3dlite/Matrix3.cpp rename : externals/g3dlite/Matrix4.cpp => dep/g3dlite/Matrix4.cpp rename : externals/g3dlite/MemoryManager.cpp => dep/g3dlite/MemoryManager.cpp rename : externals/g3dlite/Plane.cpp => dep/g3dlite/Plane.cpp rename : externals/g3dlite/Quat.cpp => dep/g3dlite/Quat.cpp rename : externals/g3dlite/Random.cpp => dep/g3dlite/Random.cpp rename : externals/g3dlite/Ray.cpp => dep/g3dlite/Ray.cpp rename : externals/g3dlite/ReferenceCount.cpp => dep/g3dlite/ReferenceCount.cpp rename : externals/g3dlite/RegistryUtil.cpp => dep/g3dlite/RegistryUtil.cpp rename : externals/g3dlite/Sphere.cpp => dep/g3dlite/Sphere.cpp rename : externals/g3dlite/System.cpp => dep/g3dlite/System.cpp rename : externals/g3dlite/TextInput.cpp => dep/g3dlite/TextInput.cpp rename : externals/g3dlite/TextOutput.cpp => dep/g3dlite/TextOutput.cpp rename : externals/g3dlite/Triangle.cpp => dep/g3dlite/Triangle.cpp rename : externals/g3dlite/UprightFrame.cpp => dep/g3dlite/UprightFrame.cpp rename : externals/g3dlite/Vector2.cpp => dep/g3dlite/Vector2.cpp rename : externals/g3dlite/Vector3.cpp => dep/g3dlite/Vector3.cpp rename : externals/g3dlite/Vector4.cpp => dep/g3dlite/Vector4.cpp rename : externals/g3dlite/debugAssert.cpp => dep/g3dlite/debugAssert.cpp rename : externals/g3dlite/fileutils.cpp => dep/g3dlite/fileutils.cpp rename : externals/g3dlite/format.cpp => dep/g3dlite/format.cpp rename : externals/g3dlite/g3dfnmatch.cpp => dep/g3dlite/g3dfnmatch.cpp rename : externals/g3dlite/g3dmath.cpp => dep/g3dlite/g3dmath.cpp rename : externals/g3dlite/prompt.cpp => dep/g3dlite/prompt.cpp rename : externals/g3dlite/stringutils.cpp => dep/g3dlite/stringutils.cpp rename : externals/gsoap/CMakeLists.txt => dep/gsoap/CMakeLists.txt rename : externals/gsoap/soapC.cpp => dep/gsoap/soapC.cpp rename : externals/gsoap/soapH.h => dep/gsoap/soapH.h rename : externals/gsoap/soapServer.cpp => dep/gsoap/soapServer.cpp rename : externals/gsoap/soapStub.h => dep/gsoap/soapStub.h rename : externals/gsoap/stdsoap2.cpp => dep/gsoap/stdsoap2.cpp rename : externals/gsoap/stdsoap2.h => dep/gsoap/stdsoap2.h rename : externals/jemalloc/CMakeLists.txt => dep/jemalloc/CMakeLists.txt rename : externals/jemalloc/arena.c => dep/jemalloc/arena.c rename : externals/jemalloc/base.c => dep/jemalloc/base.c rename : externals/jemalloc/chunk.c => dep/jemalloc/chunk.c rename : externals/jemalloc/chunk_dss.c => dep/jemalloc/chunk_dss.c rename : externals/jemalloc/chunk_mmap.c => dep/jemalloc/chunk_mmap.c rename : externals/jemalloc/chunk_swap.c => dep/jemalloc/chunk_swap.c rename : externals/jemalloc/ckh.c => dep/jemalloc/ckh.c rename : externals/jemalloc/ctl.c => dep/jemalloc/ctl.c rename : externals/jemalloc/extent.c => dep/jemalloc/extent.c rename : externals/jemalloc/hash.c => dep/jemalloc/hash.c rename : externals/jemalloc/huge.c => dep/jemalloc/huge.c rename : externals/jemalloc/jemalloc.c => dep/jemalloc/jemalloc.c rename : externals/jemalloc/jemalloc/internal/arena.h => dep/jemalloc/jemalloc/internal/arena.h rename : externals/jemalloc/jemalloc/internal/base.h => dep/jemalloc/jemalloc/internal/base.h rename : externals/jemalloc/jemalloc/internal/chunk.h => dep/jemalloc/jemalloc/internal/chunk.h rename : externals/jemalloc/jemalloc/internal/chunk_dss.h => dep/jemalloc/jemalloc/internal/chunk_dss.h rename : externals/jemalloc/jemalloc/internal/chunk_mmap.h => dep/jemalloc/jemalloc/internal/chunk_mmap.h rename : externals/jemalloc/jemalloc/internal/chunk_swap.h => dep/jemalloc/jemalloc/internal/chunk_swap.h rename : externals/jemalloc/jemalloc/internal/ckh.h => dep/jemalloc/jemalloc/internal/ckh.h rename : externals/jemalloc/jemalloc/internal/ctl.h => dep/jemalloc/jemalloc/internal/ctl.h rename : externals/jemalloc/jemalloc/internal/extent.h => dep/jemalloc/jemalloc/internal/extent.h rename : externals/jemalloc/jemalloc/internal/hash.h => dep/jemalloc/jemalloc/internal/hash.h rename : externals/jemalloc/jemalloc/internal/huge.h => dep/jemalloc/jemalloc/internal/huge.h rename : externals/jemalloc/jemalloc/internal/jemalloc_internal.h => dep/jemalloc/jemalloc/internal/jemalloc_internal.h rename : externals/jemalloc/jemalloc/internal/jemalloc_internal.h.in => dep/jemalloc/jemalloc/internal/jemalloc_internal.h.in rename : externals/jemalloc/jemalloc/internal/mb.h => dep/jemalloc/jemalloc/internal/mb.h rename : externals/jemalloc/jemalloc/internal/mutex.h => dep/jemalloc/jemalloc/internal/mutex.h rename : externals/jemalloc/jemalloc/internal/prof.h => dep/jemalloc/jemalloc/internal/prof.h rename : externals/jemalloc/jemalloc/internal/ql.h => dep/jemalloc/jemalloc/internal/ql.h rename : externals/jemalloc/jemalloc/internal/qr.h => dep/jemalloc/jemalloc/internal/qr.h rename : externals/jemalloc/jemalloc/internal/rb.h => dep/jemalloc/jemalloc/internal/rb.h rename : externals/jemalloc/jemalloc/internal/stats.h => dep/jemalloc/jemalloc/internal/stats.h rename : externals/jemalloc/jemalloc/internal/tcache.h => dep/jemalloc/jemalloc/internal/tcache.h rename : externals/jemalloc/jemalloc/internal/totally_not_p_r_n.h => dep/jemalloc/jemalloc/internal/totally_not_p_r_n.h rename : externals/jemalloc/jemalloc/jemalloc.h => dep/jemalloc/jemalloc/jemalloc.h rename : externals/jemalloc/jemalloc/jemalloc.h.in => dep/jemalloc/jemalloc/jemalloc.h.in rename : externals/jemalloc/jemalloc/jemalloc_defs.h => dep/jemalloc/jemalloc/jemalloc_defs.h rename : externals/jemalloc/jemalloc/jemalloc_defs.h.in => dep/jemalloc/jemalloc/jemalloc_defs.h.in rename : externals/jemalloc/mb.c => dep/jemalloc/mb.c rename : externals/jemalloc/mutex.c => dep/jemalloc/mutex.c rename : externals/jemalloc/prof.c => dep/jemalloc/prof.c rename : externals/jemalloc/stats.c => dep/jemalloc/stats.c rename : externals/jemalloc/tcache.c => dep/jemalloc/tcache.c rename : externals/libmpq/AUTHORS => dep/libmpq/AUTHORS rename : externals/libmpq/CMakeLists.txt => dep/libmpq/CMakeLists.txt rename : externals/libmpq/COPYING => dep/libmpq/COPYING rename : externals/libmpq/FAQ => dep/libmpq/FAQ rename : externals/libmpq/INSTALL => dep/libmpq/INSTALL rename : externals/libmpq/Makefile.am => dep/libmpq/Makefile.am rename : externals/libmpq/NEWS => dep/libmpq/NEWS rename : externals/libmpq/README => dep/libmpq/README rename : externals/libmpq/THANKS => dep/libmpq/THANKS rename : externals/libmpq/TODO => dep/libmpq/TODO rename : externals/libmpq/autogen.sh => dep/libmpq/autogen.sh rename : externals/libmpq/bindings/Makefile.am => dep/libmpq/bindings/Makefile.am rename : externals/libmpq/bindings/d/Makefile.am => dep/libmpq/bindings/d/Makefile.am rename : externals/libmpq/bindings/d/dsss.conf => dep/libmpq/bindings/d/dsss.conf rename : externals/libmpq/bindings/d/mpq.d => dep/libmpq/bindings/d/mpq.d rename : externals/libmpq/bindings/python/Makefile.am => dep/libmpq/bindings/python/Makefile.am rename : externals/libmpq/bindings/python/mpq-info => dep/libmpq/bindings/python/mpq-info rename : externals/libmpq/bindings/python/mpq.py => dep/libmpq/bindings/python/mpq.py rename : externals/libmpq/config.h => dep/libmpq/config.h rename : externals/libmpq/configure.ac => dep/libmpq/configure.ac rename : externals/libmpq/debian/changelog => dep/libmpq/debian/changelog rename : externals/libmpq/debian/compat => dep/libmpq/debian/compat rename : externals/libmpq/debian/control => dep/libmpq/debian/control rename : externals/libmpq/debian/copyright => dep/libmpq/debian/copyright rename : externals/libmpq/debian/libmpq-dev.dirs => dep/libmpq/debian/libmpq-dev.dirs rename : externals/libmpq/debian/libmpq-dev.install => dep/libmpq/debian/libmpq-dev.install rename : externals/libmpq/debian/libmpq0.dirs => dep/libmpq/debian/libmpq0.dirs rename : externals/libmpq/debian/libmpq0.docs => dep/libmpq/debian/libmpq0.docs rename : externals/libmpq/debian/libmpq0.install => dep/libmpq/debian/libmpq0.install rename : externals/libmpq/debian/python-mpq.install => dep/libmpq/debian/python-mpq.install rename : externals/libmpq/debian/rules => dep/libmpq/debian/rules rename : externals/libmpq/doc/Makefile.am => dep/libmpq/doc/Makefile.am rename : externals/libmpq/doc/man1/Makefile.am => dep/libmpq/doc/man1/Makefile.am rename : externals/libmpq/doc/man1/libmpq-config.1 => dep/libmpq/doc/man1/libmpq-config.1 rename : externals/libmpq/doc/man3/Makefile.am => dep/libmpq/doc/man3/Makefile.am rename : externals/libmpq/doc/man3/libmpq.3 => dep/libmpq/doc/man3/libmpq.3 rename : externals/libmpq/doc/man3/libmpq__archive_close.3 => dep/libmpq/doc/man3/libmpq__archive_close.3 rename : externals/libmpq/doc/man3/libmpq__archive_files.3 => dep/libmpq/doc/man3/libmpq__archive_files.3 rename : externals/libmpq/doc/man3/libmpq__archive_offset.3 => dep/libmpq/doc/man3/libmpq__archive_offset.3 rename : externals/libmpq/doc/man3/libmpq__archive_open.3 => dep/libmpq/doc/man3/libmpq__archive_open.3 rename : externals/libmpq/doc/man3/libmpq__archive_packed_size.3 => dep/libmpq/doc/man3/libmpq__archive_packed_size.3 rename : externals/libmpq/doc/man3/libmpq__archive_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__archive_unpacked_size.3 rename : externals/libmpq/doc/man3/libmpq__archive_version.3 => dep/libmpq/doc/man3/libmpq__archive_version.3 rename : externals/libmpq/doc/man3/libmpq__block_close_offset.3 => dep/libmpq/doc/man3/libmpq__block_close_offset.3 rename : externals/libmpq/doc/man3/libmpq__block_open_offset.3 => dep/libmpq/doc/man3/libmpq__block_open_offset.3 rename : externals/libmpq/doc/man3/libmpq__block_read.3 => dep/libmpq/doc/man3/libmpq__block_read.3 rename : externals/libmpq/doc/man3/libmpq__block_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__block_unpacked_size.3 rename : externals/libmpq/doc/man3/libmpq__file_blocks.3 => dep/libmpq/doc/man3/libmpq__file_blocks.3 rename : externals/libmpq/doc/man3/libmpq__file_compressed.3 => dep/libmpq/doc/man3/libmpq__file_compressed.3 rename : externals/libmpq/doc/man3/libmpq__file_encrypted.3 => dep/libmpq/doc/man3/libmpq__file_encrypted.3 rename : externals/libmpq/doc/man3/libmpq__file_imploded.3 => dep/libmpq/doc/man3/libmpq__file_imploded.3 rename : externals/libmpq/doc/man3/libmpq__file_number.3 => dep/libmpq/doc/man3/libmpq__file_number.3 rename : externals/libmpq/doc/man3/libmpq__file_offset.3 => dep/libmpq/doc/man3/libmpq__file_offset.3 rename : externals/libmpq/doc/man3/libmpq__file_packed_size.3 => dep/libmpq/doc/man3/libmpq__file_packed_size.3 rename : externals/libmpq/doc/man3/libmpq__file_read.3 => dep/libmpq/doc/man3/libmpq__file_read.3 rename : externals/libmpq/doc/man3/libmpq__file_unpacked_size.3 => dep/libmpq/doc/man3/libmpq__file_unpacked_size.3 rename : externals/libmpq/doc/man3/libmpq__strerror.3 => dep/libmpq/doc/man3/libmpq__strerror.3 rename : externals/libmpq/doc/man3/libmpq__version.3 => dep/libmpq/doc/man3/libmpq__version.3 rename : externals/libmpq/libmpq-config.in => dep/libmpq/libmpq-config.in rename : externals/libmpq/libmpq.pc.in => dep/libmpq/libmpq.pc.in rename : externals/libmpq/libmpq/Makefile.am => dep/libmpq/libmpq/Makefile.am rename : externals/libmpq/libmpq/common.c => dep/libmpq/libmpq/common.c rename : externals/libmpq/libmpq/common.h => dep/libmpq/libmpq/common.h rename : externals/libmpq/libmpq/crypt_buf.h => dep/libmpq/libmpq/crypt_buf.h rename : externals/libmpq/libmpq/explode.c => dep/libmpq/libmpq/explode.c rename : externals/libmpq/libmpq/explode.h => dep/libmpq/libmpq/explode.h rename : externals/libmpq/libmpq/extract.c => dep/libmpq/libmpq/extract.c rename : externals/libmpq/libmpq/extract.h => dep/libmpq/libmpq/extract.h rename : externals/libmpq/libmpq/huffman.c => dep/libmpq/libmpq/huffman.c rename : externals/libmpq/libmpq/huffman.h => dep/libmpq/libmpq/huffman.h rename : externals/libmpq/libmpq/mpq-internal.h => dep/libmpq/libmpq/mpq-internal.h rename : externals/libmpq/libmpq/mpq.c => dep/libmpq/libmpq/mpq.c rename : externals/libmpq/libmpq/mpq.h => dep/libmpq/libmpq/mpq.h rename : externals/libmpq/libmpq/pack_begin.h => dep/libmpq/libmpq/pack_begin.h rename : externals/libmpq/libmpq/pack_end.h => dep/libmpq/libmpq/pack_end.h rename : externals/libmpq/libmpq/platform.h => dep/libmpq/libmpq/platform.h rename : externals/libmpq/libmpq/wave.c => dep/libmpq/libmpq/wave.c rename : externals/libmpq/libmpq/wave.h => dep/libmpq/libmpq/wave.h rename : externals/libmpq/tools/Makefile.am => dep/libmpq/tools/Makefile.am rename : externals/libmpq/tools/crypt_buf_gen.c => dep/libmpq/tools/crypt_buf_gen.c rename : externals/libmpq/win/config.h => dep/libmpq/win/config.h rename : externals/libmpq/win/dirent.h => dep/libmpq/win/dirent.h rename : externals/libmpq/win/stdint.h => dep/libmpq/win/stdint.h rename : externals/mersennetwister/MersenneTwister.h => dep/mersennetwister/MersenneTwister.h rename : externals/sockets/Base64.cpp => dep/sockets/Base64.cpp rename : externals/sockets/CMakeLists.txt => dep/sockets/CMakeLists.txt rename : externals/sockets/Exception.cpp => dep/sockets/Exception.cpp rename : externals/sockets/Ipv4Address.cpp => dep/sockets/Ipv4Address.cpp rename : externals/sockets/Ipv6Address.cpp => dep/sockets/Ipv6Address.cpp rename : externals/sockets/Lock.cpp => dep/sockets/Lock.cpp rename : externals/sockets/Makefile => dep/sockets/Makefile rename : externals/sockets/Mutex.cpp => dep/sockets/Mutex.cpp rename : externals/sockets/Parse.cpp => dep/sockets/Parse.cpp rename : externals/sockets/ResolvServer.cpp => dep/sockets/ResolvServer.cpp rename : externals/sockets/ResolvSocket.cpp => dep/sockets/ResolvSocket.cpp rename : externals/sockets/Socket.cpp => dep/sockets/Socket.cpp rename : externals/sockets/SocketHandler.cpp => dep/sockets/SocketHandler.cpp rename : externals/sockets/StdoutLog.cpp => dep/sockets/StdoutLog.cpp rename : externals/sockets/StreamSocket.cpp => dep/sockets/StreamSocket.cpp rename : externals/sockets/TcpSocket.cpp => dep/sockets/TcpSocket.cpp rename : externals/sockets/Thread.cpp => dep/sockets/Thread.cpp rename : externals/sockets/UdpSocket.cpp => dep/sockets/UdpSocket.cpp rename : externals/sockets/Utility.cpp => dep/sockets/Utility.cpp rename : externals/sockets/include/Base64.h => dep/sockets/include/Base64.h rename : externals/sockets/include/Exception.h => dep/sockets/include/Exception.h rename : externals/sockets/include/File.h => dep/sockets/include/File.h rename : externals/sockets/include/IFile.h => dep/sockets/include/IFile.h rename : externals/sockets/include/ISocketHandler.h => dep/sockets/include/ISocketHandler.h rename : externals/sockets/include/Ipv4Address.h => dep/sockets/include/Ipv4Address.h rename : externals/sockets/include/Ipv6Address.h => dep/sockets/include/Ipv6Address.h rename : externals/sockets/include/ListenSocket.h => dep/sockets/include/ListenSocket.h rename : externals/sockets/include/Lock.h => dep/sockets/include/Lock.h rename : externals/sockets/include/Mutex.h => dep/sockets/include/Mutex.h rename : externals/sockets/include/Parse.h => dep/sockets/include/Parse.h rename : externals/sockets/include/ResolvServer.h => dep/sockets/include/ResolvServer.h rename : externals/sockets/include/ResolvSocket.h => dep/sockets/include/ResolvSocket.h rename : externals/sockets/include/SctpSocket.h => dep/sockets/include/SctpSocket.h rename : externals/sockets/include/Socket.h => dep/sockets/include/Socket.h rename : externals/sockets/include/SocketAddress.h => dep/sockets/include/SocketAddress.h rename : externals/sockets/include/SocketHandler.h => dep/sockets/include/SocketHandler.h rename : externals/sockets/include/StdLog.h => dep/sockets/include/StdLog.h rename : externals/sockets/include/StdoutLog.h => dep/sockets/include/StdoutLog.h rename : externals/sockets/include/StreamSocket.h => dep/sockets/include/StreamSocket.h rename : externals/sockets/include/TcpSocket.h => dep/sockets/include/TcpSocket.h rename : externals/sockets/include/Thread.h => dep/sockets/include/Thread.h rename : externals/sockets/include/UdpSocket.h => dep/sockets/include/UdpSocket.h rename : externals/sockets/include/Utility.h => dep/sockets/include/Utility.h rename : externals/sockets/include/socket_include.h => dep/sockets/include/socket_include.h rename : externals/sockets/include/sockets-config.h => dep/sockets/include/sockets-config.h rename : externals/sockets/network_kist.txt => dep/sockets/network_kist.txt rename : externals/sockets/socket_include.cpp => dep/sockets/socket_include.cpp rename : externals/utf8cpp/utf8.h => dep/utf8cpp/utf8.h rename : externals/utf8cpp/utf8/checked.h => dep/utf8cpp/utf8/checked.h rename : externals/utf8cpp/utf8/core.h => dep/utf8cpp/utf8/core.h rename : externals/utf8cpp/utf8/unchecked.h => dep/utf8cpp/utf8/unchecked.h rename : externals/zlib/CMakeLists.txt => dep/zlib/CMakeLists.txt rename : externals/zlib/adler32.c => dep/zlib/adler32.c rename : externals/zlib/compress.c => dep/zlib/compress.c rename : externals/zlib/crc32.c => dep/zlib/crc32.c rename : externals/zlib/crc32.h => dep/zlib/crc32.h rename : externals/zlib/deflate.c => dep/zlib/deflate.c rename : externals/zlib/deflate.h => dep/zlib/deflate.h rename : externals/zlib/example.c => dep/zlib/example.c rename : externals/zlib/gzclose.c => dep/zlib/gzclose.c rename : externals/zlib/gzguts.h => dep/zlib/gzguts.h rename : externals/zlib/gzlib.c => dep/zlib/gzlib.c rename : externals/zlib/gzread.c => dep/zlib/gzread.c rename : externals/zlib/gzwrite.c => dep/zlib/gzwrite.c rename : externals/zlib/infback.c => dep/zlib/infback.c rename : externals/zlib/inffast.c => dep/zlib/inffast.c rename : externals/zlib/inffast.h => dep/zlib/inffast.h rename : externals/zlib/inffixed.h => dep/zlib/inffixed.h rename : externals/zlib/inflate.c => dep/zlib/inflate.c rename : externals/zlib/inflate.h => dep/zlib/inflate.h rename : externals/zlib/inftrees.c => dep/zlib/inftrees.c rename : externals/zlib/inftrees.h => dep/zlib/inftrees.h rename : externals/zlib/minigzip.c => dep/zlib/minigzip.c rename : externals/zlib/trees.c => dep/zlib/trees.c rename : externals/zlib/trees.h => dep/zlib/trees.h rename : externals/zlib/uncompr.c => dep/zlib/uncompr.c rename : externals/zlib/zconf.h => dep/zlib/zconf.h rename : externals/zlib/zlib.h => dep/zlib/zlib.h rename : externals/zlib/zutil.c => dep/zlib/zutil.c rename : externals/zlib/zutil.h => dep/zlib/zutil.h rename : docs/AuctionHouseBot.txt => doc/AuctionHouseBot.txt rename : docs/EventAI.txt => doc/EventAI.txt rename : docs/HowToScript.txt => doc/HowToScript.txt rename : docs/TextTables.txt => doc/TextTables.txt rename : docs/UnixInstall.txt => doc/UnixInstall.txt rename : docs/gpl-2.0.txt => doc/gpl-2.0.txt
Diffstat (limited to 'externals/ace/OS_NS_Thread.cpp')
-rw-r--r--externals/ace/OS_NS_Thread.cpp5370
1 files changed, 0 insertions, 5370 deletions
diff --git a/externals/ace/OS_NS_Thread.cpp b/externals/ace/OS_NS_Thread.cpp
deleted file mode 100644
index 441d69ebb56..00000000000
--- a/externals/ace/OS_NS_Thread.cpp
+++ /dev/null
@@ -1,5370 +0,0 @@
-#include "ace/OS_NS_Thread.h"
-
-ACE_RCSID (ace,
- OS_NS_Thread,
- "$Id: OS_NS_Thread.cpp 90144 2010-05-14 22:23:14Z mitza $")
-
-#if !defined (ACE_HAS_INLINED_OSCALLS)
-# include "ace/OS_NS_Thread.inl"
-#endif /* ACE_HAS_INLINED_OSCALLS */
-
-#include "ace/OS_NS_stdio.h"
-#include "ace/Sched_Params.h"
-#include "ace/OS_Memory.h"
-#include "ace/OS_Thread_Adapter.h"
-#include "ace/Min_Max.h"
-#include "ace/Object_Manager_Base.h"
-#include "ace/OS_NS_errno.h"
-#include "ace/OS_NS_ctype.h"
-#include "ace/Log_Msg.h" // for ACE_ASSERT
-// This is necessary to work around nasty problems with MVS C++.
-#include "ace/Auto_Ptr.h"
-#include "ace/Thread_Mutex.h"
-#include "ace/Condition_T.h"
-#include "ace/Guard_T.h"
-
-extern "C" void
-ACE_MUTEX_LOCK_CLEANUP_ADAPTER_NAME (void *args)
-{
- ACE_VERSIONED_NAMESPACE_NAME::ACE_OS::mutex_lock_cleanup (args);
-}
-
-
-#if !defined(ACE_WIN32) && defined (__IBMCPP__) && (__IBMCPP__ >= 400)
-# define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
- (*THR_ID = ::_beginthreadex ((void(_Optlink*)(void*))ENTRY_POINT, STACK, STACKSIZE, ARGS), *THR_ID)
-#elif defined (ACE_HAS_WINCE)
-# define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
- CreateThread (0, STACKSIZE, (unsigned long (__stdcall *) (void *)) ENTRY_POINT, ARGS, (FLAGS) & (CREATE_SUSPENDED | STACK_SIZE_PARAM_IS_A_RESERVATION), (unsigned long *) THR_ID)
-#elif defined(ACE_HAS_WTHREADS)
- // Green Hills compiler gets confused when __stdcall is imbedded in
- // parameter list, so we define the type ACE_WIN32THRFUNC_T and use it
- // instead.
- typedef unsigned (__stdcall *ACE_WIN32THRFUNC_T)(void*);
-# define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
- ::_beginthreadex (STACK, STACKSIZE, (ACE_WIN32THRFUNC_T) ENTRY_POINT, ARGS, FLAGS, (unsigned int *) THR_ID)
-#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
-
-/*****************************************************************************/
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-void
-ACE_Thread_ID::to_string (char *thr_string) const
-{
- char format[128]; // Converted format string
- char *fp = 0; // Current format pointer
- fp = format;
- *fp++ = '%'; // Copy in the %
-
-#if defined (ACE_WIN32)
- ACE_OS::strcpy (fp, "u");
- ACE_OS::sprintf (thr_string,
- format,
- static_cast <unsigned> (thread_id_));
-#elif defined (DIGITAL_UNIX)
- ACE_OS::strcpy (fp, "u");
- ACE_OS::sprintf (thr_string, format,
-# if defined (ACE_HAS_THREADS)
- thread_id_
-# else
- thread_id_
-# endif /* ACE_HAS_THREADS */
- );
-#else
-
-# if defined (ACE_MVS) || defined (ACE_TANDEM_T1248_PTHREADS)
- // MVS's pthread_t is a struct... yuck. So use the ACE 5.0
- // code for it.
- ACE_OS::strcpy (fp, "u");
- ACE_OS::sprintf (thr_string, format, thread_handle_);
-# else
- // Yes, this is an ugly C-style cast, but the
- // correct C++ cast is different depending on
- // whether the t_id is an integral type or a pointer
- // type. FreeBSD uses a pointer type, but doesn't
- // have a _np function to get an integral type, like
- // the OSes above.
- ACE_OS::strcpy (fp, "lu");
- ACE_OS::sprintf (thr_string,
- format,
- (unsigned long) thread_handle_);
-# endif /* ACE_MVS || ACE_TANDEM_T1248_PTHREADS */
-
-#endif /* ACE_WIN32 */
-}
-
-/*****************************************************************************/
-
-#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
-
-#if defined (ACE_HAS_TSS_EMULATION)
-u_int ACE_TSS_Emulation::total_keys_ = 0;
-
-ACE_TSS_Keys* ACE_TSS_Emulation::tss_keys_used_ = 0;
-
-ACE_TSS_Emulation::ACE_TSS_DESTRUCTOR
-ACE_TSS_Emulation::tss_destructor_[ACE_TSS_Emulation::ACE_TSS_THREAD_KEYS_MAX]
- = { 0 };
-
-# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
-
-bool ACE_TSS_Emulation::key_created_ = false;
-
-ACE_OS_thread_key_t ACE_TSS_Emulation::native_tss_key_;
-
-/* static */
-# if defined (ACE_HAS_THR_C_FUNC)
-extern "C"
-void
-ACE_TSS_Emulation_cleanup (void *)
-{
- // Really this must be used for ACE_TSS_Emulation code to make the TSS
- // cleanup
-}
-# else
-void
-ACE_TSS_Emulation_cleanup (void *)
-{
- // Really this must be used for ACE_TSS_Emulation code to make the TSS
- // cleanup
-}
-# endif /* ACE_HAS_THR_C_FUNC */
-
-void **
-ACE_TSS_Emulation::tss_base (void* ts_storage[], u_int *ts_created)
-{
- // TSS Singleton implementation.
-
- // Create the one native TSS key, if necessary.
- if (!key_created_)
- {
- // Double-checked lock . . .
- ACE_TSS_BASE_GUARD
-
- if (!key_created_)
- {
- ACE_NO_HEAP_CHECK;
- if (ACE_OS::thr_keycreate_native (&native_tss_key_,
- &ACE_TSS_Emulation_cleanup) != 0)
- {
- ACE_ASSERT (0);
- return 0; // Major problems, this should *never* happen!
- }
- key_created_ = true;
- }
- }
-
- void **old_ts_storage = 0;
-
- // Get the tss_storage from thread-OS specific storage.
- if (ACE_OS::thr_getspecific_native (native_tss_key_,
- (void **) &old_ts_storage) == -1)
- {
- ACE_ASSERT (false);
- return 0; // This should not happen!
- }
-
- // Check to see if this is the first time in for this thread.
- // This block can also be entered after a fork () in the child process.
- if (old_ts_storage == 0)
- {
- if (ts_created)
- *ts_created = 1u;
-
- // Use the ts_storage passed as argument, if non-zero. It is
- // possible that this has been implemented in the stack. At the
- // moment, this is unknown. The cleanup must not do nothing.
- // If ts_storage is zero, allocate (and eventually leak) the
- // storage array.
- if (ts_storage == 0)
- {
- ACE_NO_HEAP_CHECK;
-
- ACE_NEW_RETURN (ts_storage,
- void*[ACE_TSS_THREAD_KEYS_MAX],
- 0);
-
- // Zero the entire TSS array. Do it manually instead of
- // using memset, for optimum speed. Though, memset may be
- // faster :-)
- void **tss_base_p = ts_storage;
-
- for (u_int i = 0;
- i < ACE_TSS_THREAD_KEYS_MAX;
- ++i)
- *tss_base_p++ = 0;
- }
-
- // Store the pointer in thread-specific storage. It gets
- // deleted via the ACE_TSS_Emulation_cleanup function when the
- // thread terminates.
- if (ACE_OS::thr_setspecific_native (native_tss_key_,
- (void *) ts_storage) != 0)
- {
- ACE_ASSERT (false);
- return 0; // This should not happen!
- }
- }
- else
- if (ts_created)
- ts_created = 0;
-
- return ts_storage ? ts_storage : old_ts_storage;
-}
-# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-
-u_int
-ACE_TSS_Emulation::total_keys ()
-{
- ACE_OS_Recursive_Thread_Mutex_Guard (
- *static_cast <ACE_recursive_thread_mutex_t *>
- (ACE_OS_Object_Manager::preallocated_object[
- ACE_OS_Object_Manager::ACE_TSS_KEY_LOCK]));
-
- return total_keys_;
-}
-
-int
-ACE_TSS_Emulation::next_key (ACE_thread_key_t &key)
-{
- ACE_OS_Recursive_Thread_Mutex_Guard (
- *static_cast <ACE_recursive_thread_mutex_t *>
- (ACE_OS_Object_Manager::preallocated_object[
- ACE_OS_Object_Manager::ACE_TSS_KEY_LOCK]));
-
- // Initialize the tss_keys_used_ pointer on first use.
- if (tss_keys_used_ == 0)
- {
- ACE_NEW_RETURN (tss_keys_used_, ACE_TSS_Keys, -1);
- }
-
- if (total_keys_ < ACE_TSS_THREAD_KEYS_MAX)
- {
- u_int counter = 0;
- // Loop through all possible keys and check whether a key is free
- for ( ;counter < ACE_TSS_THREAD_KEYS_MAX; counter++)
- {
- ACE_thread_key_t localkey;
-# if defined (ACE_HAS_NONSCALAR_THREAD_KEY_T)
- ACE_OS::memset (&localkey, 0, sizeof (ACE_thread_key_t));
- ACE_OS::memcpy (&localkey, &counter_, sizeof (u_int));
-# else
- localkey = counter;
-# endif /* ACE_HAS_NONSCALAR_THREAD_KEY_T */
- // If the key is not set as used, we can give out this key, if not
- // we have to search further
- if (tss_keys_used_->is_set(localkey) == 0)
- {
- tss_keys_used_->test_and_set(localkey);
- key = localkey;
- break;
- }
- }
-
- ++total_keys_;
- return 0;
- }
- else
- {
- key = ACE_OS::NULL_key;
- return -1;
- }
-}
-
-int
-ACE_TSS_Emulation::release_key (ACE_thread_key_t key)
-{
- ACE_OS_Recursive_Thread_Mutex_Guard (
- *static_cast <ACE_recursive_thread_mutex_t *>
- (ACE_OS_Object_Manager::preallocated_object[
- ACE_OS_Object_Manager::ACE_TSS_KEY_LOCK]));
-
- if (tss_keys_used_ != 0 &&
- tss_keys_used_->test_and_clear (key) == 0)
- {
- --total_keys_;
- return 0;
- }
- return 1;
-}
-
-int
-ACE_TSS_Emulation::is_key (ACE_thread_key_t key)
-{
- ACE_OS_Recursive_Thread_Mutex_Guard (
- *static_cast <ACE_recursive_thread_mutex_t *>
- (ACE_OS_Object_Manager::preallocated_object[
- ACE_OS_Object_Manager::ACE_TSS_KEY_LOCK]));
-
- if (tss_keys_used_ != 0 &&
- tss_keys_used_->is_set (key) == 1)
- {
- return 1;
- }
- return 0;
-}
-
-void *
-ACE_TSS_Emulation::tss_open (void *ts_storage[ACE_TSS_THREAD_KEYS_MAX])
-{
-# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- // On VxWorks, in particular, don't check to see if the field
- // is 0. It isn't always, specifically, when a program is run
- // directly by the shell (without spawning a new task) after
- // another program has been run.
-
- u_int ts_created = 0;
- tss_base (ts_storage, &ts_created);
- if (ts_created)
- {
-# else /* ! ACE_HAS_THREAD_SPECIFIC_STORAGE */
- tss_base () = ts_storage;
-# endif
-
- // Zero the entire TSS array. Do it manually instead of using
- // memset, for optimum speed. Though, memset may be faster :-)
- void **tss_base_p = tss_base ();
- for (u_int i = 0; i < ACE_TSS_THREAD_KEYS_MAX; ++i, ++tss_base_p)
- {
- *tss_base_p = 0;
- }
-
- return tss_base ();
-# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- }
- else
- {
- return 0;
- }
-# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-}
-
-void
-ACE_TSS_Emulation::tss_close ()
-{
-#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- ACE_OS::thr_keyfree_native (native_tss_key_);
-#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-}
-
-#endif /* ACE_HAS_TSS_EMULATION */
-
-#endif /* WIN32 || ACE_HAS_TSS_EMULATION */
-
-/*****************************************************************************/
-
-#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
-
-// Moved class ACE_TSS_Ref declaration to OS.h so it can be visible to
-// the single file of template instantiations.
-
-ACE_TSS_Ref::ACE_TSS_Ref (ACE_thread_t id)
- : tid_(id)
-{
- ACE_OS_TRACE ("ACE_TSS_Ref::ACE_TSS_Ref");
-}
-
-ACE_TSS_Ref::ACE_TSS_Ref (void)
-{
- ACE_OS_TRACE ("ACE_TSS_Ref::ACE_TSS_Ref");
-}
-
-// Check for equality.
-bool
-ACE_TSS_Ref::operator== (const ACE_TSS_Ref &info) const
-{
- ACE_OS_TRACE ("ACE_TSS_Ref::operator==");
-
- return this->tid_ == info.tid_;
-}
-
-// Check for inequality.
-ACE_SPECIAL_INLINE
-bool
-ACE_TSS_Ref::operator != (const ACE_TSS_Ref &tss_ref) const
-{
- ACE_OS_TRACE ("ACE_TSS_Ref::operator !=");
-
- return !(*this == tss_ref);
-}
-
-// moved class ACE_TSS_Info declaration
-// to OS.h so it can be visible to the
-// single file of template instantiations
-
-ACE_TSS_Info::ACE_TSS_Info (ACE_thread_key_t key,
- ACE_TSS_Info::Destructor dest)
- : key_ (key),
- destructor_ (dest),
- thread_count_ (-1)
-{
- ACE_OS_TRACE ("ACE_TSS_Info::ACE_TSS_Info");
-}
-
-ACE_TSS_Info::ACE_TSS_Info (void)
- : key_ (ACE_OS::NULL_key),
- destructor_ (0),
- thread_count_ (-1)
-{
- ACE_OS_TRACE ("ACE_TSS_Info::ACE_TSS_Info");
-}
-
-# if defined (ACE_HAS_NONSCALAR_THREAD_KEY_T)
-static inline bool operator== (const ACE_thread_key_t &lhs,
- const ACE_thread_key_t &rhs)
-{
- return ! ACE_OS::memcmp (&lhs, &rhs, sizeof (ACE_thread_key_t));
-}
-
-static inline bool operator!= (const ACE_thread_key_t &lhs,
- const ACE_thread_key_t &rhs)
-{
- return ! (lhs == rhs);
-}
-# endif /* ACE_HAS_NONSCALAR_THREAD_KEY_T */
-
-// Check for equality.
-bool
-ACE_TSS_Info::operator== (const ACE_TSS_Info &info) const
-{
- ACE_OS_TRACE ("ACE_TSS_Info::operator==");
-
- return this->key_ == info.key_;
-}
-
-// Check for inequality.
-bool
-ACE_TSS_Info::operator != (const ACE_TSS_Info &info) const
-{
- ACE_OS_TRACE ("ACE_TSS_Info::operator !=");
-
- return !(*this == info);
-}
-
-void
-ACE_TSS_Info::dump (void)
-{
-# if defined (ACE_HAS_DUMP)
- // ACE_OS_TRACE ("ACE_TSS_Info::dump");
-
-# if 0
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("key_ = %u\n"), this->key_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("destructor_ = %u\n"), this->destructor_));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-# endif /* 0 */
-# endif /* ACE_HAS_DUMP */
-}
-
-// Moved class ACE_TSS_Keys declaration to OS.h so it can be visible
-// to the single file of template instantiations.
-
-ACE_TSS_Keys::ACE_TSS_Keys (void)
-{
- for (u_int i = 0; i < ACE_WORDS; ++i)
- {
- key_bit_words_[i] = 0;
- }
-}
-
-ACE_SPECIAL_INLINE
-void
-ACE_TSS_Keys::find (const u_int key, u_int &word, u_int &bit)
-{
- word = key / ACE_BITS_PER_WORD;
- bit = key % ACE_BITS_PER_WORD;
-}
-
-int
-ACE_TSS_Keys::test_and_set (const ACE_thread_key_t key)
-{
- ACE_KEY_INDEX (key_index, key);
- u_int word, bit;
- find (key_index, word, bit);
-
- if (ACE_BIT_ENABLED (key_bit_words_[word], 1 << bit))
- {
- return 1;
- }
- else
- {
- ACE_SET_BITS (key_bit_words_[word], 1 << bit);
- return 0;
- }
-}
-
-int
-ACE_TSS_Keys::test_and_clear (const ACE_thread_key_t key)
-{
- ACE_KEY_INDEX (key_index, key);
- u_int word, bit;
- find (key_index, word, bit);
-
- if (word < ACE_WORDS && ACE_BIT_ENABLED (key_bit_words_[word], 1 << bit))
- {
- ACE_CLR_BITS (key_bit_words_[word], 1 << bit);
- return 0;
- }
- else
- {
- return 1;
- }
-}
-
-int
-ACE_TSS_Keys::is_set (const ACE_thread_key_t key) const
-{
- ACE_KEY_INDEX (key_index, key);
- u_int word, bit;
- find (key_index, word, bit);
-
- return word < ACE_WORDS ? ACE_BIT_ENABLED (key_bit_words_[word], 1 << bit) : 0;
-}
-
-/**
- * @class ACE_TSS_Cleanup
- * @brief Singleton that helps to manage the lifetime of TSS objects and keys.
- */
-class ACE_TSS_Cleanup
-{
-public:
- /// Register a newly-allocated key
- /// @param key the key to be monitored
- /// @param destructor the function to call to delete objects stored via this key
- int insert (ACE_thread_key_t key, void (*destructor)(void *));
-
- /// Mark a key as being used by this thread.
- void thread_use_key (ACE_thread_key_t key);
-
- /// This thread is no longer using this key
- /// call destructor if appropriate
- int thread_detach_key (ACE_thread_key_t key);
-
- /// This key is no longer used
- /// Release key if use count == 0
- /// fail if use_count != 0;
- /// @param key the key to be released
- int free_key (ACE_thread_key_t key);
-
- /// Cleanup the thread-specific objects. Does _NOT_ exit the thread.
- /// For each used key perform the same actions as free_key.
- void thread_exit (void);
-
-private:
- void dump (void);
-
- /// Release a key used by this thread
- /// @param info reference to the info for this key
- /// @param destructor out arg to receive destructor function ptr
- /// @param tss_obj out arg to receive pointer to deletable object
- void thread_release (
- ACE_TSS_Info &info,
- ACE_TSS_Info::Destructor & destructor,
- void *& tss_obj);
-
- /// remove key if it's unused (thread_count == 0)
- /// @param info reference to the info for this key
- int remove_key (ACE_TSS_Info &info);
-
- /// Find the TSS keys (if any) for this thread.
- /// @param thread_keys reference to pointer to be filled in by this function.
- /// @return false if keys don't exist.
- bool find_tss_keys (ACE_TSS_Keys *& thread_keys) const;
-
- /// Accessor for this threads ACE_TSS_Keys instance.
- /// Creates the keys if necessary.
- ACE_TSS_Keys *tss_keys ();
-
- /// Ensure singleton.
- ACE_TSS_Cleanup (void);
- ~ACE_TSS_Cleanup (void);
-
- /// ACE_TSS_Cleanup access only via TSS_Cleanup_Instance
- friend class TSS_Cleanup_Instance;
-
-private:
- // Array of <ACE_TSS_Info> objects.
- typedef ACE_TSS_Info ACE_TSS_TABLE[ACE_DEFAULT_THREAD_KEYS];
- typedef ACE_TSS_Info *ACE_TSS_TABLE_ITERATOR;
-
- /// Table of <ACE_TSS_Info>'s.
- ACE_TSS_TABLE table_;
-
- /// Key for the thread-specific ACE_TSS_Keys
- /// Used by find_tss_keys() or tss_keys() to find the
- /// bit array that records whether each TSS key is in
- /// use by this thread.
- ACE_thread_key_t in_use_;
-};
-
-
-/*****************************************************************************/
-/**
- * @class TSS_Cleanup_Instance
- * @A class to manage an instance pointer to ACE_TSS_Cleanup.
- * Note: that the double checked locking pattern doesn't allow
- * safe deletion.
- * Callers who wish to access the singleton ACE_TSS_Cleanup must
- * do so by instantiating a TSS_Cleanup_Instance, calling the valid
- * method to be sure the ACE_TSS_Cleanup is available, then using
- * the TSS_Cleanup_Instance as a pointer to the instance.
- * Construction argument to the TSS_Cleanup_Instance determines how
- * it is to be used:
- * CREATE means allow this call to create an ACE_TSS_Cleanup if necessary.
- * USE means use the existing ACE_TSS_Cleanup, but do not create a new one.
- * DESTROY means provide exclusive access to the ACE_TSS_Cleanup, then
- * delete it when the TSS_Cleanup_Instance goes out of scope.
- */
-
-class TSS_Cleanup_Instance
-{
-public:
- enum Purpose
- {
- CREATE,
- USE,
- DESTROY
- };
- TSS_Cleanup_Instance (Purpose purpose = USE);
- ~TSS_Cleanup_Instance();
-
- bool valid();
- ACE_TSS_Cleanup * operator ->();
-
-private:
-
- ACE_TSS_Cleanup * operator *();
-
-private:
- static unsigned int reference_count_;
- static ACE_TSS_Cleanup * instance_;
- static ACE_Thread_Mutex* mutex_;
- static ACE_Thread_Condition<ACE_Thread_Mutex>* condition_;
-
-private:
- ACE_TSS_Cleanup * ptr_;
- unsigned short flags_;
- enum
- {
- FLAG_DELETING = 1,
- FLAG_VALID_CHECKED = 2
- };
-};
-
-TSS_Cleanup_Instance::TSS_Cleanup_Instance (Purpose purpose)
- : ptr_(0)
- , flags_(0)
-{
- // During static construction or construction of the ACE_Object_Manager,
- // there can be only one thread in this constructor at any one time, so
- // it's safe to check for a zero mutex_. If it's zero, we create a new
- // mutex and condition variable.
- if (mutex_ == 0)
- {
- ACE_NEW (mutex_, ACE_Thread_Mutex ());
- ACE_NEW (condition_, ACE_Thread_Condition<ACE_Thread_Mutex> (*mutex_));
- }
-
- ACE_Guard<ACE_Thread_Mutex> guard(*mutex_);
-
- if (purpose == CREATE)
- {
- if (instance_ == 0)
- {
- instance_ = new ACE_TSS_Cleanup();
- }
- ptr_ = instance_;
- ++reference_count_;
- }
- else if(purpose == DESTROY)
- {
- if (instance_ != 0)
- {
- ptr_ = instance_;
- instance_ = 0;
- ACE_SET_BITS(flags_, FLAG_DELETING);
- while (reference_count_ > 0)
- {
- condition_->wait();
- }
- }
- }
- else // must be normal use
- {
- ACE_ASSERT(purpose == USE);
- if (instance_ != 0)
- {
- ptr_ = instance_;
- ++reference_count_;
- }
- }
-}
-
-TSS_Cleanup_Instance::~TSS_Cleanup_Instance (void)
-{
- // Variable to hold the mutex_ to delete outside the scope of the
- // guard.
- ACE_Thread_Mutex *del_mutex = 0;
-
- // scope the guard
- {
- ACE_Guard<ACE_Thread_Mutex> guard (*mutex_);
- if (ptr_ != 0)
- {
- if (ACE_BIT_ENABLED (flags_, FLAG_DELETING))
- {
- ACE_ASSERT(instance_ == 0);
- ACE_ASSERT(reference_count_ == 0);
- delete ptr_;
- del_mutex = mutex_ ;
- mutex_ = 0;
- }
- else
- {
- ACE_ASSERT (reference_count_ > 0);
- --reference_count_;
- if (reference_count_ == 0 && instance_ == 0)
- condition_->signal ();
- }
- }
- }// end of guard scope
-
- if (del_mutex != 0)
- {
- delete condition_;
- condition_ = 0;
- delete del_mutex;
- }
-}
-
-bool
-TSS_Cleanup_Instance::valid()
-{
- ACE_SET_BITS(flags_, FLAG_VALID_CHECKED);
- return (this->instance_ != 0);
-}
-
-ACE_TSS_Cleanup *
-TSS_Cleanup_Instance::operator *()
-{
- ACE_ASSERT(ACE_BIT_ENABLED(flags_, FLAG_VALID_CHECKED));
- return instance_;
-}
-
-ACE_TSS_Cleanup *
-TSS_Cleanup_Instance::operator ->()
-{
- ACE_ASSERT(ACE_BIT_ENABLED(flags_, FLAG_VALID_CHECKED));
- return instance_;
-}
-
-// = Static object initialization.
-unsigned int TSS_Cleanup_Instance::reference_count_ = 0;
-ACE_TSS_Cleanup * TSS_Cleanup_Instance::instance_ = 0;
-ACE_Thread_Mutex* TSS_Cleanup_Instance::mutex_ = 0;
-ACE_Thread_Condition<ACE_Thread_Mutex>* TSS_Cleanup_Instance::condition_ = 0;
-
-ACE_TSS_Cleanup::~ACE_TSS_Cleanup (void)
-{
-}
-
-void
-ACE_TSS_Cleanup::thread_exit (void)
-{
- ACE_OS_TRACE ("ACE_TSS_Cleanup::thread_exit");
- // variables to hold the destructors, keys
- // and pointers to the object to be destructed
- // the actual destruction is deferred until the guard is released
- ACE_TSS_Info::Destructor destructor[ACE_DEFAULT_THREAD_KEYS];
- void * tss_obj[ACE_DEFAULT_THREAD_KEYS];
- ACE_thread_key_t keys[ACE_DEFAULT_THREAD_KEYS];
- // count of items to be destroyed
- unsigned int d_count = 0;
-
- // scope the guard
- {
- ACE_TSS_CLEANUP_GUARD
-
- // if not initialized or already cleaned up
- ACE_TSS_Keys *this_thread_keys = 0;
- if (! find_tss_keys (this_thread_keys) )
- {
- return;
- }
-
- // Minor hack: Iterating in reverse order means the LOG buffer which is
- // accidentally allocated first will be accidentally deallocated (almost)
- // last -- in case someone logs something from the other destructors.
- // applications should not count on this behavior because platforms which
- // do not use ACE_TSS_Cleanup may delete objects in other orders.
- unsigned int key_index = ACE_DEFAULT_THREAD_KEYS;
- while( key_index > 0)
- {
- --key_index;
- ACE_TSS_Info & info = this->table_[key_index];
- // if this key is in use by this thread
- if (info.key_in_use () && this_thread_keys->is_set(info.key_))
- {
- // defer deleting the in-use key until all others have been deleted
- if(info.key_ != this->in_use_)
- {
- destructor[d_count] = 0;
- tss_obj[d_count] = 0;
- keys[d_count] = 0;
- this->thread_release (info, destructor[d_count], tss_obj[d_count]);
- if (destructor[d_count] != 0 && tss_obj[d_count] != 0)
- {
- keys[d_count] = info.key_;
- ++d_count;
- }
- }
- }
- }
-
- // remove the in_use bit vector last
- ACE_KEY_INDEX (use_index, this->in_use_);
- ACE_TSS_Info & info = this->table_[use_index];
- destructor[d_count] = 0;
- tss_obj[d_count] = 0;
- keys[d_count] = 0;
- this->thread_release (info, destructor[d_count], tss_obj[d_count]);
- if (destructor[d_count] != 0 && tss_obj[d_count] != 0)
- {
- keys[d_count] = info.key_;
- ++d_count;
- }
- } // end of guard scope
- for (unsigned int d_index = 0; d_index < d_count; ++d_index)
- {
- (*destructor[d_index])(tss_obj[d_index]);
-#if defined (ACE_HAS_TSS_EMULATION)
- ACE_TSS_Emulation::ts_object (keys[d_index]) = 0;
-#else // defined (ACE_HAS_TSS_EMULATION)
- ACE_OS::thr_setspecific_native (keys[d_index], 0);
-#endif // defined (ACE_HAS_TSS_EMULATION)
- }
-}
-
-extern "C" void
-ACE_TSS_Cleanup_keys_destroyer (void *tss_keys)
-{
- delete static_cast <ACE_TSS_Keys *> (tss_keys);
-}
-
-ACE_TSS_Cleanup::ACE_TSS_Cleanup (void)
- : in_use_ (ACE_OS::NULL_key)
-{
- ACE_OS_TRACE ("ACE_TSS_Cleanup::ACE_TSS_Cleanup");
-}
-
-int
-ACE_TSS_Cleanup::insert (ACE_thread_key_t key,
- void (*destructor)(void *))
-{
- ACE_OS_TRACE ("ACE_TSS_Cleanup::insert");
- ACE_TSS_CLEANUP_GUARD
-
- ACE_KEY_INDEX (key_index, key);
- ACE_ASSERT (key_index < ACE_DEFAULT_THREAD_KEYS);
- if (key_index < ACE_DEFAULT_THREAD_KEYS)
- {
- ACE_ASSERT (table_[key_index].thread_count_ == -1);
- table_[key_index] = ACE_TSS_Info (key, destructor);
- table_[key_index].thread_count_ = 0; // inserting it does not use it
- // but it does "allocate" it
- return 0;
- }
- else
- {
- return -1;
- }
-}
-
-int
-ACE_TSS_Cleanup::free_key (ACE_thread_key_t key)
-{
- ACE_OS_TRACE ("ACE_TSS_Cleanup::free_key");
- ACE_TSS_CLEANUP_GUARD
- ACE_KEY_INDEX (key_index, key);
- if (key_index < ACE_DEFAULT_THREAD_KEYS)
- {
- return remove_key (this->table_ [key_index]);
- }
- return -1;
-}
-
-int
-ACE_TSS_Cleanup::remove_key (ACE_TSS_Info &info)
-{
- // assume CLEANUP_GUARD is held by caller
- ACE_OS_TRACE ("ACE_TSS_Cleanup::remove_key");
-
-#if 0 // This was a good idea, but POSIX says it's legal to delete used keys.
- // When this is done, any existing TSS objects controlled by this key are leaked
- // There is no "right thing" to do in this case
-
- // only remove it if all threads are done with it
- if (info.thread_count_ != 0)
- {
- return -1;
- }
-#endif // 0
-
-#if !defined (ACE_HAS_TSS_EMULATION)
- ACE_OS_thread_key_t temp_key = info.key_;
- ACE_OS::thr_keyfree_native (temp_key);
-#endif /* !ACE_HAS_TSS_EMULATION */
- if (info.key_ == this->in_use_)
- {
- this->in_use_ = ACE_OS::NULL_key;
- }
- info.key_in_use (0);
- info.destructor_ = 0;
- return 0;
-}
-
-int
-ACE_TSS_Cleanup::thread_detach_key (ACE_thread_key_t key)
-{
- // variables to hold the destructor and the object to be destructed
- // the actual call is deferred until the guard is released
- ACE_TSS_Info::Destructor destructor = 0;
- void * tss_obj = 0;
-
- // scope the guard
- {
- ACE_TSS_CLEANUP_GUARD
-
- ACE_KEY_INDEX (key_index, key);
- ACE_ASSERT (key_index < sizeof(this->table_)/sizeof(this->table_[0])
- && this->table_[key_index].key_ == key);
- ACE_TSS_Info &info = this->table_ [key_index];
-
- // sanity check
- if (!info.key_in_use ())
- {
- return -1;
- }
-
- this->thread_release (info, destructor, tss_obj);
- } // end of scope for the Guard
- // if there's a destructor and an object to be destroyed
- if (destructor != 0 && tss_obj != 0)
- {
- (*destructor) (tss_obj);
- }
- return 0;
-}
-
-void
-ACE_TSS_Cleanup::thread_release (
- ACE_TSS_Info &info,
- ACE_TSS_Info::Destructor & destructor,
- void *& tss_obj)
-{
- // assume guard is held by caller
- // Find the TSS keys (if any) for this thread
- // do not create them if they don't exist
- ACE_TSS_Keys * thread_keys = 0;
- if (find_tss_keys (thread_keys))
- {
- // if this key is in use by this thread
- if (thread_keys->test_and_clear(info.key_) == 0)
- {
- // save destructor & pointer to tss object
- // until after the guard is released
- destructor = info.destructor_;
- ACE_OS::thr_getspecific (info.key_, &tss_obj);
- ACE_ASSERT (info.thread_count_ > 0);
- --info.thread_count_;
- }
- }
-}
-
-void
-ACE_TSS_Cleanup::thread_use_key (ACE_thread_key_t key)
-{
- // If the key's ACE_TSS_Info in-use bit for this thread is not set,
- // set it and increment the key's thread_count_.
- if (! tss_keys ()->test_and_set (key))
- {
- ACE_TSS_CLEANUP_GUARD
-
- // Retrieve the key's ACE_TSS_Info and increment its thread_count_.
- ACE_KEY_INDEX (key_index, key);
- ACE_TSS_Info &key_info = this->table_ [key_index];
-
- ACE_ASSERT (key_info.key_in_use ());
- ++key_info.thread_count_;
- }
-}
-
-void
-ACE_TSS_Cleanup::dump (void)
-{
-# if defined (ACE_HAS_DUMP)
- // Iterate through all the thread-specific items and dump them all.
-
- ACE_TSS_TABLE_ITERATOR key_info = table_;
- for (unsigned int i = 0;
- i < ACE_DEFAULT_THREAD_KEYS;
- ++key_info, ++i)
- key_info->dump ();
-# endif /* ACE_HAS_DUMP */
-}
-
-bool
-ACE_TSS_Cleanup::find_tss_keys (ACE_TSS_Keys *& tss_keys) const
-{
- if (this->in_use_ == ACE_OS::NULL_key)
- return false;
- if (ACE_OS::thr_getspecific (in_use_,
- reinterpret_cast<void **> (&tss_keys)) == -1)
- {
- ACE_ASSERT (false);
- return false; // This should not happen!
- }
- return tss_keys != 0;
-}
-
-ACE_TSS_Keys *
-ACE_TSS_Cleanup::tss_keys ()
-{
- if (this->in_use_ == ACE_OS::NULL_key)
- {
- ACE_TSS_CLEANUP_GUARD
- // Double-check;
- if (in_use_ == ACE_OS::NULL_key)
- {
- // Initialize in_use_ with a new key.
- if (ACE_OS::thr_keycreate (&in_use_,
- &ACE_TSS_Cleanup_keys_destroyer))
- {
- ACE_ASSERT (false);
- return 0; // Major problems, this should *never* happen!
- }
- }
- }
-
- void *ts_keys = 0;
- if (ACE_OS::thr_getspecific (in_use_, &ts_keys) == -1)
- {
- ACE_ASSERT (false);
- return 0; // This should not happen!
- }
-
- if (ts_keys == 0)
- {
- ACE_NEW_RETURN (ts_keys,
- ACE_TSS_Keys,
- 0);
- // Store the dynamically allocated pointer in thread-specific
- // storage.
- if (ACE_OS::thr_setspecific (in_use_, ts_keys) == -1)
- {
- ACE_ASSERT (false);
- delete reinterpret_cast <ACE_TSS_Keys*> (ts_keys);
- return 0; // Major problems, this should *never* happen!
- }
- }
-
- return reinterpret_cast <ACE_TSS_Keys*>(ts_keys);
-}
-
-#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */
-
-/*****************************************************************************/
-
-// = Static initialization.
-
-// This is necessary to deal with POSIX pthreads insanity. This
-// guarantees that we've got a "zero'd" thread id even when
-// ACE_thread_t, ACE_hthread_t, and ACE_thread_key_t are implemented
-// as structures... Under no circumstances should these be given
-// initial values.
-// Note: these three objects require static construction.
-ACE_thread_t ACE_OS::NULL_thread;
-ACE_hthread_t ACE_OS::NULL_hthread;
-#if defined (ACE_HAS_TSS_EMULATION)
- ACE_thread_key_t ACE_OS::NULL_key = static_cast <ACE_thread_key_t> (-1);
-#else /* ! ACE_HAS_TSS_EMULATION */
- ACE_thread_key_t ACE_OS::NULL_key;
-#endif /* ! ACE_HAS_TSS_EMULATION */
-
-/*****************************************************************************/
-
-void
-ACE_OS::cleanup_tss (const u_int main_thread)
-{
-#if defined (ACE_HAS_TSS_EMULATION) || defined (ACE_WIN32)
- { // scope the cleanup instance
- // Call TSS destructors for current thread.
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- cleanup->thread_exit ();
- }
- }
-#endif /* ACE_HAS_TSS_EMULATION || ACE_WIN32 */
-
- if (main_thread)
- {
-#if !defined (ACE_HAS_TSS_EMULATION) && !defined (ACE_HAS_MINIMAL_ACE_OS)
- // Just close the ACE_Log_Msg for the current (which should be
- // main) thread. We don't have TSS emulation; if there's native
- // TSS, it should call its destructors when the main thread
- // exits.
- ACE_Base_Thread_Adapter::close_log_msg ();
-#endif /* ! ACE_HAS_TSS_EMULATION && ! ACE_HAS_MINIMAL_ACE_OS */
-
-#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
- // Finally, free up the ACE_TSS_Cleanup instance. This method gets
- // called by the ACE_Object_Manager.
- TSS_Cleanup_Instance cleanup(TSS_Cleanup_Instance::DESTROY);
- if (cleanup.valid ())
- {
- ; // the pointer deletes the Cleanup when it goes out of scope
- }
-
-#endif /* WIN32 || ACE_HAS_TSS_EMULATION */
-
-#if defined (ACE_HAS_TSS_EMULATION)
- ACE_TSS_Emulation::tss_close ();
-#endif /* ACE_HAS_TSS_EMULATION */
- }
-}
-
-/*****************************************************************************/
-// CONDITIONS BEGIN
-/*****************************************************************************/
-
-#if defined (ACE_LACKS_COND_T)
-int
-ACE_OS::cond_broadcast (ACE_cond_t *cv)
-{
- ACE_OS_TRACE ("ACE_OS::cond_broadcast");
-# if defined (ACE_HAS_THREADS)
- // The <external_mutex> must be locked before this call is made.
-
- // This is needed to ensure that <waiters_> and <was_broadcast_> are
- // consistent relative to each other.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- bool have_waiters = false;
-
- if (cv->waiters_ > 0)
- {
- // We are broadcasting, even if there is just one waiter...
- // Record the fact that we are broadcasting. This helps the
- // cond_wait() method know how to optimize itself. Be sure to
- // set this with the <waiters_lock_> held.
- cv->was_broadcast_ = 1;
- have_waiters = true;
- }
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
- int result = 0;
- if (have_waiters)
- {
- // Wake up all the waiters.
- if (ACE_OS::sema_post (&cv->sema_, cv->waiters_) == -1)
- result = -1;
- // Wait for all the awakened threads to acquire their part of
- // the counting semaphore.
-# if defined (ACE_VXWORKS)
- else if (ACE_OS::sema_wait (&cv->waiters_done_) == -1)
-# else
- else if (ACE_OS::event_wait (&cv->waiters_done_) == -1)
-# endif /* ACE_VXWORKS */
- result = -1;
- // This is okay, even without the <waiters_lock_> held because
- // no other waiter threads can wake up to access it.
- cv->was_broadcast_ = 0;
- }
- return result;
-# else
- ACE_UNUSED_ARG (cv);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::cond_destroy (ACE_cond_t *cv)
-{
- ACE_OS_TRACE ("ACE_OS::cond_destroy");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_WTHREADS)
- ACE_OS::event_destroy (&cv->waiters_done_);
-# elif defined (ACE_VXWORKS)
- ACE_OS::sema_destroy (&cv->waiters_done_);
-# endif /* ACE_VXWORKS */
- ACE_OS::thread_mutex_destroy (&cv->waiters_lock_);
- return ACE_OS::sema_destroy (&cv->sema_);
-# else
- ACE_UNUSED_ARG (cv);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::cond_init (ACE_cond_t *cv,
- ACE_condattr_t &attributes,
- const char *name, void *arg)
-{
- return
- ACE_OS::cond_init (cv, static_cast<short> (attributes.type), name, arg);
-}
-
-# if defined (ACE_HAS_WCHAR)
-int
-ACE_OS::cond_init (ACE_cond_t *cv,
- ACE_condattr_t &attributes,
- const wchar_t *name, void *arg)
-{
- return
- ACE_OS::cond_init (cv, static_cast<short> (attributes.type), name, arg);
-}
-# endif /* ACE_HAS_WCHAR */
-
-int
-ACE_OS::cond_init (ACE_cond_t *cv, short type, const char *name, void *arg)
-{
- ACE_OS_TRACE ("ACE_OS::cond_init");
-# if defined (ACE_HAS_THREADS)
- cv->waiters_ = 0;
- cv->was_broadcast_ = 0;
-
- int result = 0;
- if (ACE_OS::sema_init (&cv->sema_, 0, type, name, arg) == -1)
- result = -1;
- else if (ACE_OS::thread_mutex_init (&cv->waiters_lock_) == -1)
- result = -1;
-# if defined (ACE_VXWORKS)
- else if (ACE_OS::sema_init (&cv->waiters_done_, 0, type) == -1)
-# else
- else if (ACE_OS::event_init (&cv->waiters_done_) == -1)
-# endif /* ACE_VXWORKS */
- result = -1;
- return result;
-# else
- ACE_UNUSED_ARG (cv);
- ACE_UNUSED_ARG (type);
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (arg);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-# if defined (ACE_HAS_WCHAR)
-int
-ACE_OS::cond_init (ACE_cond_t *cv, short type, const wchar_t *name, void *arg)
-{
- ACE_OS_TRACE ("ACE_OS::cond_init");
-# if defined (ACE_HAS_THREADS)
- cv->waiters_ = 0;
- cv->was_broadcast_ = 0;
-
- int result = 0;
- if (ACE_OS::sema_init (&cv->sema_, 0, type, name, arg) == -1)
- result = -1;
- else if (ACE_OS::thread_mutex_init (&cv->waiters_lock_) == -1)
- result = -1;
-# if defined (ACE_VXWORKS)
- else if (ACE_OS::sema_init (&cv->waiters_done_, 0, type) == -1)
-# else
- else if (ACE_OS::event_init (&cv->waiters_done_) == -1)
-# endif /* ACE_VXWORKS */
- result = -1;
- return result;
-# else
- ACE_UNUSED_ARG (cv);
- ACE_UNUSED_ARG (type);
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (arg);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-# endif /* ACE_HAS_WCHAR */
-
-int
-ACE_OS::cond_signal (ACE_cond_t *cv)
-{
- ACE_OS_TRACE ("ACE_OS::cond_signal");
-# if defined (ACE_HAS_THREADS)
- // If there aren't any waiters, then this is a no-op. Note that
- // this function *must* be called with the <external_mutex> held
- // since other wise there is a race condition that can lead to the
- // lost wakeup bug... This is needed to ensure that the <waiters_>
- // value is not in an inconsistent internal state while being
- // updated by another thread.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- bool const have_waiters = cv->waiters_ > 0;
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- if (have_waiters)
- return ACE_OS::sema_post (&cv->sema_);
- else
- return 0; // No-op
-# else
- ACE_UNUSED_ARG (cv);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::cond_wait (ACE_cond_t *cv,
- ACE_mutex_t *external_mutex)
-{
- ACE_OS_TRACE ("ACE_OS::cond_wait");
-# if defined (ACE_HAS_THREADS)
- // Prevent race conditions on the <waiters_> count.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- ++cv->waiters_;
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- int result = 0;
-
-# if defined (ACE_HAS_SIGNAL_OBJECT_AND_WAIT)
- if (external_mutex->type_ == USYNC_PROCESS)
- // This call will automatically release the mutex and wait on the semaphore.
- ACE_WIN32CALL (ACE_ADAPT_RETVAL (::SignalObjectAndWait (external_mutex->proc_mutex_,
- cv->sema_, INFINITE, FALSE),
- result),
- int, -1, result);
- else
-# endif /* ACE_HAS_SIGNAL_OBJECT_AND_WAIT */
- {
- // We keep the lock held just long enough to increment the count of
- // waiters by one. Note that we can't keep it held across the call
- // to ACE_OS::sema_wait() since that will deadlock other calls to
- // ACE_OS::cond_signal().
- if (ACE_OS::mutex_unlock (external_mutex) != 0)
- return -1;
-
- // Wait to be awakened by a ACE_OS::cond_signal() or
- // ACE_OS::cond_broadcast().
- result = ACE_OS::sema_wait (&cv->sema_);
- }
-
- // Reacquire lock to avoid race conditions on the <waiters_> count.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
-
- // We're ready to return, so there's one less waiter.
- --cv->waiters_;
-
- bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
-
- // Release the lock so that other collaborating threads can make
- // progress.
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- if (result == -1)
- // Bad things happened, so let's just return below.
- /* NOOP */;
-# if defined (ACE_HAS_SIGNAL_OBJECT_AND_WAIT)
- else if (external_mutex->type_ == USYNC_PROCESS)
- {
- if (last_waiter)
-
- // This call atomically signals the <waiters_done_> event and
- // waits until it can acquire the mutex. This is important to
- // prevent unfairness.
- ACE_WIN32CALL (ACE_ADAPT_RETVAL (::SignalObjectAndWait (cv->waiters_done_,
- external_mutex->proc_mutex_,
- INFINITE, FALSE),
- result),
- int, -1, result);
- else
- // We must always regain the <external_mutex>, even when
- // errors occur because that's the guarantee that we give to
- // our callers.
- ACE_OS::mutex_lock (external_mutex);
-
- return result;
- /* NOTREACHED */
- }
-# endif /* ACE_HAS_SIGNAL_OBJECT_AND_WAIT */
- // If we're the last waiter thread during this particular broadcast
- // then let all the other threads proceed.
- else if (last_waiter)
-# if defined (ACE_VXWORKS)
- ACE_OS::sema_post (&cv->waiters_done_);
-# else
- ACE_OS::event_signal (&cv->waiters_done_);
-# endif /* ACE_VXWORKS */
-
- // We must always regain the <external_mutex>, even when errors
- // occur because that's the guarantee that we give to our callers.
- ACE_OS::mutex_lock (external_mutex);
-
- return result;
-# else
- ACE_UNUSED_ARG (cv);
- ACE_UNUSED_ARG (external_mutex);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::cond_timedwait (ACE_cond_t *cv,
- ACE_mutex_t *external_mutex,
- ACE_Time_Value *timeout)
-{
- ACE_OS_TRACE ("ACE_OS::cond_timedwait");
-# if defined (ACE_HAS_THREADS)
- // Handle the easy case first.
- if (timeout == 0)
- return ACE_OS::cond_wait (cv, external_mutex);
-# if defined (ACE_HAS_WTHREADS) || defined (ACE_VXWORKS)
-
- // Prevent race conditions on the <waiters_> count.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- ++cv->waiters_;
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- int result = 0;
- ACE_Errno_Guard error (errno, 0);
- int msec_timeout = 0;
-
- if (timeout != 0 && *timeout != ACE_Time_Value::zero)
- {
- // Note that we must convert between absolute time (which is
- // passed as a parameter) and relative time (which is what
- // WaitForSingleObjects() expects).
- ACE_Time_Value relative_time (*timeout - ACE_OS::gettimeofday ());
-
- // Watchout for situations where a context switch has caused the
- // current time to be > the timeout.
- if (relative_time > ACE_Time_Value::zero)
- msec_timeout = relative_time.msec ();
- }
-
-# if defined (ACE_HAS_SIGNAL_OBJECT_AND_WAIT)
- if (external_mutex->type_ == USYNC_PROCESS)
- // This call will automatically release the mutex and wait on the
- // semaphore.
- result = ::SignalObjectAndWait (external_mutex->proc_mutex_,
- cv->sema_,
- msec_timeout,
- FALSE);
- else
-# endif /* ACE_HAS_SIGNAL_OBJECT_AND_WAIT */
- {
- // We keep the lock held just long enough to increment the count
- // of waiters by one. Note that we can't keep it held across
- // the call to WaitForSingleObject since that will deadlock
- // other calls to ACE_OS::cond_signal().
- if (ACE_OS::mutex_unlock (external_mutex) != 0)
- return -1;
-
- // Wait to be awakened by a ACE_OS::signal() or
- // ACE_OS::broadcast().
-# if defined (ACE_WIN32)
-# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
- result = ::WaitForSingleObject (cv->sema_, msec_timeout);
-# else /* ACE_USES_WINCE_SEMA_SIMULATION */
- // Can't use Win32 API on our simulated semaphores.
- result = ACE_OS::sema_wait (&cv->sema_,
- timeout);
-# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
-# elif defined (ACE_VXWORKS)
- // Inline the call to ACE_OS::sema_wait () because it takes an
- // ACE_Time_Value argument. Avoid the cost of that conversion . . .
- int const ticks_per_sec = ::sysClkRateGet ();
- int const ticks = msec_timeout * ticks_per_sec / ACE_ONE_SECOND_IN_MSECS;
- result = ::semTake (cv->sema_.sema_, ticks);
-# endif /* ACE_WIN32 || VXWORKS */
- }
-
- // Reacquire lock to avoid race conditions.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- --cv->waiters_;
-
- bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
-
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
-# if defined (ACE_WIN32)
- if (result != WAIT_OBJECT_0)
- {
- switch (result)
- {
- case WAIT_TIMEOUT:
- error = ETIME;
- break;
- default:
- error = ::GetLastError ();
- break;
- }
- result = -1;
- }
-# elif defined (ACE_VXWORKS)
- if (result == ERROR)
- {
- switch (errno)
- {
- case S_objLib_OBJ_TIMEOUT:
- error = ETIME;
- break;
- case S_objLib_OBJ_UNAVAILABLE:
- if (msec_timeout == 0)
- error = ETIME;
- break;
- default:
- error = errno;
- break;
- }
- result = -1;
- }
-# endif /* ACE_WIN32 || VXWORKS */
-# if defined (ACE_HAS_SIGNAL_OBJECT_AND_WAIT)
- if (external_mutex->type_ == USYNC_PROCESS)
- {
- if (last_waiter)
- // This call atomically signals the <waiters_done_> event and
- // waits until it can acquire the mutex. This is important to
- // prevent unfairness.
- ACE_WIN32CALL (ACE_ADAPT_RETVAL (::SignalObjectAndWait (cv->waiters_done_,
- external_mutex->proc_mutex_,
- INFINITE, FALSE),
- result),
- int, -1, result);
- else
- // We must always regain the <external_Mutex>, even when
- // errors occur because that's the guarantee that we give to
- // our callers.
- ACE_OS::mutex_lock (external_mutex);
-
- return result;
- /* NOTREACHED */
- }
-# endif /* ACE_HAS_SIGNAL_OBJECT_AND_WAIT */
- // Note that this *must* be an "if" statement rather than an "else
- // if" statement since the caller may have timed out and hence the
- // result would have been -1 above.
- if (last_waiter)
- // Release the signaler/broadcaster if we're the last waiter.
-# if defined (ACE_WIN32)
- ACE_OS::event_signal (&cv->waiters_done_);
-# else
- ACE_OS::sema_post (&cv->waiters_done_);
-# endif /* ACE_WIN32 */
-
- // We must always regain the <external_mutex>, even when errors
- // occur because that's the guarantee that we give to our callers.
- ACE_OS::mutex_lock (external_mutex);
-
- return result;
-# endif /* ACE_HAS_WTHREADS || ACE_HAS_VXWORKS */
-# else
- ACE_UNUSED_ARG (cv);
- ACE_UNUSED_ARG (external_mutex);
- ACE_UNUSED_ARG (timeout);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-#else
-int
-ACE_OS::cond_init (ACE_cond_t *cv, short type, const char *name, void *arg)
-{
- ACE_condattr_t attributes;
- if (ACE_OS::condattr_init (attributes, type) == 0
- && ACE_OS::cond_init (cv, attributes, name, arg) == 0)
- {
- (void) ACE_OS::condattr_destroy (attributes);
- return 0;
- }
- return -1;
-}
-#endif /* ACE_LACKS_COND_T */
-
-#if defined (ACE_WIN32) && defined (ACE_HAS_WTHREADS)
-int
-ACE_OS::cond_timedwait (ACE_cond_t *cv,
- ACE_thread_mutex_t *external_mutex,
- ACE_Time_Value *timeout)
-{
- ACE_OS_TRACE ("ACE_OS::cond_timedwait");
-# if defined (ACE_HAS_THREADS)
- // Handle the easy case first.
- if (timeout == 0)
- return ACE_OS::cond_wait (cv, external_mutex);
-
-# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
- int msec_timeout = 0;
- int result = 0;
-
- ACE_Time_Value relative_time (*timeout - ACE_OS::gettimeofday ());
- // Watchout for situations where a context switch has caused the
- // current time to be > the timeout.
- if (relative_time > ACE_Time_Value::zero)
- msec_timeout = relative_time.msec ();
-
- ACE_OSCALL (ACE_ADAPT_RETVAL (::SleepConditionVariableCS (cv, external_mutex, msec_timeout),
- result),
- int, -1, result);
- return result;
-#else
- // Prevent race conditions on the <waiters_> count.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- ++cv->waiters_;
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- int result = 0;
- int error = 0;
- int msec_timeout = 0;
-
- if (timeout != 0 && *timeout != ACE_Time_Value::zero)
- {
- // Note that we must convert between absolute time (which is
- // passed as a parameter) and relative time (which is what
- // WaitForSingleObjects() expects).
- ACE_Time_Value relative_time (*timeout - ACE_OS::gettimeofday ());
-
- // Watchout for situations where a context switch has caused the
- // current time to be > the timeout.
- if (relative_time > ACE_Time_Value::zero)
- msec_timeout = relative_time.msec ();
- }
-
- // We keep the lock held just long enough to increment the count of
- // waiters by one. Note that we can't keep it held across the call
- // to WaitForSingleObject since that will deadlock other calls to
- // ACE_OS::cond_signal().
- if (ACE_OS::thread_mutex_unlock (external_mutex) != 0)
- return -1;
-
- // Wait to be awakened by a ACE_OS::signal() or ACE_OS::broadcast().
-# if defined (ACE_USES_WINCE_SEMA_SIMULATION)
- // Can't use Win32 API on simulated semaphores.
- result = ACE_OS::sema_wait (&cv->sema_,
- timeout);
-
- if (result == -1 && errno == ETIME)
- result = WAIT_TIMEOUT;
-# else
- result = ::WaitForSingleObject (cv->sema_, msec_timeout);
-# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
-
- // Reacquire lock to avoid race conditions.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
-
- --cv->waiters_;
-
- bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
-
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- if (result != WAIT_OBJECT_0)
- {
- switch (result)
- {
- case WAIT_TIMEOUT:
- error = ETIME;
- break;
- default:
- error = ::GetLastError ();
- break;
- }
- result = -1;
- }
-
- if (last_waiter)
- // Release the signaler/broadcaster if we're the last waiter.
- ACE_OS::event_signal (&cv->waiters_done_);
-
- // We must always regain the <external_mutex>, even when errors
- // occur because that's the guarantee that we give to our callers.
- ACE_OS::thread_mutex_lock (external_mutex);
- errno = error;
- return result;
-# endif
-# else
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::cond_wait (ACE_cond_t *cv,
- ACE_thread_mutex_t *external_mutex)
-{
- ACE_OS_TRACE ("ACE_OS::cond_wait");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::SleepConditionVariableCS (cv, external_mutex, INFINITE), result),
- int, -1);
-#else
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- ++cv->waiters_;
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- int result = 0;
- int error = 0;
-
- // We keep the lock held just long enough to increment the count of
- // waiters by one. Note that we can't keep it held across the call
- // to ACE_OS::sema_wait() since that will deadlock other calls to
- // ACE_OS::cond_signal().
- if (ACE_OS::thread_mutex_unlock (external_mutex) != 0)
- return -1;
-
- // Wait to be awakened by a ACE_OS::cond_signal() or
- // ACE_OS::cond_broadcast().
-# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
- result = ::WaitForSingleObject (cv->sema_, INFINITE);
-# else
- // Can't use Win32 API on simulated semaphores.
- result = ACE_OS::sema_wait (&cv->sema_);
-
- if (result != WAIT_OBJECT_0 && errno == ETIME)
- result = WAIT_TIMEOUT;
-
-# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
-
- // Reacquire lock to avoid race conditions.
- ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
-
- cv->waiters_--;
-
- bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
-
- ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
-
- if (result != WAIT_OBJECT_0)
- {
- switch (result)
- {
- case WAIT_TIMEOUT:
- error = ETIME;
- break;
- default:
- error = ::GetLastError ();
- break;
- }
- }
- else if (last_waiter)
- // Release the signaler/broadcaster if we're the last waiter.
- ACE_OS::event_signal (&cv->waiters_done_);
-
- // We must always regain the <external_mutex>, even when errors
- // occur because that's the guarantee that we give to our callers.
- ACE_OS::thread_mutex_lock (external_mutex);
-
- // Reset errno in case mutex_lock() also fails...
- errno = error;
- return result;
-#endif
-# else
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-# endif /* ACE_HAS_WTHREADS */
-
-/*****************************************************************************/
-// CONDITIONS END
-/*****************************************************************************/
-
-/*****************************************************************************/
-// MUTEXES BEGIN
-/*****************************************************************************/
-
-int
-ACE_OS::mutex_init (ACE_mutex_t *m,
- int lock_scope,
- const char *name,
- ACE_mutexattr_t *attributes,
- LPSECURITY_ATTRIBUTES sa,
- int lock_type)
-{
- // ACE_OS_TRACE ("ACE_OS::mutex_init");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (sa);
-
-# if defined (ACE_PTHREAD_MUTEXATTR_T_INITIALIZE)
- /* Tests show that VxWorks 6.x pthread lib does not only
- * require zeroing of mutex/condition objects to function correctly
- * but also of the attribute objects.
- */
- pthread_mutexattr_t l_attributes = {0};
-# else
- pthread_mutexattr_t l_attributes;
-# endif
-
- if (attributes == 0)
- attributes = &l_attributes;
- int result = 0;
- int attr_init = 0; // have we initialized the local attributes.
-
- // Only do these initializations if the <attributes> parameter
- // wasn't originally set.
- if (attributes == &l_attributes)
- {
- if (ACE_ADAPT_RETVAL (::pthread_mutexattr_init (attributes), result) == 0)
- {
- result = 0;
- attr_init = 1; // we have initialized these attributes
- }
- else
- {
- result = -1; // ACE_ADAPT_RETVAL used it for intermediate status
- }
- }
-
- if (result == 0 && lock_scope != 0)
-{
-# if defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_MUTEXATTR_PSHARED)
- (void) ACE_ADAPT_RETVAL (::pthread_mutexattr_setpshared (attributes,
- lock_scope),
- result);
-# endif /* _POSIX_THREAD_PROCESS_SHARED && !ACE_LACKS_MUTEXATTR_PSHARED */
-}
-
- if (result == 0 && lock_type != 0)
-{
-# if defined (ACE_HAS_RECURSIVE_MUTEXES)
- (void) ACE_ADAPT_RETVAL (::pthread_mutexattr_settype (attributes,
- lock_type),
- result);
-# endif /* ACE_HAS_RECURSIVE_MUTEXES */
-}
-
- if (result == 0)
-{
-# if defined (ACE_PTHREAD_MUTEX_T_INITIALIZE)
- /* VxWorks 6.x API reference states:
- * If the memory for the mutex variable object has been allocated
- * dynamically, it is a good policy to always zero out the
- * block of memory so as to avoid spurious EBUSY return code
- * when calling this routine.
- * Tests shows this to be necessary.
- */
- ACE_OS::memset (m, 0, sizeof (*m));
-# endif
- if (ACE_ADAPT_RETVAL (::pthread_mutex_init (m, attributes), result) == 0)
- result = 0;
- else
- result = -1; // ACE_ADAPT_RETVAL used it for intermediate status
-}
-
- // Only do the deletions if the <attributes> parameter wasn't
- // originally set.
- if (attributes == &l_attributes && attr_init)
- ::pthread_mutexattr_destroy (&l_attributes);
-
- return result;
-# elif defined (ACE_HAS_STHREADS)
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (sa);
- ACE_UNUSED_ARG (lock_type);
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_init (m,
- lock_scope,
- attributes),
- result),
- int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- m->type_ = lock_scope;
-
- SECURITY_ATTRIBUTES sa_buffer;
- SECURITY_DESCRIPTOR sd_buffer;
- switch (lock_scope)
-{
- case USYNC_PROCESS:
-# if defined (ACE_HAS_WINCE)
- // @@todo (brunsch) This idea should be moved into ACE_OS_Win32.
- m->proc_mutex_ =
- ::CreateMutexW (ACE_OS::default_win32_security_attributes_r
- (sa, &sa_buffer, &sd_buffer),
- FALSE,
- ACE_Ascii_To_Wide (name).wchar_rep ());
-# else /* ACE_HAS_WINCE */
- m->proc_mutex_ =
- ::CreateMutexA (ACE_OS::default_win32_security_attributes_r
- (sa, &sa_buffer, &sd_buffer),
- FALSE,
- name);
-# endif /* ACE_HAS_WINCE */
- if (m->proc_mutex_ == 0)
- ACE_FAIL_RETURN (-1);
- else
- {
- // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
- ACE_OS::set_errno_to_last_error ();
- return 0;
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_init (&m->thr_mutex_,
- lock_type,
- name,
- attributes);
- default:
- errno = EINVAL;
- return -1;
-}
- /* NOTREACHED */
-
-# elif defined (ACE_VXWORKS)
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (attributes);
- ACE_UNUSED_ARG (sa);
- ACE_UNUSED_ARG (lock_type);
-
- return (*m = ::semMCreate (lock_scope)) == 0 ? -1 : 0;
-# endif /* ACE_HAS_PTHREADS */
-#else
- ACE_UNUSED_ARG (m);
- ACE_UNUSED_ARG (lock_scope);
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (attributes);
- ACE_UNUSED_ARG (sa);
- ACE_UNUSED_ARG (lock_type);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::mutex_destroy (ACE_mutex_t *m)
-{
- ACE_OS_TRACE ("ACE_OS::mutex_destroy");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_mutex_destroy (m),
- result), int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_destroy (m), result), int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- switch (m->type_)
-{
- case USYNC_PROCESS:
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::CloseHandle (m->proc_mutex_),
- ace_result_),
- int, -1);
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_destroy (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
-}
- /* NOTREACHED */
-# elif defined (ACE_VXWORKS)
- return ::semDelete (*m) == OK ? 0 : -1;
-# endif /* Threads variety case */
-#else
- ACE_UNUSED_ARG (m);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-#if defined (ACE_HAS_WCHAR)
-int
-ACE_OS::mutex_init (ACE_mutex_t *m,
- int lock_scope,
- const wchar_t *name,
- ACE_mutexattr_t *attributes,
- LPSECURITY_ATTRIBUTES sa,
- int lock_type)
-{
-#if defined (ACE_HAS_THREADS) && defined (ACE_HAS_WTHREADS)
- m->type_ = lock_scope;
- SECURITY_ATTRIBUTES sa_buffer;
- SECURITY_DESCRIPTOR sd_buffer;
- switch (lock_scope)
- {
- case USYNC_PROCESS:
- m->proc_mutex_ =
- ::CreateMutexW (ACE_OS::default_win32_security_attributes_r
- (sa, &sa_buffer, &sd_buffer),
- FALSE,
- name);
- if (m->proc_mutex_ == 0)
- ACE_FAIL_RETURN (-1);
- else
- {
- // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
- ACE_OS::set_errno_to_last_error ();
- return 0;
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_init (&m->thr_mutex_,
- lock_type,
- name,
- attributes);
- }
-
- errno = EINVAL;
- return -1;
-#else /* ACE_HAS_THREADS && ACE_HAS_WTHREADS */
- return ACE_OS::mutex_init (m,
- lock_scope,
- ACE_Wide_To_Ascii (name).char_rep (),
- attributes,
- sa,
- lock_type);
-#endif /* ACE_HAS_THREADS && ACE_HAS_WTHREADS */
-}
-#endif /* ACE_HAS_WCHAR */
-
-int
-ACE_OS::mutex_lock (ACE_mutex_t *m)
-{
- // ACE_OS_TRACE ("ACE_OS::mutex_lock");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- // Note, don't use "::" here since the following call is often a macro.
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_lock (m), result),
- int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_lock (m), result), int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- switch (m->type_)
-{
- case USYNC_PROCESS:
- switch (::WaitForSingleObject (m->proc_mutex_, INFINITE))
- {
- //
- // Timeout can't occur, so don't bother checking...
- //
- case WAIT_OBJECT_0:
- case WAIT_ABANDONED:
- // We will ignore abandonments in this method
- // Note that we still hold the lock
- return 0;
- default:
- // This is a hack, we need to find an appropriate mapping...
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_lock (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
-}
- /* NOTREACHED */
-# elif defined (ACE_VXWORKS)
- return ::semTake (*m, WAIT_FOREVER) == OK ? 0 : -1;
-# endif /* Threads variety case */
-#else
- ACE_UNUSED_ARG (m);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::mutex_lock (ACE_mutex_t *m,
- int &abandoned)
-{
- ACE_OS_TRACE ("ACE_OS::mutex_lock");
-#if defined (ACE_HAS_THREADS) && defined (ACE_HAS_WTHREADS)
- abandoned = 0;
- switch (m->type_)
- {
- case USYNC_PROCESS:
- switch (::WaitForSingleObject (m->proc_mutex_, INFINITE))
- {
- //
- // Timeout can't occur, so don't bother checking...
- //
- case WAIT_OBJECT_0:
- return 0;
- case WAIT_ABANDONED:
- abandoned = 1;
- return 0; // something goofed, but we hold the lock ...
- default:
- // This is a hack, we need to find an appropriate mapping...
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_lock (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
- }
- /* NOTREACHED */
-#else
- ACE_UNUSED_ARG (m);
- ACE_UNUSED_ARG (abandoned);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS and ACE_HAS_WTHREADS */
-}
-
-int
-ACE_OS::mutex_lock (ACE_mutex_t *m,
- const ACE_Time_Value &timeout)
-{
-#if defined (ACE_HAS_THREADS) && defined (ACE_HAS_MUTEX_TIMEOUTS)
-
-# if defined (ACE_HAS_PTHREADS)
- int result;
-
- // "timeout" should be an absolute time.
-
- timespec_t ts = timeout; // Calls ACE_Time_Value::operator timespec_t().
-
- // Note that the mutex should not be a recursive one, i.e., it
- // should only be a standard mutex or an error checking mutex.
-
- ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_mutex_timedlock (m, &ts), result), int, -1, result);
-
- // We need to adjust this to make the errno values consistent.
- if (result == -1 && errno == ETIMEDOUT)
- errno = ETIME;
- return result;
-
-# elif defined (ACE_HAS_WTHREADS)
- // Note that we must convert between absolute time (which is passed
- // as a parameter) and relative time (which is what the system call
- // expects).
- ACE_Time_Value relative_time (timeout - ACE_OS::gettimeofday ());
-
- switch (m->type_)
- {
- case USYNC_PROCESS:
- switch (::WaitForSingleObject (m->proc_mutex_,
- relative_time.msec ()))
- {
- case WAIT_OBJECT_0:
- case WAIT_ABANDONED:
- // We will ignore abandonments in this method
- // Note that we still hold the lock
- return 0;
- case WAIT_TIMEOUT:
- errno = ETIME;
- return -1;
- default:
- // This is a hack, we need to find an appropriate mapping...
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- case USYNC_THREAD:
- ACE_NOTSUP_RETURN (-1);
- default:
- errno = EINVAL;
- return -1;
- }
- /* NOTREACHED */
-
-# elif defined (ACE_VXWORKS)
-
- // Note that we must convert between absolute time (which is passed
- // as a parameter) and relative time (which is what the system call
- // expects).
- ACE_Time_Value relative_time (timeout - ACE_OS::gettimeofday ());
-
- int ticks_per_sec = ::sysClkRateGet ();
-
- int ticks = relative_time.sec() * ticks_per_sec +
- relative_time.usec () * ticks_per_sec / ACE_ONE_SECOND_IN_USECS;
- if (::semTake (*m, ticks) == ERROR)
- {
- if (errno == S_objLib_OBJ_TIMEOUT)
- // Convert the VxWorks errno to one that's common for to ACE
- // platforms.
- errno = ETIME;
- else if (errno == S_objLib_OBJ_UNAVAILABLE)
- errno = EBUSY;
- return -1;
- }
- else
- return 0;
-# endif /* ACE_HAS_PTHREADS */
-
-#else
- ACE_UNUSED_ARG (m);
- ACE_UNUSED_ARG (timeout);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS && ACE_HAS_MUTEX_TIMEOUTS */
-}
-
-int
-ACE_OS::mutex_trylock (ACE_mutex_t *m)
-{
- ACE_OS_TRACE ("ACE_OS::mutex_trylock");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- // Note, don't use "::" here since the following call is often a macro.
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_trylock (m), result),
- int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_trylock (m), result), int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- switch (m->type_)
-{
- case USYNC_PROCESS:
- {
- // Try for 0 milliseconds - i.e. nonblocking.
- switch (::WaitForSingleObject (m->proc_mutex_, 0))
- {
- case WAIT_OBJECT_0:
- return 0;
- case WAIT_ABANDONED:
- // We will ignore abandonments in this method. Note that
- // we still hold the lock.
- return 0;
- case WAIT_TIMEOUT:
- errno = EBUSY;
- return -1;
- default:
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_trylock (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
-}
- /* NOTREACHED */
-# elif defined (ACE_VXWORKS)
- if (::semTake (*m, NO_WAIT) == ERROR)
- if (errno == S_objLib_OBJ_UNAVAILABLE)
-{
- // couldn't get the semaphore
- errno = EBUSY;
- return -1;
-}
- else
- // error
- return -1;
- else
- // got the semaphore
- return 0;
-# endif /* Threads variety case */
-#else
- ACE_UNUSED_ARG (m);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::mutex_trylock (ACE_mutex_t *m, int &abandoned)
-{
-#if defined (ACE_HAS_THREADS) && defined (ACE_HAS_WTHREADS)
- abandoned = 0;
- switch (m->type_)
- {
- case USYNC_PROCESS:
- {
- // Try for 0 milliseconds - i.e. nonblocking.
- switch (::WaitForSingleObject (m->proc_mutex_, 0))
- {
- case WAIT_OBJECT_0:
- return 0;
- case WAIT_ABANDONED:
- abandoned = 1;
- return 0; // something goofed, but we hold the lock ...
- case WAIT_TIMEOUT:
- errno = EBUSY;
- return -1;
- default:
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- }
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_trylock (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
- }
- /* NOTREACHED */
-#else
- ACE_UNUSED_ARG (m);
- ACE_UNUSED_ARG (abandoned);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS and ACE_HAS_WTHREADS */
-}
-
-int
-ACE_OS::mutex_unlock (ACE_mutex_t *m)
-{
- ACE_OS_TRACE ("ACE_OS::mutex_unlock");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- // Note, don't use "::" here since the following call is often a macro.
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_unlock (m), result),
- int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_unlock (m), result), int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- switch (m->type_)
-{
- case USYNC_PROCESS:
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::ReleaseMutex (m->proc_mutex_),
- ace_result_),
- int, -1);
- case USYNC_THREAD:
- return ACE_OS::thread_mutex_unlock (&m->thr_mutex_);
- default:
- errno = EINVAL;
- return -1;
-}
- /* NOTREACHED */
-# elif defined (ACE_VXWORKS)
- return ::semGive (*m) == OK ? 0 : -1;
-# endif /* Threads variety case */
-#else
- ACE_UNUSED_ARG (m);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-void
-ACE_OS::mutex_lock_cleanup (void *mutex)
-{
- ACE_OS_TRACE ("ACE_OS::mutex_lock_cleanup");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- ACE_mutex_t *p_lock = (ACE_mutex_t *) mutex;
- ACE_OS::mutex_unlock (p_lock);
-# else
- ACE_UNUSED_ARG (mutex);
-# endif /* ACE_HAS_PTHREADS */
-#else
- ACE_UNUSED_ARG (mutex);
-#endif /* ACE_HAS_THREADS */
-}
-
-/*****************************************************************************/
-// MUTEXES END
-/*****************************************************************************/
-
-/*****************************************************************************/
-// EVENTS BEGIN
-/*****************************************************************************/
-
-int
-ACE_OS::event_destroy (ACE_event_t *event)
-{
-#if defined (ACE_WIN32)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::CloseHandle (*event), ace_result_), int, -1);
-#elif defined (ACE_HAS_THREADS)
- if (event->eventdata_)
- {
- // mutex_destroy()/cond_destroy() are called in a loop if the object
- // is BUSY. This avoids conditions where we fail to destroy these
- // objects because at time of destroy they were just being used in
- // another thread possibly causing deadlocks later on if they keep
- // being used after we're gone.
-
- if (event->eventdata_->type_ == USYNC_PROCESS)
- {
- if (event->name_)
- {
- // Only destroy the event data if we're the ones who initialized
- // it.
-
- int r1, r2;
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- // First destroy the mutex so locking after this will return
- // errors.
- while ((r1 = ACE_OS::mutex_destroy (&event->eventdata_->lock_)) == -1
- && errno == EBUSY)
- {
- ACE_OS::thr_yield ();
- }
-# else
- r1 = ACE_OS::sema_destroy(&event->lock_);
-# endif
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- // Now fix event to manual reset, raise signal and broadcast
- // until is's possible to destroy the condition.
- event->eventdata_->manual_reset_ = 1;
- while ((r2 = ACE_OS::cond_destroy (&event->eventdata_->condition_)) == -1
- && errno == EBUSY)
- {
- event->eventdata_->is_signaled_ = 1;
- ACE_OS::cond_broadcast (&event->eventdata_->condition_);
- ACE_OS::thr_yield ();
- }
-# else
- r2 = ACE_OS::sema_destroy(&event->semaphore_);
-# endif
- ACE_OS::munmap (event->eventdata_,
- sizeof (ACE_eventdata_t));
- ACE_OS::shm_unlink (ACE_TEXT_CHAR_TO_TCHAR(event->name_));
- ACE_OS::free (event->name_);
- return r1 != 0 || r2 != 0 ? -1 : 0;
- }
- else
- {
- ACE_OS::munmap (event->eventdata_,
- sizeof (ACE_eventdata_t));
-# if (!defined (ACE_HAS_PTHREADS) || !defined (_POSIX_THREAD_PROCESS_SHARED) || \
- (defined (ACE_LACKS_MUTEXATTR_PSHARED) && defined (ACE_LACKS_CONDATTR_PSHARED))) && \
- (defined (ACE_USES_FIFO_SEM) || \
- (defined (ACE_HAS_POSIX_SEM) && defined (ACE_HAS_POSIX_SEM_TIMEOUT) && defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::sema_destroy(&event->lock_);
-# endif
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- return 0;
-# else
- return ACE_OS::sema_destroy(&event->semaphore_);
-# endif
- }
- }
- else
- {
- int r1, r2;
- // First destroy the mutex so locking after this will return errors.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- // first destroy the mutex so locking after this will return errors
- while ((r1 = ACE_OS::mutex_destroy (&event->eventdata_->lock_)) == -1
- && errno == EBUSY)
- {
- ACE_OS::thr_yield ();
- }
-# else
- r1 = ACE_OS::sema_destroy(&event->lock_);
-# endif
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- // Now fix event to manual reset, raise signal and broadcast until
- // it's possible to destroy the condition.
- event->eventdata_->manual_reset_ = 1;
- while ((r2 = ACE_OS::cond_destroy (&event->eventdata_->condition_)) == -1
- && errno == EBUSY)
- {
- event->eventdata_->is_signaled_ = 1;
- ACE_OS::cond_broadcast (&event->eventdata_->condition_);
- ACE_OS::thr_yield ();
- }
-# else
- r2 = ACE_OS::sema_destroy(&event->semaphore_);
-# endif
- delete event->eventdata_;
- return r1 != 0 || r2 != 0 ? -1 : 0;
- }
- }
-
- return 0;
-#else
- ACE_UNUSED_ARG (event);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_init (ACE_event_t *event,
- int manual_reset,
- int initial_state,
- int type,
- const char *name,
- void *arg,
- LPSECURITY_ATTRIBUTES sa)
-{
-#if defined (ACE_WIN32)
- ACE_UNUSED_ARG (type);
- ACE_UNUSED_ARG (arg);
- SECURITY_ATTRIBUTES sa_buffer;
- SECURITY_DESCRIPTOR sd_buffer;
-# if defined (ACE_HAS_WINCE)
- // @@todo (brunsch) This idea should be moved into ACE_OS_Win32.
- *event = ::CreateEventW (ACE_OS::default_win32_security_attributes_r
- (sa, &sa_buffer, &sd_buffer),
- manual_reset,
- initial_state,
- ACE_Ascii_To_Wide (name).wchar_rep ());
-# else /* ACE_HAS_WINCE */
- *event = ::CreateEventA (ACE_OS::default_win32_security_attributes_r
- (sa, &sa_buffer, &sd_buffer),
- manual_reset,
- initial_state,
- name);
-# endif /* ACE_HAS_WINCE */
- if (*event == 0)
- ACE_FAIL_RETURN (-1);
- else
- {
- // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
- ACE_OS::set_errno_to_last_error ();
- return 0;
- }
-#elif defined (ACE_HAS_THREADS)
- ACE_UNUSED_ARG (sa);
- event->eventdata_ = 0;
- ACE_eventdata_t* evtdata;
-
- if (type == USYNC_PROCESS)
- {
- const char *name_p = 0;
-# if defined (ACE_SHM_OPEN_REQUIRES_ONE_SLASH)
- char adj_name[MAXPATHLEN];
- if (name[0] != '/')
- {
- adj_name[0] = '/';
- ACE_OS::strsncpy (&adj_name[1], name, MAXPATHLEN-1);
- name_p = adj_name;
- }
- else
- {
- name_p = name;
- }
-# else
- name_p = name;
-# endif /* ACE_SHM_OPEN_REQUIRES_ONE_SLASH */
- int owner = 0;
- // Let's see if the shared memory entity already exists.
- ACE_HANDLE fd = ACE_OS::shm_open (ACE_TEXT_CHAR_TO_TCHAR (name_p),
- O_RDWR | O_CREAT | O_EXCL,
- ACE_DEFAULT_FILE_PERMS);
- if (fd == ACE_INVALID_HANDLE)
- {
- if (errno == EEXIST)
- fd = ACE_OS::shm_open (ACE_TEXT_CHAR_TO_TCHAR (name_p),
- O_RDWR | O_CREAT,
- ACE_DEFAULT_FILE_PERMS);
- if (fd == ACE_INVALID_HANDLE) // Still can't get it.
- return -1;
- }
- else
- {
- // We own this shared memory object! Let's set its size.
- if (ACE_OS::ftruncate (fd, sizeof (ACE_eventdata_t)) == -1)
- {
- ACE_OS::close (fd);
- return -1;
- }
- owner = 1;
- }
-
- evtdata =
- (ACE_eventdata_t *) ACE_OS::mmap (0,
- sizeof (ACE_eventdata_t),
- PROT_RDWR,
- MAP_SHARED,
- fd,
- 0);
- ACE_OS::close (fd);
- if (evtdata == MAP_FAILED)
- {
- if (owner)
- ACE_OS::shm_unlink (ACE_TEXT_CHAR_TO_TCHAR (name_p));
- return -1;
- }
-
- if (owner)
- {
- event->name_ = ACE_OS::strdup (name_p);
- if (event->name_ == 0)
- {
- ACE_OS::shm_unlink (ACE_TEXT_CHAR_TO_TCHAR (name_p));
- return -1;
- }
- event->eventdata_ = evtdata;
- event->eventdata_->type_ = type;
- event->eventdata_->manual_reset_ = manual_reset;
- event->eventdata_->is_signaled_ = initial_state;
- event->eventdata_->auto_event_signaled_ = false;
- event->eventdata_->waiting_threads_ = 0;
- event->eventdata_->signal_count_ = 0;
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- int result = ACE_OS::cond_init (&event->eventdata_->condition_,
- static_cast<short> (type),
- name,
- arg);
-# else
- char sem_name[128];
- ACE_OS::strncpy (sem_name,
- name,
- sizeof (sem_name) - (1 + sizeof ("._ACE_EVTSEM_")));
- ACE_OS::strcat (sem_name, "._ACE_EVTSEM_");
- int result = ACE_OS::sema_init (&event->semaphore_,
- 0,
- type,
- sem_name,
- arg);
-# endif
- if (result == 0)
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- result = ACE_OS::mutex_init (&event->eventdata_->lock_,
- type,
- name,
- (ACE_mutexattr_t *) arg);
-# else
- {
- char lck_name[128];
- ACE_OS::strncpy
- (lck_name,
- name,
- sizeof (lck_name) - (1 + sizeof ("._ACE_EVTLCK_")));
- ACE_OS::strcat (lck_name, "._ACE_EVTLCK_");
- result = ACE_OS::sema_init (&event->lock_,
- 0,
- type,
- lck_name,
- arg);
- if (result == 0)
- result = ACE_OS::sema_post (&event->lock_); /* Initially unlock */
- }
-# endif
- return result;
- }
- else
- {
- int result = 0;
-
- event->name_ = 0;
- event->eventdata_ = evtdata;
-#if (!defined (ACE_HAS_PTHREADS) || !defined (_POSIX_THREAD_PROCESS_SHARED) || defined (ACE_LACKS_CONDATTR_PSHARED)) && \
- (defined (ACE_USES_FIFO_SEM) || \
- (defined (ACE_HAS_POSIX_SEM) && defined (ACE_HAS_POSIX_SEM_TIMEOUT) && !defined (ACE_LACKS_NAMED_POSIX_SEM)))
- char sem_name[128];
- ACE_OS::strncpy (sem_name,
- name,
- sizeof (sem_name) - (1 + sizeof ("._ACE_EVTSEM_")));
- ACE_OS::strcat (sem_name, "._ACE_EVTSEM_");
- result = ACE_OS::sema_init(&event->semaphore_,
- 0,
- type,
- sem_name,
- arg);
-# endif
-
-# if (!defined (ACE_HAS_PTHREADS) || !defined (_POSIX_THREAD_PROCESS_SHARED) || \
- (defined (ACE_LACKS_MUTEXATTR_PSHARED) && defined (ACE_LACKS_CONDATTR_PSHARED))) && \
- (defined (ACE_USES_FIFO_SEM) || \
- (defined (ACE_HAS_POSIX_SEM) && defined (ACE_HAS_POSIX_SEM_TIMEOUT) && defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (result == 0)
- {
- char lck_name[128];
- ACE_OS::strncpy
- (lck_name,
- name,
- sizeof (lck_name) - (1 + sizeof ("._ACE_EVTLCK_")));
- ACE_OS::strcat (lck_name, "._ACE_EVTLCK_");
- result = ACE_OS::sema_init (&event->lock_,
- 0,
- type,
- lck_name,
- arg);
- }
-# endif
- return result;
- }
- }
- else
- {
- ACE_NEW_RETURN (evtdata, ACE_eventdata_t, -1);
- event->name_ = 0;
- event->eventdata_ = evtdata;
- event->eventdata_->type_ = type;
- event->eventdata_->manual_reset_ = manual_reset;
- event->eventdata_->is_signaled_ = initial_state;
- event->eventdata_->auto_event_signaled_ = false;
- event->eventdata_->waiting_threads_ = 0;
- event->eventdata_->signal_count_ = 0;
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- int result = ACE_OS::cond_init (&event->eventdata_->condition_,
- static_cast<short> (type),
- name,
- arg);
-# else
- int result = ACE_OS::sema_init (&event->semaphore_,
- 0,
- type,
- name,
- arg);
-# endif
- if (result == 0)
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- result = ACE_OS::mutex_init (&event->eventdata_->lock_,
- type,
- name,
- (ACE_mutexattr_t *) arg);
-# else
- result = ACE_OS::sema_init (&event->lock_,
- 0,
- type,
- name,
- arg);
- if (result == 0)
- result = ACE_OS::sema_post(&event->lock_); /* initially unlock */
-# endif
-
- return result;
- }
-#else
- ACE_UNUSED_ARG (event);
- ACE_UNUSED_ARG (manual_reset);
- ACE_UNUSED_ARG (initial_state);
- ACE_UNUSED_ARG (type);
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (arg);
- ACE_UNUSED_ARG (sa);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_pulse (ACE_event_t *event)
-{
-#if defined (ACE_WIN32)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::PulseEvent (*event), ace_result_), int, -1);
-#elif defined (ACE_HAS_THREADS)
- int result = 0;
- int error = 0;
-
- // grab the lock first
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) == 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) == 0)
-# endif
- {
- if (event->eventdata_->waiting_threads_ > 0)
- {
- // Manual-reset event.
- if (event->eventdata_->manual_reset_ == 1)
- {
- // Wakeup all waiters.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::cond_broadcast (&event->eventdata_->condition_) != 0)
- {
- result = -1;
- error = errno;
- }
- if (result == 0)
- event->eventdata_->signal_count_ = event->eventdata_->waiting_threads_;
-# else
- event->eventdata_->signal_count_ = event->eventdata_->waiting_threads_;
- for (unsigned long i=0; i<event->eventdata_->signal_count_ ;++i)
- if (ACE_OS::sema_post(&event->semaphore_) != 0)
- {
- event->eventdata_->signal_count_ = 0;
- result = -1;
- error = errno;
- }
-
- if (result == 0)
- while(event->eventdata_->signal_count_!=0 && event->eventdata_->waiting_threads_!=0)
- ACE_OS::thr_yield ();
-# endif
- }
- // Auto-reset event: wakeup one waiter.
- else
- {
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::cond_signal (&event->eventdata_->condition_) != 0)
-# else
- if (ACE_OS::sema_post(&event->semaphore_) != 0)
-# endif
- {
- result = -1;
- error = errno;
- }
-
- event->eventdata_->auto_event_signaled_ = true;
- }
- }
-
- // Reset event.
- event->eventdata_->is_signaled_ = 0;
-
- // Now we can let go of the lock.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::mutex_unlock (&event->eventdata_->lock_);
-# else
- ACE_OS::sema_post (&event->lock_);
-# endif
- if (result == -1)
- // Reset errno in case mutex_unlock() also fails...
- errno = error;
- }
- else
- result = -1;
- return result;
-#else
- ACE_UNUSED_ARG (event);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_reset (ACE_event_t *event)
-{
-#if defined (ACE_WIN32)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::ResetEvent (*event), ace_result_), int, -1);
-#elif defined (ACE_HAS_THREADS)
- int result = 0;
-
- // Grab the lock first.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) == 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) == 0)
-# endif
- {
- // Reset event.
- event->eventdata_->is_signaled_ = 0;
- event->eventdata_->auto_event_signaled_ = false;
-
- // Now we can let go of the lock.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::mutex_unlock (&event->eventdata_->lock_);
-# else
- ACE_OS::sema_post (&event->lock_);
-# endif
- }
- else
- result = -1;
- return result;
-#else
- ACE_UNUSED_ARG (event);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_signal (ACE_event_t *event)
-{
-#if defined (ACE_WIN32)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::SetEvent (*event), ace_result_), int, -1);
-#elif defined (ACE_HAS_THREADS)
- int result = 0;
- int error = 0;
-
- // grab the lock first
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) == 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) == 0)
-# endif
- {
- // Manual-reset event.
- if (event->eventdata_->manual_reset_ == 1)
- {
- // wakeup all
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::cond_broadcast (&event->eventdata_->condition_) != 0)
- {
- result = -1;
- error = errno;
- }
-# else
- if (ACE_OS::sema_post(&event->semaphore_) != 0)
- {
- result = -1;
- error = errno;
- }
-# endif
-
- if (result == 0)
- // signal event
- event->eventdata_->is_signaled_ = 1;
- }
- // Auto-reset event
- else
- {
- if (event->eventdata_->waiting_threads_ == 0)
- // No waiters: signal event.
- event->eventdata_->is_signaled_ = 1;
- // Waiters: wakeup one waiter.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- else if (ACE_OS::cond_signal (&event->eventdata_->condition_) != 0)
-# else
- else if (ACE_OS::sema_post(&event->semaphore_) != 0)
-# endif
- {
- result = -1;
- error = errno;
- }
-
- event->eventdata_->auto_event_signaled_ = true;
- }
-
- // Now we can let go of the lock.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::mutex_unlock (&event->eventdata_->lock_);
-# else
- ACE_OS::sema_post (&event->lock_);
-# endif
-
- if (result == -1)
- // Reset errno in case mutex_unlock() also fails...
- errno = error;
- }
- else
- result = -1;
-
- return result;
-#else
- ACE_UNUSED_ARG (event);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_timedwait (ACE_event_t *event,
- ACE_Time_Value *timeout,
- int use_absolute_time)
-{
- if (timeout == 0)
- // Wait indefinitely.
- return ACE_OS::event_wait (event);
-
-#if defined (ACE_WIN32)
- DWORD result;
-
- if (*timeout == ACE_Time_Value::zero)
- // Do a "poll".
- result = ::WaitForSingleObject (*event, 0);
- else
- {
- // Wait for upto <relative_time> number of milliseconds. Note
- // that we must convert between absolute time (which is passed
- // as a parameter) and relative time (which is what
- // WaitForSingleObjects() expects).
- // <timeout> parameter is given in absolute or relative value
- // depending on parameter <use_absolute_time>.
- int msec_timeout = 0;
- if (use_absolute_time)
- {
- // Time is given in absolute time, we should use
- // gettimeofday() to calculate relative time
- ACE_Time_Value relative_time (*timeout - ACE_OS::gettimeofday ());
-
- // Watchout for situations where a context switch has caused
- // the current time to be > the timeout. Thanks to Norbert
- // Rapp <NRapp@nexus-informatics.de> for pointing this.
- if (relative_time > ACE_Time_Value::zero)
- msec_timeout = relative_time.msec ();
- }
- else
- // time is given in relative time, just convert it into
- // milliseconds and use it
- msec_timeout = timeout->msec ();
- result = ::WaitForSingleObject (*event, msec_timeout);
- }
-
- switch (result)
- {
- case WAIT_OBJECT_0:
- return 0;
- case WAIT_TIMEOUT:
- errno = ETIME;
- return -1;
- default:
- // This is a hack, we need to find an appropriate mapping...
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
-#elif defined (ACE_HAS_THREADS)
- int result = 0;
- int error = 0;
-
- // grab the lock first
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) == 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) == 0)
-# endif
- {
- if (event->eventdata_->is_signaled_ == 1)
- // event is currently signaled
- {
- if (event->eventdata_->manual_reset_ == 0)
- {
- // AUTO: reset state
- event->eventdata_->is_signaled_ = 0;
- event->eventdata_->auto_event_signaled_ = false;
- }
- }
- else
- // event is currently not signaled
- {
- event->eventdata_->waiting_threads_++;
-
- ACE_Time_Value absolute_timeout = *timeout;
-
- // cond_timewait() expects absolute time, check
- // <use_absolute_time> flag.
- if (use_absolute_time == 0)
- absolute_timeout += ACE_OS::gettimeofday ();
-
- while (event->eventdata_->is_signaled_ == 0 &&
- event->eventdata_->auto_event_signaled_ == false)
- {
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::cond_timedwait (&event->eventdata_->condition_,
- &event->eventdata_->lock_,
- &absolute_timeout) != 0)
- {
- result = -1;
- error = errno;
- break;
- }
-
- if (event->eventdata_->signal_count_ > 0)
- {
- event->eventdata_->signal_count_--;
- break;
- }
-# else
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_MUTEXATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && (!defined (ACE_HAS_POSIX_SEM) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_unlock (&event->eventdata_->lock_) != 0)
-# else
- if (ACE_OS::sema_post (&event->lock_) != 0)
-# endif
- {
- event->eventdata_->waiting_threads_--;
- return -1;
- }
-
- if (ACE_OS::sema_wait(&event->semaphore_, absolute_timeout) !=0)
- {
- result = -1;
- if (errno == ETIMEDOUT) // Semaphores time out with ETIMEDOUT (POSIX)
- error = ETIME;
- else
- error = errno;
- }
-
- bool signalled = false;
- if (result == 0 && event->eventdata_->signal_count_ > 0)
- {
- event->eventdata_->signal_count_--;
- signalled = true;
- }
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_MUTEXATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && (!defined (ACE_HAS_POSIX_SEM) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) != 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) != 0)
-# endif
- {
- event->eventdata_->waiting_threads_--; // yes, I know it's not save
- return -1;
- }
-
- if (result)
- break;
-
- if (event->eventdata_->manual_reset_ == 1 && event->eventdata_->is_signaled_ == 1)
- if (ACE_OS::sema_post(&event->semaphore_) != 0)
- {
- result = -1;
- error = errno;
- break;
- }
-
- if (signalled)
- break;
-# endif
- }
-
- // Reset the auto_event_signaled_ to false now that we have
- // woken up.
- if (event->eventdata_->auto_event_signaled_ == true)
- event->eventdata_->auto_event_signaled_ = false;
-
- event->eventdata_->waiting_threads_--;
- }
-
- // Now we can let go of the lock.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::mutex_unlock (&event->eventdata_->lock_);
-# else
- ACE_OS::sema_post (&event->lock_);
-# endif
-
- if (result == -1)
- // Reset errno in case mutex_unlock() also fails...
- errno = error;
- }
- else
- result = -1;
- return result;
-#else
- ACE_UNUSED_ARG (event);
- ACE_UNUSED_ARG (timeout);
- ACE_UNUSED_ARG (use_absolute_time);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-int
-ACE_OS::event_wait (ACE_event_t *event)
-{
-#if defined (ACE_WIN32)
- switch (::WaitForSingleObject (*event, INFINITE))
- {
- case WAIT_OBJECT_0:
- return 0;
- default:
- {
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
- }
-#elif defined (ACE_HAS_THREADS)
- int result = 0;
- int error = 0;
-
- // grab the lock first
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) == 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) == 0)
-# endif
- {
- if (event->eventdata_->is_signaled_ == 1)
- // Event is currently signaled.
- {
- if (event->eventdata_->manual_reset_ == 0)
- // AUTO: reset state
- event->eventdata_->is_signaled_ = 0;
- }
- else // event is currently not signaled
- {
- event->eventdata_->waiting_threads_++;
-
- while (event->eventdata_->is_signaled_ == 0 &&
- event->eventdata_->auto_event_signaled_ == false)
- {
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::cond_wait (&event->eventdata_->condition_,
- &event->eventdata_->lock_) != 0)
- {
- result = -1;
- error = errno;
- // Something went wrong...
- break;
- }
- if (event->eventdata_->signal_count_ > 0)
- {
- event->eventdata_->signal_count_--;
- break;
- }
-# else
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_MUTEXATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && (!defined (ACE_HAS_POSIX_SEM) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_unlock (&event->eventdata_->lock_) != 0)
-# else
- if (ACE_OS::sema_post (&event->lock_) != 0)
-# endif
- {
- event->eventdata_->waiting_threads_--;
- return -1;
- }
-
- if (ACE_OS::sema_wait (&event->semaphore_) !=0)
- {
- result = -1;
- error = errno;
- }
-
- bool signalled = false;
- if (result == 0 && event->eventdata_->signal_count_ > 0)
- {
- event->eventdata_->signal_count_--;
- signalled = true;
- }
-
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_MUTEXATTR_PSHARED)) || \
- (!defined (ACE_USES_FIFO_SEM) && (!defined (ACE_HAS_POSIX_SEM) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- if (ACE_OS::mutex_lock (&event->eventdata_->lock_) != 0)
-# else
- if (ACE_OS::sema_wait (&event->lock_) != 0)
-# endif
- {
- event->eventdata_->waiting_threads_--;
- return -1;
- }
-
- if (result)
- break;
-
- if (event->eventdata_->manual_reset_ == 1 && event->eventdata_->is_signaled_ == 1)
- if (ACE_OS::sema_post(&event->semaphore_) != 0)
- {
- result = -1;
- error = errno;
- break;
- }
-
- if (signalled)
- break;
-# endif
- }
-
- // Reset it since we have woken up.
- if (event->eventdata_->auto_event_signaled_ == true)
- event->eventdata_->auto_event_signaled_ = false;
-
- event->eventdata_->waiting_threads_--;
- }
-
- // Now we can let go of the lock.
-# if (defined (ACE_HAS_PTHREADS) && defined (_POSIX_THREAD_PROCESS_SHARED) && \
- (!defined (ACE_LACKS_MUTEXATTR_PSHARED) || !defined (ACE_LACKS_CONDATTR_PSHARED))) || \
- (!defined (ACE_USES_FIFO_SEM) && \
- (!defined (ACE_HAS_POSIX_SEM) || !defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_LACKS_NAMED_POSIX_SEM)))
- ACE_OS::mutex_unlock (&event->eventdata_->lock_);
-# else
- ACE_OS::sema_post (&event->lock_);
-# endif
-
- if (result == -1)
- // Reset errno in case mutex_unlock() also fails...
- errno = error;
- }
- else
- result = -1;
- return result;
-#else
- ACE_UNUSED_ARG (event);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 */
-}
-
-/*****************************************************************************/
-// EVENTS END
-/*****************************************************************************/
-
-int
-ACE_OS::lwp_getparams (ACE_Sched_Params &sched_params)
-{
-#if defined (ACE_HAS_STHREADS) || defined (sun)
- // Get the class TS and RT class IDs.
- ACE_id_t rt_id;
- ACE_id_t ts_id;
- if (ACE_OS::scheduling_class ("RT", rt_id) == -1
- || ACE_OS::scheduling_class ("TS", ts_id) == -1)
- return -1;
-
- // Get this LWP's scheduling parameters.
- pcparms_t pcparms;
- // The following is just to avoid Purify warnings about unitialized
- // memory reads.
- ACE_OS::memset (&pcparms, 0, sizeof pcparms);
- pcparms.pc_cid = PC_CLNULL;
-
- if (ACE_OS::priority_control (P_LWPID,
- P_MYID,
- PC_GETPARMS,
- (char *) &pcparms) == -1)
- return -1;
- else if (pcparms.pc_cid == rt_id)
- {
- // RT class.
- rtparms_t rtparms;
- ACE_OS::memcpy (&rtparms, pcparms.pc_clparms, sizeof rtparms);
-
- sched_params.policy (ACE_SCHED_FIFO);
- sched_params.priority (rtparms.rt_pri);
- sched_params.scope (ACE_SCOPE_THREAD);
- ACE_Time_Value quantum (rtparms.rt_tqsecs,
- rtparms.rt_tqnsecs == RT_TQINF
- ? 0 : rtparms.rt_tqnsecs * 1000);
- sched_params.quantum (quantum);
- return 0;
- }
- else if (pcparms.pc_cid == ts_id)
- {
- /* TS class */
- tsparms_t tsparms;
- ACE_OS::memcpy (&tsparms, pcparms.pc_clparms, sizeof tsparms);
-
- sched_params.policy (ACE_SCHED_OTHER);
- sched_params.priority (tsparms.ts_upri);
- sched_params.scope (ACE_SCOPE_THREAD);
- return 0;
- }
- else
- return -1;
-
-#else /* ! ACE_HAS_STHREADS && ! sun */
- ACE_UNUSED_ARG (sched_params);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ! ACE_HAS_STHREADS && ! sun */
-}
-
-int
-ACE_OS::lwp_setparams (const ACE_Sched_Params &sched_params)
-{
-#if defined (ACE_HAS_STHREADS) || defined (sun)
- ACE_Sched_Params lwp_params (sched_params);
- lwp_params.scope (ACE_SCOPE_LWP);
- return ACE_OS::sched_params (lwp_params);
-#else /* ! ACE_HAS_STHREADS && ! sun */
- ACE_UNUSED_ARG (sched_params);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ! ACE_HAS_STHREADS && ! sun */
-}
-
-#if !defined (ACE_HAS_THREADS) || (defined (ACE_LACKS_RWLOCK_T) && \
- !defined (ACE_HAS_PTHREADS_UNIX98_EXT))
-int
-ACE_OS::rwlock_init (ACE_rwlock_t *rw,
- int type,
- const ACE_TCHAR *name,
- void *arg)
-{
- // ACE_OS_TRACE ("ACE_OS::rwlock_init");
-# if defined (ACE_HAS_THREADS) && defined (ACE_LACKS_RWLOCK_T)
- // NT, POSIX, and VxWorks don't support this natively.
- ACE_UNUSED_ARG (name);
- int result = -1;
-
- // Since we cannot use the user specified name for all three
- // objects, we will create three completely new names.
- ACE_TCHAR name1[ACE_UNIQUE_NAME_LEN];
- ACE_TCHAR name2[ACE_UNIQUE_NAME_LEN];
- ACE_TCHAR name3[ACE_UNIQUE_NAME_LEN];
- ACE_TCHAR name4[ACE_UNIQUE_NAME_LEN];
-
- ACE_OS::unique_name ((const void *) &rw->lock_,
- name1,
- ACE_UNIQUE_NAME_LEN);
- ACE_OS::unique_name ((const void *) &rw->waiting_readers_,
- name2,
- ACE_UNIQUE_NAME_LEN);
- ACE_OS::unique_name ((const void *) &rw->waiting_writers_,
- name3,
- ACE_UNIQUE_NAME_LEN);
- ACE_OS::unique_name ((const void *) &rw->waiting_important_writer_,
- name4,
- ACE_UNIQUE_NAME_LEN);
-
- ACE_condattr_t attributes;
- if (ACE_OS::condattr_init (attributes, type) == 0)
- {
- if (ACE_OS::mutex_init (&rw->lock_, type, name1,
- (ACE_mutexattr_t *) arg) == 0
- && ACE_OS::cond_init (&rw->waiting_readers_,
- attributes, name2, arg) == 0
- && ACE_OS::cond_init (&rw->waiting_writers_,
- attributes, name3, arg) == 0
- && ACE_OS::cond_init (&rw->waiting_important_writer_,
- attributes, name4, arg) == 0)
- {
- // Success!
- rw->ref_count_ = 0;
- rw->num_waiting_writers_ = 0;
- rw->num_waiting_readers_ = 0;
- rw->important_writer_ = false;
- result = 0;
- }
- ACE_OS::condattr_destroy (attributes);
- }
-
- if (result == -1)
- {
- // Save/restore errno.
- ACE_Errno_Guard error (errno);
- ACE_OS::mutex_destroy (&rw->lock_);
- ACE_OS::cond_destroy (&rw->waiting_readers_);
- ACE_OS::cond_destroy (&rw->waiting_writers_);
- ACE_OS::cond_destroy (&rw->waiting_important_writer_);
- }
- return result;
-# else
- ACE_UNUSED_ARG (rw);
- ACE_UNUSED_ARG (type);
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (arg);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-#endif /* ! ACE_HAS_THREADS || ACE_LACKS_RWLOCK_T */
-
-int
-ACE_OS::sched_params (const ACE_Sched_Params &sched_params,
- ACE_id_t id)
-{
- ACE_OS_TRACE ("ACE_OS::sched_params");
-#if defined (ACE_HAS_STHREADS)
- return ACE_OS::set_scheduling_params (sched_params, id);
-#elif defined (ACE_HAS_PTHREADS) && \
- (!defined (ACE_LACKS_SETSCHED) || defined (ACE_TANDEM_T1248_PTHREADS) || \
- defined (ACE_HAS_PTHREAD_SCHEDPARAM))
- if (sched_params.quantum () != ACE_Time_Value::zero)
- {
- // quantums not supported
- errno = EINVAL;
- return -1;
- }
-
- // Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- // providing this code for 1003.1c PThreads. Please note that this
- // has only been tested for POSIX 1003.1c threads, and may cause
- // problems with other PThreads flavors!
-
- struct sched_param param;
- param.sched_priority = sched_params.priority ();
-
- if (sched_params.scope () == ACE_SCOPE_PROCESS)
- {
-# if defined(ACE_TANDEM_T1248_PTHREADS) || defined (ACE_HAS_PTHREAD_SCHEDPARAM)
- ACE_UNUSED_ARG (id);
- ACE_NOTSUP_RETURN (-1);
-# else /* ! ACE_TANDEM_T1248_PTHREADS */
- int result = ::sched_setscheduler (id == ACE_SELF ? 0 : id,
- sched_params.policy (),
- &param) == -1 ? -1 : 0;
-# if defined (DIGITAL_UNIX)
- return result == 0
- ? // Use priocntl (2) to set the process in the RT class,
- // if using an RT policy.
- ACE_OS::set_scheduling_params (sched_params)
- : result;
-# else /* ! DIGITAL_UNIX */
- return result;
-# endif /* ! DIGITAL_UNIX */
-# endif /* ! ACE_TANDEM_T1248_PTHREADS */
- }
- else if (sched_params.scope () == ACE_SCOPE_THREAD)
- {
- ACE_thread_t thr_id = ACE_OS::thr_self ();
-
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam (thr_id,
- sched_params.policy (),
- &param),
- result),
- int, -1);
- }
-# if defined (sun)
- // We need to be able to set LWP priorities on Suns, even without
- // ACE_HAS_STHREADS, to obtain preemption.
- else if (sched_params.scope () == ACE_SCOPE_LWP)
- return ACE_OS::set_scheduling_params (sched_params, id);
-# endif /* sun */
- else // sched_params.scope () == ACE_SCOPE_LWP, which isn't POSIX
- {
- errno = EINVAL;
- return -1;
- }
-
-#elif defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
-
- // PharLap ETS can act on the current thread - it can set the
- // quantum also, unlike Win32. All this only works on the RT
- // version.
-# if defined (ACE_HAS_PHARLAP_RT)
- if (id != ACE_SELF)
- ACE_NOTSUP_RETURN (-1);
-
-# if !defined (ACE_PHARLAP_LABVIEW_RT)
- if (sched_params.quantum() != ACE_Time_Value::zero)
- EtsSetTimeSlice (sched_params.quantum().msec());
-# endif
-
-# else
-
- if (sched_params.quantum () != ACE_Time_Value::zero)
- {
- // I don't know of a way to set the quantum on Win32.
- errno = EINVAL;
- return -1;
- }
-
-# endif /* ACE_HAS_PHARLAP_RT */
-
- if (sched_params.scope () == ACE_SCOPE_THREAD)
- {
-
- // Setting the REALTIME_PRIORITY_CLASS on Windows is almost always
- // a VERY BAD THING. This include guard will allow people
- // to easily disable this feature in ACE.
- // It won't work at all for Pharlap since there's no SetPriorityClass.
-#if !defined (ACE_HAS_PHARLAP) && \
- !defined (ACE_DISABLE_WIN32_INCREASE_PRIORITY)
- // Set the priority class of this process to the REALTIME process class
- // _if_ the policy is ACE_SCHED_FIFO. Otherwise, set to NORMAL.
- if (!::SetPriorityClass (::GetCurrentProcess (),
- (sched_params.policy () == ACE_SCHED_FIFO ||
- sched_params.policy () == ACE_SCHED_RR)
- ? REALTIME_PRIORITY_CLASS
- : NORMAL_PRIORITY_CLASS))
- {
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
-#endif /* ACE_DISABLE_WIN32_INCREASE_PRIORITY */
-
- // Now that we have set the priority class of the process, set the
- // priority of the current thread to the desired value.
- return ACE_OS::thr_setprio (sched_params.priority ());
- }
- else if (sched_params.scope () == ACE_SCOPE_PROCESS)
- {
-
-# if defined (ACE_HAS_PHARLAP_RT)
- ACE_NOTSUP_RETURN (-1);
-# else
- HANDLE hProcess
- = ::OpenProcess (PROCESS_SET_INFORMATION,
- FALSE,
- id == ACE_SELF ? ::GetCurrentProcessId() : id);
- if (!hProcess)
- {
- ACE_OS::set_errno_to_last_error();
- return -1;
- }
- // There is no way for us to set the priority of the thread when we
- // are setting the priority of a different process. So just ignore
- // the priority argument when ACE_SCOPE_PROCESS is specified.
- // Setting the priority class will automatically increase the base
- // priority of all the threads within a process while maintaining the
- // relative priorities of the threads within it.
- if (!::SetPriorityClass (hProcess,
- (sched_params.policy () == ACE_SCHED_FIFO ||
- sched_params.policy () == ACE_SCHED_RR)
- ? REALTIME_PRIORITY_CLASS
- : NORMAL_PRIORITY_CLASS))
- {
- ACE_OS::set_errno_to_last_error ();
- ::CloseHandle (hProcess);
- return -1;
- }
- ::CloseHandle (hProcess);
- return 0;
-#endif /* ACE_HAS_PHARLAP_RT */
-
- }
- else
- {
- errno = EINVAL;
- return -1;
- }
-#elif defined (ACE_VXWORKS)
- ACE_UNUSED_ARG (id);
-
- // There is only one class of priorities on VxWorks, and no time
- // quanta. So, just set the current thread's priority.
-
- if (sched_params.policy () != ACE_SCHED_FIFO
- || sched_params.scope () != ACE_SCOPE_PROCESS
- || sched_params.quantum () != ACE_Time_Value::zero)
- {
- errno = EINVAL;
- return -1;
- }
-
- // Set the thread priority on the current thread.
- return ACE_OS::thr_setprio (sched_params.priority ());
-#else
- ACE_UNUSED_ARG (sched_params);
- ACE_UNUSED_ARG (id);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_STHREADS */
-}
-
-int
-ACE_OS::scheduling_class (const char *class_name, ACE_id_t &id)
-{
-#if defined (ACE_HAS_PRIOCNTL)
- // Get the priority class ID.
- pcinfo_t pcinfo;
- // The following is just to avoid Purify warnings about unitialized
- // memory reads.
- ACE_OS::memset (&pcinfo, 0, sizeof pcinfo);
-
- ACE_OS::strcpy (pcinfo.pc_clname, class_name);
- if (ACE_OS::priority_control (P_ALL /* ignored */,
- P_MYID /* ignored */,
- PC_GETCID,
- (char *) &pcinfo) == -1)
- {
- return -1;
- }
- else
- {
- id = pcinfo.pc_cid;
- return 0;
- }
-#else /* ! ACE_HAS_PRIOCNTL */
- ACE_UNUSED_ARG (class_name);
- ACE_UNUSED_ARG (id);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ! ACE_HAS_PRIOCNTL */
-}
-
-int
-ACE_OS::set_scheduling_params (const ACE_Sched_Params &sched_params,
- ACE_id_t id)
-{
-#if defined (ACE_HAS_PRIOCNTL)
- // Set priority class, priority, and quantum of this LWP or process as
- // specified in sched_params.
-
- // Get the priority class ID.
- ACE_id_t class_id;
- if (ACE_OS::scheduling_class (sched_params.policy() == ACE_SCHED_OTHER ?
- "TS" :
- "RT", class_id) == -1)
- {
- return -1;
- }
-
- pcparms_t pcparms;
- // The following is just to avoid Purify warnings about unitialized
- // memory reads.
- ACE_OS::memset (&pcparms, 0, sizeof pcparms);
-
- pcparms.pc_cid = class_id;
-
- if (sched_params.policy () == ACE_SCHED_OTHER &&
- sched_params.quantum () == ACE_Time_Value::zero)
- // SunOS doesn't support non-zero quantums in time-sharing class: use
- // real-time class instead.
- {
- tsparms_t tsparms;
- // The following is just to avoid Purify warnings about unitialized
- // memory reads.
- ACE_OS::memset (&tsparms, 0, sizeof tsparms);
-
- // Don't change ts_uprilim (user priority limit)
- tsparms.ts_uprilim = TS_NOCHANGE;
- tsparms.ts_upri = sched_params.priority ();
-
- // Package up the TS class ID and parameters for the
- // priority_control () call.
- ACE_OS::memcpy (pcparms.pc_clparms, &tsparms, sizeof tsparms);
- }
- else if (sched_params.policy () == ACE_SCHED_FIFO ||
- (sched_params.policy () == ACE_SCHED_RR &&
- sched_params.quantum () != ACE_Time_Value::zero))
- // must have non-zero quantum for RR, to make it meaningful
- // A zero quantum with FIFO has special significance: it actually
- // means infinite time quantum, i.e., run-to-completion.
- {
- rtparms_t rtparms;
- // The following is just to avoid Purify warnings about unitialized
- // memory reads.
- ACE_OS::memset (&rtparms, 0, sizeof rtparms);
-
- rtparms.rt_pri = sched_params.priority ();
-
- if (sched_params.quantum () == ACE_Time_Value::zero)
- {
- // rtparms.rt_tqsecs is ignored with RT_TQINF
- rtparms.rt_tqnsecs = RT_TQINF;
- }
- else
- {
- rtparms.rt_tqsecs = (ulong) sched_params.quantum ().sec ();
- rtparms.rt_tqnsecs = sched_params.quantum ().usec () * 1000;
- }
-
- // Package up the RT class ID and parameters for the
- // priority_control () call.
- ACE_OS::memcpy (pcparms.pc_clparms, &rtparms, sizeof rtparms);
- }
- else
- {
- errno = EINVAL;
- return -1;
- }
-
- if (ACE_OS::priority_control ((idtype_t) (sched_params.scope () == ACE_SCOPE_THREAD
- ? ACE_SCOPE_PROCESS
- : sched_params.scope ()),
- id,
- PC_SETPARMS,
- (char *) &pcparms) < 0)
- {
- return ACE_OS::last_error ();
- }
-
- return 0;
-#else /* ! ACE_HAS_PRIOCNTL */
- ACE_UNUSED_ARG (sched_params);
- ACE_UNUSED_ARG (id);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ! ACE_HAS_PRIOCNTL */
-}
-
-int
-ACE_OS::thr_create (ACE_THR_FUNC func,
- void *args,
- long flags,
- ACE_thread_t *thr_id,
- ACE_hthread_t *thr_handle,
- long priority,
- void *stack,
- size_t stacksize,
- ACE_Base_Thread_Adapter *thread_adapter,
- const char** thr_name)
-{
- ACE_OS_TRACE ("ACE_OS::thr_create");
-
- if (ACE_BIT_DISABLED (flags, THR_DETACHED) &&
- ACE_BIT_DISABLED (flags, THR_JOINABLE))
- ACE_SET_BITS (flags, THR_JOINABLE);
-
-#if defined (ACE_NO_THREAD_ADAPTER)
-# define ACE_THREAD_FUNCTION func
-# define ACE_THREAD_ARGUMENT args
-#else /* ! defined (ACE_NO_THREAD_ADAPTER) */
-# define ACE_THREAD_FUNCTION thread_args->entry_point ()
-# define ACE_THREAD_ARGUMENT thread_args
-#endif /* ! defined (ACE_NO_THREAD_ADAPTER) */
-
- ACE_Base_Thread_Adapter *thread_args = 0;
- if (thread_adapter == 0)
-#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
- ACE_NEW_RETURN (thread_args,
- ACE_OS_Thread_Adapter (func, args,
- (ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME,
- ACE_OS_Object_Manager::seh_except_selector(),
- ACE_OS_Object_Manager::seh_except_handler()),
- -1);
-#else
- ACE_NEW_RETURN (thread_args,
- ACE_OS_Thread_Adapter (func, args,
- (ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME),
- -1);
-
-#endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
- else
- thread_args = thread_adapter;
-
- auto_ptr <ACE_Base_Thread_Adapter> auto_thread_args;
-
- if (thread_adapter == 0)
- ACE_AUTO_PTR_RESET (auto_thread_args,
- thread_args,
- ACE_Base_Thread_Adapter);
-
-#if defined (ACE_HAS_THREADS)
-
- // *** Set Stack Size
-# if defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
- if (stacksize < ACE_NEEDS_HUGE_THREAD_STACKSIZE)
- stacksize = ACE_NEEDS_HUGE_THREAD_STACKSIZE;
-# endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
-
- ACE_thread_t tmp_thr;
- if (thr_id == 0)
- thr_id = &tmp_thr;
-
- ACE_hthread_t tmp_handle;
- if (thr_handle == 0)
- thr_handle = &tmp_handle;
-
-# if defined (ACE_HAS_PTHREADS)
- int result;
-# if defined (ACE_PTHREAD_ATTR_T_INITIALIZE)
- /* Tests show that VxWorks 6.x pthread lib does not only
- * require zeroing of mutex/condition objects to function correctly
- * but also of the attribute objects.
- */
- pthread_attr_t attr = {0};
-# else
- pthread_attr_t attr;
-# endif
- if (ACE_ADAPT_RETVAL(::pthread_attr_init(&attr), result) != 0)
- return -1;
-
- if (stacksize != 0)
- {
- size_t size = stacksize;
-
-# if defined (PTHREAD_STACK_MIN)
- if (size < static_cast <size_t> (PTHREAD_STACK_MIN))
- size = PTHREAD_STACK_MIN;
-# endif /* PTHREAD_STACK_MIN */
-
-# if !defined (ACE_LACKS_PTHREAD_ATTR_SETSTACKSIZE)
-# if !defined (ACE_LACKS_PTHREAD_ATTR_SETSTACK)
- int result;
- if (stack != 0)
- result = ACE_ADAPT_RETVAL (pthread_attr_setstack (&attr, stack, size), result);
- else
- result = ACE_ADAPT_RETVAL (pthread_attr_setstacksize (&attr, size), result);
- if (result == -1)
-# else
- if (ACE_ADAPT_RETVAL (pthread_attr_setstacksize (&attr, size), result) == -1)
-# endif /* !ACE_LACKS_PTHREAD_ATTR_SETSTACK */
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
-# else
- ACE_UNUSED_ARG (size);
-# endif /* !ACE_LACKS_PTHREAD_ATTR_SETSTACKSIZE */
- }
-
- // *** Set Stack Address
-# if defined (ACE_LACKS_PTHREAD_ATTR_SETSTACK)
-# if !defined (ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR)
- if (stack != 0)
- {
- if (ACE_ADAPT_RETVAL(::pthread_attr_setstackaddr (&attr, stack), result) != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-# else
- ACE_UNUSED_ARG (stack);
-# endif /* !ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR */
-# endif /* ACE_LACKS_PTHREAD_ATTR_SETSTACK */
-
- // *** Deal with various attributes
- if (flags != 0)
- {
- // *** Set Detach state
-# if !defined (ACE_LACKS_SETDETACH)
- if (ACE_BIT_ENABLED (flags, THR_DETACHED)
- || ACE_BIT_ENABLED (flags, THR_JOINABLE))
- {
- int dstate = PTHREAD_CREATE_JOINABLE;
-
- if (ACE_BIT_ENABLED (flags, THR_DETACHED))
- dstate = PTHREAD_CREATE_DETACHED;
-
- if (ACE_ADAPT_RETVAL(::pthread_attr_setdetachstate (&attr, dstate),
- result) != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-
- // Note: if ACE_LACKS_SETDETACH and THR_DETACHED is enabled, we
- // call ::pthread_detach () below. If THR_DETACHED is not
- // enabled, we call ::pthread_detach () in the Thread_Manager,
- // after joining with the thread.
-# endif /* ACE_LACKS_SETDETACH */
-
- // *** Set Policy
-# if !defined (ACE_LACKS_SETSCHED) || defined (ACE_HAS_PTHREAD_SCHEDPARAM)
- // If we wish to set the priority explicitly, we have to enable
- // explicit scheduling, and a policy, too.
- if (priority != ACE_DEFAULT_THREAD_PRIORITY)
- {
- ACE_SET_BITS (flags, THR_EXPLICIT_SCHED);
- if (ACE_BIT_DISABLED (flags, THR_SCHED_FIFO)
- && ACE_BIT_DISABLED (flags, THR_SCHED_RR)
- && ACE_BIT_DISABLED (flags, THR_SCHED_DEFAULT))
- ACE_SET_BITS (flags, THR_SCHED_DEFAULT);
- }
-
- if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO)
- || ACE_BIT_ENABLED (flags, THR_SCHED_RR)
- || ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT))
- {
- int spolicy;
-
-# if defined (ACE_HAS_ONLY_SCHED_OTHER)
- // SunOS, thru version 5.6, only supports SCHED_OTHER.
- spolicy = SCHED_OTHER;
-# elif defined (ACE_HAS_ONLY_SCHED_FIFO)
- // NonStop OSS standard pthread supports only SCHED_FIFO.
- spolicy = SCHED_FIFO;
-# else
- // Make sure to enable explicit scheduling, in case we didn't
- // enable it above (for non-default priority).
- ACE_SET_BITS (flags, THR_EXPLICIT_SCHED);
-
- if (ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT))
- spolicy = SCHED_OTHER;
- else if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO))
- spolicy = SCHED_FIFO;
-# if defined (SCHED_IO)
- else if (ACE_BIT_ENABLED (flags, THR_SCHED_IO))
- spolicy = SCHED_IO;
-# else
- else if (ACE_BIT_ENABLED (flags, THR_SCHED_IO))
- {
- errno = ENOSYS;
- return -1;
- }
-# endif /* SCHED_IO */
- else
- spolicy = SCHED_RR;
-
-# endif /* ACE_HAS_ONLY_SCHED_OTHER */
-
- (void) ACE_ADAPT_RETVAL(::pthread_attr_setschedpolicy (&attr, spolicy),
- result);
- if (result != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-
- // *** Set Priority (use reasonable default priorities)
-# if defined(ACE_HAS_PTHREADS)
- // If we wish to explicitly set a scheduling policy, we also
- // have to specify a priority. We choose a "middle" priority as
- // default. Maybe this is also necessary on other POSIX'ish
- // implementations?
- if ((ACE_BIT_ENABLED (flags, THR_SCHED_FIFO)
- || ACE_BIT_ENABLED (flags, THR_SCHED_RR)
- || ACE_BIT_ENABLED (flags, THR_SCHED_DEFAULT))
- && priority == ACE_DEFAULT_THREAD_PRIORITY)
- {
- if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO))
- priority = ACE_THR_PRI_FIFO_DEF;
- else if (ACE_BIT_ENABLED (flags, THR_SCHED_RR))
- priority = ACE_THR_PRI_RR_DEF;
- else // THR_SCHED_DEFAULT
- priority = ACE_THR_PRI_OTHER_DEF;
- }
-# endif /* ACE_HAS_PTHREADS */
- if (priority != ACE_DEFAULT_THREAD_PRIORITY)
- {
- struct sched_param sparam;
- ACE_OS::memset ((void *) &sparam, 0, sizeof sparam);
-
-# if defined (ACE_HAS_IRIX62_THREADS)
- sparam.sched_priority = ACE_MIN (priority,
- (long) PTHREAD_MAX_PRIORITY);
-# elif defined (PTHREAD_MAX_PRIORITY) && !defined(ACE_HAS_PTHREADS)
- /* For MIT pthreads... */
- sparam.prio = ACE_MIN (priority, PTHREAD_MAX_PRIORITY);
-# elif defined(ACE_HAS_PTHREADS) && !defined (ACE_HAS_STHREADS)
- // The following code forces priority into range.
- if (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO))
- sparam.sched_priority =
- ACE_MIN (ACE_THR_PRI_FIFO_MAX,
- ACE_MAX (ACE_THR_PRI_FIFO_MIN, priority));
- else if (ACE_BIT_ENABLED(flags, THR_SCHED_RR))
- sparam.sched_priority =
- ACE_MIN (ACE_THR_PRI_RR_MAX,
- ACE_MAX (ACE_THR_PRI_RR_MIN, priority));
- else // Default policy, whether set or not
- sparam.sched_priority =
- ACE_MIN (ACE_THR_PRI_OTHER_MAX,
- ACE_MAX (ACE_THR_PRI_OTHER_MIN, priority));
-# elif defined (PRIORITY_MAX)
- sparam.sched_priority = ACE_MIN (priority,
- (long) PRIORITY_MAX);
-# else
- sparam.sched_priority = priority;
-# endif /* ACE_HAS_IRIX62_THREADS */
-
- {
-# if defined (sun) && defined (ACE_HAS_ONLY_SCHED_OTHER)
- // SunOS, through 5.6, POSIX only allows priorities > 0 to
- // ::pthread_attr_setschedparam. If a priority of 0 was
- // requested, set the thread priority after creating it, below.
- if (priority > 0)
-# endif /* sun && ACE_HAS_ONLY_SCHED_OTHER */
- {
- (void) ACE_ADAPT_RETVAL(::pthread_attr_setschedparam (&attr, &sparam),
- result);
- if (result != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
- }
- }
-
- // *** Set scheduling explicit or inherited
- if (ACE_BIT_ENABLED (flags, THR_INHERIT_SCHED)
- || ACE_BIT_ENABLED (flags, THR_EXPLICIT_SCHED))
- {
- int sched = PTHREAD_EXPLICIT_SCHED;
- if (ACE_BIT_ENABLED (flags, THR_INHERIT_SCHED))
- sched = PTHREAD_INHERIT_SCHED;
- if (ACE_ADAPT_RETVAL(::pthread_attr_setinheritsched (&attr, sched), result) != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-# else /* ACE_LACKS_SETSCHED */
- ACE_UNUSED_ARG (priority);
-# endif /* ACE_LACKS_SETSCHED */
-
- // *** Set pthread name
-# if defined (ACE_HAS_PTHREAD_ATTR_SETNAME)
- if (thr_name && *thr_name)
- {
- if (ACE_ADAPT_RETVAL(::pthread_attr_setname (&attr, const_cast<char*>(*thr_name)), result) != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-#else
- ACE_UNUSED_ARG (thr_name);
-# endif
-
- // *** Set Scope
-# if !defined (ACE_LACKS_THREAD_PROCESS_SCOPING)
- if (ACE_BIT_ENABLED (flags, THR_SCOPE_SYSTEM)
- || ACE_BIT_ENABLED (flags, THR_SCOPE_PROCESS))
- {
-# if defined (ACE_CONFIG_LINUX_H) || defined (HPUX) || defined (ACE_VXWORKS)
- // LinuxThreads do not have support for PTHREAD_SCOPE_PROCESS.
- // Neither does HPUX (up to HP-UX 11.00, as far as I know).
- // Also VxWorks only delivers scope system
- int scope = PTHREAD_SCOPE_SYSTEM;
-# else /* ACE_CONFIG_LINUX_H */
- int scope = PTHREAD_SCOPE_PROCESS;
-# endif /* ACE_CONFIG_LINUX_H */
- if (ACE_BIT_ENABLED (flags, THR_SCOPE_SYSTEM))
- scope = PTHREAD_SCOPE_SYSTEM;
-
- if (ACE_ADAPT_RETVAL(::pthread_attr_setscope (&attr, scope), result) != 0)
- {
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-# endif /* !ACE_LACKS_THREAD_PROCESS_SCOPING */
-
-# ifdef ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP
- if (ACE_BIT_ENABLED (flags, THR_SUSPENDED))
- {
- if (ACE_ADAPT_RETVAL(::pthread_attr_setcreatesuspend_np(&attr), result) != 0)
- {
-
- ::pthread_attr_destroy (&attr);
- return -1;
- }
- }
-# endif /* !ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP */
-
-# if ! defined(ACE_LACKS_THR_CONCURRENCY_FUNCS)
- if (ACE_BIT_ENABLED (flags, THR_NEW_LWP))
- {
- // Increment the number of LWPs by one to emulate the
- // SunOS semantics.
- int lwps = ACE_OS::thr_getconcurrency ();
- if (lwps == -1)
- {
- if (errno == ENOTSUP)
- // Suppress the ENOTSUP because it's harmless.
- errno = 0;
- else
- // This should never happen on SunOS:
- // ::thr_getconcurrency () should always succeed.
- return -1;
- }
- else if (ACE_OS::thr_setconcurrency (lwps + 1) == -1)
- {
- if (errno == ENOTSUP)
- {
- // Unlikely: ::thr_getconcurrency () is supported
- // but ::thr_setconcurrency () is not?
- }
- else
- return -1;
- }
- }
-# endif /* ! ACE_LACKS_THR_CONCURRENCY_FUNCS */
- }
-
- ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_create (thr_id,
- &attr,
- thread_args->entry_point (),
- thread_args),
- result),
- int, -1, result);
- ::pthread_attr_destroy (&attr);
-
- // This is a SunOS or POSIX implementation of pthreads, where we
- // assume that ACE_thread_t and ACE_hthread_t are the same. If this
- // *isn't* correct on some platform, please let us know.
- if (result != -1)
- *thr_handle = *thr_id;
-
-# if defined (sun) && defined (ACE_HAS_ONLY_SCHED_OTHER)
- // SunOS prior to 5.7:
-
- // If the priority is 0, then we might have to set it now because we
- // couldn't set it with ::pthread_attr_setschedparam, as noted
- // above. This doesn't provide strictly correct behavior, because
- // the thread was created (above) with the priority of its parent.
- // (That applies regardless of the inherit_sched attribute: if it
- // was PTHREAD_INHERIT_SCHED, then it certainly inherited its
- // parent's priority. If it was PTHREAD_EXPLICIT_SCHED, then "attr"
- // was initialized by the SunOS ::pthread_attr_init () to contain
- // NULL for the priority, which indicated to SunOS ::pthread_create
- // () to inherit the parent priority.)
- if (priority == 0)
- {
- // Check the priority of this thread, which is the parent
- // of the newly created thread. If it is 0, then the
- // newly created thread will have inherited the priority
- // of 0, so there's no need to explicitly set it.
- struct sched_param sparam;
- int policy = 0;
- ACE_OSCALL (ACE_ADAPT_RETVAL (::pthread_getschedparam (thr_self (),
- &policy,
- &sparam),
- result), int,
- -1, result);
-
- // The only policy supported by by SunOS, thru version 5.6,
- // is SCHED_OTHER, so that's hard-coded here.
- policy = ACE_SCHED_OTHER;
-
- if (sparam.sched_priority != 0)
- {
- ACE_OS::memset ((void *) &sparam, 0, sizeof sparam);
- // The memset to 0 sets the priority to 0, so we don't need
- // to explicitly set sparam.sched_priority.
-
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam (*thr_id,
- policy,
- &sparam),
- result),
- int, -1);
- }
- }
-
-# if defined (ACE_NEEDS_LWP_PRIO_SET)
-# if 0
- // It would be useful if we could make this work. But, it requires
- // a mechanism for determining the ID of an LWP to which another
- // thread is bound. Is there a way to do that? Instead, just rely
- // on the code in ACE_Thread_Adapter::invoke () to set the LWP
- // priority.
-
- // If the thread is bound, then set the priority on its LWP.
- if (ACE_BIT_ENABLED (flags, THR_BOUND))
- {
- ACE_Sched_Params sched_params (ACE_BIT_ENABLED (flags, THR_SCHED_FIFO) ||
- ACE_BIT_ENABLED (flags, THR_SCHED_RR) ?
- ACE_SCHED_FIFO :
- ACE_SCHED_OTHER,
- priority);
- result = ACE_OS::lwp_setparams (sched_params,
- /* ? How do we find the ID of the LWP
- to which *thr_id is bound? */);
- }
-# endif /* 0 */
-# endif /* ACE_NEEDS_LWP_PRIO_SET */
-
-# endif /* sun && ACE_HAS_ONLY_SCHED_OTHER */
- auto_thread_args.release ();
- return result;
-# elif defined (ACE_HAS_STHREADS)
- int result;
- int start_suspended = ACE_BIT_ENABLED (flags, THR_SUSPENDED);
-
- if (priority != ACE_DEFAULT_THREAD_PRIORITY)
- // If we need to set the priority, then we need to start the
- // thread in a suspended mode.
- ACE_SET_BITS (flags, THR_SUSPENDED);
-
- ACE_OSCALL (ACE_ADAPT_RETVAL (::thr_create (stack, stacksize,
- thread_args->entry_point (),
- thread_args,
- flags, thr_id), result),
- int, -1, result);
-
- if (result != -1)
- {
- // With SunOS threads, ACE_thread_t and ACE_hthread_t are the same.
- *thr_handle = *thr_id;
-
- if (priority != ACE_DEFAULT_THREAD_PRIORITY)
- {
- // Set the priority of the new thread and then let it
- // continue, but only if the user didn't start it suspended
- // in the first place!
- result = ACE_OS::thr_setprio (*thr_id, priority);
- if (result != 0)
- {
- errno = result;
- return -1;
- }
-
- if (start_suspended == 0)
- {
- result = ACE_OS::thr_continue (*thr_id);
- if (result != 0)
- {
- errno = result;
- return -1;
- }
- }
- }
- }
- auto_thread_args.release ();
- return result;
-# elif defined (ACE_HAS_WTHREADS)
- ACE_UNUSED_ARG (thr_name);
- ACE_UNUSED_ARG (stack);
-# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- if (ACE_BIT_ENABLED (flags, THR_USE_AFX))
- {
- CWinThread *cwin_thread =
- ::AfxBeginThread ((AFX_THREADPROC) thread_args->entry_point (),
- thread_args,
- priority,
- 0,
- flags | THR_SUSPENDED);
- // Have to duplicate the handle because
- // CWinThread::~CWinThread() closes the original handle.
-# if !defined (ACE_HAS_WINCE)
- (void) ::DuplicateHandle (::GetCurrentProcess (),
- cwin_thread->m_hThread,
- ::GetCurrentProcess (),
- thr_handle,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS);
-# endif /* ! ACE_HAS_WINCE */
- *thr_id = cwin_thread->m_nThreadID;
-
- if (ACE_BIT_ENABLED (flags, THR_SUSPENDED) == 0)
- cwin_thread->ResumeThread ();
- // cwin_thread will be deleted in AfxThreadExit()
- // Warning: If AfxThreadExit() is called from within the
- // thread, ACE_TSS_Cleanup->thread_exit() never gets called !
- }
- else
-# endif /* ACE_HAS_MFC */
- {
- int start_suspended = ACE_BIT_ENABLED (flags, THR_SUSPENDED);
-
- if (priority != ACE_DEFAULT_THREAD_PRIORITY)
- // If we need to set the priority, then we need to start the
- // thread in a suspended mode.
- ACE_SET_BITS (flags, THR_SUSPENDED);
-
- *thr_handle = (void *) ACE_BEGINTHREADEX (0,
- static_cast <u_int> (stacksize),
- thread_args->entry_point (),
- thread_args,
- flags,
- thr_id);
-
- if (priority != ACE_DEFAULT_THREAD_PRIORITY && *thr_handle != 0)
- {
- // Set the priority of the new thread and then let it
- // continue, but only if the user didn't start it suspended
- // in the first place!
- if (ACE_OS::thr_setprio (*thr_handle, priority) != 0)
- {
- return -1;
- }
-
- if (start_suspended == 0)
- {
- ACE_OS::thr_continue (*thr_handle);
- }
- }
- }
-# if 0
- *thr_handle = ::CreateThread
- (0,
- stacksize,
- LPTHREAD_START_ROUTINE (thread_args->entry_point ()),
- thread_args,
- flags,
- thr_id);
-# endif /* 0 */
-
- // Close down the handle if no one wants to use it.
- if (thr_handle == &tmp_handle && tmp_handle != 0)
- ::CloseHandle (tmp_handle);
-
- if (*thr_handle != 0)
- {
- auto_thread_args.release ();
- return 0;
- }
- else
- ACE_FAIL_RETURN (-1);
- /* NOTREACHED */
-
-# elif defined (ACE_VXWORKS)
- // The hard-coded values below are what ::sp () would use. (::sp ()
- // hardcodes priority to 100, flags to VX_FP_TASK, and stacksize to
- // 20,000.) stacksize should be an even integer. If a stack is not
- // specified, ::taskSpawn () is used so that we can set the
- // priority, flags, and stacksize. If a stack is specified,
- // ::taskInit ()/::taskActivate() are used.
-
- // If called with thr_create() defaults, use same default values as ::sp ():
- if (priority == ACE_DEFAULT_THREAD_PRIORITY) priority = 100;
- // Assumes that there is a floating point coprocessor. As noted
- // above, ::sp () hardcodes this, so we should be safe with it.
- if (flags == 0) flags = VX_FP_TASK;
- if (stacksize == 0) stacksize = 20000;
-
- ACE_thread_t tid;
-# if 0 /* Don't support setting of stack, because it doesn't seem to work. */
- if (stack == 0)
- {
-# else
- ACE_UNUSED_ARG (stack);
-# endif /* 0 */
- // The call below to ::taskSpawn () causes VxWorks to assign a
- // unique task name of the form: "t" + an integer, because the
- // first argument is 0.
- tid = ::taskSpawn (thr_name && *thr_name ? const_cast <char*> (*thr_name) : 0,
- priority,
- (int) flags,
- (int) stacksize,
- thread_args->entry_point (),
- (int) thread_args,
- 0, 0, 0, 0, 0, 0, 0, 0, 0);
-# if 0 /* Don't support setting of stack, because it doesn't seem to work. */
- }
- else
- {
- // If a task name (thr_id) was not supplied, then the task will
- // not have a unique name. That's VxWorks' behavior.
-
- // Carve out a TCB at the beginning of the stack space. The TCB
- // occupies 400 bytes with VxWorks 5.3.1/I386.
- WIND_TCB *tcb = (WIND_TCB *) stack;
-
- // The TID is defined to be the address of the TCB.
- int status = ::taskInit (tcb,
- thr_name && *thr_name ? const_cast <char*>(*thr_name) : 0,
- priority,
- (int) flags,
- (char *) stack + sizeof (WIND_TCB),
- (int) (stacksize - sizeof (WIND_TCB)),
- thread_args->entry_point (),
- (int) thread_args,
- 0, 0, 0, 0, 0, 0, 0, 0, 0);
-
- if (status == OK)
- {
- // The task was successfully initialized, now activate it.
- status = ::taskActivate ((ACE_hthread_t) tcb);
- }
-
- tid = status == OK ? (ACE_thread_t) tcb : ERROR;
- }
-# endif /* 0 */
-
- if (tid == ERROR)
- return -1;
- else
- {
- if (thr_id)
- *thr_id = tid;
-
- if (thr_handle)
- *thr_handle = tid;
-
- if (thr_name && !(*thr_name))
- *thr_name = ::taskName (tid);
-
- auto_thread_args.release ();
- return 0;
- }
-
-# endif /* ACE_HAS_STHREADS */
-#else
- ACE_UNUSED_ARG (func);
- ACE_UNUSED_ARG (args);
- ACE_UNUSED_ARG (flags);
- ACE_UNUSED_ARG (thr_id);
- ACE_UNUSED_ARG (thr_handle);
- ACE_UNUSED_ARG (priority);
- ACE_UNUSED_ARG (stack);
- ACE_UNUSED_ARG (stacksize);
- ACE_UNUSED_ARG (thr_name);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_THREADS */
-}
-
-void
-ACE_OS::thr_exit (ACE_THR_FUNC_RETURN status)
-{
- ACE_OS_TRACE ("ACE_OS::thr_exit");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- ::pthread_exit (status);
-# elif defined (ACE_HAS_STHREADS)
- ::thr_exit (status);
-# elif defined (ACE_HAS_WTHREADS)
- // Can't call it here because on NT, the thread is exited
- // directly by ACE_Thread_Adapter::invoke ().
- // ACE_TSS_Cleanup::instance ()->thread_exit (status);
-
-# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- int using_afx = -1;
- // An ACE_Thread_Descriptor really is an ACE_OS_Thread_Descriptor.
- // But without #including ace/Thread_Manager.h, we don't know that.
- ACE_OS_Thread_Descriptor *td =
- ACE_Base_Thread_Adapter::thr_desc_log_msg ();
- if (td)
- using_afx = ACE_BIT_ENABLED (td->flags (), THR_USE_AFX);
-# endif /* ACE_HAS_MFC && (ACE_HAS_MFC != 0) */
-
- // Call TSS destructors.
- ACE_OS::cleanup_tss (0 /* not main thread */);
-
- // Exit the thread.
- // Allow CWinThread-destructor to be invoked from AfxEndThread.
- // _endthreadex will be called from AfxEndThread so don't exit the
- // thread now if we are running an MFC thread.
-# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- if (using_afx != -1)
- {
- if (using_afx)
- ::AfxEndThread (status);
- else
- ACE_ENDTHREADEX (status);
- }
- else
- {
- // Not spawned by ACE_Thread_Manager, use the old buggy
- // version. You should seriously consider using
- // ACE_Thread_Manager to spawn threads. The following code is
- // know to cause some problem.
- CWinThread *pThread = ::AfxGetThread ();
- if (!pThread || pThread->m_nThreadID != ACE_OS::thr_self ())
- ACE_ENDTHREADEX (status);
- else
- ::AfxEndThread (status);
- }
-# else
- ACE_ENDTHREADEX (status);
-# endif /* ACE_HAS_MFC && ACE_HAS_MFS != 0*/
-
-# elif defined (ACE_HAS_VXTHREADS)
- ACE_thread_t tid = ACE_OS::thr_self ();
- *((int *) status) = ::taskDelete (tid);
-# endif /* ACE_HAS_PTHREADS */
-#else
- ACE_UNUSED_ARG (status);
-#endif /* ACE_HAS_THREADS */
-}
-
-#if defined (ACE_HAS_VXTHREADS)
-// Leave this in the global scope to allow
-// users to adjust the delay value.
-int ACE_THR_JOIN_DELAY = 5;
-
-int
-ACE_OS::thr_join (ACE_hthread_t thr_handle,
- ACE_THR_FUNC_RETURN *status)
-{
- // We can't get the status of the thread
- if (status != 0)
- {
- *status = 0;
- }
-
- // This method can not support joining all threads
- if (ACE_OS::thr_cmp (thr_handle, ACE_OS::NULL_hthread))
- {
- ACE_NOTSUP_RETURN (-1);
- }
-
- int retval = ESRCH;
- ACE_thread_t current = ACE_OS::thr_self ();
-
- // Make sure we are not joining ourself
- if (ACE_OS::thr_cmp (thr_handle, current))
- {
- retval = EDEADLK;
- }
- else
- {
- // Whether the task exists or not
- // we will return a successful value
- retval = 0;
-
- // Verify that the task id still exists
- while (taskIdVerify (thr_handle) == OK)
- {
- // Wait a bit to see if the task is still active.
- ACE_OS::sleep (ACE_THR_JOIN_DELAY);
- }
- }
-
- // Adapt the return value into errno and return value.
- // The ACE_ADAPT_RETVAL macro doesn't exactly do what
- // we need to do here, so we do it manually.
- if (retval != 0)
- {
- errno = retval;
- retval = -1;
- }
-
- return retval;
-}
-
-int
-ACE_OS::thr_join (ACE_thread_t waiter_id,
- ACE_thread_t *thr_id,
- ACE_THR_FUNC_RETURN *status)
-{
- thr_id = 0;
- return ACE_OS::thr_join (waiter_id, status);
-}
-#endif /* ACE_HAS_VXTHREADS */
-
-int
-ACE_OS::thr_key_detach (ACE_thread_key_t key, void *)
-{
-#if defined (ACE_HAS_WTHREADS) || defined (ACE_HAS_TSS_EMULATION)
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- return cleanup->thread_detach_key (key);
- }
- else
- {
- return -1;
- }
-#else
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_WTHREADS || ACE_HAS_TSS_EMULATION */
-}
-
-int
-ACE_OS::thr_get_affinity (ACE_hthread_t thr_id,
- size_t cpu_set_size,
- cpu_set_t * cpu_mask)
-{
-#if defined (ACE_HAS_PTHREAD_GETAFFINITY_NP)
- // Handle of the thread, which is NPTL thread-id, normally a big number
- if (::pthread_getaffinity_np (thr_id, cpu_set_size, cpu_mask) != 0)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_2_PARAM_SCHED_GETAFFINITY)
- // The process-id is expected as <thr_id>, which can be a thread-id of
- // linux-thread, thus making binding to cpu of that particular thread only.
- // If you are using this flag for NPTL-threads, however, please pass as a
- // thr_id process id obtained by ACE_OS::getpid ()
- ACE_UNUSED_ARG (cpu_set_size);
- if (::sched_getaffinity(thr_id, cpu_mask) == -1)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_SCHED_GETAFFINITY)
- // The process-id is expected as <thr_id>, which can be a thread-id of
- // linux-thread, thus making binding to cpu of that particular thread only.
- // If you are using this flag for NPTL-threads, however, please pass as a
- // thr_id process id obtained by ACE_OS::getpid ()
- if (::sched_getaffinity(thr_id, cpu_set_size, cpu_mask) == -1)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_TASKCPUAFFINITYSET)
- ACE_UNUSED_ARG (cpu_set_size);
- int result = 0;
- if (ACE_ADAPT_RETVAL (::taskCpuAffinitySet (thr_id, *cpu_mask), result) == -1)
- {
- return -1;
- }
- return 0;
-#else
- ACE_UNUSED_ARG (thr_id);
- ACE_UNUSED_ARG (cpu_set_size);
- ACE_UNUSED_ARG (cpu_mask);
- ACE_NOTSUP_RETURN (-1);
-#endif
-}
-
-int
-ACE_OS::thr_set_affinity (ACE_hthread_t thr_id,
- size_t cpu_set_size,
- const cpu_set_t * cpu_mask)
-{
-#if defined (ACE_HAS_PTHREAD_SETAFFINITY_NP)
- if (::pthread_setaffinity_np (thr_id, cpu_set_size, cpu_mask) != 0)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_2_PARAM_SCHED_SETAFFINITY)
- // The process-id is expected as <thr_id>, which can be a thread-id of
- // linux-thread, thus making binding to cpu of that particular thread only.
- // If you are using this flag for NPTL-threads, however, please pass as a
- // thr_id process id obtained by ACE_OS::getpid (), but whole process will bind your CPUs
- //
- ACE_UNUSED_ARG (cpu_set_size);
- if (::sched_setaffinity (thr_id, cpu_mask) == -1)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_SCHED_SETAFFINITY)
- // The process-id is expected as <thr_id>, which can be a thread-id of
- // linux-thread, thus making binding to cpu of that particular thread only.
- // If you are using this flag for NPTL-threads, however, please pass as a
- // thr_id process id obtained by ACE_OS::getpid (), but whole process will bind your CPUs
- //
- if (::sched_setaffinity (thr_id, cpu_set_size, cpu_mask) == -1)
- {
- return -1;
- }
- return 0;
-#elif defined (ACE_HAS_TASKCPUAFFINITYSET)
- int result = 0;
- if (ACE_ADAPT_RETVAL (::taskCpuAffinitySet (thr_id, *cpu_mask), result) == -1)
- {
- return -1;
- }
- return 0;
-#else
- ACE_UNUSED_ARG (thr_id);
- ACE_UNUSED_ARG (cpu_set_size);
- ACE_UNUSED_ARG (cpu_mask);
- ACE_NOTSUP_RETURN (-1);
-#endif
-}
-
-int
-ACE_OS::thr_key_used (ACE_thread_key_t key)
-{
-#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- cleanup->thread_use_key (key);
- return 0;
- }
- return -1;
-#else
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */
-}
-
-#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
-int
-ACE_OS::thr_keycreate_native (ACE_OS_thread_key_t *key,
-# if defined (ACE_HAS_THR_C_DEST)
- ACE_THR_C_DEST dest
-# else
- ACE_THR_DEST dest
-# endif /* ACE_HAS_THR_C_DEST */
- )
-{
- // can't trace here. Trace uses TSS
- // ACE_OS_TRACE ("ACE_OS::thr_keycreate_native");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_key_create (key, dest),
- result),
- int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_keycreate (key, dest),
- result),
- int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- ACE_UNUSED_ARG (dest);
- *key = ::TlsAlloc ();
-
- if (*key == ACE_SYSCALL_FAILED)
- ACE_FAIL_RETURN (-1);
- return 0;
-# endif /* ACE_HAS_STHREADS */
-# else
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (dest);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-
-int
-ACE_OS::thr_keycreate (ACE_thread_key_t *key,
-# if defined (ACE_HAS_THR_C_DEST)
- ACE_THR_C_DEST dest,
-# else
- ACE_THR_DEST dest,
-# endif /* ACE_HAS_THR_C_DEST */
- void *)
-{
- // ACE_OS_TRACE ("ACE_OS::thr_keycreate");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_TSS_EMULATION)
- if (ACE_TSS_Emulation::next_key (*key) == 0)
- {
- ACE_TSS_Emulation::tss_destructor (*key, dest);
-
- // Extract out the thread-specific table instance and stash away
- // the key and destructor so that we can free it up later on...
- TSS_Cleanup_Instance cleanup (TSS_Cleanup_Instance::CREATE);
- if (cleanup.valid ())
- {
- return cleanup->insert (*key, dest);
- }
- else
- {
- return -1;
- }
- }
- else
- return -1;
-# elif defined (ACE_HAS_WTHREADS)
- if (ACE_OS::thr_keycreate_native (key, dest) == 0)
- {
- // Extract out the thread-specific table instance and stash away
- // the key and destructor so that we can free it up later on...
- TSS_Cleanup_Instance cleanup (TSS_Cleanup_Instance::CREATE);
- if (cleanup.valid ())
- {
- return cleanup->insert (*key, dest);
- }
- else
- {
- return -1;
- }
- }
- else
- return -1;
- /* NOTREACHED */
-# elif defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- return ACE_OS::thr_keycreate_native (key, dest);
-# else
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (dest);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_TSS_EMULATION */
-# else /* ACE_HAS_THREADS */
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (dest);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
-int
-ACE_OS::thr_keyfree_native (ACE_OS_thread_key_t key)
-{
- ACE_OS_TRACE ("ACE_OS::thr_keyfree_native");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_BROKEN_THREAD_KEYFREE) || defined (ACE_HAS_THR_KEYDELETE)
- // For some systems, e.g. LynxOS, we need to ensure that
- // any registered thread destructor action for this slot
- // is now disabled. Otherwise in the event of a dynamic library
- // unload of libACE, by a program not linked with libACE,
- // ACE_TSS_cleanup will be invoked again at the thread exit
- // after libACE has been actually been unmapped from memory.
- (void) ACE_OS::thr_setspecific (key, 0);
-# endif /* ACE_HAS_BROKEN_THREAD_KEYFREE */
-# if defined (ACE_HAS_PTHREADS)
- return ::pthread_key_delete (key);
-# elif defined (ACE_HAS_THR_KEYDELETE)
- return ::thr_keydelete (key);
-# elif defined (ACE_HAS_STHREADS)
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-# elif defined (ACE_HAS_WTHREADS)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::TlsFree (key), ace_result_), int, -1);
-# else
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_PTHREADS */
-# else
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-
-int
-ACE_OS::thr_keyfree (ACE_thread_key_t key)
-{
- ACE_OS_TRACE ("ACE_OS::thr_keyfree");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_TSS_EMULATION)
- // Release the key in the TSS_Emulation administration
- ACE_TSS_Emulation::release_key (key);
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- return cleanup->free_key (key);
- }
- return -1;
-# elif defined (ACE_HAS_WTHREADS)
- // Extract out the thread-specific table instance and free up
- // the key and destructor.
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- return cleanup->free_key (key);
- }
- return -1;
-# elif defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- return ACE_OS::thr_keyfree_native (key);
-# else
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_TSS_EMULATION */
-# else /* ACE_HAS_THREADS */
- ACE_UNUSED_ARG (key);
- ACE_NOTSUP_RETURN (-1);
- return 0;
-# endif /* ACE_HAS_THREADS */
-}
-
-int
-ACE_OS::thr_setprio (const ACE_Sched_Priority prio)
-{
- // Set the thread priority on the current thread.
- ACE_hthread_t my_thread_id;
- ACE_OS::thr_self (my_thread_id);
-
- int const status = ACE_OS::thr_setprio (my_thread_id, prio);
-
-#if defined (ACE_NEEDS_LWP_PRIO_SET)
- // If the thread is in the RT class, then set the priority on its
- // LWP. (Instead of doing this if the thread is in the RT class, it
- // should be done for all bound threads. But, there doesn't appear
- // to be an easy way to determine if the thread is bound.)
-
- if (status == 0)
- {
- // Find what scheduling class the thread's LWP is in.
- ACE_Sched_Params sched_params (ACE_SCHED_OTHER, 0);
- if (ACE_OS::lwp_getparams (sched_params) == -1)
- {
- return -1;
- }
- else if (sched_params.policy () == ACE_SCHED_FIFO ||
- sched_params.policy () == ACE_SCHED_RR)
- {
- // This thread's LWP is in the RT class, so we need to set
- // its priority.
- sched_params.priority (prio);
- return ACE_OS::lwp_setparams (sched_params);
- }
- // else this is not an RT thread. Nothing more needs to be
- // done.
- }
-#endif /* ACE_NEEDS_LWP_PRIO_SET */
-
- return status;
-}
-
-# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
-int
-ACE_OS::thr_setspecific_native (ACE_OS_thread_key_t key, void *data)
-{
- // ACE_OS_TRACE ("ACE_OS::thr_setspecific_native");
-# if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_PTHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_setspecific (key, data),
- result),
- int, -1);
-# elif defined (ACE_HAS_STHREADS)
- int result;
- ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_setspecific (key, data), result), int, -1);
-# elif defined (ACE_HAS_WTHREADS)
- ::TlsSetValue (key, data);
- return 0;
-# else /* ACE_HAS_STHREADS */
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (data);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_STHREADS */
-# else
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (data);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
-
-int
-ACE_OS::thr_setspecific (ACE_thread_key_t key, void *data)
-{
- // ACE_OS_TRACE ("ACE_OS::thr_setspecific");
-#if defined (ACE_HAS_THREADS)
-# if defined (ACE_HAS_TSS_EMULATION)
- if (ACE_TSS_Emulation::is_key (key) == 0)
- {
- errno = EINVAL;
- data = 0;
- return -1;
- }
- else
- {
- ACE_TSS_Emulation::ts_object (key) = data;
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- cleanup->thread_use_key (key);
- // for TSS_Cleanup purposes treat stetting data to zero
- // like detaching. This is a consequence of POSIX allowing
- // deletion of a "used" key.
- if (data == 0)
- {
- cleanup->thread_detach_key (key);
- }
- return 0;
- }
- else
- {
- return -1;
- }
- }
-# elif defined (ACE_HAS_WTHREADS)
- if (ACE_OS::thr_setspecific_native (key, data) == 0)
- {
- TSS_Cleanup_Instance cleanup;
- if (cleanup.valid ())
- {
- cleanup->thread_use_key (key);
- // for TSS_Cleanup purposes treat stetting data to zero
- // like detaching. This is a consequence of POSIX allowing
- // deletion of a "used" key.
- if (data == 0)
- {
- cleanup->thread_detach_key (key);
- }
- return 0;
- }
- return -1;
- }
- return -1;
-# elif defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
- return ACE_OS::thr_setspecific_native (key, data);
-# else /* ACE_HAS_TSS_EMULATION */
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (data);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_TSS_EMULATION */
-# else /* ACE_HAS_THREADS */
- ACE_UNUSED_ARG (key);
- ACE_UNUSED_ARG (data);
- ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_THREADS */
-}
-
-void
-ACE_OS::unique_name (const void *object,
- char *name,
- size_t length)
-{
- // The process ID will provide uniqueness between processes on the
- // same machine. The "this" pointer of the <object> will provide
- // uniqueness between other "live" objects in the same process. The
- // uniqueness of this name is therefore only valid for the life of
- // <object>.
- char temp_name[ACE_UNIQUE_NAME_LEN];
- ACE_OS::sprintf (temp_name,
- "%p%d",
- object,
- static_cast <int> (ACE_OS::getpid ()));
- ACE_OS::strsncpy (name,
- temp_name,
- length);
-}
-
-#if defined (ACE_USES_WCHAR)
-void
-ACE_OS::unique_name (const void *object,
- wchar_t *name,
- size_t length)
-{
- // The process ID will provide uniqueness between processes on the
- // same machine. The "this" pointer of the <object> will provide
- // uniqueness between other "live" objects in the same process. The
- // uniqueness of this name is therefore only valid for the life of
- // <object>.
- wchar_t temp_name[ACE_UNIQUE_NAME_LEN];
- ACE_OS::sprintf (temp_name,
- ACE_TEXT ("%p%d"),
- object,
- static_cast <int> (ACE_OS::getpid ()));
- ACE_OS::strsncpy (name,
- temp_name,
- length);
-}
-#endif
-
-ACE_END_VERSIONED_NAMESPACE_DECL
-
-#if defined (ACE_VXWORKS) && !defined (__RTP__)
-# include /**/ <usrLib.h> /* for ::sp() */
-# include /**/ <sysLib.h> /* for ::sysClkRateGet() */
-# include "ace/Service_Config.h"
-
-// This global function can be used from the VxWorks shell to pass
-// arguments to a C main () function.
-//
-// usage: -> spa main, "arg1", "arg2"
-//
-// All arguments must be quoted, even numbers.
-int
-spa (FUNCPTR entry, ...)
-{
- static const unsigned int ACE_MAX_ARGS = 10;
- static char *argv[ACE_MAX_ARGS];
- va_list pvar;
- unsigned int argc;
-
- // Hardcode a program name because the real one isn't available
- // through the VxWorks shell.
- argv[0] = "ace_main";
-
- // Peel off arguments to spa () and put into argv. va_arg () isn't
- // necessarily supposed to return 0 when done, though since the
- // VxWorks shell uses a fixed number (10) of arguments, it might 0
- // the unused ones. This function could be used to increase that
- // limit, but then it couldn't depend on the trailing 0. So, the
- // number of arguments would have to be passed.
- va_start (pvar, entry);
-
- for (argc = 1; argc <= ACE_MAX_ARGS; ++argc)
- {
- argv[argc] = va_arg (pvar, char *);
-
- if (argv[argc] == 0)
- break;
- }
-
- if (argc > ACE_MAX_ARGS && argv[argc-1] != 0)
- {
- // try to read another arg, and warn user if the limit was exceeded
- if (va_arg (pvar, char *) != 0)
- ACE_OS::fprintf (stderr, "spa(): number of arguments limited to %d\n",
- ACE_MAX_ARGS);
- }
- else
- {
- // fill unused argv slots with 0 to get rid of leftovers
- // from previous invocations
- for (unsigned int i = argc; i <= ACE_MAX_ARGS; ++i)
- argv[i] = 0;
- }
-
- // The hard-coded options are what ::sp () uses, except for the
- // larger stack size (instead of ::sp ()'s 20000).
- int const ret = ::taskSpawn (argv[0], // task name
- 100, // task priority
- VX_FP_TASK, // task options
- ACE_NEEDS_HUGE_THREAD_STACKSIZE, // stack size
- entry, // entry point
- argc, // first argument to main ()
- (int) argv, // second argument to main ()
- 0, 0, 0, 0, 0, 0, 0, 0);
- va_end (pvar);
-
- // ::taskSpawn () returns the taskID on success: return 0 instead if
- // successful
- return ret > 0 ? 0 : ret;
-}
-
-// A helper function for the extended spa functions
-static void
-add_to_argv (int& argc, char** argv, int max_args, char* string)
-{
- char indouble = 0;
- size_t previous = 0;
- size_t length = ACE_OS::strlen (string);
-
- if (length > 0)
- {
- // We use <= to make sure that we get the last argument
- for (size_t i = 0; i <= length; i++)
- {
- // Is it a double quote that hasn't been escaped?
- if (string[i] == '\"' && (i == 0 || string[i - 1] != '\\'))
- {
- indouble ^= 1;
- if (indouble)
- {
- // We have just entered a double quoted string, so
- // save the starting position of the contents.
- previous = i + 1;
- }
- else
- {
- // We have just left a double quoted string, so
- // zero out the ending double quote.
- string[i] = '\0';
- }
- }
- else if (string[i] == '\\') // Escape the next character
- {
- // The next character is automatically skipped because
- // of the memmove().
- ACE_OS::memmove (string + i, string + i + 1, length);
- --length;
- }
- else if (!indouble &&
- (ACE_OS::ace_isspace (string[i]) || string[i] == '\0'))
- {
- string[i] = '\0';
- if (argc < max_args)
- {
- argv[argc] = string + previous;
- ++argc;
- }
- else
- {
- ACE_OS::fprintf (stderr, "spae(): number of arguments "
- "limited to %d\n", max_args);
- }
-
- // Skip over whitespace in between arguments
- for(++i; i < length && ACE_OS::ace_isspace (string[i]); ++i)
- {
- }
-
- // Save the starting point for the next time around
- previous = i;
-
- // Make sure we don't skip over a character due
- // to the above loop to skip over whitespace
- --i;
- }
- }
- }
-}
-
-// This global function can be used from the VxWorks shell to pass
-// arguments to a C main () function.
-//
-// usage: -> spae main, "arg1 arg2 \"arg3 with spaces\""
-//
-// All arguments must be within double quotes, even numbers.
-int
-spae (FUNCPTR entry, ...)
-{
- static int const WINDSH_ARGS = 10;
- static int const ACE_MAX_ARGS = 128;
- static char* argv[ACE_MAX_ARGS] = { "ace_main", 0 };
- va_list pvar;
- int argc = 1;
-
- // Peel off arguments to spa () and put into argv. va_arg () isn't
- // necessarily supposed to return 0 when done, though since the
- // VxWorks shell uses a fixed number (10) of arguments, it might 0
- // the unused ones.
- va_start (pvar, entry);
-
- int i = 0;
- for (char* str = va_arg (pvar, char*);
- str != 0 && i < WINDSH_ARGS; str = va_arg (pvar, char*), ++i)
- {
- add_to_argv(argc, argv, ACE_MAX_ARGS, str);
- }
-
- // fill unused argv slots with 0 to get rid of leftovers
- // from previous invocations
- for (i = argc; i < ACE_MAX_ARGS; ++i)
- argv[i] = 0;
-
- // The hard-coded options are what ::sp () uses, except for the
- // larger stack size (instead of ::sp ()'s 20000).
- int const ret = ::taskSpawn (argv[0], // task name
- 100, // task priority
- VX_FP_TASK, // task options
- ACE_NEEDS_HUGE_THREAD_STACKSIZE, // stack size
- entry, // entry point
- argc, // first argument to main ()
- (int) argv, // second argument to main ()
- 0, 0, 0, 0, 0, 0, 0, 0);
- va_end (pvar);
-
- // ::taskSpawn () returns the taskID on success: return 0 instead if
- // successful
- return ret > 0 ? 0 : ret;
-}
-
-// This global function can be used from the VxWorks shell to pass
-// arguments to a C main () function. The function will be run
-// within the shells task.
-//
-// usage: -> spaef main, "arg1 arg2 \"arg3 with spaces\""
-//
-// All arguments must be within double quotes, even numbers.
-// Unlike the spae function, this fuction executes the supplied
-// routine in the foreground, rather than spawning it in a separate
-// task.
-int
-spaef (FUNCPTR entry, ...)
-{
- static int const WINDSH_ARGS = 10;
- static int const ACE_MAX_ARGS = 128;
- static char* argv[ACE_MAX_ARGS] = { "ace_main", 0 };
- va_list pvar;
- int argc = 1;
-
- // Peel off arguments to spa () and put into argv. va_arg () isn't
- // necessarily supposed to return 0 when done, though since the
- // VxWorks shell uses a fixed number (10) of arguments, it might 0
- // the unused ones.
- va_start (pvar, entry);
-
- int i = 0;
- for (char* str = va_arg (pvar, char*);
- str != 0 && i < WINDSH_ARGS; str = va_arg (pvar, char*), ++i)
- {
- add_to_argv(argc, argv, ACE_MAX_ARGS, str);
- }
-
- // fill unused argv slots with 0 to get rid of leftovers
- // from previous invocations
- for (i = argc; i < ACE_MAX_ARGS; ++i)
- argv[i] = 0;
-
- int ret = entry (argc, argv);
-
- va_end (pvar);
-
- // Return the return value of the invoked ace_main routine.
- return ret;
-}
-
-// This global function can be used from the VxWorks shell to pass
-// arguments to and run a main () function (i.e. ace_main).
-//
-// usage: -> vx_execae ace_main, "arg1 arg2 \"arg3 with spaces\"", [prio, [opt, [stacksz]]]
-//
-// All arguments must be within double quotes, even numbers.
-// This routine spawns the main () function in a separate task and waits till the
-// task has finished.
-static int _vx_call_rc = 0;
-
-static int
-_vx_call_entry(FUNCPTR entry, int argc, char* argv[])
-{
- ACE_Service_Config::current (ACE_Service_Config::global());
- _vx_call_rc = entry (argc, argv);
- return _vx_call_rc;
-}
-
-int
-vx_execae (FUNCPTR entry, char* arg, int prio, int opt, int stacksz, ...)
-{
- static int const ACE_MAX_ARGS = 128;
- static char* argv[ACE_MAX_ARGS] = { "ace_main", 0 };
- int argc = 1;
-
- // Peel off arguments to run_main () and put into argv.
- if (arg)
- {
- add_to_argv(argc, argv, ACE_MAX_ARGS, arg);
- }
-
- // fill unused argv slots with 0 to get rid of leftovers
- // from previous invocations
- for (int i = argc; i < ACE_MAX_ARGS; ++i)
- argv[i] = 0;
-
- // The hard-coded options are what ::sp () uses, except for the
- // larger stack size (instead of ::sp ()'s 20000).
- int const ret = ::taskSpawn (argv[0], // task name
- prio==0 ? 100 : prio, // task priority
- opt==0 ? VX_FP_TASK : opt, // task options
- stacksz==0 ? ACE_NEEDS_HUGE_THREAD_STACKSIZE : stacksz, // stack size
- (FUNCPTR)_vx_call_entry, // entrypoint caller
- (int)entry, // entry point
- argc, // first argument to main ()
- (int) argv, // second argument to main ()
- 0, 0, 0, 0, 0, 0, 0);
-
- if (ret == ERROR)
- return 255;
-
- while( ret > 0 && ::taskIdVerify (ret) != ERROR )
- ::taskDelay (3 * ::sysClkRateGet ());
-
- // ::taskSpawn () returns the taskID on success: return _vx_call_rc instead if
- // successful
- return ret > 0 ? _vx_call_rc : 255;
-}
-
-#if defined(ACE_AS_STATIC_LIBS) && defined (ACE_VXWORKS_DEBUGGING_HELPER)
-/** Wind River workbench allows the user to spawn a kernel task as a
- "Debug Configuration". Use this function as the entrypoint so that
- the arguments are translated into the form that ace_main() requires.
- */
-int ace_wb_exec (int arg0, int arg1, int arg2, int arg3, int arg4,
- int arg5, int arg6, int arg7, int arg8, int arg9)
-{
- return spaef ((FUNCPTR) ace_main, arg0, arg1, arg2, arg3, arg4,
- arg5, arg6, arg7, arg8, arg9);
-}
-#endif /* ACE_AS_STATIC_LIBS && ... */
-
-#endif /* ACE_VXWORKS && !__RTP__ */