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
3649 lines
107 KiB
C++
3649 lines
107 KiB
C++
// -*- C++ -*-
|
|
//
|
|
// $Id: OS_NS_Thread.inl 87220 2009-10-24 12:20:03Z olli $
|
|
|
|
#include "ace/OS_NS_macros.h"
|
|
// for timespec_t, perhaps move it to os_time.h
|
|
#include "ace/Time_Value.h"
|
|
#include "ace/OS_NS_sys_mman.h"
|
|
#include "ace/OS_NS_sys_time.h"
|
|
#include "ace/OS_NS_string.h"
|
|
#include "ace/OS_NS_unistd.h"
|
|
#include "ace/OS_NS_stdio.h"
|
|
#include "ace/OS_NS_errno.h"
|
|
|
|
#if defined (ACE_USES_FIFO_SEM)
|
|
# include "ace/OS_NS_sys_stat.h"
|
|
# include "ace/OS_NS_sys_select.h"
|
|
# include "ace/OS_NS_fcntl.h"
|
|
# include "ace/Handle_Set.h"
|
|
# endif /* ACE_USES_FIFO_SEM */
|
|
|
|
#if defined (ACE_HAS_PRIOCNTL)
|
|
# include /**/ <sys/priocntl.h>
|
|
#endif /* ACE_HAS_PRIOCNTL */
|
|
|
|
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
|
|
|
|
/*****************************************************************************/
|
|
|
|
#if defined (ACE_LACKS_COND_T) && defined (ACE_HAS_THREADS)
|
|
ACE_INLINE long
|
|
ACE_cond_t::waiters (void) const
|
|
{
|
|
return this->waiters_;
|
|
}
|
|
#endif /* ACE_LACKS_COND_T && ACE_HAS_THREADS */
|
|
|
|
/*****************************************************************************/
|
|
|
|
#if defined (ACE_HAS_TSS_EMULATION)
|
|
|
|
# if !defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
|
|
ACE_INLINE
|
|
void **&
|
|
ACE_TSS_Emulation::tss_base ()
|
|
{
|
|
# if defined (ACE_HAS_VXTHREADS)
|
|
int &spare = taskIdCurrent->ACE_VXWORKS_SPARE;
|
|
return reinterpret_cast <void **&> (spare);
|
|
# else
|
|
// Uh oh.
|
|
ACE_NOTSUP_RETURN (0);
|
|
# endif /* ACE_HAS_VXTHREADS */
|
|
}
|
|
# endif /* ! ACE_HAS_THREAD_SPECIFIC_STORAGE */
|
|
|
|
ACE_INLINE
|
|
ACE_TSS_Emulation::ACE_TSS_DESTRUCTOR
|
|
ACE_TSS_Emulation::tss_destructor (const ACE_thread_key_t key)
|
|
{
|
|
ACE_KEY_INDEX (key_index, key);
|
|
return tss_destructor_ [key_index];
|
|
}
|
|
|
|
ACE_INLINE
|
|
void
|
|
ACE_TSS_Emulation::tss_destructor (const ACE_thread_key_t key,
|
|
ACE_TSS_DESTRUCTOR destructor)
|
|
{
|
|
ACE_KEY_INDEX (key_index, key);
|
|
tss_destructor_ [key_index] = destructor;
|
|
}
|
|
|
|
ACE_INLINE
|
|
void *&
|
|
ACE_TSS_Emulation::ts_object (const ACE_thread_key_t key)
|
|
{
|
|
ACE_KEY_INDEX (key_index, key);
|
|
|
|
# if defined (ACE_HAS_VXTHREADS)
|
|
/* If someone wants tss_base make sure they get one. This
|
|
gets used if someone spawns a VxWorks task directly, not
|
|
through ACE. The allocated array will never be deleted! */
|
|
if (0 == taskIdCurrent->ACE_VXWORKS_SPARE)
|
|
{
|
|
taskIdCurrent->ACE_VXWORKS_SPARE =
|
|
reinterpret_cast<int> (new void *[ACE_TSS_THREAD_KEYS_MAX]);
|
|
|
|
// Zero the entire TSS array. Do it manually instead of using
|
|
// memset, for optimum speed. Though, memset may be faster :-)
|
|
void **tss_base_p =
|
|
reinterpret_cast<void **> (taskIdCurrent->ACE_VXWORKS_SPARE);
|
|
for (u_int i = 0; i < ACE_TSS_THREAD_KEYS_MAX; ++i, ++tss_base_p)
|
|
{
|
|
*tss_base_p = 0;
|
|
}
|
|
}
|
|
# endif /* ACE_HAS_VXTHREADS */
|
|
|
|
return tss_base ()[key_index];
|
|
}
|
|
|
|
#endif /* ACE_HAS_TSS_EMULATION */
|
|
|
|
/*****************************************************************************/
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_equal (ACE_thread_t t1, ACE_thread_t t2)
|
|
{
|
|
#if defined (ACE_HAS_PTHREADS)
|
|
# if defined (pthread_equal)
|
|
// If it's a macro we can't say "pthread_equal"...
|
|
return pthread_equal (t1, t2);
|
|
# else
|
|
return pthread_equal (t1, t2);
|
|
# endif /* pthread_equal */
|
|
#else /* For both STHREADS and WTHREADS... */
|
|
// Hum, Do we need to treat WTHREAD differently?
|
|
// levine 13 oct 98 % I don't think so, ACE_thread_t is a DWORD.
|
|
return t1 == t2;
|
|
#endif /* ACE_HAS_PTHREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::condattr_destroy (ACE_condattr_t &attributes)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
pthread_condattr_destroy (&attributes);
|
|
# else
|
|
attributes.type = 0;
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
return 0;
|
|
# else
|
|
ACE_UNUSED_ARG (attributes);
|
|
return 0;
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::condattr_init (ACE_condattr_t &attributes, int type)
|
|
{
|
|
ACE_UNUSED_ARG (type);
|
|
# if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
int result = -1;
|
|
|
|
# if defined (ACE_PTHREAD_CONDATTR_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.
|
|
*/
|
|
ACE_OS::memset (&attributes, 0, sizeof (attributes));
|
|
# endif
|
|
if (
|
|
ACE_ADAPT_RETVAL (pthread_condattr_init (&attributes), result) == 0
|
|
# if defined (_POSIX_THREAD_PROCESS_SHARED) && !defined (ACE_LACKS_CONDATTR_PSHARED)
|
|
&& ACE_ADAPT_RETVAL (pthread_condattr_setpshared (&attributes, type),
|
|
result) == 0
|
|
# endif /* _POSIX_THREAD_PROCESS_SHARED && ! ACE_LACKS_CONDATTR_PSHARED */
|
|
)
|
|
result = 0;
|
|
else
|
|
result = -1; // ACE_ADAPT_RETVAL used it for intermediate status
|
|
|
|
return result;
|
|
# else
|
|
attributes.type = type;
|
|
return 0;
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
|
|
# else
|
|
ACE_UNUSED_ARG (attributes);
|
|
ACE_UNUSED_ARG (type);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
#if !defined (ACE_LACKS_COND_T)
|
|
// NOTE: The ACE_OS::cond_* functions for Unix platforms are defined
|
|
// here because the ACE_OS::sema_* functions below need them.
|
|
// However, ACE_WIN32 and VXWORKS define the ACE_OS::cond_* functions
|
|
// using the ACE_OS::sema_* functions. So, they are defined in OS_NS_Tread.cpp.
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::cond_broadcast (ACE_cond_t *cv)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::cond_broadcast");
|
|
# if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_cond_broadcast (cv),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::cond_broadcast (cv),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
::WakeAllConditionVariable (cv);
|
|
return 0;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE 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_PTHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_cond_destroy (cv), result), int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::cond_destroy (cv), result), int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
// Windows doesn't have a destroy
|
|
return 0;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::cond_init (ACE_cond_t *cv,
|
|
ACE_condattr_t &attributes,
|
|
const char *name,
|
|
void *arg)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::cond_init");
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
# if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
int result = -1;
|
|
|
|
# if defined (ACE_PTHREAD_COND_T_INITIALIZE)
|
|
/* VxWorks 6.x API reference states:
|
|
* If the memory for the condition 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.
|
|
*/
|
|
ACE_OS::memset (cv, 0, sizeof (*cv));
|
|
# endif
|
|
|
|
if (ACE_ADAPT_RETVAL (pthread_cond_init (cv, &attributes), result) == 0)
|
|
result = 0;
|
|
else
|
|
result = -1; // ACE_ADAPT_RETVAL used it for intermediate status
|
|
|
|
return result;
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::cond_init (cv,
|
|
attributes.type,
|
|
arg),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
::InitializeConditionVariable (cv);
|
|
return 0;
|
|
# endif /* ACE_HAS_PTHREADS vs. ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_UNUSED_ARG (attributes);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
#if defined (ACE_HAS_WCHAR)
|
|
ACE_INLINE 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, attributes, ACE_Wide_To_Ascii (name).char_rep (), arg);
|
|
}
|
|
#endif /* ACE_HAS_WCHAR */
|
|
|
|
#if defined (ACE_HAS_WCHAR)
|
|
ACE_INLINE int
|
|
ACE_OS::cond_init (ACE_cond_t *cv, short type, const wchar_t *name, void *arg)
|
|
{
|
|
return ACE_OS::cond_init (cv, type, ACE_Wide_To_Ascii (name).char_rep (), arg);
|
|
}
|
|
#endif /* ACE_HAS_WCHAR */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::cond_signal (ACE_cond_t *cv)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::cond_signal");
|
|
# if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_cond_signal (cv), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::cond_signal (cv), result), int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
::WakeConditionVariable (cv);
|
|
return 0;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE 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)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_cond_wait (cv, external_mutex), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::cond_wait (cv, external_mutex), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::SleepConditionVariableCS (cv, &external_mutex->thr_mutex_, INFINITE), result),
|
|
int, -1);
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_UNUSED_ARG (external_mutex);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE 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)
|
|
int result = 0;
|
|
timespec_t ts;
|
|
|
|
if (timeout != 0)
|
|
ts = *timeout; // Calls ACE_Time_Value::operator timespec_t().
|
|
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
|
|
ACE_OSCALL (ACE_ADAPT_RETVAL (timeout == 0
|
|
? pthread_cond_wait (cv, external_mutex)
|
|
: pthread_cond_timedwait (cv, external_mutex,
|
|
(ACE_TIMESPEC_PTR) &ts),
|
|
result),
|
|
int, -1, result);
|
|
// We need to adjust this to make the POSIX and Solaris return
|
|
// values consistent. EAGAIN is from Pthreads DRAFT4 (HP-UX 10.20 and down)
|
|
if (result == -1 &&
|
|
(errno == ETIMEDOUT || errno == EAGAIN))
|
|
errno = ETIME;
|
|
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
ACE_OSCALL (ACE_ADAPT_RETVAL (timeout == 0
|
|
? ::cond_wait (cv, external_mutex)
|
|
: ::cond_timedwait (cv,
|
|
external_mutex,
|
|
(timestruc_t*)&ts),
|
|
result),
|
|
int, -1, result);
|
|
# elif defined (ACE_HAS_WTHREADS) && defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
|
|
int msec_timeout = 0;
|
|
if (timeout != 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->thr_mutex_, msec_timeout),
|
|
result),
|
|
int, -1, result);
|
|
|
|
return result;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
if (timeout != 0)
|
|
timeout->set (ts); // Update the time value before returning.
|
|
|
|
return result;
|
|
# else
|
|
ACE_UNUSED_ARG (cv);
|
|
ACE_UNUSED_ARG (external_mutex);
|
|
ACE_UNUSED_ARG (timeout);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_THREADS */
|
|
}
|
|
#endif /* !ACE_LACKS_COND_T */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::mutex_lock (ACE_mutex_t *m,
|
|
const ACE_Time_Value *timeout)
|
|
{
|
|
return timeout == 0 ? ACE_OS::mutex_lock (m) : ACE_OS::mutex_lock (m, *timeout);
|
|
}
|
|
|
|
#if defined (ACE_HAS_WCHAR)
|
|
ACE_INLINE int
|
|
ACE_OS::event_init (ACE_event_t *event,
|
|
int manual_reset,
|
|
int initial_state,
|
|
int type,
|
|
const wchar_t *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;
|
|
*event = ::CreateEventW (ACE_OS::default_win32_security_attributes_r
|
|
(sa, &sa_buffer, &sd_buffer),
|
|
manual_reset,
|
|
initial_state,
|
|
name);
|
|
if (*event == 0)
|
|
ACE_FAIL_RETURN (-1);
|
|
|
|
// Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
|
|
ACE_OS::set_errno_to_last_error ();
|
|
return 0;
|
|
#else /* ACE_WIN32 */
|
|
return ACE_OS::event_init (event,
|
|
manual_reset,
|
|
initial_state,
|
|
type,
|
|
ACE_Wide_To_Ascii (name).char_rep (),
|
|
arg,
|
|
sa);
|
|
#endif /* ACE_WIN32 */
|
|
}
|
|
#endif /* ACE_HAS_WCHAR */
|
|
|
|
ACE_INLINE long
|
|
ACE_OS::priority_control (ACE_idtype_t idtype, ACE_id_t identifier, int cmd, void *arg)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::priority_control");
|
|
#if defined (ACE_HAS_PRIOCNTL)
|
|
ACE_OSCALL_RETURN (priocntl (idtype, identifier, cmd, static_cast<caddr_t> (arg)),
|
|
long, -1);
|
|
#else /* ! ACE_HAS_PRIOCNTL*/
|
|
ACE_UNUSED_ARG (idtype);
|
|
ACE_UNUSED_ARG (identifier);
|
|
ACE_UNUSED_ARG (cmd);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ! ACE_HAS_PRIOCNTL*/
|
|
}
|
|
|
|
// This method is used to prepare the recursive mutex for releasing
|
|
// when waiting on a condition variable. If the platform doesn't have
|
|
// native recursive mutex and condition variable support, then ACE needs
|
|
// to save the recursion state around the wait and also ensure that the
|
|
// wait and lock release are atomic. recursive_mutex_cond_relock()
|
|
// is the inverse of this method.
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_cond_unlock (ACE_recursive_thread_mutex_t *m,
|
|
ACE_recursive_mutex_state &state)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
ACE_OS_TRACE ("ACE_OS::recursive_mutex_cond_unlock");
|
|
# if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
// Windows need special handling since it has recursive mutexes, but
|
|
// does not integrate them into a condition variable.
|
|
# if defined (ACE_WIN32)
|
|
// For Windows, the OS takes care of the mutex and its recursion. We just
|
|
// need to release the lock one fewer times than this thread has acquired
|
|
// it. Remember how many times, and reacquire it that many more times when
|
|
// the condition is signaled.
|
|
|
|
// We're using undocumented fields in the CRITICAL_SECTION structure
|
|
// and they've been known to change across Windows variants and versions./
|
|
// So be careful if you need to change these - there may be other
|
|
// Windows variants that depend on existing values and limits.
|
|
|
|
state.relock_count_ = 0;
|
|
while (
|
|
# if !defined (ACE_HAS_WINCE)
|
|
m->LockCount > 0 && m->RecursionCount > 1
|
|
# else
|
|
// WinCE doesn't have RecursionCount and the LockCount semantic
|
|
// Mobile 5 has it 1-indexed.
|
|
m->LockCount > 1
|
|
# endif /* ACE_HAS_WINCE */
|
|
)
|
|
{
|
|
// This may fail if the current thread doesn't own the mutex. If it
|
|
// does fail, it'll be on the first try, so don't worry about resetting
|
|
// the state.
|
|
if (ACE_OS::recursive_mutex_unlock (m) == -1)
|
|
return -1;
|
|
++state.relock_count_;
|
|
}
|
|
# else /* not ACE_WIN32 */
|
|
// prevent warnings for unused variables
|
|
ACE_UNUSED_ARG (state);
|
|
ACE_UNUSED_ARG (m);
|
|
# endif /* ACE_WIN32 */
|
|
return 0;
|
|
# else /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
// For platforms without recursive mutexes, we obtain the nesting mutex
|
|
// to gain control over the mutex internals. Then set the internals to say
|
|
// the mutex is available. If there are waiters, signal the condition
|
|
// to notify them (this is mostly like the recursive_mutex_unlock() method).
|
|
// Then, return with the nesting mutex still held. The condition wait
|
|
// will release it atomically, allowing mutex waiters to continue.
|
|
// Note that this arrangement relies on the fact that on return from
|
|
// the condition wait, this thread will again own the nesting mutex
|
|
// and can either set the mutex internals directly or get in line for
|
|
// the mutex... this part is handled in recursive_mutex_cond_relock().
|
|
if (ACE_OS::thread_mutex_lock (&m->nesting_mutex_) == -1)
|
|
return -1;
|
|
|
|
# if !defined (ACE_NDEBUG)
|
|
if (m->nesting_level_ == 0
|
|
|| ACE_OS::thr_equal (ACE_OS::thr_self (), m->owner_id_) == 0)
|
|
{
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
errno = EINVAL;
|
|
return -1;
|
|
}
|
|
# endif /* ACE_NDEBUG */
|
|
|
|
// To make error recovery a bit easier, signal the condition now. Any
|
|
// waiter won't regain control until the mutex is released, which won't
|
|
// be until the caller returns and does the wait on the condition.
|
|
if (ACE_OS::cond_signal (&m->lock_available_) == -1)
|
|
{
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
return -1;
|
|
}
|
|
|
|
// Ok, the nesting_mutex_ lock is still held, the condition has been
|
|
// signaled... reset the nesting info and return _WITH_ the lock
|
|
// held. The lock will be released when the condition waits, in the
|
|
// caller.
|
|
state.nesting_level_ = m->nesting_level_;
|
|
state.owner_id_ = m->owner_id_;
|
|
m->nesting_level_ = 0;
|
|
m->owner_id_ = ACE_OS::NULL_thread;
|
|
return 0;
|
|
# endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (state);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
|
|
// This method is called after waiting on a condition variable when a
|
|
// recursive mutex must be reacquired. If the platform doesn't natively
|
|
// integrate recursive mutexes and condition variables, it's taken care
|
|
// of here (inverse of ACE_OS::recursive_mutex_cond_unlock).
|
|
ACE_INLINE void
|
|
ACE_OS::recursive_mutex_cond_relock (ACE_recursive_thread_mutex_t *m,
|
|
ACE_recursive_mutex_state &state)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
ACE_OS_TRACE ("ACE_OS::recursive_mutex_cond_relock");
|
|
# if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
// Windows need special handling since it has recursive mutexes, but
|
|
// does not integrate them into a condition variable.
|
|
// On entry, the OS has already reacquired the lock for us. Just
|
|
// reacquire it the proper number of times so the recursion is the same as
|
|
// before waiting on the condition.
|
|
# if defined (ACE_WIN32)
|
|
while (state.relock_count_ > 0)
|
|
{
|
|
ACE_OS::recursive_mutex_lock (m);
|
|
--state.relock_count_;
|
|
}
|
|
return;
|
|
# else /* not ACE_WIN32 */
|
|
// prevent warnings for unused variables
|
|
ACE_UNUSED_ARG (state);
|
|
ACE_UNUSED_ARG (m);
|
|
|
|
# endif /* ACE_WIN32 */
|
|
# else
|
|
// Without recursive mutex support, it's somewhat trickier. On entry,
|
|
// the current thread holds the nesting_mutex_, but another thread may
|
|
// still be holding the ACE_recursive_mutex_t. If so, mimic the code
|
|
// in ACE_OS::recursive_mutex_lock that waits to acquire the mutex.
|
|
// After acquiring it, restore the nesting counts and release the
|
|
// nesting mutex. This will restore the conditions to what they were
|
|
// before calling ACE_OS::recursive_mutex_cond_unlock().
|
|
while (m->nesting_level_ > 0)
|
|
ACE_OS::cond_wait (&m->lock_available_, &m->nesting_mutex_);
|
|
|
|
// At this point, we still have nesting_mutex_ and the mutex is free.
|
|
m->nesting_level_ = state.nesting_level_;
|
|
m->owner_id_ = state.owner_id_;
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
return;
|
|
# endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (state);
|
|
return;
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_destroy (ACE_recursive_thread_mutex_t *m)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
#if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
return ACE_OS::thread_mutex_destroy (m);
|
|
#else
|
|
if (ACE_OS::thread_mutex_destroy (&m->nesting_mutex_) == -1)
|
|
return -1;
|
|
else if (ACE_OS::cond_destroy (&m->lock_available_) == -1)
|
|
return -1;
|
|
else
|
|
return 0;
|
|
#endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_init (ACE_recursive_thread_mutex_t *m,
|
|
const ACE_TCHAR *name,
|
|
ACE_mutexattr_t *arg,
|
|
LPSECURITY_ATTRIBUTES sa)
|
|
{
|
|
ACE_UNUSED_ARG (sa);
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
return ACE_OS::thread_mutex_init (m, PTHREAD_MUTEX_RECURSIVE, name, arg);
|
|
# else
|
|
return ACE_OS::thread_mutex_init (m, 0, name, arg);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else
|
|
if (ACE_OS::thread_mutex_init (&m->nesting_mutex_, 0, name, arg) == -1)
|
|
return -1;
|
|
else if (ACE_OS::cond_init (&m->lock_available_,
|
|
(short) USYNC_THREAD,
|
|
name,
|
|
0) == -1)
|
|
return -1;
|
|
else
|
|
{
|
|
m->nesting_level_ = 0;
|
|
m->owner_id_ = ACE_OS::NULL_thread;
|
|
return 0;
|
|
}
|
|
# endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
#if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
return ACE_OS::thread_mutex_lock (m);
|
|
#else
|
|
ACE_thread_t const t_id = ACE_OS::thr_self ();
|
|
int result = 0;
|
|
|
|
// Acquire the guard.
|
|
if (ACE_OS::thread_mutex_lock (&m->nesting_mutex_) == -1)
|
|
result = -1;
|
|
else
|
|
{
|
|
// If there's no contention, just grab the lock immediately
|
|
// (since this is the common case we'll optimize for it).
|
|
if (m->nesting_level_ == 0)
|
|
m->owner_id_ = t_id;
|
|
// If we already own the lock, then increment the nesting level
|
|
// and return.
|
|
else if (ACE_OS::thr_equal (t_id, m->owner_id_) == 0)
|
|
{
|
|
// Wait until the nesting level has dropped to zero, at
|
|
// which point we can acquire the lock.
|
|
while (m->nesting_level_ > 0)
|
|
ACE_OS::cond_wait (&m->lock_available_,
|
|
&m->nesting_mutex_);
|
|
|
|
// At this point the nesting_mutex_ is held...
|
|
m->owner_id_ = t_id;
|
|
}
|
|
|
|
// At this point, we can safely increment the nesting_level_ no
|
|
// matter how we got here!
|
|
++m->nesting_level_;
|
|
}
|
|
|
|
{
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
}
|
|
return result;
|
|
#endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m,
|
|
const ACE_Time_Value &timeout)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
#if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
return ACE_OS::thread_mutex_lock (m, timeout);
|
|
#else
|
|
ACE_thread_t t_id = ACE_OS::thr_self ();
|
|
int result = 0;
|
|
|
|
// Try to acquire the guard.
|
|
if (ACE_OS::thread_mutex_lock (&m->nesting_mutex_, timeout) == -1)
|
|
result = -1;
|
|
else
|
|
{
|
|
// If there's no contention, just grab the lock immediately
|
|
// (since this is the common case we'll optimize for it).
|
|
if (m->nesting_level_ == 0)
|
|
m->owner_id_ = t_id;
|
|
// If we already own the lock, then increment the nesting level
|
|
// and return.
|
|
else if (ACE_OS::thr_equal (t_id, m->owner_id_) == 0)
|
|
{
|
|
// Wait until the nesting level has dropped to zero, at
|
|
// which point we can acquire the lock.
|
|
while (m->nesting_level_ > 0)
|
|
{
|
|
result = ACE_OS::cond_timedwait (&m->lock_available_,
|
|
&m->nesting_mutex_,
|
|
const_cast <ACE_Time_Value *> (&timeout));
|
|
|
|
// The mutex is reacquired even in the case of a timeout
|
|
// release the mutex to prevent a deadlock
|
|
if (result == -1)
|
|
{
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
// At this point the nesting_mutex_ is held...
|
|
m->owner_id_ = t_id;
|
|
}
|
|
|
|
// At this point, we can safely increment the nesting_level_ no
|
|
// matter how we got here!
|
|
m->nesting_level_++;
|
|
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
}
|
|
return result;
|
|
#endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (timeout);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_lock (ACE_recursive_thread_mutex_t *m,
|
|
const ACE_Time_Value *timeout)
|
|
{
|
|
return timeout == 0
|
|
? ACE_OS::recursive_mutex_lock (m)
|
|
: ACE_OS::recursive_mutex_lock (m, *timeout);
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_trylock (ACE_recursive_thread_mutex_t *m)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
#if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
return ACE_OS::thread_mutex_trylock (m);
|
|
#else
|
|
ACE_thread_t t_id = ACE_OS::thr_self ();
|
|
int result = 0;
|
|
|
|
// Acquire the guard.
|
|
if (ACE_OS::thread_mutex_lock (&m->nesting_mutex_) == -1)
|
|
result = -1;
|
|
else
|
|
{
|
|
// If there's no contention, just grab the lock immediately.
|
|
if (m->nesting_level_ == 0)
|
|
{
|
|
m->owner_id_ = t_id;
|
|
m->nesting_level_ = 1;
|
|
}
|
|
// If we already own the lock, then increment the nesting level
|
|
// and proceed.
|
|
else if (ACE_OS::thr_equal (t_id, m->owner_id_))
|
|
m->nesting_level_++;
|
|
else
|
|
{
|
|
errno = EBUSY;
|
|
result = -1;
|
|
}
|
|
}
|
|
|
|
{
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
}
|
|
return result;
|
|
#endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::recursive_mutex_unlock (ACE_recursive_thread_mutex_t *m)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_RECURSIVE_MUTEXES)
|
|
return ACE_OS::thread_mutex_unlock (m);
|
|
# else
|
|
ACE_OS_TRACE ("ACE_OS::recursive_mutex_unlock");
|
|
# if !defined (ACE_NDEBUG)
|
|
ACE_thread_t t_id = ACE_OS::thr_self ();
|
|
# endif /* ACE_NDEBUG */
|
|
int result = 0;
|
|
|
|
if (ACE_OS::thread_mutex_lock (&m->nesting_mutex_) == -1)
|
|
result = -1;
|
|
else
|
|
{
|
|
# if !defined (ACE_NDEBUG)
|
|
if (m->nesting_level_ == 0
|
|
|| ACE_OS::thr_equal (t_id, m->owner_id_) == 0)
|
|
{
|
|
errno = EINVAL;
|
|
result = -1;
|
|
}
|
|
else
|
|
# endif /* ACE_NDEBUG */
|
|
{
|
|
m->nesting_level_--;
|
|
if (m->nesting_level_ == 0)
|
|
{
|
|
// This may not be strictly necessary, but it does put
|
|
// the mutex into a known state...
|
|
m->owner_id_ = ACE_OS::NULL_thread;
|
|
|
|
// Inform a waiter that the lock is free.
|
|
if (ACE_OS::cond_signal (&m->lock_available_) == -1)
|
|
result = -1;
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
// Save/restore errno.
|
|
ACE_Errno_Guard error (errno);
|
|
ACE_OS::thread_mutex_unlock (&m->nesting_mutex_);
|
|
}
|
|
return result;
|
|
# endif /* ACE_HAS_RECURSIVE_MUTEXES */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_rdlock (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_rdlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_rdlock (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rw_rdlock (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_PUSH (&rw->lock_);
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
int result = 0;
|
|
if (ACE_OS::mutex_lock (&rw->lock_) == -1)
|
|
result = -1; // -1 means didn't get the mutex.
|
|
else
|
|
{
|
|
// Give preference to writers who are waiting.
|
|
while (rw->ref_count_ < 0 || rw->num_waiting_writers_ > 0)
|
|
{
|
|
rw->num_waiting_readers_++;
|
|
if (ACE_OS::cond_wait (&rw->waiting_readers_, &rw->lock_) == -1)
|
|
{
|
|
result = -2; // -2 means that we need to release the mutex.
|
|
break;
|
|
}
|
|
rw->num_waiting_readers_--;
|
|
}
|
|
}
|
|
if (result == 0)
|
|
rw->ref_count_++;
|
|
if (result != -1)
|
|
ACE_OS::mutex_unlock (&rw->lock_);
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
# endif /* defined (ACE_HAS_PTHREADS) */
|
|
return 0;
|
|
# endif /* ! ACE_LACKS_RWLOCK_T */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_tryrdlock (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_tryrdlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_tryrdlock (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rw_tryrdlock (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_lock (&rw->lock_) != -1)
|
|
{
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
if (rw->ref_count_ == -1 || rw->num_waiting_writers_ > 0)
|
|
{
|
|
error = EBUSY;
|
|
result = -1;
|
|
}
|
|
else
|
|
{
|
|
rw->ref_count_++;
|
|
result = 0;
|
|
}
|
|
|
|
ACE_OS::mutex_unlock (&rw->lock_);
|
|
}
|
|
return result;
|
|
# endif /* ! ACE_LACKS_RWLOCK_T */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_trywrlock (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_trywrlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_trywrlock (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rw_trywrlock (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_lock (&rw->lock_) != -1)
|
|
{
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
if (rw->ref_count_ != 0)
|
|
{
|
|
error = EBUSY;
|
|
result = -1;
|
|
}
|
|
else
|
|
{
|
|
rw->ref_count_ = -1;
|
|
result = 0;
|
|
}
|
|
|
|
ACE_OS::mutex_unlock (&rw->lock_);
|
|
}
|
|
return result;
|
|
# endif /* ! ACE_LACKS_RWLOCK_T */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
// Note that the caller of this method *must* already possess this
|
|
// lock as a read lock.
|
|
// return {-1 and no errno set means: error,
|
|
// -1 and errno==EBUSY set means: could not upgrade,
|
|
// 0 means: upgraded successfully}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_trywrlock_upgrade (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_trywrlock_upgrade");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
// This will probably result in -1, EDEADLK, at least on HP-UX, but let it
|
|
// go - it's a more descriptive error than ENOTSUP.
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_trywrlock (rw),
|
|
result),
|
|
int, -1);
|
|
# elif !defined (ACE_LACKS_RWLOCK_T)
|
|
// Some native rwlocks, such as those on Solaris, don't
|
|
// support the upgrade feature . . .
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
// The ACE rwlock emulation does support upgrade . . .
|
|
int result = 0;
|
|
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_PUSH (&rw->lock_);
|
|
# endif /* defined (ACE_HAS_PTHREADS) */
|
|
|
|
if (ACE_OS::mutex_lock (&rw->lock_) == -1)
|
|
return -1;
|
|
// -1 means didn't get the mutex, error
|
|
else if (rw->important_writer_)
|
|
// an other reader upgrades already
|
|
{
|
|
result = -1;
|
|
errno = EBUSY;
|
|
}
|
|
else
|
|
{
|
|
while (rw->ref_count_ > 1) // wait until only I am left
|
|
{
|
|
rw->num_waiting_writers_++; // prohibit any more readers
|
|
rw->important_writer_ = true;
|
|
|
|
if (ACE_OS::cond_wait (&rw->waiting_important_writer_, &rw->lock_) == -1)
|
|
{
|
|
result = -1;
|
|
// we know that we have the lock again, we have this guarantee,
|
|
// but something went wrong
|
|
}
|
|
rw->important_writer_ = false;
|
|
rw->num_waiting_writers_--;
|
|
}
|
|
if (result == 0)
|
|
{
|
|
// nothing bad happend
|
|
rw->ref_count_ = -1;
|
|
// now I am a writer
|
|
// everything is O.K.
|
|
}
|
|
}
|
|
|
|
ACE_OS::mutex_unlock (&rw->lock_);
|
|
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
# endif /* defined (ACE_HAS_PTHREADS) */
|
|
|
|
return result;
|
|
|
|
# endif /* ! ACE_LACKS_RWLOCK_T */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_unlock (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_unlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_unlock (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rw_unlock (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
if (ACE_OS::mutex_lock (&rw->lock_) == -1)
|
|
return -1;
|
|
|
|
if (rw->ref_count_ > 0) // Releasing a reader.
|
|
rw->ref_count_--;
|
|
else if (rw->ref_count_ == -1) // Releasing a writer.
|
|
rw->ref_count_ = 0;
|
|
else
|
|
{
|
|
(void) ACE_OS::mutex_unlock (&rw->lock_);
|
|
return -1; // @@ ACE_ASSERT (!"count should not be 0!\n");
|
|
}
|
|
|
|
int result = 0;
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
if (rw->important_writer_ && rw->ref_count_ == 1)
|
|
// only the reader requesting to upgrade its lock is left over.
|
|
{
|
|
result = ACE_OS::cond_signal (&rw->waiting_important_writer_);
|
|
error = errno;
|
|
}
|
|
else if (rw->num_waiting_writers_ > 0 && rw->ref_count_ == 0)
|
|
// give preference to writers over readers...
|
|
{
|
|
result = ACE_OS::cond_signal (&rw->waiting_writers_);
|
|
error = errno;
|
|
}
|
|
else if (rw->num_waiting_readers_ > 0 && rw->num_waiting_writers_ == 0)
|
|
{
|
|
result = ACE_OS::cond_broadcast (&rw->waiting_readers_);
|
|
error = errno;
|
|
}
|
|
|
|
(void) ACE_OS::mutex_unlock (&rw->lock_);
|
|
return result;
|
|
# endif /* ! ace_lacks_rwlock_t */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ace_has_threads */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rw_wrlock (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rw_wrlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_wrlock (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rw_wrlock (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_PUSH (&rw->lock_);
|
|
# endif /* defined (ACE_HAS_PTHREADS) */
|
|
int result = 0;
|
|
|
|
if (ACE_OS::mutex_lock (&rw->lock_) == -1)
|
|
result = -1; // -1 means didn't get the mutex.
|
|
else
|
|
{
|
|
while (rw->ref_count_ != 0)
|
|
{
|
|
rw->num_waiting_writers_++;
|
|
|
|
if (ACE_OS::cond_wait (&rw->waiting_writers_, &rw->lock_) == -1)
|
|
{
|
|
result = -2; // -2 means we need to release the mutex.
|
|
break;
|
|
}
|
|
|
|
rw->num_waiting_writers_--;
|
|
}
|
|
}
|
|
if (result == 0)
|
|
rw->ref_count_ = -1;
|
|
if (result != -1)
|
|
ACE_OS::mutex_unlock (&rw->lock_);
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
# endif /* defined (ACE_HAS_PTHREADS) */
|
|
return 0;
|
|
# endif /* ! ACE_LACKS_RWLOCK_T */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::rwlock_destroy (ACE_rwlock_t *rw)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::rwlock_destroy");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if !defined (ACE_LACKS_RWLOCK_T) || defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_rwlock_destroy (rw),
|
|
result),
|
|
int, -1);
|
|
# else /* Solaris */
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rwlock_destroy (rw), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
# else /* NT, POSIX, and VxWorks don't support this natively. */
|
|
ACE_OS::mutex_destroy (&rw->lock_);
|
|
ACE_OS::cond_destroy (&rw->waiting_readers_);
|
|
ACE_OS::cond_destroy (&rw->waiting_important_writer_);
|
|
return ACE_OS::cond_destroy (&rw->waiting_writers_);
|
|
# endif /* ACE_HAS_STHREADS && !defined (ACE_LACKS_RWLOCK_T) */
|
|
#else
|
|
ACE_UNUSED_ARG (rw);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
#if defined (ACE_HAS_THREADS) && (!defined (ACE_LACKS_RWLOCK_T) || \
|
|
defined (ACE_HAS_PTHREADS_UNIX98_EXT))
|
|
ACE_INLINE 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_PTHREADS_UNIX98_EXT)
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
|
|
int status;
|
|
pthread_rwlockattr_t attr;
|
|
pthread_rwlockattr_init (&attr);
|
|
# if !defined (ACE_LACKS_RWLOCKATTR_PSHARED)
|
|
pthread_rwlockattr_setpshared (&attr, (type == USYNC_THREAD ?
|
|
PTHREAD_PROCESS_PRIVATE :
|
|
PTHREAD_PROCESS_SHARED));
|
|
# else
|
|
ACE_UNUSED_ARG (type);
|
|
# endif /* !ACE_LACKS_RWLOCKATTR_PSHARED */
|
|
status = ACE_ADAPT_RETVAL (pthread_rwlock_init (rw, &attr), status);
|
|
pthread_rwlockattr_destroy (&attr);
|
|
|
|
return status;
|
|
|
|
# else
|
|
type = type;
|
|
name = name;
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::rwlock_init (rw, type, arg), result), int, -1);
|
|
# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
|
|
}
|
|
#endif /* ACE_HAS THREADS && !defined (ACE_LACKS_RWLOCK_T) */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_destroy (ACE_sema_t *s)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_destroy");
|
|
# if defined (ACE_HAS_POSIX_SEM)
|
|
int result;
|
|
# if !defined (ACE_HAS_POSIX_SEM_TIMEOUT) && !defined (ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION)
|
|
ACE_OS::mutex_destroy (&s->lock_);
|
|
ACE_OS::cond_destroy (&s->count_nonzero_);
|
|
# endif /* !ACE_HAS_POSIX_SEM_TIMEOUT && !ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION */
|
|
# if defined (ACE_LACKS_NAMED_POSIX_SEM)
|
|
if (s->name_)
|
|
{
|
|
// Only destroy the semaphore if we're the ones who
|
|
// initialized it.
|
|
ACE_OSCALL (::sem_destroy (s->sema_),int, -1, result);
|
|
ACE_OS::shm_unlink (s->name_);
|
|
delete s->name_;
|
|
return result;
|
|
}
|
|
# else
|
|
if (s->name_)
|
|
{
|
|
ACE_OSCALL (::sem_unlink (s->name_), int, -1, result);
|
|
ACE_OS::free ((void *) s->name_);
|
|
ACE_OSCALL_RETURN (::sem_close (s->sema_), int, -1);
|
|
}
|
|
# endif /* ACE_LACKS_NAMED_POSIX_SEM */
|
|
else
|
|
{
|
|
ACE_OSCALL (::sem_destroy (s->sema_), int, -1, result);
|
|
# if defined (ACE_LACKS_NAMED_POSIX_SEM)
|
|
if (s->new_sema_)
|
|
# endif /* ACE_LACKS_NAMED_POSIX_SEM */
|
|
delete s->sema_;
|
|
s->sema_ = 0;
|
|
return result;
|
|
}
|
|
# elif defined (ACE_USES_FIFO_SEM)
|
|
int r0 = 0;
|
|
if (s->name_)
|
|
{
|
|
r0 = ACE_OS::unlink (s->name_);
|
|
ACE_OS::free (s->name_);
|
|
s->name_ = 0;
|
|
}
|
|
int r1 = ACE_OS::close (s->fd_[0]); /* ignore error */
|
|
int r2 = ACE_OS::close (s->fd_[1]); /* ignore error */
|
|
return r0 != 0 || r1 != 0 || r2 != 0 ? -1 : 0;
|
|
# elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sema_destroy (s), result), int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
int r1 = ACE_OS::mutex_destroy (&s->lock_);
|
|
int r2 = ACE_OS::cond_destroy (&s->count_nonzero_);
|
|
return r1 != 0 || r2 != 0 ? -1 : 0;
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::CloseHandle (*s), ace_result_), int, -1);
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
// Free up underlying objects of the simulated semaphore.
|
|
int const r1 = ACE_OS::thread_mutex_destroy (&s->lock_);
|
|
int const r2 = ACE_OS::event_destroy (&s->count_nonzero_);
|
|
return r1 != 0 || r2 != 0 ? -1 : 0;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# elif defined (ACE_VXWORKS)
|
|
int result;
|
|
ACE_OSCALL (::semDelete (s->sema_), int, -1, result);
|
|
s->sema_ = 0;
|
|
return result;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
// NOTE: The previous four function definitions must appear before
|
|
// ACE_OS::sema_init ().
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_init (ACE_sema_t *s,
|
|
u_int count,
|
|
int type,
|
|
const char *name,
|
|
void *arg,
|
|
int max,
|
|
LPSECURITY_ATTRIBUTES sa)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_init");
|
|
#if defined (ACE_HAS_POSIX_SEM)
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
|
|
s->name_ = 0;
|
|
# if defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION)
|
|
ACE_UNUSED_ARG (arg);
|
|
# else
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_init (&s->lock_, type, name,
|
|
(ACE_mutexattr_t *) arg) == 0
|
|
&& ACE_OS::cond_init (&s->count_nonzero_, (short)type, name, arg) == 0
|
|
&& ACE_OS::mutex_lock (&s->lock_) == 0)
|
|
{
|
|
if (ACE_OS::mutex_unlock (&s->lock_) == 0)
|
|
result = 0;
|
|
}
|
|
|
|
if (result == -1)
|
|
{
|
|
ACE_OS::mutex_destroy (&s->lock_);
|
|
ACE_OS::cond_destroy (&s->count_nonzero_);
|
|
return result;
|
|
}
|
|
# endif /* ACE_HAS_POSIX_SEM_TIMEOUT || ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION */
|
|
|
|
# if defined (ACE_LACKS_NAMED_POSIX_SEM)
|
|
s->new_sema_ = false;
|
|
if (type == USYNC_PROCESS)
|
|
{
|
|
// Let's see if it already exists.
|
|
ACE_HANDLE fd = ACE_OS::shm_open (ACE_TEXT_CHAR_TO_TCHAR (name),
|
|
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),
|
|
O_RDWR | O_CREAT,
|
|
ACE_DEFAULT_FILE_PERMS);
|
|
else
|
|
return -1;
|
|
}
|
|
else
|
|
{
|
|
// We own this shared memory object! Let's set its
|
|
// size.
|
|
if (ACE_OS::ftruncate (fd,
|
|
sizeof (ACE_sema_t)) == -1)
|
|
return -1;
|
|
s->name_ = ACE_OS::strdup (name);
|
|
if (s->name_ == 0)
|
|
return -1;
|
|
}
|
|
if (fd == -1)
|
|
return -1;
|
|
|
|
s->sema_ = (sem_t *)
|
|
ACE_OS::mmap (0,
|
|
sizeof (ACE_sema_t),
|
|
PROT_RDWR,
|
|
MAP_SHARED,
|
|
fd,
|
|
0);
|
|
ACE_OS::close (fd);
|
|
if (s->sema_ == (sem_t *) MAP_FAILED)
|
|
return -1;
|
|
if (s->name_
|
|
// @@ According UNIX Network Programming V2 by Stevens,
|
|
// sem_init() is currently not required to return zero on
|
|
// success, but it *does* return -1 upon failure. For
|
|
// this reason, check for failure by comparing to -1,
|
|
// instead of checking for success by comparing to zero.
|
|
// -Ossama
|
|
// Only initialize it if we're the one who created it.
|
|
&& ::sem_init (s->sema_, type == USYNC_PROCESS, count) == -1)
|
|
return -1;
|
|
return 0;
|
|
}
|
|
# else
|
|
if (name)
|
|
{
|
|
# if defined (sun) || defined (HPUX)
|
|
// Solaris and HP-UX require the name to start with a slash. Solaris
|
|
// further requires that there be no other slashes than the first.
|
|
const char *last_slash = ACE_OS::strrchr (name, '/');
|
|
char name2[MAXPATHLEN];
|
|
if (0 == last_slash)
|
|
{
|
|
ACE_OS::strcpy (name2, "/");
|
|
ACE_OS::strcat (name2, name);
|
|
name = name2;
|
|
}
|
|
# if defined (sun)
|
|
else
|
|
name = last_slash; // Chop off chars preceding last slash
|
|
# endif /* sun */
|
|
# endif /* sun || HPUX */
|
|
|
|
ACE_ALLOCATOR_RETURN (s->name_,
|
|
ACE_OS::strdup (name),
|
|
-1);
|
|
s->sema_ = ::sem_open (s->name_,
|
|
O_CREAT,
|
|
ACE_DEFAULT_FILE_PERMS,
|
|
count);
|
|
if (s->sema_ == (sem_t *) SEM_FAILED)
|
|
return -1;
|
|
else
|
|
return 0;
|
|
}
|
|
# endif /* ACE_LACKS_NAMED_POSIX_SEM */
|
|
else
|
|
{
|
|
ACE_NEW_RETURN (s->sema_,
|
|
sem_t,
|
|
-1);
|
|
# if defined (ACE_LACKS_NAMED_POSIX_SEM)
|
|
s->new_sema_ = true;
|
|
# endif /* ACE_LACKS_NAMED_POSIX_SEM */
|
|
ACE_OSCALL_RETURN (::sem_init (s->sema_,
|
|
type != USYNC_THREAD,
|
|
count), int, -1);
|
|
}
|
|
|
|
#elif defined (ACE_USES_FIFO_SEM)
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
int flags = 0;
|
|
mode_t mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP;
|
|
|
|
if (type == USYNC_THREAD)
|
|
{
|
|
// Create systemwide unique name for semaphore
|
|
char uname[ACE_UNIQUE_NAME_LEN];
|
|
ACE_OS::unique_name ((const void *) s,
|
|
uname,
|
|
ACE_UNIQUE_NAME_LEN);
|
|
name = &uname[0];
|
|
}
|
|
|
|
s->name_ = 0;
|
|
s->fd_[0] = s->fd_[1] = ACE_INVALID_HANDLE;
|
|
bool creator = false;
|
|
|
|
if (ACE_OS::mkfifo (ACE_TEXT_CHAR_TO_TCHAR (name), mode) < 0)
|
|
{
|
|
if (errno != EEXIST) /* already exists OK else ERR */
|
|
return -1;
|
|
// check if this is a real FIFO, not just some other existing file
|
|
ACE_stat fs;
|
|
if (ACE_OS::stat (name, &fs))
|
|
return -1;
|
|
if (!S_ISFIFO (fs.st_mode))
|
|
{
|
|
// existing file is not a FIFO
|
|
errno = EEXIST;
|
|
return -1;
|
|
}
|
|
}
|
|
else
|
|
creator = true; // remember we created it for initialization at end
|
|
|
|
// for processshared semaphores remember who we are to be able to remove
|
|
// the FIFO when we're done with it
|
|
if (type == USYNC_PROCESS)
|
|
{
|
|
s->name_ = ACE_OS::strdup (name);
|
|
if (s->name_ == 0)
|
|
{
|
|
if (creator)
|
|
ACE_OS::unlink (name);
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
if ((s->fd_[0] = ACE_OS::open (name, O_RDONLY | O_NONBLOCK)) == ACE_INVALID_HANDLE
|
|
|| (s->fd_[1] = ACE_OS::open (name, O_WRONLY | O_NONBLOCK)) == ACE_INVALID_HANDLE)
|
|
return -1;
|
|
|
|
/* turn off nonblocking for fd_[0] */
|
|
if ((flags = ACE_OS::fcntl (s->fd_[0], F_GETFL, 0)) < 0)
|
|
return -1;
|
|
|
|
flags &= ~O_NONBLOCK;
|
|
if (ACE_OS::fcntl (s->fd_[0], F_SETFL, flags) < 0)
|
|
return -1;
|
|
|
|
//if (s->name_ && count)
|
|
if (creator && count)
|
|
{
|
|
char c = 1;
|
|
for (u_int i=0; i<count ;++i)
|
|
if (ACE_OS::write (s->fd_[1], &c, sizeof (char)) != 1)
|
|
return -1;
|
|
}
|
|
|
|
// In the case of process scope semaphores we can already unlink the FIFO now that
|
|
// we completely set it up (the opened handles will keep it active until we close
|
|
// thos down). This way we're protected against unexpected crashes as far as removal
|
|
// is concerned.
|
|
// Unfortunately this does not work for processshared FIFOs since as soon as we
|
|
// have unlinked the semaphore no other process will be able to open it anymore.
|
|
if (type == USYNC_THREAD)
|
|
{
|
|
ACE_OS::unlink (name);
|
|
}
|
|
|
|
return 0;
|
|
#elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sema_init (s, count, type, arg), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_init (&s->lock_, type, name,
|
|
(ACE_mutexattr_t *) arg) == 0
|
|
&& ACE_OS::cond_init (&s->count_nonzero_, type, name, arg) == 0
|
|
&& ACE_OS::mutex_lock (&s->lock_) == 0)
|
|
{
|
|
s->count_ = count;
|
|
s->waiters_ = 0;
|
|
|
|
if (ACE_OS::mutex_unlock (&s->lock_) == 0)
|
|
result = 0;
|
|
}
|
|
|
|
if (result == -1)
|
|
{
|
|
ACE_OS::mutex_destroy (&s->lock_);
|
|
ACE_OS::cond_destroy (&s->count_nonzero_);
|
|
}
|
|
return result;
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if ! defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
ACE_UNUSED_ARG (type);
|
|
ACE_UNUSED_ARG (arg);
|
|
// Create the semaphore with its value initialized to <count> and
|
|
// its maximum value initialized to <max>.
|
|
SECURITY_ATTRIBUTES sa_buffer;
|
|
SECURITY_DESCRIPTOR sd_buffer;
|
|
*s = ACE_TEXT_CreateSemaphore
|
|
(ACE_OS::default_win32_security_attributes_r (sa, &sa_buffer, &sd_buffer),
|
|
count,
|
|
max,
|
|
ACE_TEXT_CHAR_TO_TCHAR (name));
|
|
|
|
if (*s == 0)
|
|
ACE_FAIL_RETURN (-1);
|
|
/* NOTREACHED */
|
|
else
|
|
{
|
|
// Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
|
|
ACE_OS::set_errno_to_last_error ();
|
|
return 0;
|
|
}
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
int result = -1;
|
|
|
|
// Initialize internal object for semaphore simulation.
|
|
// Grab the lock as soon as possible when we initializing
|
|
// the semaphore count. Notice that we initialize the
|
|
// event object as "manually reset" so we can amortize the
|
|
// cost for singling/reseting the event.
|
|
// @@ I changed the mutex type to thread_mutex. Notice that this
|
|
// is basically a CriticalSection object and doesn't not has
|
|
// any security attribute whatsoever. However, since this
|
|
// semaphore implementation only works within a process, there
|
|
// shouldn't any security issue at all.
|
|
if (ACE_OS::thread_mutex_init (&s->lock_, type, name, (ACE_mutexattr_t *)arg) == 0
|
|
&& ACE_OS::event_init (&s->count_nonzero_, 1,
|
|
count > 0, type, name, arg, sa) == 0
|
|
&& ACE_OS::thread_mutex_lock (&s->lock_) == 0)
|
|
{
|
|
s->count_ = count;
|
|
|
|
if (ACE_OS::thread_mutex_unlock (&s->lock_) == 0)
|
|
result = 0;
|
|
}
|
|
|
|
// Destroy the internal objects if we didn't initialize
|
|
// either of them successfully. Don't bother to check
|
|
// for errors.
|
|
if (result == -1)
|
|
{
|
|
ACE_OS::thread_mutex_destroy (&s->lock_);
|
|
ACE_OS::event_destroy (&s->count_nonzero_);
|
|
}
|
|
return result;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# elif defined (ACE_VXWORKS)
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
s->name_ = 0;
|
|
s->sema_ = ::semCCreate (type, count);
|
|
return s->sema_ ? 0 : -1;
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_UNUSED_ARG (count);
|
|
ACE_UNUSED_ARG (type);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_UNUSED_ARG (max);
|
|
ACE_UNUSED_ARG (sa);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
#if defined (ACE_HAS_WCHAR)
|
|
ACE_INLINE int
|
|
ACE_OS::sema_init (ACE_sema_t *s,
|
|
u_int count,
|
|
int type,
|
|
const wchar_t *name,
|
|
void *arg,
|
|
int max,
|
|
LPSECURITY_ATTRIBUTES sa)
|
|
{
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
# if ! defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
ACE_UNUSED_ARG (type);
|
|
ACE_UNUSED_ARG (arg);
|
|
// Create the semaphore with its value initialized to <count> and
|
|
// its maximum value initialized to <max>.
|
|
SECURITY_ATTRIBUTES sa_buffer;
|
|
SECURITY_DESCRIPTOR sd_buffer;
|
|
*s = ::CreateSemaphoreW
|
|
(ACE_OS::default_win32_security_attributes_r (sa, &sa_buffer, &sd_buffer),
|
|
count,
|
|
max,
|
|
name);
|
|
|
|
if (*s == 0)
|
|
ACE_FAIL_RETURN (-1);
|
|
/* NOTREACHED */
|
|
else
|
|
{
|
|
// Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
|
|
ACE_OS::set_errno_to_last_error ();
|
|
return 0;
|
|
}
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
int result = -1;
|
|
|
|
// Initialize internal object for semaphore simulation.
|
|
// Grab the lock as soon as possible when we initializing
|
|
// the semaphore count. Notice that we initialize the
|
|
// event object as "manually reset" so we can amortize the
|
|
// cost for singling/reseting the event.
|
|
// @@ I changed the mutex type to thread_mutex. Notice that this
|
|
// is basically a CriticalSection object and doesn't not has
|
|
// any security attribute whatsoever. However, since this
|
|
// semaphore implementation only works within a process, there
|
|
// shouldn't any security issue at all.
|
|
if (ACE_OS::thread_mutex_init (&s->lock_, type, name, (ACE_mutexattr_t *)arg) == 0
|
|
&& ACE_OS::event_init (&s->count_nonzero_, 1,
|
|
count > 0, type, name, arg, sa) == 0
|
|
&& ACE_OS::thread_mutex_lock (&s->lock_) == 0)
|
|
{
|
|
s->count_ = count;
|
|
|
|
if (ACE_OS::thread_mutex_unlock (&s->lock_) == 0)
|
|
result = 0;
|
|
}
|
|
|
|
// Destroy the internal objects if we didn't initialize
|
|
// either of them successfully. Don't bother to check
|
|
// for errors.
|
|
if (result == -1)
|
|
{
|
|
ACE_OS::thread_mutex_destroy (&s->lock_);
|
|
ACE_OS::event_destroy (&s->count_nonzero_);
|
|
}
|
|
return result;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# else /* ACE_HAS_WTHREADS */
|
|
// Just call the normal char version.
|
|
return ACE_OS::sema_init (s, count, type, ACE_Wide_To_Ascii (name).char_rep (), arg, max, sa);
|
|
# endif /* ACE_HAS_WTHREADS */
|
|
}
|
|
#endif /* ACE_HAS_WCHAR */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_post (ACE_sema_t *s)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_post");
|
|
# if defined (ACE_HAS_POSIX_SEM)
|
|
# if defined (ACE_HAS_POSIX_SEM_TIMEOUT) || defined (ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION)
|
|
ACE_OSCALL_RETURN (::sem_post (s->sema_), int, -1);
|
|
# else
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) == 0)
|
|
{
|
|
if (::sem_post (s->sema_) == 0)
|
|
result = ACE_OS::cond_signal (&s->count_nonzero_);
|
|
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
}
|
|
return result;
|
|
# endif /* ACE_HAS_POSIX_SEM_TIMEOUT || ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION */
|
|
# elif defined (ACE_USES_FIFO_SEM)
|
|
char c = 1;
|
|
if (ACE_OS::write (s->fd_[1], &c, sizeof (char)) == sizeof (char))
|
|
return 0;
|
|
return -1;
|
|
# elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sema_post (s), result), int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) == 0)
|
|
{
|
|
// Always allow a waiter to continue if there is one.
|
|
if (s->waiters_ > 0)
|
|
result = ACE_OS::cond_signal (&s->count_nonzero_);
|
|
else
|
|
result = 0;
|
|
|
|
s->count_++;
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
}
|
|
return result;
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::ReleaseSemaphore (*s, 1, 0),
|
|
ace_result_),
|
|
int, -1);
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
int result = -1;
|
|
|
|
// Since we are simulating semaphores, we need to update semaphore
|
|
// count manually. Grab the lock to prevent race condition first.
|
|
if (ACE_OS::thread_mutex_lock (&s->lock_) == 0)
|
|
{
|
|
// Check the original state of event object. Single the event
|
|
// object in transition from semaphore not available to
|
|
// semaphore available.
|
|
if (s->count_++ <= 0)
|
|
result = ACE_OS::event_signal (&s->count_nonzero_);
|
|
else
|
|
result = 0;
|
|
|
|
ACE_OS::thread_mutex_unlock (&s->lock_);
|
|
}
|
|
return result;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# elif defined (ACE_VXWORKS)
|
|
ACE_OSCALL_RETURN (::semGive (s->sema_), int, -1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_post (ACE_sema_t *s, u_int release_count)
|
|
{
|
|
#if defined (ACE_WIN32) && !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
// Win32 supports this natively.
|
|
ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::ReleaseSemaphore (*s, release_count, 0),
|
|
ace_result_), int, -1);
|
|
#else
|
|
// On POSIX platforms we need to emulate this ourselves.
|
|
// @@ We can optimize on this implementation. However,
|
|
// the semaphore promitive on Win32 doesn't allow one
|
|
// to increase a semaphore to more than the count it was
|
|
// first initialized. Posix and solaris don't seem to have
|
|
// this restriction. Should we impose the restriction in
|
|
// our semaphore simulation?
|
|
for (size_t i = 0; i < release_count; i++)
|
|
if (ACE_OS::sema_post (s) == -1)
|
|
return -1;
|
|
|
|
return 0;
|
|
#endif /* ACE_WIN32 */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_trywait (ACE_sema_t *s)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_trywait");
|
|
# if defined (ACE_HAS_POSIX_SEM)
|
|
// POSIX semaphores set errno to EAGAIN if trywait fails
|
|
ACE_OSCALL_RETURN (::sem_trywait (s->sema_), int, -1);
|
|
# elif defined (ACE_USES_FIFO_SEM)
|
|
char c;
|
|
int rc, flags;
|
|
|
|
/* turn on nonblocking for s->fd_[0] */
|
|
if ((flags = ACE_OS::fcntl (s->fd_[0], F_GETFL, 0)) < 0)
|
|
return -1;
|
|
flags |= O_NONBLOCK;
|
|
if (ACE_OS::fcntl (s->fd_[0], F_SETFL, flags) < 0)
|
|
return -1;
|
|
|
|
// read sets errno to EAGAIN if no input
|
|
rc = ACE_OS::read (s->fd_[0], &c, sizeof (char));
|
|
|
|
/* turn off nonblocking for fd_[0] */
|
|
if ((flags = ACE_OS::fcntl (s->fd_[0], F_GETFL, 0)) >= 0)
|
|
{
|
|
flags &= ~O_NONBLOCK;
|
|
ACE_OS::fcntl (s->fd_[0], F_SETFL, flags);
|
|
}
|
|
|
|
return rc == 1 ? 0 : (-1);
|
|
# elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
// STHREADS semaphores set errno to EBUSY if trywait fails.
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sema_trywait (s),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
|
|
int result = -1;
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) == 0)
|
|
{
|
|
if (s->count_ > 0)
|
|
{
|
|
--s->count_;
|
|
result = 0;
|
|
}
|
|
else
|
|
errno = EBUSY;
|
|
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
}
|
|
return result;
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
DWORD result = ::WaitForSingleObject (*s, 0);
|
|
|
|
if (result == WAIT_OBJECT_0)
|
|
return 0;
|
|
else
|
|
{
|
|
if (result == WAIT_TIMEOUT)
|
|
errno = EBUSY;
|
|
else
|
|
ACE_OS::set_errno_to_last_error ();
|
|
// This is a hack, we need to find an appropriate mapping...
|
|
return -1;
|
|
}
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
// Check the status of semaphore first. Return immediately
|
|
// if the semaphore is not available and avoid grabing the
|
|
// lock.
|
|
DWORD result = ::WaitForSingleObject (s->count_nonzero_, 0);
|
|
|
|
if (result == WAIT_OBJECT_0) // Proceed when it is available.
|
|
{
|
|
ACE_OS::thread_mutex_lock (&s->lock_);
|
|
|
|
// Need to double check if the semaphore is still available.
|
|
// The double checking scheme will slightly affect the
|
|
// efficiency if most of the time semaphores are not blocked.
|
|
result = ::WaitForSingleObject (s->count_nonzero_, 0);
|
|
if (result == WAIT_OBJECT_0)
|
|
{
|
|
// Adjust the semaphore count. Only update the event
|
|
// object status when the state changed.
|
|
s->count_--;
|
|
if (s->count_ <= 0)
|
|
ACE_OS::event_reset (&s->count_nonzero_);
|
|
result = 0;
|
|
}
|
|
|
|
ACE_OS::thread_mutex_unlock (&s->lock_);
|
|
}
|
|
|
|
// Translate error message to errno used by ACE.
|
|
if (result == WAIT_TIMEOUT)
|
|
errno = EBUSY;
|
|
else
|
|
ACE_OS::set_errno_to_last_error ();
|
|
// This is taken from the hack above. ;)
|
|
return -1;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# elif defined (ACE_VXWORKS)
|
|
if (::semTake (s->sema_, 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 /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_wait (ACE_sema_t *s)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_wait");
|
|
# if defined (ACE_HAS_POSIX_SEM)
|
|
ACE_OSCALL_RETURN (::sem_wait (s->sema_), int, -1);
|
|
# elif defined (ACE_USES_FIFO_SEM)
|
|
char c;
|
|
if (ACE_OS::read (s->fd_[0], &c, sizeof (char)) == 1)
|
|
return 0;
|
|
return -1;
|
|
# elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sema_wait (s), result), int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
int result = 0;
|
|
|
|
ACE_PTHREAD_CLEANUP_PUSH (&s->lock_);
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) != 0)
|
|
result = -1;
|
|
else
|
|
{
|
|
// Keep track of the number of waiters so that we can signal
|
|
// them properly in <ACE_OS::sema_post>.
|
|
s->waiters_++;
|
|
|
|
// Wait until the semaphore count is > 0.
|
|
while (s->count_ == 0)
|
|
if (ACE_OS::cond_wait (&s->count_nonzero_,
|
|
&s->lock_) == -1)
|
|
{
|
|
result = -2; // -2 means that we need to release the mutex.
|
|
break;
|
|
}
|
|
|
|
--s->waiters_;
|
|
}
|
|
|
|
if (result == 0)
|
|
--s->count_;
|
|
|
|
if (result != -1)
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
return result < 0 ? -1 : result;
|
|
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
switch (::WaitForSingleObject (*s, INFINITE))
|
|
{
|
|
case WAIT_OBJECT_0:
|
|
return 0;
|
|
default:
|
|
// This is a hack, we need to find an appropriate mapping...
|
|
ACE_OS::set_errno_to_last_error ();
|
|
return -1;
|
|
}
|
|
/* NOTREACHED */
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
// Timed wait.
|
|
int result = -1;
|
|
for (;;)
|
|
// Check if the semaphore is avialable or not and wait forever.
|
|
// Don't bother to grab the lock if it is not available (to avoid
|
|
// deadlock.)
|
|
switch (::WaitForSingleObject (s->count_nonzero_, INFINITE))
|
|
{
|
|
case WAIT_OBJECT_0:
|
|
ACE_OS::thread_mutex_lock (&s->lock_);
|
|
|
|
// Need to double check if the semaphore is still available.
|
|
// This time, we shouldn't wait at all.
|
|
if (::WaitForSingleObject (s->count_nonzero_, 0) == WAIT_OBJECT_0)
|
|
{
|
|
// Decrease the internal counter. Only update the event
|
|
// object's status when the state changed.
|
|
s->count_--;
|
|
if (s->count_ <= 0)
|
|
ACE_OS::event_reset (&s->count_nonzero_);
|
|
result = 0;
|
|
}
|
|
|
|
ACE_OS::thread_mutex_unlock (&s->lock_);
|
|
// if we didn't get a hold on the semaphore, the result won't
|
|
// be 0 and thus, we'll start from the beginning again.
|
|
if (result == 0)
|
|
return 0;
|
|
break;
|
|
|
|
default:
|
|
// Since we wait indefinitely, anything other than
|
|
// WAIT_OBJECT_O indicates an error.
|
|
ACE_OS::set_errno_to_last_error ();
|
|
// This is taken from the hack above. ;)
|
|
return -1;
|
|
}
|
|
/* NOTREACHED */
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# elif defined (ACE_VXWORKS)
|
|
ACE_OSCALL_RETURN (::semTake (s->sema_, WAIT_FOREVER), int, -1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sema_wait");
|
|
# if defined (ACE_HAS_POSIX_SEM)
|
|
# if defined (ACE_HAS_POSIX_SEM_TIMEOUT)
|
|
int rc;
|
|
timespec_t ts;
|
|
ts = tv; // Calls ACE_Time_Value::operator timespec_t().
|
|
ACE_OSCALL (::sem_timedwait (s->sema_, &ts), int, -1, rc);
|
|
if (rc == -1 && errno == ETIMEDOUT)
|
|
errno = ETIME; /* POSIX returns ETIMEDOUT but we need ETIME */
|
|
return rc;
|
|
# elif !defined (ACE_DISABLE_POSIX_SEM_TIMEOUT_EMULATION)
|
|
int result = 0;
|
|
bool expired = false;
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
ACE_PTHREAD_CLEANUP_PUSH (&s->lock_);
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) != 0)
|
|
result = -2;
|
|
else
|
|
{
|
|
bool finished = true;
|
|
do
|
|
{
|
|
result = ACE_OS::sema_trywait (s);
|
|
if (result == -1 && errno == EAGAIN)
|
|
expired = ACE_OS::gettimeofday () > tv;
|
|
else
|
|
expired = false;
|
|
|
|
finished = result != -1 || expired ||
|
|
(result == -1 && errno != EAGAIN);
|
|
if (!finished)
|
|
{
|
|
if (ACE_OS::cond_timedwait (&s->count_nonzero_,
|
|
&s->lock_,
|
|
&tv) == -1)
|
|
{
|
|
error = errno;
|
|
result = -1;
|
|
break;
|
|
}
|
|
}
|
|
} while (!finished);
|
|
|
|
if (expired)
|
|
error = ETIME;
|
|
|
|
# if defined (ACE_LACKS_COND_TIMEDWAIT_RESET)
|
|
tv = ACE_OS::gettimeofday ();
|
|
# endif /* ACE_LACKS_COND_TIMEDWAIT_RESET */
|
|
}
|
|
|
|
if (result != -2)
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
return result < 0 ? -1 : result;
|
|
# else /* No native sem_timedwait(), and emulation disabled */
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_UNUSED_ARG (tv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM_TIMEOUT */
|
|
# elif defined (ACE_USES_FIFO_SEM)
|
|
int rc;
|
|
ACE_Time_Value now = ACE_OS::gettimeofday ();
|
|
|
|
while (tv > now)
|
|
{
|
|
ACE_Time_Value timeout = tv;
|
|
timeout -= now;
|
|
|
|
ACE_Handle_Set fds_;
|
|
|
|
fds_.set_bit (s->fd_[0]);
|
|
if ((rc = ACE_OS::select (ACE_Handle_Set::MAXSIZE, fds_, 0, 0, timeout)) != 1)
|
|
{
|
|
if (rc == 0 || errno != EAGAIN)
|
|
{
|
|
if (rc == 0)
|
|
errno = ETIME;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
// try to read the signal *but* do *not* block
|
|
if (rc == 1 && ACE_OS::sema_trywait (s) == 0)
|
|
return 0;
|
|
|
|
// we were woken for input but someone beat us to it
|
|
// so we wait again if there is still time
|
|
now = ACE_OS::gettimeofday ();
|
|
}
|
|
|
|
// make sure errno is set right
|
|
errno = ETIME;
|
|
|
|
return -1;
|
|
# elif defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_UNUSED_ARG (tv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
int result = 0;
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
ACE_PTHREAD_CLEANUP_PUSH (&s->lock_);
|
|
|
|
if (ACE_OS::mutex_lock (&s->lock_) != 0)
|
|
result = -1;
|
|
else
|
|
{
|
|
// Keep track of the number of waiters so that we can signal
|
|
// them properly in <ACE_OS::sema_post>.
|
|
s->waiters_++;
|
|
|
|
// Wait until the semaphore count is > 0 or until we time out.
|
|
while (s->count_ == 0)
|
|
if (ACE_OS::cond_timedwait (&s->count_nonzero_,
|
|
&s->lock_,
|
|
&tv) == -1)
|
|
{
|
|
error = errno;
|
|
result = -2; // -2 means that we need to release the mutex.
|
|
break;
|
|
}
|
|
|
|
--s->waiters_;
|
|
}
|
|
|
|
if (result == 0)
|
|
{
|
|
# if defined (ACE_LACKS_COND_TIMEDWAIT_RESET)
|
|
tv = ACE_OS::gettimeofday ();
|
|
# endif /* ACE_LACKS_COND_TIMEDWAIT_RESET */
|
|
--s->count_;
|
|
}
|
|
|
|
if (result != -1)
|
|
ACE_OS::mutex_unlock (&s->lock_);
|
|
ACE_PTHREAD_CLEANUP_POP (0);
|
|
return result < 0 ? -1 : result;
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
|
|
int msec_timeout;
|
|
|
|
if (tv == ACE_Time_Value::zero)
|
|
msec_timeout = 0; // Do a "poll."
|
|
else
|
|
{
|
|
// 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 (tv - 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 = 0;
|
|
else
|
|
msec_timeout = relative_time.msec ();
|
|
}
|
|
|
|
switch (::WaitForSingleObject (*s, msec_timeout))
|
|
{
|
|
case WAIT_OBJECT_0:
|
|
tv = ACE_OS::gettimeofday (); // Update time to when acquired
|
|
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;
|
|
}
|
|
/* NOTREACHED */
|
|
# else /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
// Note that in this mode, the acquire is done in two steps, and
|
|
// we may get signaled but cannot grab the semaphore before
|
|
// timeout. In that case, we'll need to restart the process with
|
|
// updated timeout value.
|
|
|
|
// tv is an absolute time, but we need relative to work with the Windows
|
|
// API. Also, some users have become accustomed to using a 0 time value
|
|
// as a shortcut for "now", which works on non-Windows because 0 is
|
|
// always earlier than now. However, the need to convert to relative time
|
|
// means we need to watch out for this case.
|
|
ACE_Time_Value end_time = tv;
|
|
if (tv == ACE_Time_Value::zero)
|
|
end_time = ACE_OS::gettimeofday ();
|
|
ACE_Time_Value relative_time = end_time - ACE_OS::gettimeofday ();
|
|
int result = -1;
|
|
|
|
// While we are not timeout yet. >= 0 will let this go through once
|
|
// and if not able to get the object, it should hit WAIT_TIMEOUT
|
|
// right away.
|
|
while (relative_time >= ACE_Time_Value::zero)
|
|
{
|
|
// Wait for our turn to get the object.
|
|
switch (::WaitForSingleObject (s->count_nonzero_, relative_time.msec ()))
|
|
{
|
|
case WAIT_OBJECT_0:
|
|
ACE_OS::thread_mutex_lock (&s->lock_);
|
|
|
|
// Need to double check if the semaphore is still available.
|
|
// We can only do a "try lock" styled wait here to avoid
|
|
// blocking threads that want to signal the semaphore.
|
|
if (::WaitForSingleObject (s->count_nonzero_, 0) == WAIT_OBJECT_0)
|
|
{
|
|
// As before, only reset the object when the semaphore
|
|
// is no longer available.
|
|
s->count_--;
|
|
if (s->count_ <= 0)
|
|
ACE_OS::event_reset (&s->count_nonzero_);
|
|
result = 0;
|
|
}
|
|
|
|
ACE_OS::thread_mutex_unlock (&s->lock_);
|
|
|
|
// Only return when we successfully get the semaphore.
|
|
if (result == 0)
|
|
{
|
|
tv = ACE_OS::gettimeofday (); // Update to time acquired
|
|
return 0;
|
|
}
|
|
break;
|
|
|
|
// We have timed out.
|
|
case WAIT_TIMEOUT:
|
|
errno = ETIME;
|
|
return -1;
|
|
|
|
// What?
|
|
default:
|
|
ACE_OS::set_errno_to_last_error ();
|
|
// This is taken from the hack above. ;)
|
|
return -1;
|
|
};
|
|
|
|
// Haven't been able to get the semaphore yet, update the
|
|
// timeout value to reflect the remaining time we want to wait.
|
|
relative_time = end_time - ACE_OS::gettimeofday ();
|
|
}
|
|
|
|
// We have timed out.
|
|
errno = ETIME;
|
|
return -1;
|
|
# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
|
|
# 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 (tv - 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 (s->sema_, 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
|
|
{
|
|
tv = ACE_OS::gettimeofday (); // Update to time acquired
|
|
return 0;
|
|
}
|
|
# endif /* ACE_HAS_STHREADS */
|
|
# else
|
|
ACE_UNUSED_ARG (s);
|
|
ACE_UNUSED_ARG (tv);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_POSIX_SEM */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value *tv)
|
|
{
|
|
return tv == 0 ? ACE_OS::sema_wait (s) : ACE_OS::sema_wait (s, *tv);
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::semctl (int int_id, int semnum, int cmd, semun value)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::semctl");
|
|
#if defined (ACE_HAS_SYSV_IPC)
|
|
ACE_OSCALL_RETURN (::semctl (int_id, semnum, cmd, value), int, -1);
|
|
#else
|
|
ACE_UNUSED_ARG (int_id);
|
|
ACE_UNUSED_ARG (semnum);
|
|
ACE_UNUSED_ARG (cmd);
|
|
ACE_UNUSED_ARG (value);
|
|
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_SYSV_IPC */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::semget (key_t key, int nsems, int flags)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::semget");
|
|
#if defined (ACE_HAS_SYSV_IPC)
|
|
ACE_OSCALL_RETURN (::semget (key, nsems, flags), int, -1);
|
|
#else
|
|
ACE_UNUSED_ARG (key);
|
|
ACE_UNUSED_ARG (nsems);
|
|
ACE_UNUSED_ARG (flags);
|
|
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_SYSV_IPC */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::semop (int int_id, struct sembuf *sops, size_t nsops)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::semop");
|
|
#if defined (ACE_HAS_SYSV_IPC)
|
|
ACE_OSCALL_RETURN (::semop (int_id, sops, nsops), int, -1);
|
|
#else
|
|
ACE_UNUSED_ARG (int_id);
|
|
ACE_UNUSED_ARG (sops);
|
|
ACE_UNUSED_ARG (nsops);
|
|
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_SYSV_IPC */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sigtimedwait (const sigset_t *sset,
|
|
siginfo_t *info,
|
|
const ACE_Time_Value *timeout)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sigtimedwait");
|
|
#if defined (ACE_HAS_SIGTIMEDWAIT)
|
|
timespec_t ts;
|
|
timespec_t *tsp = 0;
|
|
|
|
if (timeout != 0)
|
|
{
|
|
ts = *timeout; // Calls ACE_Time_Value::operator timespec_t().
|
|
tsp = &ts;
|
|
}
|
|
|
|
ACE_OSCALL_RETURN (::sigtimedwait (sset, info, tsp),
|
|
int, -1);
|
|
#else
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_UNUSED_ARG (info);
|
|
ACE_UNUSED_ARG (timeout);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_SIGTIMEDWAIT */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sigwait (sigset_t *sset, int *sig)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sigwait");
|
|
int local_sig;
|
|
if (sig == 0)
|
|
sig = &local_sig;
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if (defined (__FreeBSD__) && (__FreeBSD__ < 3))
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
# if (_POSIX_C_SOURCE - 0 >= 199506L) || defined (_POSIX_PTHREAD_SEMANTICS)
|
|
errno = ::sigwait (sset, sig);
|
|
return errno == 0 ? *sig : -1;
|
|
#else
|
|
*sig = ::sigwait (sset);
|
|
return *sig;
|
|
#endif /* _POSIX_C_SOURCE - 0 >= 199506L || _POSIX_PTHREAD_SEMANTICS */
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
// Digital UNIX has own hoops to jump through.
|
|
# if defined (DIGITAL_UNIX) && defined (__DECCXX_VER)
|
|
// DEC cxx (but not g++) needs this direct call to its internal
|
|
// sigwait (). This allows us to #undef sigwait, so that we can
|
|
// have ACE_OS::sigwait. cxx gets confused by ACE_OS::sigwait
|
|
// if sigwait is _not_ #undef'ed.
|
|
errno = ::_Psigwait (sset, sig);
|
|
return errno == 0 ? *sig : -1;
|
|
# else /* !(DIGITAL_UNIX && __DECCXX_VER) */
|
|
# if defined (CYGWIN32)
|
|
// Cygwin has sigwait definition, but it is not implemented
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_TANDEM_T1248_PTHREADS)
|
|
errno = ::spt_sigwait (sset, sig);
|
|
return errno == 0 ? *sig : -1;
|
|
# else /* this is draft 7 or std */
|
|
errno = ::sigwait (sset, sig);
|
|
return errno == 0 ? *sig : -1;
|
|
# endif /* CYGWIN32 */
|
|
# endif /* !(DIGITAL_UNIX && __DECCXX_VER) */
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_VXWORKS)
|
|
// Second arg is a struct siginfo *, which we don't need (the
|
|
// selected signal number is returned). Third arg is timeout: 0
|
|
// means forever.
|
|
*sig = ::sigtimedwait (sset, 0, 0);
|
|
return *sig;
|
|
# endif /* __FreeBSD__ */
|
|
#else
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_UNUSED_ARG (sig);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::sigwaitinfo (const sigset_t *sset,
|
|
siginfo_t *info)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::sigwaitinfo");
|
|
// If this platform has sigtimedwait, it should have sigwaitinfo as well.
|
|
// If this isn't true somewhere, let me know and I'll fix this.
|
|
// -Steve Huston <[email protected]>.
|
|
#if defined (ACE_HAS_SIGTIMEDWAIT)
|
|
ACE_OSCALL_RETURN (::sigwaitinfo (sset, info), int, -1);
|
|
#else
|
|
ACE_UNUSED_ARG (sset);
|
|
ACE_UNUSED_ARG (info);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_SIGTIMEDWAIT */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_cancel (ACE_thread_t thr_id)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_cancel");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS) && !defined (ACE_LACKS_PTHREAD_CANCEL)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_cancel (thr_id),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
ACE_OSCALL_RETURN (::taskDelete (thr_id), int, -1);
|
|
# else /* Could be ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL */
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_cmp (ACE_hthread_t t1, ACE_hthread_t t2)
|
|
{
|
|
#if defined (ACE_HAS_PTHREADS)
|
|
# if defined (pthread_equal)
|
|
// If it's a macro we can't say "pthread_equal"...
|
|
return pthread_equal (t1, t2);
|
|
# else
|
|
return pthread_equal (t1, t2);
|
|
# endif /* pthread_equal */
|
|
#else /* For STHREADS, WTHREADS, and VXWORKS ... */
|
|
// Hum, Do we need to treat WTHREAD differently?
|
|
// levine 13 oct 98 % Probably, ACE_hthread_t is a HANDLE.
|
|
return t1 == t2;
|
|
#endif /* ACE_HAS_PTHREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_continue (ACE_hthread_t target_thread)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_continue");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_continue (target_thread), result), int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
# if defined (ACE_HAS_PTHREAD_CONTINUE)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_continue (target_thread),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREAD_CONTINUE_NP)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_continue_np (target_thread),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREAD_RESUME_NP)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_resume_np (target_thread),
|
|
result),
|
|
int, -1);
|
|
# else
|
|
ACE_UNUSED_ARG (target_thread);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREAD_CONTINUE */
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
DWORD result = ::ResumeThread (target_thread);
|
|
if (result == ACE_SYSCALL_FAILED)
|
|
ACE_FAIL_RETURN (-1);
|
|
else
|
|
return 0;
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
ACE_OSCALL_RETURN (::taskResume (target_thread), int, -1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (target_thread);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_getconcurrency (void)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_getconcurrency");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
return ::thr_getconcurrency ();
|
|
# elif defined (ACE_HAS_PTHREADS) && defined (ACE_HAS_PTHREAD_GETCONCURRENCY)
|
|
return pthread_getconcurrency ();
|
|
# else
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_getprio (ACE_hthread_t ht_id, int &priority, int &policy)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_getprio");
|
|
ACE_UNUSED_ARG (policy);
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if (defined (ACE_HAS_PTHREADS) && \
|
|
(!defined (ACE_LACKS_SETSCHED) || defined (ACE_HAS_PTHREAD_SCHEDPARAM)))
|
|
|
|
struct sched_param param;
|
|
int result;
|
|
|
|
ACE_OSCALL (ACE_ADAPT_RETVAL (pthread_getschedparam (ht_id, &policy, ¶m),
|
|
result), int,
|
|
-1, result);
|
|
priority = param.sched_priority;
|
|
return result;
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_getprio (ht_id, &priority), result), int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_Errno_Guard error (errno);
|
|
|
|
# if defined (ACE_HAS_WINCE) && !defined (ACE_LACKS_CE_THREAD_PRIORITY)
|
|
priority = ::CeGetThreadPriority (ht_id);
|
|
# else
|
|
priority = ::GetThreadPriority (ht_id);
|
|
# endif /* defined (ACE_HAS_WINCE) && !defined (ACE_LACKS_CE_THREAD_PRIORITY) */
|
|
|
|
# if defined (ACE_HAS_PHARLAP)
|
|
# if defined (ACE_PHARLAP_LABVIEW_RT)
|
|
policy = ACE_SCHED_FIFO;
|
|
# else
|
|
DWORD timeslice = ::EtsGetTimeSlice ();
|
|
policy = timeslice == 0 ? ACE_SCHED_OTHER : ACE_SCHED_FIFO;
|
|
# endif /* ACE_PHARLAP_LABVIEW_RT */
|
|
# elif !defined (ACE_HAS_WINCE)
|
|
DWORD priority_class = ::GetPriorityClass (::GetCurrentProcess ());
|
|
if (priority_class == 0 && (error = ::GetLastError ()) != NO_ERROR)
|
|
ACE_FAIL_RETURN (-1);
|
|
|
|
policy =
|
|
(priority_class ==
|
|
REALTIME_PRIORITY_CLASS) ? ACE_SCHED_FIFO : ACE_SCHED_OTHER;
|
|
# endif /* ACE_HAS_PHARLAP */
|
|
|
|
return 0;
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
ACE_OSCALL_RETURN (::taskPriorityGet (ht_id, &priority), int, -1);
|
|
# else
|
|
ACE_UNUSED_ARG (ht_id);
|
|
ACE_UNUSED_ARG (priority);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (ht_id);
|
|
ACE_UNUSED_ARG (priority);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_getprio (ACE_hthread_t ht_id, int &priority)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_getprio");
|
|
int policy = 0;
|
|
return ACE_OS::thr_getprio (ht_id, priority, policy);
|
|
}
|
|
|
|
#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
|
|
ACE_INLINE int
|
|
ACE_OS::thr_getspecific_native (ACE_OS_thread_key_t key, void **data)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thr_getspecific_native");
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
*data = pthread_getspecific (key);
|
|
return 0;
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_getspecific (key, data), result), int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
*data = ::TlsGetValue (key);
|
|
if (*data == 0 && ::GetLastError () != NO_ERROR)
|
|
{
|
|
ACE_OS::set_errno_to_last_error ();
|
|
return -1;
|
|
}
|
|
else
|
|
return 0;
|
|
# else /* ACE_HAS_PTHREADS etc.*/
|
|
ACE_UNUSED_ARG (key);
|
|
ACE_UNUSED_ARG (data);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREADS etc.*/
|
|
}
|
|
#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thr_getspecific");
|
|
#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
|
|
{
|
|
*data = ACE_TSS_Emulation::ts_object (key);
|
|
return 0;
|
|
}
|
|
# elif defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
|
|
return ACE_OS::thr_getspecific_native (key, data);
|
|
#else
|
|
ACE_UNUSED_ARG (key);
|
|
ACE_UNUSED_ARG (data);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_TSS_EMULATION */
|
|
#else
|
|
ACE_UNUSED_ARG (key);
|
|
ACE_UNUSED_ARG (data);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
#if !defined (ACE_HAS_VXTHREADS)
|
|
ACE_INLINE int
|
|
ACE_OS::thr_join (ACE_hthread_t thr_handle,
|
|
ACE_THR_FUNC_RETURN *status)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_join");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_join (thr_handle, 0, status), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_join (thr_handle, status), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_THR_FUNC_RETURN local_status = 0;
|
|
|
|
// Make sure that status is non-NULL.
|
|
if (status == 0)
|
|
status = &local_status;
|
|
|
|
if (::WaitForSingleObject (thr_handle, INFINITE) == WAIT_OBJECT_0
|
|
&& ::GetExitCodeThread (thr_handle, status) != FALSE)
|
|
{
|
|
::CloseHandle (thr_handle);
|
|
return 0;
|
|
}
|
|
ACE_FAIL_RETURN (-1);
|
|
/* NOTREACHED */
|
|
# else
|
|
ACE_UNUSED_ARG (thr_handle);
|
|
ACE_UNUSED_ARG (status);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (thr_handle);
|
|
ACE_UNUSED_ARG (status);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_join (ACE_thread_t waiter_id,
|
|
ACE_thread_t *thr_id,
|
|
ACE_THR_FUNC_RETURN *status)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_join");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_join (waiter_id, thr_id, status), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
ACE_UNUSED_ARG (thr_id);
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_join (waiter_id, status), result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (waiter_id);
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_UNUSED_ARG (status);
|
|
|
|
// This could be implemented if the DLL-Main function or the
|
|
// task exit base class some log the threads which have exited
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (waiter_id);
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_UNUSED_ARG (status);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
#endif /* !VXWORKS */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_kill (ACE_thread_t thr_id, int signum)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_kill");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
# if defined (ACE_LACKS_PTHREAD_KILL)
|
|
ACE_UNUSED_ARG (signum);
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# else
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_kill (thr_id, signum),
|
|
result),
|
|
int, -1);
|
|
# endif /* ACE_LACKS_PTHREAD_KILL */
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_kill (thr_id, signum),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
//FUZZ: disable check_for_lack_ACE_OS
|
|
ACE_OSCALL_RETURN (::kill (thr_id, signum), int, -1);
|
|
//FUZZ: enable check_for_lack_ACE_OS
|
|
# else
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_UNUSED_ARG (signum);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (thr_id);
|
|
ACE_UNUSED_ARG (signum);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE size_t
|
|
ACE_OS::thr_min_stack (void)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_min_stack");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
# if defined (ACE_HAS_THR_MINSTACK)
|
|
// Tandem did some weirdo mangling of STHREAD names...
|
|
return ::thr_minstack ();
|
|
# else
|
|
return ::thr_min_stack ();
|
|
# endif /* !ACE_HAS_THR_MINSTACK */
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
# if defined (_SC_THREAD_STACK_MIN)
|
|
return (size_t) ACE_OS::sysconf (_SC_THREAD_STACK_MIN);
|
|
# elif defined (PTHREAD_STACK_MIN)
|
|
return PTHREAD_STACK_MIN;
|
|
# else
|
|
ACE_NOTSUP_RETURN (0);
|
|
# endif /* _SC_THREAD_STACK_MIN */
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_NOTSUP_RETURN (0);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
TASK_DESC taskDesc;
|
|
STATUS status;
|
|
|
|
ACE_thread_t tid = ACE_OS::thr_self ();
|
|
|
|
ACE_OSCALL (ACE_ADAPT_RETVAL (::taskInfoGet (tid, &taskDesc),
|
|
status),
|
|
STATUS, -1, status);
|
|
return status == OK ? taskDesc.td_stackSize : 0;
|
|
# else /* Should not happen... */
|
|
ACE_NOTSUP_RETURN (0);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_NOTSUP_RETURN (0);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE ACE_thread_t
|
|
ACE_OS::thr_self (void)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thr_self");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
// Note, don't use "::" here since the following call is often a macro.
|
|
return pthread_self ();
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
ACE_OSCALL_RETURN (::thr_self (), int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
return ::GetCurrentThreadId ();
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
return ::taskIdSelf ();
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
return 1; // Might as well make it the first thread ;-)
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE const char*
|
|
ACE_OS::thr_name (void)
|
|
{
|
|
#if defined (ACE_HAS_THREADS)
|
|
#if defined (ACE_HAS_VXTHREADS)
|
|
return ::taskName (ACE_OS::thr_self ());
|
|
#else
|
|
ACE_NOTSUP_RETURN (0);
|
|
#endif
|
|
#else
|
|
ACE_NOTSUP_RETURN (0);
|
|
#endif
|
|
}
|
|
|
|
ACE_INLINE void
|
|
ACE_OS::thr_self (ACE_hthread_t &self)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_self");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
// Note, don't use "::" here since the following call is often a macro.
|
|
self = pthread_self ();
|
|
# elif defined (ACE_HAS_THREAD_SELF)
|
|
self = ::thread_self ();
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
self = ::thr_self ();
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
self = ::GetCurrentThread ();
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
self = ::taskIdSelf ();
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
self = 1; // Might as well make it the main thread ;-)
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_setcancelstate (int new_state, int *old_state)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_setcancelstate");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS) && !defined (ACE_LACKS_PTHREAD_CANCEL)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_setcancelstate (new_state,
|
|
old_state),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
ACE_UNUSED_ARG (new_state);
|
|
ACE_UNUSED_ARG (old_state);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (new_state);
|
|
ACE_UNUSED_ARG (old_state);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# else /* Could be ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL */
|
|
ACE_UNUSED_ARG (new_state);
|
|
ACE_UNUSED_ARG (old_state);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (new_state);
|
|
ACE_UNUSED_ARG (old_state);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_setcanceltype (int new_type, int *old_type)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_setcanceltype");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS) && !defined (ACE_LACKS_PTHREAD_CANCEL)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_setcanceltype (new_type,
|
|
old_type),
|
|
result),
|
|
int, -1);
|
|
# else /* Could be ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL */
|
|
ACE_UNUSED_ARG (new_type);
|
|
ACE_UNUSED_ARG (old_type);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (new_type);
|
|
ACE_UNUSED_ARG (old_type);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_setconcurrency (int hint)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_setconcurrency");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_setconcurrency (hint),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS) && defined (ACE_HAS_PTHREAD_SETCONCURRENCY)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_setconcurrency (hint),
|
|
result),
|
|
int, -1);
|
|
# else
|
|
ACE_UNUSED_ARG (hint);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (hint);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_setprio (ACE_hthread_t ht_id, int priority, int policy)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_setprio");
|
|
ACE_UNUSED_ARG (policy);
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if (defined (ACE_HAS_PTHREADS) && \
|
|
(!defined (ACE_LACKS_SETSCHED) || defined (ACE_HAS_PTHREAD_SCHEDPARAM)))
|
|
|
|
int result;
|
|
struct sched_param param;
|
|
ACE_OS::memset ((void *) ¶m, 0, sizeof param);
|
|
|
|
// If <policy> is -1, we don't want to use it for
|
|
// pthread_setschedparam(). Instead, obtain policy from
|
|
// pthread_getschedparam().
|
|
if (policy == -1)
|
|
{
|
|
ACE_OSCALL (ACE_ADAPT_RETVAL (pthread_getschedparam (ht_id, &policy, ¶m),
|
|
result),
|
|
int, -1, result);
|
|
if (result == -1)
|
|
return result;
|
|
}
|
|
|
|
param.sched_priority = priority;
|
|
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_setschedparam (ht_id,
|
|
policy,
|
|
¶m),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_setprio (ht_id, priority),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
|
|
# if defined (ACE_HAS_WINCE) && !defined (ACE_LACKS_CE_THREAD_PRIORITY)
|
|
ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::CeSetThreadPriority (ht_id, priority),
|
|
ace_result_),
|
|
int, -1);
|
|
# else
|
|
ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::SetThreadPriority (ht_id, priority),
|
|
ace_result_),
|
|
int, -1);
|
|
# endif /* defined (ACE_HAS_WINCE) && !defined (ACE_LACKS_CE_THREAD_PRIORITY) */
|
|
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
ACE_OSCALL_RETURN (::taskPrioritySet (ht_id, priority), int, -1);
|
|
# else
|
|
// For example, platforms that support Pthreads but LACK_SETSCHED.
|
|
ACE_UNUSED_ARG (ht_id);
|
|
ACE_UNUSED_ARG (priority);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (ht_id);
|
|
ACE_UNUSED_ARG (priority);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_sigsetmask (int how,
|
|
const sigset_t *nsm,
|
|
sigset_t *osm)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_sigsetmask");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
|
|
// DCE threads and Solaris 2.4 have no such function.
|
|
ACE_UNUSED_ARG (osm);
|
|
ACE_UNUSED_ARG (nsm);
|
|
ACE_UNUSED_ARG (how);
|
|
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_HAS_SIGTHREADMASK)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::sigthreadmask (how, nsm, osm),
|
|
result), int, -1);
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_sigsetmask (how, nsm, osm),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
# if !defined (ACE_LACKS_PTHREAD_SIGMASK)
|
|
int result;
|
|
//FUZZ: disable check_for_lack_ACE_OS
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_sigmask (how, nsm, osm),
|
|
result), int, -1);
|
|
//FUZZ: enable check_for_lack_ACE_OS
|
|
# endif /* !ACE_LACKS_PTHREAD_SIGMASK */
|
|
|
|
#if 0
|
|
/* Don't know if any platform actually needs this... */
|
|
// as far as I can tell, this is now pthread_sigaction() -- jwr
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_sigaction (how, nsm, osm),
|
|
result), int, -1);
|
|
#endif /* 0 */
|
|
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (osm);
|
|
ACE_UNUSED_ARG (nsm);
|
|
ACE_UNUSED_ARG (how);
|
|
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# elif defined (ACE_VXWORKS)
|
|
int old_mask = 0;
|
|
switch (how)
|
|
{
|
|
case SIG_BLOCK:
|
|
case SIG_UNBLOCK:
|
|
{
|
|
// get the old mask
|
|
old_mask = ::sigsetmask (*nsm);
|
|
// create a new mask: the following assumes that sigset_t is 4 bytes,
|
|
// which it is on VxWorks 5.2, so bit operations are done simply . . .
|
|
::sigsetmask (how == SIG_BLOCK ? (old_mask |= *nsm) : (old_mask &= ~*nsm));
|
|
if (osm)
|
|
*osm = old_mask;
|
|
break;
|
|
}
|
|
case SIG_SETMASK:
|
|
old_mask = ::sigsetmask (*nsm);
|
|
if (osm)
|
|
*osm = old_mask;
|
|
break;
|
|
default:
|
|
return -1;
|
|
}
|
|
|
|
return 0;
|
|
# else /* Should not happen. */
|
|
ACE_UNUSED_ARG (how);
|
|
ACE_UNUSED_ARG (nsm);
|
|
ACE_UNUSED_ARG (osm);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
|
|
#else
|
|
ACE_UNUSED_ARG (how);
|
|
ACE_UNUSED_ARG (nsm);
|
|
ACE_UNUSED_ARG (osm);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thr_suspend (ACE_hthread_t target_thread)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_suspend");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_STHREADS)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_suspend (target_thread), result), int, -1);
|
|
# elif defined (ACE_HAS_PTHREADS)
|
|
# if defined (ACE_HAS_PTHREAD_SUSPEND)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_suspend (target_thread),
|
|
result),
|
|
int, -1);
|
|
# elif defined (ACE_HAS_PTHREAD_SUSPEND_NP)
|
|
int result;
|
|
ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_suspend_np (target_thread),
|
|
result),
|
|
int, -1);
|
|
# else
|
|
ACE_UNUSED_ARG (target_thread);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_PTHREAD_SUSPEND */
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
if (::SuspendThread (target_thread) != ACE_SYSCALL_FAILED)
|
|
return 0;
|
|
else
|
|
ACE_FAIL_RETURN (-1);
|
|
/* NOTREACHED */
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
ACE_OSCALL_RETURN (::taskSuspend (target_thread), int, -1);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (target_thread);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE void
|
|
ACE_OS::thr_testcancel (void)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_testcancel");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS) && !defined (ACE_LACKS_PTHREAD_CANCEL)
|
|
pthread_testcancel ();
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
# else
|
|
// no-op: can't use ACE_NOTSUP_RETURN because there is no return value
|
|
# endif /* ACE_HAS_PTHREADS */
|
|
#else
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE void
|
|
ACE_OS::thr_yield (void)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thr_yield");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_PTHREADS)
|
|
::sched_yield ();
|
|
# elif defined (ACE_HAS_STHREADS)
|
|
::thr_yield ();
|
|
# elif defined (ACE_HAS_WTHREADS)
|
|
::Sleep (0);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
// An argument of 0 to ::taskDelay doesn't appear to yield the
|
|
// current thread.
|
|
// Now, it does seem to work. The context_switch_time test
|
|
// works fine with task_delay set to 0.
|
|
::taskDelay (0);
|
|
# endif /* ACE_HAS_STHREADS */
|
|
#else
|
|
;
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_destroy (ACE_thread_mutex_t *m)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thread_mutex_destroy");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
::DeleteCriticalSection (m);
|
|
return 0;
|
|
# else
|
|
return ACE_OS::mutex_destroy (m);
|
|
# endif /* ACE_HAS_WTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m,
|
|
int lock_type,
|
|
const char *name,
|
|
ACE_mutexattr_t *arg)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thread_mutex_init");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (lock_type);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
|
|
ACE_SEH_TRY
|
|
{
|
|
::InitializeCriticalSection (m);
|
|
}
|
|
ACE_SEH_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
|
{
|
|
errno = ENOMEM;
|
|
return -1;
|
|
}
|
|
return 0;
|
|
|
|
# elif defined (ACE_HAS_STHREADS) || defined (ACE_HAS_PTHREADS)
|
|
// Force the use of USYNC_THREAD!
|
|
return ACE_OS::mutex_init (m, USYNC_THREAD, name, arg, 0, lock_type);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
return mutex_init (m, lock_type, name, arg);
|
|
|
|
# endif /* ACE_HAS_STHREADS || ACE_HAS_PTHREADS */
|
|
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (lock_type);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
#if defined (ACE_HAS_WCHAR)
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_init (ACE_thread_mutex_t *m,
|
|
int lock_type,
|
|
const wchar_t *name,
|
|
ACE_mutexattr_t *arg)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thread_mutex_init");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
ACE_UNUSED_ARG (lock_type);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
|
|
ACE_SEH_TRY
|
|
{
|
|
::InitializeCriticalSection (m);
|
|
}
|
|
ACE_SEH_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
|
{
|
|
errno = ENOMEM;
|
|
return -1;
|
|
}
|
|
return 0;
|
|
|
|
# elif defined (ACE_HAS_STHREADS) || defined (ACE_HAS_PTHREADS)
|
|
// Force the use of USYNC_THREAD!
|
|
return ACE_OS::mutex_init (m, USYNC_THREAD, name, arg, 0, lock_type);
|
|
# elif defined (ACE_HAS_VXTHREADS)
|
|
return mutex_init (m, lock_type, name, arg);
|
|
# endif /* ACE_HAS_STHREADS || ACE_HAS_PTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (lock_type);
|
|
ACE_UNUSED_ARG (name);
|
|
ACE_UNUSED_ARG (arg);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
#endif /* ACE_HAS_WCHAR */
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thread_mutex_lock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
::EnterCriticalSection (m);
|
|
return 0;
|
|
# else
|
|
return ACE_OS::mutex_lock (m);
|
|
# endif /* ACE_HAS_WTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m,
|
|
const ACE_Time_Value &timeout)
|
|
{
|
|
// ACE_OS_TRACE ("ACE_OS::thread_mutex_lock");
|
|
|
|
// For all platforms, except MS Windows, this method is equivalent
|
|
// to calling ACE_OS::mutex_lock() since ACE_thread_mutex_t and
|
|
// ACE_mutex_t are the same type. However, those typedefs evaluate
|
|
// to different types on MS Windows. The "thread mutex"
|
|
// implementation in ACE for MS Windows cannot readily support
|
|
// timeouts due to a lack of timeout features for this type of MS
|
|
// Windows synchronization mechanism.
|
|
|
|
#if defined (ACE_HAS_THREADS) && !defined (ACE_HAS_WTHREADS)
|
|
return ACE_OS::mutex_lock (m, timeout);
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_UNUSED_ARG (timeout);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m,
|
|
const ACE_Time_Value *timeout)
|
|
{
|
|
return timeout == 0
|
|
? ACE_OS::thread_mutex_lock (m)
|
|
: ACE_OS::thread_mutex_lock (m, *timeout);
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_trylock (ACE_thread_mutex_t *m)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thread_mutex_trylock");
|
|
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
# if defined (ACE_HAS_WIN32_TRYLOCK)
|
|
BOOL result = ::TryEnterCriticalSection (m);
|
|
if (result == TRUE)
|
|
return 0;
|
|
else
|
|
{
|
|
errno = EBUSY;
|
|
return -1;
|
|
}
|
|
# else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
# endif /* ACE_HAS_WIN32_TRYLOCK */
|
|
# elif defined (ACE_HAS_STHREADS) || defined (ACE_HAS_PTHREADS) || defined (ACE_VXWORKS)
|
|
return ACE_OS::mutex_trylock (m);
|
|
#endif /* Threads variety case */
|
|
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
ACE_INLINE int
|
|
ACE_OS::thread_mutex_unlock (ACE_thread_mutex_t *m)
|
|
{
|
|
ACE_OS_TRACE ("ACE_OS::thread_mutex_unlock");
|
|
#if defined (ACE_HAS_THREADS)
|
|
# if defined (ACE_HAS_WTHREADS)
|
|
::LeaveCriticalSection (m);
|
|
return 0;
|
|
# else
|
|
return ACE_OS::mutex_unlock (m);
|
|
# endif /* ACE_HAS_WTHREADS */
|
|
#else
|
|
ACE_UNUSED_ARG (m);
|
|
ACE_NOTSUP_RETURN (-1);
|
|
#endif /* ACE_HAS_THREADS */
|
|
}
|
|
|
|
/*****************************************************************************/
|
|
|
|
# if defined (ACE_IS_SPLITTING)
|
|
# define ACE_SPECIAL_INLINE
|
|
# else
|
|
# define ACE_SPECIAL_INLINE ACE_INLINE
|
|
//# define ACE_SPECIAL_INLINE inline
|
|
# endif
|
|
|
|
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
|
|
|
|
ACE_INLINE
|
|
int
|
|
ACE_OS_Thread_Mutex_Guard::acquire (void)
|
|
{
|
|
return owner_ = ACE_OS::thread_mutex_lock (&lock_);
|
|
}
|
|
|
|
ACE_INLINE
|
|
int
|
|
ACE_OS_Thread_Mutex_Guard::release (void)
|
|
{
|
|
if (owner_ == -1)
|
|
return 0;
|
|
else
|
|
{
|
|
owner_ = -1;
|
|
return ACE_OS::thread_mutex_unlock (&lock_);
|
|
}
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_OS_Thread_Mutex_Guard::ACE_OS_Thread_Mutex_Guard (ACE_thread_mutex_t &m)
|
|
: lock_ (m), owner_ (-1)
|
|
{
|
|
if (!ACE_OS_Object_Manager::starting_up ())
|
|
acquire ();
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_OS_Thread_Mutex_Guard::~ACE_OS_Thread_Mutex_Guard ()
|
|
{
|
|
release ();
|
|
}
|
|
|
|
/*****************************************************************************/
|
|
|
|
ACE_INLINE
|
|
int
|
|
ACE_OS_Recursive_Thread_Mutex_Guard::acquire (void)
|
|
{
|
|
return owner_ = ACE_OS::recursive_mutex_lock (&lock_);
|
|
}
|
|
|
|
ACE_INLINE
|
|
int
|
|
ACE_OS_Recursive_Thread_Mutex_Guard::release (void)
|
|
{
|
|
if (owner_ == -1)
|
|
return 0;
|
|
else
|
|
{
|
|
owner_ = -1;
|
|
return ACE_OS::recursive_mutex_unlock (&lock_);
|
|
}
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_OS_Recursive_Thread_Mutex_Guard::ACE_OS_Recursive_Thread_Mutex_Guard (
|
|
ACE_recursive_thread_mutex_t &m)
|
|
: lock_ (m),
|
|
owner_ (-1)
|
|
{
|
|
if (!ACE_OS_Object_Manager::starting_up ())
|
|
acquire ();
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_OS_Recursive_Thread_Mutex_Guard::~ACE_OS_Recursive_Thread_Mutex_Guard ()
|
|
{
|
|
release ();
|
|
}
|
|
|
|
#endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
ACE_INLINE
|
|
ACE_Thread_ID::ACE_Thread_ID (ACE_thread_t thread_id,
|
|
ACE_hthread_t thread_handle)
|
|
: thread_id_ (thread_id),
|
|
thread_handle_ (thread_handle)
|
|
{
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_Thread_ID::ACE_Thread_ID (const ACE_Thread_ID &id)
|
|
: thread_id_ (id.thread_id_),
|
|
thread_handle_ (id.thread_handle_)
|
|
{
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_Thread_ID::ACE_Thread_ID (void)
|
|
: thread_id_ (ACE_OS::thr_self ())
|
|
{
|
|
ACE_OS::thr_self (thread_handle_);
|
|
}
|
|
|
|
ACE_INLINE
|
|
ACE_thread_t
|
|
ACE_Thread_ID::id (void) const
|
|
{
|
|
return this->thread_id_;
|
|
}
|
|
|
|
ACE_INLINE void
|
|
ACE_Thread_ID::id (ACE_thread_t thread_id)
|
|
{
|
|
this->thread_id_ = thread_id;
|
|
}
|
|
|
|
ACE_INLINE ACE_hthread_t
|
|
ACE_Thread_ID::handle (void) const
|
|
{
|
|
return this->thread_handle_;
|
|
}
|
|
|
|
ACE_INLINE void
|
|
ACE_Thread_ID::handle (ACE_hthread_t thread_handle)
|
|
{
|
|
this->thread_handle_ = thread_handle;
|
|
}
|
|
|
|
ACE_INLINE bool
|
|
ACE_Thread_ID::operator== (const ACE_Thread_ID &rhs) const
|
|
{
|
|
return
|
|
ACE_OS::thr_cmp (this->thread_handle_, rhs.thread_handle_)
|
|
&& ACE_OS::thr_equal (this->thread_id_, rhs.thread_id_);
|
|
}
|
|
|
|
ACE_INLINE bool
|
|
ACE_Thread_ID::operator!= (const ACE_Thread_ID &rhs) const
|
|
{
|
|
return !(*this == rhs);
|
|
}
|
|
|
|
ACE_END_VERSIONED_NAMESPACE_DECL
|