summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-17 12:53:38 +0000
committercbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-17 12:53:38 +0000
commitf3a83b0dbe837270f45c225ef697efad170fdc6b (patch)
tree3aca6ff87e5b5d3b168dc3bbe4b737ec92e06124
parentd9c6e83a9934a99ac80e0bcbebbeac3481ef2c17 (diff)
downloadATCD-f3a83b0dbe837270f45c225ef697efad170fdc6b.tar.gz
Sat Apr 17 12:53:34 UTC 2010 Chad Beaulac <chad@objectivesolutions.com> Removing branch and re-creating from trunk for quick global conflict resolution.
-rw-r--r--ACE-INSTALL.html57
-rw-r--r--ACE.mwc2
-rw-r--r--ACEXML/ChangeLog13
-rw-r--r--ACEXML/apps/svcconf/Svcconf_Handler.cpp174
-rw-r--r--ACEXML/examples/SAXPrint/main.cpp2
-rw-r--r--ACEXML/parser/parser/Parser.cpp2
-rw-r--r--ASNMP/ChangeLog6
-rw-r--r--ASNMP/asnmp/address.cpp9
-rw-r--r--ASNMP/asnmp/wpdu.cpp8
-rw-r--r--ASNMP/examples/get/get.cpp4
-rw-r--r--ASNMP/examples/get/get_async.cpp4
-rw-r--r--ASNMP/examples/next/next.cpp4
-rw-r--r--ASNMP/examples/set/set.cpp4
-rw-r--r--ASNMP/examples/trap/trap.cpp2
-rw-r--r--ASNMP/examples/walk/walk.cpp4
-rw-r--r--COPYING24
-rw-r--r--ChangeLog9675
-rw-r--r--ChangeLogs/ChangeLog-1993 (renamed from ChangeLogs/ChangeLog-93)0
-rw-r--r--ChangeLogs/ChangeLog-1994 (renamed from ChangeLogs/ChangeLog-94)0
-rw-r--r--ChangeLogs/ChangeLog-1995 (renamed from ChangeLogs/ChangeLog-95)0
-rw-r--r--ChangeLogs/ChangeLog-1996a (renamed from ChangeLogs/ChangeLog-96a)0
-rw-r--r--ChangeLogs/ChangeLog-1996b (renamed from ChangeLogs/ChangeLog-96b)0
-rw-r--r--ChangeLogs/ChangeLog-1997a (renamed from ChangeLogs/ChangeLog-97a)0
-rw-r--r--ChangeLogs/ChangeLog-1997b (renamed from ChangeLogs/ChangeLog-97b)0
-rw-r--r--ChangeLogs/ChangeLog-1998a (renamed from ChangeLogs/ChangeLog-98a)0
-rw-r--r--ChangeLogs/ChangeLog-1998b (renamed from ChangeLogs/ChangeLog-98b)0
-rw-r--r--ChangeLogs/ChangeLog-1999a (renamed from ChangeLogs/ChangeLog-99a)0
-rw-r--r--ChangeLogs/ChangeLog-1999b (renamed from ChangeLogs/ChangeLog-99b)0
-rw-r--r--ChangeLogs/ChangeLog-2000a (renamed from ChangeLogs/ChangeLog-00a)0
-rw-r--r--ChangeLogs/ChangeLog-2000b (renamed from ChangeLogs/ChangeLog-00b)0
-rw-r--r--ChangeLogs/ChangeLog-2001a (renamed from ChangeLogs/ChangeLog-01a)0
-rw-r--r--ChangeLogs/ChangeLog-2001b (renamed from ChangeLogs/ChangeLog-01b)0
-rw-r--r--ChangeLogs/ChangeLog-2002a (renamed from ChangeLogs/ChangeLog-02a)0
-rw-r--r--ChangeLogs/ChangeLog-2002b (renamed from ChangeLogs/ChangeLog-02b)0
-rw-r--r--ChangeLogs/ChangeLog-2003a (renamed from ChangeLogs/ChangeLog-03a)0
-rw-r--r--ChangeLogs/ChangeLog-2003b (renamed from ChangeLogs/ChangeLog-03b)0
-rw-r--r--ChangeLogs/ChangeLog-2003c (renamed from ChangeLogs/ChangeLog-03c)0
-rw-r--r--ChangeLogs/ChangeLog-2004a (renamed from ChangeLogs/ChangeLog-04a)0
-rw-r--r--ChangeLogs/ChangeLog-2004b (renamed from ChangeLogs/ChangeLog-04b)0
-rw-r--r--ChangeLogs/ChangeLog-2005a (renamed from ChangeLogs/ChangeLog-05a)0
-rw-r--r--ChangeLogs/ChangeLog-2005b (renamed from ChangeLogs/ChangeLog-05b)0
-rw-r--r--ChangeLogs/ChangeLog-2005c (renamed from ChangeLogs/ChangeLog-05c)0
-rw-r--r--ChangeLogs/ChangeLog-2006a (renamed from ChangeLogs/ChangeLog-06a)0
-rw-r--r--ChangeLogs/ChangeLog-2006b (renamed from ChangeLogs/ChangeLog-06b)0
-rw-r--r--ChangeLogs/ChangeLog-2007a (renamed from ChangeLogs/ChangeLog-07a)0
-rw-r--r--ChangeLogs/ChangeLog-2007b (renamed from ChangeLogs/ChangeLog-07b)0
-rw-r--r--ChangeLogs/ChangeLog-2008a (renamed from ChangeLogs/ChangeLog-08a)0
-rw-r--r--ChangeLogs/ChangeLog-2009a10453
-rw-r--r--ChangeLogs/ChangeLog-2009b4554
-rw-r--r--ChangeLogs/ChangeLog-2010a2589
-rw-r--r--Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp72
-rw-r--r--Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp2
-rw-r--r--Kokyu/DSRT_Dispatcher_Impl_T.h14
-rw-r--r--Kokyu/Kokyu.cpp4
-rw-r--r--Kokyu/tests/DSRT_MIF/MIF.cpp2
-rw-r--r--NEWS193
-rw-r--r--PROBLEM-REPORT-FORM5
-rw-r--r--THANKS71
-rw-r--r--VERSION2
-rw-r--r--ace/ACE.cpp127
-rw-r--r--ace/ACE.h26
-rw-r--r--ace/ACE.inl29
-rw-r--r--ace/ATM_Acceptor.cpp4
-rw-r--r--ace/ATM_Addr.cpp2
-rw-r--r--ace/ATM_Connector.inl2
-rw-r--r--ace/ATM_QoS.cpp4
-rw-r--r--ace/ATM_Stream.cpp6
-rw-r--r--ace/ATM_Stream.inl4
-rw-r--r--ace/Acceptor.cpp13
-rw-r--r--ace/Acceptor.h55
-rw-r--r--ace/Activation_Queue.cpp2
-rw-r--r--ace/Active_Map_Manager_T.h22
-rw-r--r--ace/Addr.cpp2
-rw-r--r--ace/Addr.inl12
-rw-r--r--ace/Argv_Type_Converter.cpp20
-rw-r--r--ace/Array_Base.h12
-rw-r--r--ace/Array_Map.h4
-rw-r--r--ace/Asynch_Acceptor.cpp2
-rw-r--r--ace/Asynch_IO.h27
-rw-r--r--ace/Atomic_Op.cpp32
-rw-r--r--ace/Atomic_Op.h185
-rw-r--r--ace/Atomic_Op.inl259
-rw-r--r--ace/Atomic_Op_GCC_T.cpp29
-rw-r--r--ace/Atomic_Op_GCC_T.h136
-rw-r--r--ace/Atomic_Op_GCC_T.inl148
-rw-r--r--ace/Atomic_Op_T.cpp2
-rw-r--r--ace/Auto_IncDec_T.h4
-rw-r--r--ace/Barrier.cpp3
-rw-r--r--ace/Based_Pointer_Repository.h3
-rw-r--r--ace/Basic_Types.h17
-rw-r--r--ace/CDR_Base.cpp13
-rw-r--r--ace/CDR_Base.h15
-rw-r--r--ace/CDR_Stream.cpp10
-rw-r--r--ace/CDR_Stream.h12
-rw-r--r--ace/CDR_Stream.inl1
-rw-r--r--ace/Cleanup.cpp19
-rw-r--r--ace/Cleanup.h10
-rw-r--r--ace/Condition_Recursive_Thread_Mutex.cpp4
-rw-r--r--ace/Condition_Recursive_Thread_Mutex.h4
-rw-r--r--ace/Condition_T.cpp15
-rw-r--r--ace/Configuration.cpp44
-rw-r--r--ace/Configuration.h39
-rw-r--r--ace/Configuration_Import_Export.cpp2
-rw-r--r--ace/Connector.cpp31
-rw-r--r--ace/Connector.h10
-rw-r--r--ace/Containers_T.h7
-rw-r--r--ace/Countdown_Time.cpp25
-rw-r--r--ace/Countdown_Time.h11
-rw-r--r--ace/Countdown_Time.inl20
-rw-r--r--ace/DLL_Manager.cpp10
-rw-r--r--ace/Default_Constants.h62
-rw-r--r--ace/Dev_Poll_Reactor.cpp646
-rw-r--r--ace/Dev_Poll_Reactor.h356
-rw-r--r--ace/Dev_Poll_Reactor.inl116
-rw-r--r--ace/Dirent.h6
-rw-r--r--ace/Dynamic_Message_Strategy.cpp4
-rw-r--r--ace/Dynamic_Service_Base.cpp19
-rw-r--r--ace/Dynamic_Service_Base.h1
-rw-r--r--ace/ETCL/ETCL_Interpreter.cpp6
-rw-r--r--ace/ETCL/ETCL_l.cpp6
-rw-r--r--ace/ETCL/ETCL_l.cpp.diff114
-rw-r--r--ace/Event_Handler.cpp2
-rw-r--r--ace/Event_Handler.h7
-rw-r--r--ace/FIFO_Recv_Msg.h4
-rw-r--r--ace/FIFO_Send_Msg.h4
-rw-r--r--ace/File_Lock.cpp8
-rw-r--r--ace/File_Lock.h14
-rw-r--r--ace/File_Lock.inl8
-rw-r--r--ace/FlReactor/FlReactor.cpp2
-rw-r--r--ace/FoxReactor/FoxReactor.cpp8
-rw-r--r--ace/FoxReactor/FoxReactor.h2
-rw-r--r--ace/Framework_Component.cpp2
-rw-r--r--ace/Free_List.h4
-rw-r--r--ace/Functor.h70
-rw-r--r--ace/Functor_String.h18
-rw-r--r--ace/Future.cpp12
-rw-r--r--ace/Future_Set.cpp2
-rw-r--r--ace/Future_Set.h10
-rw-r--r--ace/Get_Opt.h4
-rw-r--r--ace/Guard_T.cpp2
-rw-r--r--ace/Handle_Gobbler.inl2
-rw-r--r--ace/Hash_Map_Manager_T.cpp20
-rw-r--r--ace/Hash_Map_Manager_T.h9
-rw-r--r--ace/Hash_Map_Manager_T.inl7
-rw-r--r--ace/High_Res_Timer.cpp26
-rw-r--r--ace/High_Res_Timer.inl2
-rw-r--r--ace/INET_Addr.cpp16
-rw-r--r--ace/INET_Addr.inl14
-rw-r--r--ace/Init_ACE.h26
-rw-r--r--ace/Intrusive_List.cpp40
-rw-r--r--ace/LSOCK.cpp10
-rw-r--r--ace/LSOCK_CODgram.h41
-rw-r--r--ace/Lib_Find.cpp8
-rw-r--r--ace/Local_Tokens.h2
-rw-r--r--ace/Lock_Adapter_T.h2
-rw-r--r--ace/Log_Msg.cpp258
-rw-r--r--ace/Log_Msg.h52
-rw-r--r--ace/Log_Msg_IPC.cpp15
-rw-r--r--ace/Log_Msg_IPC.h4
-rw-r--r--ace/Log_Msg_NT_Event_Log.cpp14
-rw-r--r--ace/Log_Record.h2
-rw-r--r--ace/Log_Record.inl12
-rw-r--r--ace/Logging_Strategy.cpp49
-rw-r--r--ace/Logging_Strategy.h30
-rw-r--r--ace/MEM_Acceptor.cpp3
-rw-r--r--ace/MEM_Acceptor.h2
-rw-r--r--ace/MEM_Connector.h4
-rw-r--r--ace/MEM_IO.cpp10
-rw-r--r--ace/MMAP_Memory_Pool.cpp13
-rw-r--r--ace/Makefile.am8
-rw-r--r--ace/Malloc.cpp3
-rw-r--r--ace/Malloc_T.cpp6
-rw-r--r--ace/Map_T.h6
-rw-r--r--ace/Message_Block.cpp25
-rw-r--r--ace/Message_Block.h42
-rw-r--r--ace/Message_Block.inl2
-rw-r--r--ace/Message_Queue_NT.cpp2
-rw-r--r--ace/Message_Queue_T.cpp71
-rw-r--r--ace/Message_Queue_Vx.h4
-rw-r--r--ace/Module.cpp8
-rw-r--r--ace/Module.h6
-rw-r--r--ace/Monitor_Admin.h8
-rw-r--r--ace/Monitor_Control/Auto_Update_Starter.cpp1
-rw-r--r--ace/Monitor_Control/Auto_Update_Starter.h4
-rw-r--r--ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp20
-rw-r--r--ace/Monitor_Control/BSD_Network_Interface_Monitor.h4
-rw-r--r--ace/Monitor_Control/Bytes_Received_Monitor.cpp5
-rw-r--r--ace/Monitor_Control/Bytes_Received_Monitor.h8
-rw-r--r--ace/Monitor_Control/Bytes_Sent_Monitor.cpp6
-rw-r--r--ace/Monitor_Control/Bytes_Sent_Monitor.h8
-rw-r--r--ace/Monitor_Control/CPU_Load_Monitor.cpp1
-rw-r--r--ace/Monitor_Control/Constraint_Interpreter.cpp2
-rw-r--r--ace/Monitor_Control/Constraint_Visitor.cpp2
-rw-r--r--ace/Monitor_Control/Constraint_Visitor.h1
-rw-r--r--ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp124
-rw-r--r--ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h70
-rw-r--r--ace/Monitor_Control/Makefile.am2
-rw-r--r--ace/Monitor_Control/Memory_Usage_Monitor.cpp1
-rw-r--r--ace/Monitor_Control/Monitor_Control.mpc3
-rw-r--r--ace/Monitor_Control/Monitor_Group.cpp1
-rw-r--r--ace/Monitor_Control/Monitor_Query.cpp2
-rw-r--r--ace/Monitor_Control/Num_Threads_Monitor.cpp1
-rw-r--r--ace/Monitor_Control/Packets_Received_Monitor.cpp5
-rw-r--r--ace/Monitor_Control/Packets_Received_Monitor.h8
-rw-r--r--ace/Monitor_Control/Packets_Sent_Monitor.cpp5
-rw-r--r--ace/Monitor_Control/Packets_Sent_Monitor.h8
-rw-r--r--ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp2
-rw-r--r--ace/Monitor_Control_Types.cpp23
-rw-r--r--ace/Multihomed_INET_Addr.h11
-rw-r--r--ace/Mutex.cpp2
-rw-r--r--ace/Name_Request_Reply.h2
-rw-r--r--ace/Name_Space.cpp4
-rw-r--r--ace/Name_Space.h2
-rw-r--r--ace/Naming_Context.cpp12
-rw-r--r--ace/Naming_Context.h8
-rw-r--r--ace/Naming_Context.inl4
-rw-r--r--ace/Notification_Queue.cpp3
-rw-r--r--ace/Null_Mutex.h14
-rw-r--r--ace/Numeric_Limits.h2
-rw-r--r--ace/OS.inl13
-rw-r--r--ace/OS_Log_Msg_Attributes.inl12
-rw-r--r--ace/OS_Memory.h6
-rw-r--r--ace/OS_NS_Thread.cpp278
-rw-r--r--ace/OS_NS_Thread.h45
-rw-r--r--ace/OS_NS_Thread.inl187
-rw-r--r--ace/OS_NS_arpa_inet.cpp2
-rw-r--r--ace/OS_NS_arpa_inet.inl4
-rw-r--r--ace/OS_NS_ctype.inl11
-rw-r--r--ace/OS_NS_dirent.cpp3
-rw-r--r--ace/OS_NS_dlfcn.inl2
-rw-r--r--ace/OS_NS_errno.h2
-rw-r--r--ace/OS_NS_fcntl.h4
-rw-r--r--ace/OS_NS_math.h14
-rw-r--r--ace/OS_NS_math.inl24
-rw-r--r--ace/OS_NS_netdb.cpp54
-rw-r--r--ace/OS_NS_netdb.inl14
-rw-r--r--ace/OS_NS_pwd.h4
-rw-r--r--ace/OS_NS_signal.h80
-rw-r--r--ace/OS_NS_signal.inl52
-rw-r--r--ace/OS_NS_stdio.cpp82
-rw-r--r--ace/OS_NS_stdio.h25
-rw-r--r--ace/OS_NS_stdio.inl56
-rw-r--r--ace/OS_NS_stdlib.cpp24
-rw-r--r--ace/OS_NS_stdlib.h84
-rw-r--r--ace/OS_NS_stdlib.inl82
-rw-r--r--ace/OS_NS_string.cpp92
-rw-r--r--ace/OS_NS_string.h16
-rw-r--r--ace/OS_NS_stropts.cpp2
-rw-r--r--ace/OS_NS_stropts.h2
-rw-r--r--ace/OS_NS_sys_mman.inl30
-rw-r--r--ace/OS_NS_sys_sendfile.cpp4
-rw-r--r--ace/OS_NS_sys_sendfile.h5
-rw-r--r--ace/OS_NS_sys_sendfile.inl8
-rw-r--r--ace/OS_NS_sys_socket.cpp2
-rw-r--r--ace/OS_NS_sys_socket.h22
-rw-r--r--ace/OS_NS_sys_socket.inl13
-rw-r--r--ace/OS_NS_sys_stat.inl2
-rw-r--r--ace/OS_NS_sys_time.h14
-rw-r--r--ace/OS_NS_sys_time.inl27
-rw-r--r--ace/OS_NS_sys_utsname.cpp11
-rw-r--r--ace/OS_NS_time.cpp1
-rw-r--r--ace/OS_NS_time.h19
-rw-r--r--ace/OS_NS_time.inl9
-rw-r--r--ace/OS_NS_unistd.cpp46
-rw-r--r--ace/OS_NS_unistd.h3
-rw-r--r--ace/OS_NS_unistd.inl47
-rw-r--r--ace/OS_NS_wchar.cpp12
-rw-r--r--ace/OS_QoS.cpp2
-rw-r--r--ace/OS_Thread_Adapter.h1
-rw-r--r--ace/OS_main.cpp22
-rw-r--r--ace/OS_main.h5
-rw-r--r--ace/Object_Manager.cpp11
-rw-r--r--ace/Object_Manager.h12
-rw-r--r--ace/Object_Manager.inl12
-rw-r--r--ace/Object_Manager_Base.cpp5
-rw-r--r--ace/Object_Manager_Base.h2
-rw-r--r--ace/Obstack_T.cpp82
-rw-r--r--ace/Obstack_T.h18
-rw-r--r--ace/Obstack_T.inl10
-rw-r--r--ace/POSIX_Asynch_IO.cpp10
-rw-r--r--ace/POSIX_CB_Proactor.cpp6
-rw-r--r--ace/POSIX_Proactor.cpp53
-rw-r--r--ace/Pagefile_Memory_Pool.cpp4
-rw-r--r--ace/Pagefile_Memory_Pool.h3
-rw-r--r--ace/Parse_Node.cpp16
-rw-r--r--ace/Pipe.cpp31
-rw-r--r--ace/Pipe.h2
-rw-r--r--ace/Process.cpp60
-rw-r--r--ace/Process.h28
-rw-r--r--ace/Process_Manager.cpp28
-rw-r--r--ace/Process_Manager.h4
-rw-r--r--ace/Process_Mutex.h65
-rw-r--r--ace/Process_Semaphore.h2
-rw-r--r--ace/QoS/QoS_Session_Impl.cpp10
-rw-r--r--ace/QoS/qos.mpc2
-rw-r--r--ace/README79
-rw-r--r--ace/RW_Process_Mutex.h13
-rw-r--r--ace/Reactor.cpp4
-rw-r--r--ace/Reactor.h16
-rw-r--r--ace/Reactor_Impl.h32
-rw-r--r--ace/Recursive_Thread_Mutex.cpp2
-rw-r--r--ace/Recursive_Thread_Mutex.h3
-rw-r--r--ace/Recursive_Thread_Mutex.inl2
-rw-r--r--ace/Registry.cpp10
-rw-r--r--ace/Registry.h5
-rw-r--r--ace/Registry_Name_Space.cpp5
-rw-r--r--ace/Remote_Tokens.cpp8
-rw-r--r--ace/Reverse_Lock_T.h2
-rw-r--r--ace/SOCK.h1
-rw-r--r--ace/SOCK_Connector.h8
-rw-r--r--ace/SOCK_Dgram.cpp17
-rw-r--r--ace/SOCK_Dgram_Bcast.cpp30
-rw-r--r--ace/SOCK_Dgram_Mcast.cpp2
-rw-r--r--ace/SOCK_IO.cpp5
-rw-r--r--ace/SOCK_SEQPACK_Acceptor.h31
-rw-r--r--ace/SOCK_SEQPACK_Connector.h8
-rw-r--r--ace/SPIPE_Stream.h6
-rw-r--r--ace/SPIPE_Stream.inl12
-rw-r--r--ace/SSL/SSL_Asynch_Stream.cpp7
-rw-r--r--ace/SSL/SSL_Asynch_Stream.h3
-rw-r--r--ace/SSL/SSL_Context.cpp4
-rw-r--r--ace/SSL/SSL_SOCK_Acceptor.inl2
-rw-r--r--ace/SSL/SSL_SOCK_Connector.h8
-rw-r--r--ace/SString.cpp206
-rw-r--r--ace/SString.h214
-rw-r--r--ace/SStringfwd.h2
-rw-r--r--ace/SUN_Proactor.cpp10
-rw-r--r--ace/SV_Semaphore_Simple.cpp8
-rw-r--r--ace/SV_Semaphore_Simple.h2
-rw-r--r--ace/Select_Reactor_Base.cpp45
-rw-r--r--ace/Select_Reactor_Base.h9
-rw-r--r--ace/Select_Reactor_T.cpp12
-rw-r--r--ace/Select_Reactor_T.h46
-rw-r--r--ace/Semaphore.cpp2
-rw-r--r--ace/Service_Config.cpp72
-rw-r--r--ace/Service_Config.h10
-rw-r--r--ace/Service_Gestalt.cpp104
-rw-r--r--ace/Service_Gestalt.h54
-rw-r--r--ace/Service_Object.cpp40
-rw-r--r--ace/Service_Object.h17
-rw-r--r--ace/Service_Repository.cpp325
-rw-r--r--ace/Service_Repository.h45
-rw-r--r--ace/Service_Repository.inl17
-rw-r--r--ace/Service_Types.cpp49
-rw-r--r--ace/Service_Types.h25
-rw-r--r--ace/Service_Types.inl12
-rw-r--r--ace/Shared_Memory_Pool.cpp16
-rw-r--r--ace/Sig_Handler.cpp30
-rw-r--r--ace/Sig_Handler.h2
-rw-r--r--ace/Singleton.cpp20
-rw-r--r--ace/Singleton.h3
-rw-r--r--ace/Sock_Connect.cpp60
-rw-r--r--ace/Stack_Trace.cpp4
-rw-r--r--ace/Strategies_T.cpp4
-rw-r--r--ace/Strategies_T.h8
-rw-r--r--ace/Stream.h24
-rw-r--r--ace/String_Base.cpp390
-rw-r--r--ace/String_Base.h427
-rw-r--r--ace/String_Base.inl416
-rw-r--r--ace/Svc_Handler.cpp6
-rw-r--r--ace/System_Time.cpp2
-rw-r--r--ace/TP_Reactor.cpp6
-rw-r--r--ace/TSS_T.cpp6
-rw-r--r--ace/TTY_IO.cpp155
-rw-r--r--ace/Thread.cpp28
-rw-r--r--ace/Thread_Manager.cpp4
-rw-r--r--ace/Thread_Manager.inl4
-rw-r--r--ace/Thread_Mutex.h11
-rw-r--r--ace/Thread_Mutex.inl7
-rw-r--r--ace/Thread_Semaphore.h2
-rw-r--r--ace/Time_Value.cpp235
-rw-r--r--ace/Time_Value.h28
-rw-r--r--ace/Time_Value.inl87
-rw-r--r--ace/Timer_Hash_T.cpp5
-rw-r--r--ace/Timer_Heap_T.cpp6
-rw-r--r--ace/Timer_Heap_T.h2
-rw-r--r--ace/Timer_Queue_Adapters.cpp72
-rw-r--r--ace/Timer_Queue_Adapters.h8
-rw-r--r--ace/Timer_Queue_Adapters.inl12
-rw-r--r--ace/Timer_Queue_T.cpp67
-rw-r--r--ace/Timer_Queue_T.h4
-rw-r--r--ace/Timer_Wheel_T.cpp9
-rw-r--r--ace/Timer_Wheel_T.h4
-rw-r--r--ace/Token.h4
-rw-r--r--ace/Token_Invariants.cpp3
-rw-r--r--ace/Token_Manager.cpp3
-rw-r--r--ace/Tokenizer_T.cpp242
-rw-r--r--ace/Tokenizer_T.h241
-rw-r--r--ace/Trace.cpp9
-rw-r--r--ace/Trace.h6
-rw-r--r--ace/UUID.cpp325
-rw-r--r--ace/UUID.h109
-rw-r--r--ace/UUID.inl126
-rw-r--r--ace/Unbounded_Queue.h6
-rw-r--r--ace/Unbounded_Queue.inl6
-rw-r--r--ace/Unbounded_Set_Ex.h37
-rw-r--r--ace/Vector_T.h6
-rw-r--r--ace/Version.h6
-rw-r--r--ace/WFMO_Reactor.cpp5
-rw-r--r--ace/WFMO_Reactor.h76
-rw-r--r--ace/WIN32_Asynch_IO.cpp14
-rw-r--r--ace/XtReactor/XtReactor.cpp220
-rw-r--r--ace/XtReactor/XtReactor.h13
-rw-r--r--ace/ace.mpc5
-rw-r--r--ace/ace_for_tao.mpc9
-rw-r--r--ace/ace_qt3reactor.mpc12
-rw-r--r--ace/ace_qt4reactor.mpc13
-rw-r--r--ace/checked_iterator.h8
-rw-r--r--ace/config-WinCE.h81
-rw-r--r--ace/config-aix-5.x.h95
-rw-r--r--ace/config-all.h4
-rw-r--r--ace/config-cray.h9
-rw-r--r--ace/config-cygwin32.h29
-rw-r--r--ace/config-doxygen.h6
-rw-r--r--ace/config-freebsd.h323
-rw-r--r--ace/config-g++-common.h49
-rw-r--r--ace/config-hpux-11.00.h10
-rw-r--r--ace/config-integritySCA.h6
-rw-r--r--ace/config-irix6.x-common.h3
-rw-r--r--ace/config-irix6.x-g++.h8
-rw-r--r--ace/config-linux-common.h30
-rw-r--r--ace/config-lite.h6
-rw-r--r--ace/config-lynxos.h88
-rw-r--r--ace/config-macosx-iphone-hardware.h15
-rw-r--r--ace/config-macosx-iphone-simulator.h9
-rw-r--r--ace/config-macosx-leopard.h18
-rw-r--r--ace/config-macosx-panther.h9
-rw-r--r--ace/config-macosx-snowleopard.h10
-rw-r--r--ace/config-macosx-tiger.h12
-rw-r--r--ace/config-macosx.h9
-rw-r--r--ace/config-macros.h17
-rw-r--r--ace/config-mvs.h4
-rw-r--r--ace/config-netbsd.h7
-rw-r--r--ace/config-openbsd.h331
-rw-r--r--ace/config-openvms.h6
-rw-r--r--ace/config-pharlap.h1
-rw-r--r--ace/config-qnx-neutrino.h5
-rw-r--r--ace/config-qnx-rtp-62x.h5
-rw-r--r--ace/config-qnx-rtp-common.h4
-rw-r--r--ace/config-qnx-rtp-pre62x.h5
-rw-r--r--ace/config-rtems.h2
-rw-r--r--ace/config-sco-5.0.0-nothread.h2
-rw-r--r--ace/config-sco-5.0.0.h4
-rw-r--r--ace/config-sunos5.10.h2
-rw-r--r--ace/config-sunos5.4-g++.h7
-rw-r--r--ace/config-sunos5.4-sunc++-4.x.h6
-rw-r--r--ace/config-sunos5.5.h29
-rw-r--r--ace/config-sunos5.9.h2
-rw-r--r--ace/config-tandem-nsk-mips-v2.h10
-rw-r--r--ace/config-tandem-nsk-mips-v3.h10
-rw-r--r--ace/config-tandem.h4
-rw-r--r--ace/config-tru64.h3
-rw-r--r--ace/config-unixware-7.1.0.h6
-rw-r--r--ace/config-unixware-7.1.0.udk.h3
-rw-r--r--ace/config-vxworks.h18
-rw-r--r--ace/config-vxworks5.x.h351
-rw-r--r--ace/config-vxworks6.2.h336
-rw-r--r--ace/config-vxworks6.3.h325
-rw-r--r--ace/config-vxworks6.4.h7
-rw-r--r--ace/config-vxworks6.6.h5
-rw-r--r--ace/config-vxworks6.7.h2
-rw-r--r--ace/config-vxworks6.8.h21
-rw-r--r--ace/config-win32-borland.h79
-rw-r--r--ace/config-win32-cegcc.h113
-rw-r--r--ace/config-win32-common.h46
-rw-r--r--ace/config-win32-dmc.h2
-rw-r--r--ace/config-win32-ghs.h2
-rw-r--r--ace/config-win32-interix.h153
-rw-r--r--ace/config-win32-mingw.h9
-rw-r--r--ace/config-win32-msvc-10.h13
-rw-r--r--ace/config-win32-msvc-7.h3
-rw-r--r--ace/config-win32-msvc-8.h18
-rw-r--r--ace/config-win32-msvc-9.h17
-rw-r--r--ace/config-win32-msvc.h3
-rw-r--r--ace/config-win32.h2
-rw-r--r--ace/iosfwd.h1
-rw-r--r--ace/os_include/arpa/os_inet.h4
-rw-r--r--ace/os_include/net/os_if.h13
-rw-r--r--ace/os_include/netinet/os_in.h20
-rw-r--r--ace/os_include/netinet/os_tcp.h2
-rw-r--r--ace/os_include/os_errno.h270
-rw-r--r--ace/os_include/os_limits.h2
-rw-r--r--ace/os_include/os_netdb.h16
-rw-r--r--ace/os_include/os_sched.h4
-rw-r--r--ace/os_include/os_signal.h28
-rw-r--r--ace/os_include/os_stddef.h26
-rw-r--r--ace/os_include/os_string.h26
-rw-r--r--ace/os_include/os_stropts.h6
-rw-r--r--ace/os_include/os_time.h4
-rw-r--r--ace/os_include/os_typeinfo.h39
-rw-r--r--ace/os_include/os_unistd.h2
-rw-r--r--ace/os_include/sys/os_select.h4
-rw-r--r--ace/os_include/sys/os_socket.h4
-rw-r--r--ace/os_include/sys/os_stat.h59
-rw-r--r--ace/os_include/sys/os_time.h4
-rw-r--r--ace/os_include/sys/os_types.h36
-rw-r--r--ace/os_include/sys/os_un.h4
-rw-r--r--ace/svcconf.mpb31
-rw-r--r--ace/svcconfgen.mpc35
-rw-r--r--apps/JAWS/ChangeLog10
-rw-r--r--apps/JAWS/clients/Blobby/Blob_Handler.cpp3
-rw-r--r--apps/JAWS/server/HTTP_Handler.cpp4
-rw-r--r--apps/JAWS/server/HTTP_Handler.h2
-rw-r--r--apps/JAWS/server/HTTP_Response.cpp42
-rw-r--r--apps/JAWS/server/HTTP_Server.cpp3
-rw-r--r--apps/JAWS/server/JAWS_Concurrency.h2
-rw-r--r--apps/JAWS/server/JAWS_IO.cpp (renamed from apps/JAWS/server/IO.cpp)6
-rw-r--r--apps/JAWS/server/JAWS_IO.h (renamed from apps/JAWS/server/IO.h)2
-rw-r--r--apps/JAWS/server/Makefile.am4
-rw-r--r--apps/JAWS/server/server.mpc2
-rw-r--r--apps/JAWS2/JAWS/Concurrency.h2
-rw-r--r--apps/JAWS2/JAWS/IO_Acceptor.h2
-rw-r--r--apps/JAWS2/JAWS/IO_Handler.cpp2
-rw-r--r--apps/JAWS2/JAWS/Jaws_IO.cpp (renamed from apps/JAWS2/JAWS/IO.cpp)2
-rw-r--r--apps/JAWS2/JAWS/Jaws_IO.h (renamed from apps/JAWS2/JAWS/IO.h)2
-rw-r--r--apps/JAWS2/JAWS/Makefile.am4
-rw-r--r--apps/JAWS2/JAWS/Pipeline_Tasks.cpp2
-rw-r--r--apps/JAWS2/JAWS/Server.cpp2
-rw-r--r--apps/JAWS2/JAWS/jaws2.mpc2
-rw-r--r--apps/JAWS3/jaws3/Asynch_IO.cpp2
-rw-r--r--apps/JAWS3/jaws3/Asynch_IO.h2
-rw-r--r--apps/JAWS3/jaws3/Asynch_IO_Helpers.h2
-rw-r--r--apps/JAWS3/jaws3/Jaws_IO.cpp (renamed from apps/JAWS3/jaws3/IO.cpp)2
-rw-r--r--apps/JAWS3/jaws3/Jaws_IO.h (renamed from apps/JAWS3/jaws3/IO.h)0
-rw-r--r--apps/JAWS3/jaws3/Makefile.am4
-rw-r--r--apps/JAWS3/jaws3/Reactive_IO.cpp2
-rw-r--r--apps/JAWS3/jaws3/Reactive_IO.h2
-rw-r--r--apps/JAWS3/jaws3/Reactive_IO_Helpers.h2
-rw-r--r--apps/JAWS3/jaws3/Synch_IO.cpp2
-rw-r--r--apps/JAWS3/jaws3/Synch_IO.h2
-rw-r--r--apps/JAWS3/jaws3/Templates.cpp2
-rw-r--r--apps/JAWS3/jaws3/jaws3.mpc4
-rw-r--r--apps/drwho/CM_Server.cpp2
-rw-r--r--apps/gperf/ChangeLog23
-rw-r--r--apps/gperf/src/Bool_Array.cpp44
-rw-r--r--apps/gperf/src/Bool_Array.h81
-rw-r--r--apps/gperf/src/Gen_Perf.cpp154
-rw-r--r--apps/gperf/src/Gen_Perf.h74
-rw-r--r--apps/gperf/src/Hash_Table.cpp42
-rw-r--r--apps/gperf/src/Hash_Table.h71
-rw-r--r--apps/gperf/src/Iterator.cpp52
-rw-r--r--apps/gperf/src/Iterator.h82
-rw-r--r--apps/gperf/src/Key_List.cpp190
-rw-r--r--apps/gperf/src/Key_List.h136
-rw-r--r--apps/gperf/src/List_Node.cpp74
-rw-r--r--apps/gperf/src/List_Node.h76
-rw-r--r--apps/gperf/src/Options.cpp164
-rw-r--r--apps/gperf/src/Options.h180
-rw-r--r--apps/gperf/src/Vectors.cpp48
-rw-r--r--apps/gperf/src/Vectors.h53
-rw-r--r--apps/gperf/src/Version.cpp42
-rw-r--r--apps/gperf/src/gperf.cpp58
-rw-r--r--apps/gperf/src/gperf.mpc17
-rw-r--r--apps/gperf/src/gperf_export.h47
-rw-r--r--apps/mkcsregdb/mkcsregdb.cpp2
-rw-r--r--bin/ACETAOCIAO.style23
-rw-r--r--bin/MakeProjectCreator/config/MPC.cfg4
-rw-r--r--bin/MakeProjectCreator/config/ace_athena3d.mpb8
-rw-r--r--bin/MakeProjectCreator/config/ace_fl.mpb4
-rw-r--r--bin/MakeProjectCreator/config/ace_gl.mpb2
-rw-r--r--bin/MakeProjectCreator/config/ace_mc.mpb3
-rw-r--r--bin/MakeProjectCreator/config/ace_qt.mpb2
-rw-r--r--bin/MakeProjectCreator/config/ace_qt4reactor.mpb8
-rw-r--r--bin/MakeProjectCreator/config/ace_unicode.mpb4
-rw-r--r--bin/MakeProjectCreator/config/ace_x11.mpb2
-rw-r--r--bin/MakeProjectCreator/config/acedefaults.mpb4
-rw-r--r--bin/MakeProjectCreator/config/aceexe.mpb1
-rw-r--r--bin/MakeProjectCreator/config/bmake.features1
-rw-r--r--bin/MakeProjectCreator/config/crosscompile.mpb5
-rw-r--r--bin/MakeProjectCreator/config/em3.features1
-rw-r--r--bin/MakeProjectCreator/config/global.features21
-rw-r--r--bin/MakeProjectCreator/config/gnuace.features2
-rw-r--r--bin/MakeProjectCreator/config/ipv6.mpb6
-rw-r--r--bin/MakeProjectCreator/config/minizip.mpb8
-rw-r--r--bin/MakeProjectCreator/config/nmake.features1
-rw-r--r--bin/MakeProjectCreator/config/svc_conf_files.mpb7
-rw-r--r--bin/MakeProjectCreator/config/vc10.features6
-rw-r--r--bin/MakeProjectCreator/config/vc71.features1
-rw-r--r--bin/MakeProjectCreator/config/vc8.features1
-rw-r--r--bin/MakeProjectCreator/config/vc9.features1
-rw-r--r--bin/MakeProjectCreator/config/vc_warnings.mpb9
-rw-r--r--bin/MakeProjectCreator/config/vcfullmacros.mpt2
-rw-r--r--bin/MakeProjectCreator/config/vcpartialmacros.mpt2
-rw-r--r--bin/MakeProjectCreator/config/wb26.features4
-rw-r--r--bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm6
-rw-r--r--bin/MakeProjectCreator/templates/gnu.mpd40
-rw-r--r--bin/PerlACE/ProcessLVRT.pm11
-rw-r--r--bin/PerlACE/ProcessVX.pm58
-rw-r--r--bin/PerlACE/ProcessVX_Unix.pm175
-rw-r--r--bin/PerlACE/ProcessVX_Win32.pm96
-rw-r--r--bin/PerlACE/ProcessWinCE.pm48
-rw-r--r--bin/PerlACE/ProcessWinCE_Unix.pm442
-rw-r--r--bin/PerlACE/Process_Unix.pm192
-rw-r--r--bin/PerlACE/Process_VMS.pm9
-rw-r--r--bin/PerlACE/Process_Win32.pm60
-rw-r--r--bin/PerlACE/Run_Test.pm67
-rw-r--r--bin/PerlACE/TestTarget.pm114
-rw-r--r--bin/PerlACE/TestTarget_LVRT.pm17
-rw-r--r--bin/PerlACE/TestTarget_VxWorks.pm34
-rw-r--r--bin/PerlACE/TestTarget_WinCE.pm24
-rw-r--r--bin/ace_tests.lst1
-rwxr-xr-xbin/auto_run_tests.pl54
-rwxr-xr-xbin/bootstrap4
-rw-r--r--bin/ciao_tests.lst17
-rwxr-xr-xbin/cle.pl10
-rwxr-xr-xbin/copy-script.sh2
-rwxr-xr-xbin/cut_cidlc.sh55
-rwxr-xr-xbin/diff-builds-and-group-fixed-tests-only.sh13
-rwxr-xr-xbin/diff-builds.pl18
-rwxr-xr-xbin/footprint_stats.sh4
-rwxr-xr-xbin/fuzz.pl196
-rwxr-xr-xbin/generate_compile_stats.sh189
-rwxr-xr-xbin/generate_doxygen.pl15
-rwxr-xr-xbin/generate_footprint_chart.sh5
-rwxr-xr-xbin/generate_performance_chart.sh8
-rwxr-xr-xbin/generate_rel_manpages10
-rwxr-xr-xbin/generate_topinfo_charts.sh1
-rwxr-xr-xbin/mail_test_stats.sh43
-rwxr-xr-xbin/make_release.py249
-rw-r--r--bin/mpc-mode.el3
-rwxr-xr-xbin/mpc.pl6
-rwxr-xr-xbin/mwc.pl6
-rwxr-xr-xbin/performance_stats.sh43
-rwxr-xr-xbin/run_all.pl224
-rwxr-xr-xbin/run_all_win32.pl180
-rwxr-xr-xbin/sets-manager.py11
-rwxr-xr-xbin/split-cpp.pl2
-rw-r--r--bin/tao_orb_tests.lst397
-rw-r--r--bin/tao_other_tests.lst231
-rw-r--r--configure.ac245
-rw-r--r--contrib/FaCE/CE_ARGV.cpp (renamed from contrib/FaCE/CE_ARGV.CPP)3
-rw-r--r--contrib/FaCE/CE_ARGV.h (renamed from contrib/FaCE/CE_ARGV.H)7
-rw-r--r--contrib/FaCE/CE_Screen_Output.h1
-rw-r--r--contrib/FaCE/FaCE.cpp24
-rw-r--r--contrib/FaCE/FaCE.mpc2
-rw-r--r--contrib/FaCE/FaCENOACE.mpc4
-rw-r--r--contrib/FaCE/Main.cpp2
-rw-r--r--contrib/FaCE/newres.h1
-rw-r--r--contrib/minizip/minizip.mwc3
-rw-r--r--contrib/minizip/minizip_export.h6
-rw-r--r--contrib/utility/BuildRules/Archive.gcc.post.rules47
-rw-r--r--contrib/utility/BuildRules/Archive.gcc.pre.rules28
-rw-r--r--contrib/utility/BuildRules/Archive.post.rules7
-rw-r--r--contrib/utility/BuildRules/Archive.pre.rules7
-rw-r--r--contrib/utility/BuildRules/Bootstrap.rules95
-rw-r--r--contrib/utility/BuildRules/Documentation.post.rules35
-rw-r--r--contrib/utility/BuildRules/Documentation.pre.rules18
-rw-r--r--contrib/utility/BuildRules/Executable.gcc.post.rules46
-rw-r--r--contrib/utility/BuildRules/Executable.gcc.pre.rules26
-rw-r--r--contrib/utility/BuildRules/Executable.generic.post.rules55
-rw-r--r--contrib/utility/BuildRules/Executable.generic.pre.rules26
-rw-r--r--contrib/utility/BuildRules/Executable.post.rules8
-rw-r--r--contrib/utility/BuildRules/Executable.pre.rules8
-rw-r--r--contrib/utility/BuildRules/Object.gcc.post.rules38
-rw-r--r--contrib/utility/BuildRules/Object.gcc.pre.rules22
-rw-r--r--contrib/utility/BuildRules/Object.post.rules7
-rw-r--r--contrib/utility/BuildRules/Object.pre.rules7
-rw-r--r--contrib/utility/BuildRules/Recursion.post.rules37
-rw-r--r--contrib/utility/BuildRules/Recursion.pre.rules13
-rw-r--r--contrib/utility/BuildRules/Shared.gcc.post.rules43
-rw-r--r--contrib/utility/BuildRules/Shared.gcc.pre.rules26
-rw-r--r--contrib/utility/BuildRules/Shared.generic.post.rules51
-rw-r--r--contrib/utility/BuildRules/Shared.generic.pre.rules26
-rw-r--r--contrib/utility/BuildRules/Shared.post.rules7
-rw-r--r--contrib/utility/BuildRules/Shared.pre.rules7
-rw-r--r--contrib/utility/BuildRules/Thoughts55
-rw-r--r--contrib/utility/Documentation/Build.xhtml58
-rw-r--r--contrib/utility/Documentation/CommandLine/News.xhtml31
-rw-r--r--contrib/utility/Documentation/CommandLine/Terminology.xhtml272
-rw-r--r--contrib/utility/Documentation/CommandLine/Thoughts8
-rw-r--r--contrib/utility/Documentation/CommandLine/index.xhtml39
-rw-r--r--contrib/utility/Documentation/ExH/Compound.hpp.html50
-rw-r--r--contrib/utility/Documentation/ExH/Example/Makefile26
-rw-r--r--contrib/utility/Documentation/ExH/Example/bad_cast.cpp.html63
-rw-r--r--contrib/utility/Documentation/ExH/Example/compound.cpp.html153
-rw-r--r--contrib/utility/Documentation/ExH/Example/hello_world.cpp.html152
-rw-r--r--contrib/utility/Documentation/ExH/Example/logic_to_system.cpp.html69
-rw-r--r--contrib/utility/Documentation/ExH/Logic/DescriptiveException.hpp.html61
-rw-r--r--contrib/utility/Documentation/ExH/Logic/Exception.hpp.html43
-rw-r--r--contrib/utility/Documentation/ExH/Logic/Makefile20
-rw-r--r--contrib/utility/Documentation/ExH/Makefile16
-rw-r--r--contrib/utility/Documentation/ExH/Makefile.documentation20
-rw-r--r--contrib/utility/Documentation/ExH/News.xhtml47
-rw-r--r--contrib/utility/Documentation/ExH/System/DescriptiveException.hpp.html64
-rw-r--r--contrib/utility/Documentation/ExH/System/Exception.hpp.html32
-rw-r--r--contrib/utility/Documentation/ExH/System/Makefile20
-rw-r--r--contrib/utility/Documentation/ExH/index.xhtml60
-rw-r--r--contrib/utility/Documentation/Hetero/News.xhtml31
-rw-r--r--contrib/utility/Documentation/Hetero/index.xhtml62
-rw-r--r--contrib/utility/Documentation/Introspection/News.xhtml38
-rw-r--r--contrib/utility/Documentation/Introspection/index.xhtml42
-rw-r--r--contrib/utility/Documentation/Makefile16
-rw-r--r--contrib/utility/Documentation/News.xhtml72
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/DefaultImpl.hpp.html93
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/Interface.hpp.html82
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/Makefile22
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/News.xhtml90
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/SmartPtr.hpp.html103
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/StrictPtr.hpp.html107
-rw-r--r--contrib/utility/Documentation/ReferenceCounting/index.xhtml50
-rw-r--r--contrib/utility/Documentation/ReleaseProcess13
-rw-r--r--contrib/utility/Documentation/Style/CXX.css9
-rw-r--r--contrib/utility/Documentation/Style/CXX_Blue.css25
-rw-r--r--contrib/utility/Documentation/Style/Default.css45
-rw-r--r--contrib/utility/Documentation/Synch/Makefile16
-rw-r--r--contrib/utility/Documentation/Synch/News.xhtml36
-rw-r--r--contrib/utility/Documentation/Synch/Policy/Makefile20
-rw-r--r--contrib/utility/Documentation/Synch/Policy/Null.hpp.html59
-rw-r--r--contrib/utility/Documentation/Synch/index.xhtml48
-rw-r--r--contrib/utility/Documentation/TODO53
-rw-r--r--contrib/utility/Documentation/Template.xhtml33
-rw-r--r--contrib/utility/Documentation/Thoughts/Enum/EnumCount95
-rw-r--r--contrib/utility/Documentation/Thoughts/Enum/EnumCount217
-rw-r--r--contrib/utility/Documentation/Thoughts/Enum/EnumInfo45
-rw-r--r--contrib/utility/Documentation/index.xhtml81
-rw-r--r--contrib/utility/Example/CommandLine/Foo/command.cpp88
-rw-r--r--contrib/utility/Example/CommandLine/Foo/foo.cpp184
-rw-r--r--contrib/utility/Example/ExH/BadCast/Makefile24
-rw-r--r--contrib/utility/Example/ExH/BadCast/bad_cast.cpp54
-rw-r--r--contrib/utility/Example/ExH/Compound/Makefile24
-rw-r--r--contrib/utility/Example/ExH/Compound/compound.cpp144
-rw-r--r--contrib/utility/Example/ExH/HelloWorld/Makefile24
-rw-r--r--contrib/utility/Example/ExH/HelloWorld/hello_world.cpp142
-rw-r--r--contrib/utility/Example/ExH/LogicToSystem/Makefile24
-rw-r--r--contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp60
-rw-r--r--contrib/utility/Example/ExH/Makefile16
-rw-r--r--contrib/utility/Example/Hetero/Container/Makefile24
-rw-r--r--contrib/utility/Example/Hetero/Container/container.cpp112
-rw-r--r--contrib/utility/Example/Hetero/Makefile16
-rw-r--r--contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.cpp104
-rw-r--r--contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.hpp61
-rw-r--r--contrib/utility/Example/Introspection/InheritanceTree/Makefile22
-rw-r--r--contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp65
-rw-r--r--contrib/utility/Example/Introspection/Makefile16
-rw-r--r--contrib/utility/Example/Introspection/Traversal/Makefile22
-rw-r--r--contrib/utility/Example/Introspection/Traversal/SyntaxTree.cpp119
-rw-r--r--contrib/utility/Example/Introspection/Traversal/SyntaxTree.hpp95
-rw-r--r--contrib/utility/Example/Introspection/Traversal/Traversal.cpp105
-rw-r--r--contrib/utility/Example/Introspection/Traversal/Traversal.hpp157
-rw-r--r--contrib/utility/Example/Introspection/Traversal/driver.cpp93
-rw-r--r--contrib/utility/Example/Makefile16
-rw-r--r--contrib/utility/Makefile18
-rw-r--r--contrib/utility/Test/ExH/Compound/Makefile24
-rw-r--r--contrib/utility/Test/ExH/Compound/compound.cpp115
-rw-r--r--contrib/utility/Test/ExH/Converter/Makefile24
-rw-r--r--contrib/utility/Test/ExH/Converter/converter.cpp50
-rw-r--r--contrib/utility/Test/ExH/Inline/Makefile24
-rw-r--r--contrib/utility/Test/ExH/Inline/inline.cpp19
-rw-r--r--contrib/utility/Test/ExH/Inline/unit.cpp8
-rw-r--r--contrib/utility/Test/ExH/Logic/DescriptiveException/Makefile24
-rw-r--r--contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp110
-rw-r--r--contrib/utility/Test/ExH/Logic/Makefile16
-rw-r--r--contrib/utility/Test/ExH/Makefile16
-rw-r--r--contrib/utility/Test/ExH/System/DescriptiveException/Makefile24
-rw-r--r--contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp109
-rw-r--r--contrib/utility/Test/ExH/System/Makefile16
-rw-r--r--contrib/utility/Test/Introspection/Inline/Makefile24
-rw-r--r--contrib/utility/Test/Introspection/Inline/inline.cpp20
-rw-r--r--contrib/utility/Test/Introspection/Inline/unit.cpp8
-rw-r--r--contrib/utility/Test/Introspection/Makefile16
-rw-r--r--contrib/utility/Test/Makefile18
-rw-r--r--contrib/utility/Test/ReferenceCounting/DefaultImpl/Makefile24
-rw-r--r--contrib/utility/Test/ReferenceCounting/DefaultImpl/default_impl.cpp132
-rw-r--r--contrib/utility/Test/ReferenceCounting/Inline/Makefile24
-rw-r--r--contrib/utility/Test/ReferenceCounting/Inline/inline.cpp16
-rw-r--r--contrib/utility/Test/ReferenceCounting/Inline/unit.cpp8
-rw-r--r--contrib/utility/Test/ReferenceCounting/Interface/Makefile24
-rw-r--r--contrib/utility/Test/ReferenceCounting/Interface/interface.cpp104
-rw-r--r--contrib/utility/Test/ReferenceCounting/Makefile16
-rw-r--r--contrib/utility/Test/ReferenceCounting/SmartPtr/Makefile24
-rw-r--r--contrib/utility/Test/ReferenceCounting/SmartPtr/smart_ptr.cpp220
-rw-r--r--contrib/utility/Test/ReferenceCounting/StrictPtr/Makefile24
-rw-r--r--contrib/utility/Test/ReferenceCounting/StrictPtr/strict_ptr.cpp218
-rw-r--r--contrib/utility/Test/Synch/Inline/Makefile24
-rw-r--r--contrib/utility/Test/Synch/Inline/inline.cpp20
-rw-r--r--contrib/utility/Test/Synch/Inline/unit.cpp8
-rw-r--r--contrib/utility/Test/Synch/Makefile16
-rw-r--r--contrib/utility/Utility/ExH/Compound.hpp49
-rw-r--r--contrib/utility/Utility/ExH/Compound.tpp74
-rw-r--r--contrib/utility/Utility/ExH/Converter.hpp24
-rw-r--r--contrib/utility/Utility/ExH/Converter.tpp19
-rw-r--r--contrib/utility/Utility/ExH/ExH.hpp22
-rw-r--r--contrib/utility/Utility/ExH/Logic/DescriptiveException.hpp65
-rw-r--r--contrib/utility/Utility/ExH/Logic/DescriptiveException.ipp106
-rw-r--r--contrib/utility/Utility/ExH/Logic/DescriptiveException.tpp23
-rw-r--r--contrib/utility/Utility/ExH/Logic/Exception.hpp42
-rw-r--r--contrib/utility/Utility/ExH/Logic/Exception.ipp20
-rw-r--r--contrib/utility/Utility/ExH/StringStreamConverter.hpp26
-rw-r--r--contrib/utility/Utility/ExH/StringStreamConverter.ipp18
-rw-r--r--contrib/utility/Utility/ExH/System/DescriptiveException.hpp65
-rw-r--r--contrib/utility/Utility/ExH/System/DescriptiveException.ipp91
-rw-r--r--contrib/utility/Utility/ExH/System/DescriptiveException.tpp23
-rw-r--r--contrib/utility/Utility/ExH/System/Exception.hpp29
-rw-r--r--contrib/utility/Utility/Hetero/Container.hpp182
-rw-r--r--contrib/utility/Utility/Hetero/Shell.hpp86
-rw-r--r--contrib/utility/Utility/Hetero/TypeList.hpp46
-rw-r--r--contrib/utility/Utility/Hetero/TypedContainer.hpp57
-rw-r--r--contrib/utility/Utility/Hetero/Vector.hpp47
-rw-r--r--contrib/utility/Utility/Introspection/Introspection.hpp14
-rw-r--r--contrib/utility/Utility/Introspection/Makefile19
-rw-r--r--contrib/utility/Utility/Introspection/Object.cpp24
-rw-r--r--contrib/utility/Utility/Introspection/Object.hpp47
-rw-r--r--contrib/utility/Utility/Introspection/Object.ipp48
-rw-r--r--contrib/utility/Utility/Introspection/TypeId.cpp21
-rw-r--r--contrib/utility/Utility/Introspection/TypeId.hpp47
-rw-r--r--contrib/utility/Utility/Introspection/TypeId.ipp37
-rw-r--r--contrib/utility/Utility/Introspection/TypeId.tpp18
-rw-r--r--contrib/utility/Utility/Introspection/TypeInfo.hpp104
-rw-r--r--contrib/utility/Utility/Introspection/TypeInfo.ipp77
-rw-r--r--contrib/utility/Utility/Makefile16
-rw-r--r--contrib/utility/Utility/ReferenceCounting/DefaultImpl.hpp97
-rw-r--r--contrib/utility/Utility/ReferenceCounting/DefaultImpl.ipp105
-rw-r--r--contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.hpp60
-rw-r--r--contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.ipp122
-rw-r--r--contrib/utility/Utility/ReferenceCounting/Interface.hpp80
-rw-r--r--contrib/utility/Utility/ReferenceCounting/Interface.ipp22
-rw-r--r--contrib/utility/Utility/ReferenceCounting/Interface.tpp19
-rw-r--r--contrib/utility/Utility/ReferenceCounting/ReferenceCounting.hpp16
-rw-r--r--contrib/utility/Utility/ReferenceCounting/SmartPtr.hpp97
-rw-r--r--contrib/utility/Utility/ReferenceCounting/SmartPtr.tpp164
-rw-r--r--contrib/utility/Utility/ReferenceCounting/StrictPtr.hpp102
-rw-r--r--contrib/utility/Utility/ReferenceCounting/StrictPtr.tpp161
-rw-r--r--contrib/utility/Utility/Synch/Policy/Null.hpp54
-rw-r--r--contrib/utility/Utility/Synch/Policy/Null.ipp20
-rw-r--r--contrib/utility/Vault/StringConverter.hpp27
-rw-r--r--contrib/utility/Vault/StringConverter.ipp18
-rw-r--r--contrib/utility/Vault/hetero/map13
-rw-r--r--contrib/utility/Vault/hetero/map.hpp249
-rw-r--r--contrib/utility/Vault/hetero/map.tpp12
-rw-r--r--contrib/utility/Version3
-rw-r--r--contrib/utility/license.html79
-rw-r--r--debianbuild/changelog99
-rw-r--r--debianbuild/control195
-rw-r--r--debianbuild/dsc10
-rw-r--r--debianbuild/libace-5.6.7.install1
-rw-r--r--debianbuild/libace-5.7.8.docs (renamed from debianbuild/libace-5.6.7.docs)0
-rw-r--r--debianbuild/libace-5.7.8.install6
-rw-r--r--debianbuild/libace-dev.install12
-rw-r--r--debianbuild/libace-flreactor-5.6.7.install1
-rw-r--r--debianbuild/libace-flreactor-5.7.8.install1
-rw-r--r--debianbuild/libace-flreactor-dev.install1
-rw-r--r--debianbuild/libace-foxreactor-5.6.7.install1
-rw-r--r--debianbuild/libace-foxreactor-5.7.8.install1
-rw-r--r--debianbuild/libace-foxreactor-dev.install1
-rw-r--r--debianbuild/libace-htbp-5.6.7.install1
-rw-r--r--debianbuild/libace-htbp-5.7.8.install1
-rw-r--r--debianbuild/libace-htbp-dev.install1
-rw-r--r--debianbuild/libace-qtreactor-5.6.7.install1
-rw-r--r--debianbuild/libace-qtreactor-5.7.8.install1
-rw-r--r--debianbuild/libace-qtreactor-dev.install1
-rw-r--r--debianbuild/libace-rmcast-5.6.7.install1
-rw-r--r--debianbuild/libace-rmcast-5.7.8.install1
-rw-r--r--debianbuild/libace-rmcast-dev.install1
-rw-r--r--debianbuild/libace-ssl-5.6.7.install1
-rw-r--r--debianbuild/libace-ssl-5.7.8.install1
-rw-r--r--debianbuild/libace-ssl-dev.install1
-rw-r--r--debianbuild/libace-tkreactor-5.6.7.install1
-rw-r--r--debianbuild/libace-tkreactor-5.7.8.install1
-rw-r--r--debianbuild/libace-tkreactor-dev.install1
-rw-r--r--debianbuild/libace-tmcast-5.6.7.install1
-rw-r--r--debianbuild/libace-tmcast-5.7.8.install1
-rw-r--r--debianbuild/libace-tmcast-dev.install1
-rw-r--r--debianbuild/libace-xtreactor-5.6.7.install1
-rw-r--r--debianbuild/libace-xtreactor-5.7.8.install1
-rw-r--r--debianbuild/libace-xtreactor-dev.install1
-rw-r--r--debianbuild/libacexml-5.6.7.install3
-rw-r--r--debianbuild/libacexml-5.7.8.docs (renamed from debianbuild/libacexml-5.6.7.docs)0
-rw-r--r--debianbuild/libacexml-5.7.8.install3
-rw-r--r--debianbuild/libacexml-dev.install1
-rw-r--r--debianbuild/libkokyu-5.6.7.install1
-rw-r--r--debianbuild/libkokyu-5.7.8.docs (renamed from debianbuild/libkokyu-5.6.7.docs)0
-rw-r--r--debianbuild/libkokyu-5.7.8.install1
-rw-r--r--debianbuild/libkokyu-dev.install1
-rw-r--r--debianbuild/libtao-1.6.7.install33
-rw-r--r--debianbuild/libtao-1.7.8.docs (renamed from debianbuild/libtao-1.6.7.docs)0
-rw-r--r--debianbuild/libtao-1.7.8.install36
-rw-r--r--debianbuild/libtao-dev.install34
-rw-r--r--debianbuild/libtao-flresource-1.6.7.install1
-rw-r--r--debianbuild/libtao-flresource-1.7.8.install1
-rw-r--r--debianbuild/libtao-foxresource-1.6.7.install1
-rw-r--r--debianbuild/libtao-foxresource-1.7.8.install1
-rw-r--r--debianbuild/libtao-orbsvcs-1.6.7.install59
-rw-r--r--debianbuild/libtao-orbsvcs-1.7.8.NEWS (renamed from debianbuild/libtao-orbsvcs-1.6.7.NEWS)0
-rw-r--r--debianbuild/libtao-orbsvcs-1.7.8.install72
-rw-r--r--debianbuild/libtao-orbsvcs-dev.install74
-rw-r--r--debianbuild/libtao-qtresource-1.6.7.install1
-rw-r--r--debianbuild/libtao-qtresource-1.7.8.install1
-rw-r--r--debianbuild/libtao-tkresource-1.6.7.install1
-rw-r--r--debianbuild/libtao-tkresource-1.7.8.install1
-rw-r--r--debianbuild/libtao-xtresource-1.6.7.install1
-rw-r--r--debianbuild/libtao-xtresource-1.7.8.install1
-rw-r--r--debianbuild/mpc-ace.install14
-rw-r--r--debianbuild/patches/00list3
-rw-r--r--debianbuild/patches/01-change-tao-sonames.dpatch33
-rw-r--r--debianbuild/patches/02-fltk-no-gl.dpatch19
-rw-r--r--debianbuild/patches/02-qt4.dpatch32
-rw-r--r--debianbuild/patches/04-reduce-opt.dpatch18
-rw-r--r--debianbuild/patches/05-autoconf-fox.dpatch116
-rw-r--r--debianbuild/patches/06-fix-kokyu-mpc.dpatch18
-rw-r--r--debianbuild/patches/07-autoconf-fix-gperf.dpatch18
-rw-r--r--debianbuild/patches/09-autoconf-fix-no-base-include-headers.diff19
-rw-r--r--debianbuild/patches/12-fix-fox-include.dpatch29
-rw-r--r--debianbuild/patches/14-autoconf-tao.dpatch54
-rw-r--r--debianbuild/patches/15-fix-fltk-include.dpatch19
-rw-r--r--debianbuild/patches/16-skip-apps.dpatch22
-rw-r--r--debianbuild/patches/17-protect-mpc-path.dpatch17
-rw-r--r--debianbuild/patches/18-fix-bswap-detection.dpatch35
-rw-r--r--debianbuild/patches/19-gcc43.dpatch32
-rw-r--r--debianbuild/patches/20-fix-iostream-detection.dpatch128
-rw-r--r--debianbuild/patches/21-generate-platform_macros.GNU.diff10
-rw-r--r--debianbuild/patches/22-tao_idl-64bit-fix.dpatch65
-rw-r--r--debianbuild/patches/24-add-missing-headers.dpatch197
-rw-r--r--debianbuild/patches/34-bts386713.dpatch353
-rw-r--r--debianbuild/patches/90-patch-mpc-basedir.dpatch45
-rw-r--r--debianbuild/patches/91-patch-dg-basedir.dpatch24
-rw-r--r--debianbuild/rules159
-rw-r--r--debianbuild/tao-ifr.install1
-rw-r--r--debianbuild/tao-utils.install4
-rw-r--r--docs/ACE-guidelines.html15
-rw-r--r--docs/Download.html325
-rw-r--r--docs/ace_guidelines.vsmacrosbin68096 -> 68608 bytes
-rw-r--r--docs/bczar/bczar.html135
-rw-r--r--docs/run_test.txt25
-rw-r--r--docs/svn/config5
-rw-r--r--docs/svn/svn-prefs.reg6
-rw-r--r--etc/ace.doxygen10
-rw-r--r--etc/ace_man.doxygen14
-rw-r--r--etc/ace_qos.doxygen14
-rw-r--r--etc/ace_rmcast.doxygen14
-rw-r--r--etc/ace_ssl.doxygen14
-rw-r--r--etc/acexml.doxygen14
-rw-r--r--etc/ciao.doxygen169
-rw-r--r--etc/ciao_DAnCE.doxygen167
-rw-r--r--etc/ciao_config_handlers.doxygen168
-rw-r--r--etc/index.html11
-rw-r--r--etc/tao.doxygen159
-rw-r--r--etc/tao_anytypecode.doxygen160
-rw-r--r--etc/tao_av.doxygen164
-rw-r--r--etc/tao_compression.doxygen160
-rw-r--r--etc/tao_cosevent.doxygen165
-rw-r--r--etc/tao_cosnaming.doxygen161
-rw-r--r--etc/tao_cosnotification.doxygen171
-rw-r--r--etc/tao_costime.doxygen162
-rw-r--r--etc/tao_costrader.doxygen165
-rw-r--r--etc/tao_dynamicany.doxygen160
-rw-r--r--etc/tao_dynamicinterface.doxygen159
-rw-r--r--etc/tao_esf.doxygen161
-rw-r--r--etc/tao_ifr.doxygen163
-rw-r--r--etc/tao_implrepo.doxygen162
-rw-r--r--etc/tao_iormanip.doxygen160
-rw-r--r--etc/tao_iortable.doxygen160
-rw-r--r--etc/tao_pi.doxygen160
-rw-r--r--etc/tao_pi_server.doxygen160
-rw-r--r--etc/tao_portablegroup.doxygen164
-rw-r--r--etc/tao_portableserver.doxygen160
-rw-r--r--etc/tao_pss.doxygen161
-rw-r--r--etc/tao_rtcorba.doxygen160
-rw-r--r--etc/tao_rtevent.doxygen171
-rw-r--r--etc/tao_rtportableserver.doxygen160
-rw-r--r--etc/tao_security.doxygen166
-rw-r--r--etc/tao_smartproxies.doxygen159
-rw-r--r--etc/tao_ssliop.doxygen167
-rw-r--r--etc/tao_strategies.doxygen159
-rw-r--r--etc/tao_transportcurrent.doxygen161
-rw-r--r--etc/tao_ziop.doxygen161
-rw-r--r--examples/APG/Active_Objects/active_objects.mpc6
-rw-r--r--examples/APG/Config/config.mpc3
-rw-r--r--examples/APG/Containers/DLList.cpp2
-rw-r--r--examples/APG/Containers/Hash_Map.cpp6
-rw-r--r--examples/APG/Containers/Hash_Map_Hash.cpp6
-rw-r--r--examples/APG/Containers/Map_Manager.cpp2
-rw-r--r--examples/APG/Containers/Map_Manager_Specialization.cpp4
-rw-r--r--examples/APG/Containers/RB_Tree.cpp6
-rw-r--r--examples/APG/Containers/RB_Tree_Functors.cpp6
-rw-r--r--examples/APG/Containers/containers.mpc3
-rw-r--r--examples/APG/Misc_IPC/misc_ipc.mpc6
-rw-r--r--examples/APG/Naming/naming.mpc15
-rw-r--r--examples/APG/Proactor/proactor.mpc3
-rw-r--r--examples/APG/Processes/processes.mpc12
-rw-r--r--examples/APG/Shared_Memory/shared_memory.mpc15
-rw-r--r--examples/APG/Streams/streams.mpc3
-rw-r--r--examples/APG/Svc_Config/svc_config.mpc9
-rw-r--r--examples/APG/ThreadManagement/Coop_Cancel.cpp2
-rw-r--r--examples/APG/ThreadManagement/ExitHandler.cpp4
-rw-r--r--examples/APG/ThreadManagement/Pool.cpp2
-rw-r--r--examples/APG/ThreadManagement/Signals2.cpp2
-rw-r--r--examples/APG/ThreadManagement/Start_Hook.cpp2
-rw-r--r--examples/APG/ThreadPools/threadpools.mpc3
-rw-r--r--examples/APG/ThreadSafety/Atomic_Op.cpp2
-rw-r--r--examples/APG/ThreadSafety/TSS.cpp2
-rw-r--r--examples/APG/ThreadSafety/threadsafety.mpc6
-rw-r--r--examples/APG/Timers/Task.cpp2
-rw-r--r--examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp10
-rw-r--r--examples/ASX/Event_Server/Event_Server/Event.mpc3
-rw-r--r--examples/ASX/Event_Server/Event_Server/Options.cpp4
-rw-r--r--examples/ASX/Event_Server/Event_Server/Peer_Router.cpp2
-rw-r--r--examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp10
-rw-r--r--examples/ASX/Event_Server/README7
-rw-r--r--examples/ASX/Event_Server/Transceiver/transceiver.cpp2
-rw-r--r--examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp10
-rw-r--r--examples/ASX/UPIPE_Event_Server/Options.cpp4
-rw-r--r--examples/ASX/UPIPE_Event_Server/Peer_Router.cpp2
-rw-r--r--examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp10
-rw-r--r--examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc3
-rw-r--r--examples/C++NPv1/C++NPv1.mpc24
-rw-r--r--examples/C++NPv2/C++NPv2.mpc16
-rw-r--r--examples/Connection/blocking/Connection_Blocking.mpc6
-rw-r--r--examples/Connection/misc/Connection_Handler.cpp2
-rw-r--r--examples/Connection/misc/Connection_Misc.mpc3
-rw-r--r--examples/Connection/non_blocking/Connection_Non_Blocking.mpc6
-rwxr-xr-xexamples/Export/run_test.pl16
-rw-r--r--examples/IPC_SAP/ATM_SAP/CPP-client.cpp2
-rw-r--r--examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc3
-rw-r--r--examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc3
-rw-r--r--examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc9
-rw-r--r--examples/IPC_SAP/FILE_SAP/file_sap_client.mpc3
-rw-r--r--examples/IPC_SAP/SOCK_SAP/sock_sap.mpc18
-rw-r--r--examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp2
-rw-r--r--examples/IPC_SAP/SSL_SAP/SSL-server.cpp4
-rw-r--r--examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc18
-rw-r--r--examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc9
-rw-r--r--examples/Mem_Map/IO-tests/IO_Test.cpp50
-rw-r--r--examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc3
-rw-r--r--examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc3
-rw-r--r--examples/Misc/Misc.mpc3
-rw-r--r--examples/Misc/test_XtReactor1.cpp2
-rw-r--r--examples/Misc/test_XtReactor2.cpp2
-rw-r--r--examples/Naming/Naming.mpc12
-rw-r--r--examples/OS/Process/OS_Process.mpc3
-rw-r--r--examples/OS/Process/imore.cpp10
-rw-r--r--examples/OS/Process/process.cpp1
-rw-r--r--examples/QOS/Change_Receiver_FlowSpec/receiver.cpp36
-rw-r--r--examples/QOS/Change_Receiver_FlowSpec/sender.cpp38
-rw-r--r--examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp2
-rw-r--r--examples/QOS/Change_Sender_TSpec/receiver.cpp40
-rw-r--r--examples/QOS/Change_Sender_TSpec/sender.cpp38
-rw-r--r--examples/QOS/Diffserv/QOS_Diffserv.mpc3
-rw-r--r--examples/QOS/Simple/receiver.cpp36
-rw-r--r--examples/QOS/Simple/sender.cpp38
-rw-r--r--examples/Reactor/Dgram/Reactor_Dgram.mpc3
-rw-r--r--examples/Reactor/FIFO/Reactor_FIFO.mpc6
-rw-r--r--examples/Reactor/Misc/pingpong.cpp6
-rw-r--r--examples/Reactor/Proactor/Proactor.mpc27
-rw-r--r--examples/Reactor/Proactor/post_completions.cpp2
-rw-r--r--examples/Reactor/Proactor/test_aiosig.cpp4
-rw-r--r--examples/Reactor/Proactor/test_aiosig_ace.cpp4
-rw-r--r--examples/Reactor/Proactor/test_end_event_loop.cpp6
-rw-r--r--examples/Reactor/TP_Reactor/AcceptHandler.cpp14
-rw-r--r--examples/Reactor/TP_Reactor/ReadHandler.cpp10
-rw-r--r--examples/Reactor/TP_Reactor/client.cpp12
-rwxr-xr-x[-rw-r--r--]examples/Reactor/TP_Reactor/run_test.pl2
-rw-r--r--examples/Reactor/TP_Reactor/server.cpp2
-rw-r--r--examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc9
-rwxr-xr-xexamples/Reactor/WFMO_Reactor/run_test.pl13
-rw-r--r--examples/Semaphores/Semaphores.mpc6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc21
-rw-r--r--examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc6
-rw-r--r--examples/Shared_Malloc/Shared_Malloc.mpc12
-rw-r--r--examples/Shared_Memory/Shared_Memory.mpc6
-rw-r--r--examples/Shared_Memory/test_MM.cpp7
-rw-r--r--examples/Synch/Synch.mpc3
-rw-r--r--examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc12
-rw-r--r--examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc6
-rw-r--r--examples/Threads/Threads.mpc12
-rw-r--r--examples/Threads/auto_event.cpp4
-rw-r--r--examples/Threads/manual_event.cpp4
-rw-r--r--examples/Timer_Queue/Async_Timer_Queue_Test.cpp2
-rw-r--r--examples/Web_Crawler/Web_Crawler.mpc3
-rw-r--r--html/Stats/compilation.shtml4
-rw-r--r--html/Stats/configuration.shtml8
-rw-r--r--html/Stats/footprint.shtml8
-rw-r--r--html/Stats/index.shtml26
-rw-r--r--html/Stats/navigation.html2
-rw-r--r--html/Stats/performance.shtml20
-rw-r--r--html/Stats/simple_footprint.shtml36
-rw-r--r--html/index.html5
-rw-r--r--include/makeinclude/platform_cegcc.GNU63
-rw-r--r--include/makeinclude/platform_freebsd.GNU35
-rw-r--r--include/makeinclude/platform_g++_common.GNU21
-rw-r--r--include/makeinclude/platform_gnuwin32_common.GNU28
-rw-r--r--include/makeinclude/platform_hpux_aCC.GNU9
-rw-r--r--include/makeinclude/platform_linux.GNU42
-rw-r--r--include/makeinclude/platform_linux_common.GNU60
-rw-r--r--include/makeinclude/platform_linux_icc.GNU2
-rw-r--r--include/makeinclude/platform_linux_suncc.GNU3
-rw-r--r--include/makeinclude/platform_lynxos.GNU75
-rw-r--r--include/makeinclude/platform_macosx_common.GNU58
-rw-r--r--include/makeinclude/platform_macosx_iphone.GNU50
-rw-r--r--include/makeinclude/platform_macosx_snowleopard.GNU17
-rw-r--r--include/makeinclude/platform_macosx_tiger.GNU52
-rw-r--r--include/makeinclude/platform_openbsd.GNU25
-rw-r--r--include/makeinclude/platform_rtems.x_g++.GNU4
-rw-r--r--include/makeinclude/platform_sunos5_common.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_g++.GNU12
-rw-r--r--include/makeinclude/platform_sunos5_sunc++.GNU73
-rw-r--r--include/makeinclude/platform_vxworks.GNU7
-rw-r--r--include/makeinclude/platform_vxworks5.5.x.GNU7
-rw-r--r--include/makeinclude/platform_vxworks6.2.GNU21
-rw-r--r--include/makeinclude/platform_vxworks6.3.GNU27
-rw-r--r--include/makeinclude/platform_vxworks6.6.GNU6
-rw-r--r--include/makeinclude/platform_vxworks6.7.GNU9
-rw-r--r--include/makeinclude/platform_vxworks6.8.GNU9
-rw-r--r--include/makeinclude/platform_win32_interix.GNU44
-rw-r--r--include/makeinclude/platform_win32_msvc.GNU2
-rw-r--r--include/makeinclude/rules.lib.GNU41
-rw-r--r--include/makeinclude/rules.local.GNU40
-rw-r--r--include/makeinclude/wrapper_macros.GNU311
-rw-r--r--m4/ace.m45
-rw-r--r--m4/ace_defines.m44
-rw-r--r--m4/aio.m410
-rw-r--r--m4/config_h.m426
-rw-r--r--m4/platform.m42
-rw-r--r--m4/tao.m488
-rw-r--r--netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp10
-rw-r--r--netsvcs/lib/Client_Logging_Handler.cpp115
-rw-r--r--netsvcs/lib/Client_Logging_Handler.h23
-rw-r--r--netsvcs/lib/Makefile.am2
-rw-r--r--netsvcs/lib/Name_Handler.cpp22
-rw-r--r--netsvcs/lib/Name_Handler.h4
-rw-r--r--netsvcs/lib/Server_Logging_Handler_T.cpp32
-rw-r--r--netsvcs/lib/Server_Logging_Handler_T.h4
-rw-r--r--netsvcs/lib/TS_Clerk_Handler.cpp2
-rw-r--r--netsvcs/lib/TS_Server_Handler.cpp2
-rw-r--r--netsvcs/lib/Time_Request_Reply.cpp2
-rw-r--r--netsvcs/lib/Token_Handler.cpp3
-rw-r--r--netsvcs/lib/Token_Handler.h2
-rw-r--r--netsvcs/lib/lib.mpc2
-rw-r--r--performance-tests/RPC/client.cpp3
-rwxr-xr-xperformance-tests/RPC/run_test.pl2
-rw-r--r--performance-tests/SCTP/Options_Manager.cpp6
-rwxr-xr-xperformance-tests/SCTP/run_spectrum.pl2
-rw-r--r--performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp12
-rw-r--r--performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp22
-rw-r--r--performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp4
-rwxr-xr-xperformance-tests/TCP/run_test.pl4
-rw-r--r--performance-tests/TCP/tcp_test.cpp33
-rw-r--r--performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp4
-rwxr-xr-xperformance-tests/UDP/run_test.pl4
-rw-r--r--performance-tests/UDP/udp_test.cpp6
-rw-r--r--protocols/ace/HTBP/HTBP_Channel.cpp22
-rw-r--r--protocols/ace/HTBP/HTBP_Channel.h3
-rw-r--r--protocols/ace/HTBP/HTBP_Channel.inl3
-rw-r--r--protocols/ace/HTBP/HTBP_Environment.cpp2
-rw-r--r--protocols/ace/HTBP/HTBP_Environment.h2
-rw-r--r--protocols/ace/HTBP/HTBP_Filter_Factory.cpp1
-rw-r--r--protocols/ace/HTBP/HTBP_Filter_Factory.h2
-rw-r--r--protocols/ace/HTBP/HTBP_ID_Requestor.cpp2
-rw-r--r--protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp4
-rw-r--r--protocols/ace/HTBP/HTBP_Session.cpp32
-rw-r--r--protocols/ace/HTBP/HTBP_Session.h13
-rw-r--r--protocols/ace/HTBP/HTBP_Session.inl2
-rw-r--r--protocols/ace/RMCast/Acknowledge.cpp2
-rw-r--r--protocols/ace/RMCast/Protocol.h2
-rw-r--r--protocols/tests/HTBP/Reactor_Tests/client.cpp4
-rwxr-xr-xprotocols/tests/HTBP/Reactor_Tests/run_test.pl4
-rw-r--r--protocols/tests/HTBP/Reactor_Tests/server.cpp2
-rw-r--r--protocols/tests/HTBP/Send_Large_Msg/client.cpp2
-rwxr-xr-xprotocols/tests/HTBP/Send_Large_Msg/run_test.pl6
-rw-r--r--protocols/tests/HTBP/Send_Large_Msg/server.cpp2
-rw-r--r--protocols/tests/HTBP/Send_Recv_Tests/client.cpp4
-rwxr-xr-xprotocols/tests/HTBP/Send_Recv_Tests/run_test.pl4
-rw-r--r--protocols/tests/HTBP/Send_Recv_Tests/server.cpp4
-rwxr-xr-xprotocols/tests/HTBP/ping/run_test.pl4
-rwxr-xr-xprotocols/tests/RMCast/run_test.pl2
-rw-r--r--rpmbuild/README8
-rw-r--r--rpmbuild/ace-tao-ciao.txt2708
-rw-r--r--rpmbuild/ace-tao-config.patch11
-rw-r--r--rpmbuild/ace-tao-etc.tar.bz2bin591 -> 0 bytes
-rw-r--r--rpmbuild/ace-tao-etc.tar.gzbin2174 -> 0 bytes
-rw-r--r--rpmbuild/ace-tao-init-fedora.tar.bz2bin1985 -> 0 bytes
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency76
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent76
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming76
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification76
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading76
-rwxr-xr-xrpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent76
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-cosconcurrency.opt11
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-cosevent.opt11
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-cosnaming.opt17
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-cosnotification.opt11
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-costrading.opt11
-rw-r--r--rpmbuild/ace-tao-init-fedora/tao/tao-rtevent.opt11
-rw-r--r--rpmbuild/ace-tao-init-suse.tar.bz2bin5282 -> 0 bytes
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency192
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-cosevent199
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-cosnaming192
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-cosnotification192
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-costrading192
-rwxr-xr-xrpmbuild/ace-tao-init-suse/init.d/tao-rtevent192
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency23
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-cosevent23
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-cosnaming37
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-cosnotification23
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-costrading23
-rwxr-xr-xrpmbuild/ace-tao-init-suse/tao/tao-rtevent24
-rw-r--r--rpmbuild/ace-tao-orbsvcs-daemon.patch421
-rw-r--r--rpmbuild/ace-tao-rpmlintrc (renamed from rpmbuild/ace-tao-rpmlintrc.txt)3
-rw-r--r--rpmbuild/ace-tao.spec1883
-rw-r--r--rpmbuild/etc/logrotate.d/tao-cosconcurrency6
-rw-r--r--rpmbuild/etc/logrotate.d/tao-cosevent6
-rw-r--r--rpmbuild/etc/logrotate.d/tao-cosnaming6
-rw-r--r--rpmbuild/etc/logrotate.d/tao-cosnotification6
-rw-r--r--rpmbuild/etc/logrotate.d/tao-costrading6
-rw-r--r--rpmbuild/etc/logrotate.d/tao-rtevent6
-rw-r--r--rpmbuild/etc/tao/tao-cosconcurrency.conf3
-rw-r--r--rpmbuild/etc/tao/tao-cosevent.conf3
-rw-r--r--rpmbuild/etc/tao/tao-cosnaming.conf3
-rw-r--r--rpmbuild/etc/tao/tao-cosnotification.conf3
-rw-r--r--rpmbuild/etc/tao/tao-costrading.conf3
-rw-r--r--rpmbuild/etc/tao/tao-rtevent.conf3
-rw-r--r--tests/ACE_Init_Test.cpp2
-rw-r--r--tests/ARGV_Test.cpp16
-rw-r--r--tests/Atomic_Op_Test.cpp403
-rw-r--r--tests/Based_Pointer_Test.cpp2
-rw-r--r--tests/Basic_Types_Test.cpp9
-rw-r--r--tests/Bug_1890_Regression_Test.cpp8
-rw-r--r--tests/Bug_2434_Regression_Test.cpp68
-rw-r--r--tests/Bug_2540_Regression_Test.cpp10
-rw-r--r--tests/Bug_2609_Regression_Test.cpp97
-rw-r--r--tests/Bug_2653_Regression_Test.cpp4
-rw-r--r--tests/Bug_2740_Regression_Test.cpp364
-rw-r--r--tests/Bug_2980_Regression_Test.cpp1
-rw-r--r--tests/Bug_3334_Regression_Test.conf7
-rw-r--r--tests/Bug_3334_Regression_Test.cpp46
-rw-r--r--tests/Bug_3500_Regression_Test.cpp58
-rw-r--r--tests/Bug_3532_Regression_Test.cpp59
-rw-r--r--tests/Bug_3541_Regression_Test.cpp164
-rw-r--r--tests/Bug_3673_Regression_Test.cpp97
-rw-r--r--tests/Bug_3709_Regression_Test.cpp48
-rw-r--r--tests/Bug_3710_Regression_Test.cpp35
-rw-r--r--tests/Bug_3729_Regression_Test.cpp59
-rw-r--r--tests/Bug_3744_Regression_Test.cpp61
-rw-r--r--tests/Bug_3758_Regression_Test.cpp112
-rw-r--r--tests/CDR_Array_Test.cpp2
-rw-r--r--tests/CDR_Test.cpp16
-rw-r--r--tests/Cache_Map_Manager_Test.cpp2
-rw-r--r--tests/Cached_Conn_Test.cpp2
-rw-r--r--tests/Compiler_Features_01_Test.cpp65
-rw-r--r--tests/Compiler_Features_02_Test.cpp83
-rw-r--r--tests/Compiler_Features_03_Test.cpp65
-rw-r--r--tests/Compiler_Features_04_Test.cpp83
-rw-r--r--tests/Compiler_Features_05_Test.cpp68
-rw-r--r--tests/Compiler_Features_06_Test.cpp95
-rw-r--r--tests/Compiler_Features_07_Test.cpp83
-rw-r--r--tests/Compiler_Features_09_Test.cpp114
-rw-r--r--tests/Compiler_Features_10_Test.cpp287
-rw-r--r--tests/Compiler_Features_11_Test.cpp66
-rw-r--r--tests/Compiler_Features_12_Test.cpp57
-rw-r--r--tests/Compiler_Features_13_Test.cpp145
-rw-r--r--tests/Compiler_Features_14_Test.cpp114
-rw-r--r--tests/Config_Test.cpp58
-rw-r--r--tests/DLL_Test.cpp7
-rw-r--r--tests/DLList_Test.cpp4
-rw-r--r--tests/Dirent_Test.cpp4
-rw-r--r--tests/FlReactor_Test.cpp10
-rw-r--r--tests/Future_Set_Test.cpp2
-rw-r--r--tests/Get_Opt_Test.cpp14
-rw-r--r--tests/Hash_Map_Manager_Test.cpp4
-rw-r--r--tests/Hash_Multi_Map_Manager_Test.cpp20
-rw-r--r--tests/High_Res_Timer_Test.cpp21
-rw-r--r--tests/INET_Addr_Test.cpp27
-rw-r--r--tests/INET_Addr_Test_IPV6.cpp5
-rw-r--r--tests/IOStream_Test.cpp2
-rw-r--r--tests/Log_Msg_Backend_Test.cpp7
-rw-r--r--tests/Log_Msg_Test.cpp68
-rw-r--r--tests/Log_Thread_Inheritance_Test.cpp49
-rw-r--r--tests/Logging_Strategy_Test.cpp12
-rw-r--r--tests/MT_NonBlocking_Connect_Test.cpp409
-rw-r--r--tests/MT_Reactor_Timer_Test.cpp2
-rw-r--r--tests/MT_Reactor_Upcall_Test.cpp1
-rw-r--r--tests/MT_Reference_Counted_Event_Handler_Test.cpp2
-rw-r--r--tests/MT_SOCK_Test.cpp2
-rw-r--r--tests/Makefile.am290
-rw-r--r--tests/Malloc_Test.cpp4
-rw-r--r--tests/Map_Manager_Test.cpp221
-rw-r--r--tests/Max_Default_Port_Test.cpp4
-rw-r--r--tests/Max_Default_Port_Test_IPV6.cpp2
-rw-r--r--tests/Mem_Map_Test.cpp16
-rw-r--r--tests/Message_Block_Test.cpp6
-rw-r--r--tests/Message_Queue_Notifications_Test.cpp10
-rw-r--r--tests/Message_Queue_Test.cpp107
-rw-r--r--tests/Multicast_Test.cpp24
-rw-r--r--tests/Multicast_Test_IPV6.cpp2
-rw-r--r--tests/NDDS_Timer_Test.cpp184
-rw-r--r--tests/Naming_Test.cpp2
-rw-r--r--tests/Network_Adapters_Test.cpp24
-rw-r--r--tests/Network_Adapters_Test.h4
-rw-r--r--tests/New_Fail_Test.cpp6
-rw-r--r--tests/NonBlocking_Conn_Test.cpp144
-rw-r--r--tests/NonBlocking_Conn_Test.h14
-rw-r--r--tests/OS_Test.cpp223
-rw-r--r--tests/Pipe_Test.cpp2
-rw-r--r--tests/Priority_Task_Test.cpp2
-rw-r--r--tests/Proactor_UDP_Test.cpp4
-rw-r--r--tests/Process_Manager_Test.cpp191
-rw-r--r--tests/Process_Strategy_Test.cpp16
-rw-r--r--tests/Process_Test.cpp54
-rw-r--r--tests/QtReactor_Test.cpp20
-rw-r--r--tests/Reactor_Dispatch_Order_Test.cpp6
-rw-r--r--tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp7
-rw-r--r--tests/Reactor_Fairness_Test.cpp409
-rw-r--r--tests/Reactor_Fairness_Test.h49
-rw-r--r--tests/Reactor_Notification_Queue_Test.cpp2
-rw-r--r--tests/Reactor_Notify_Test.cpp2
-rw-r--r--tests/Reactor_Performance_Test.cpp5
-rw-r--r--tests/Reactor_Remove_Resume_Test.cpp4
-rw-r--r--tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp4
-rw-r--r--tests/Reactors_Test.cpp2
-rw-r--r--tests/Recursive_Condition_Test.cpp12
-rw-r--r--tests/Recursive_Mutex_Test.cpp6
-rw-r--r--tests/Refcounted_Event_Handler_Test_DevPoll.cpp7
-rw-r--r--tests/Reference_Counted_Event_Handler_Test.cpp2
-rw-r--r--tests/SOCK_Connector_Test.cpp9
-rw-r--r--tests/SOCK_Netlink_Test.cpp24
-rw-r--r--tests/SOCK_SEQPACK_SCTP_Test.cpp131
-rw-r--r--tests/SSL/SSL_Asynch_Stream_Test.cpp80
-rw-r--r--tests/SString_Test.cpp283
-rw-r--r--tests/Service_Config_Stream_DLL.cpp139
-rw-r--r--tests/Service_Config_Stream_DLL.h44
-rw-r--r--tests/Service_Config_Stream_DLL_Export.h38
-rw-r--r--tests/Service_Config_Stream_Test.conf25
-rw-r--r--tests/Service_Config_Stream_Test.cpp128
-rw-r--r--tests/Service_Config_Test.cpp149
-rw-r--r--tests/Sig_Handlers_Test.cpp130
-rw-r--r--tests/Signal_Test.cpp6
-rw-r--r--tests/Singleton_Test.cpp37
-rw-r--r--tests/Stack_Trace_Test.cpp16
-rw-r--r--tests/Thread_Attrs_Test.cpp152
-rw-r--r--tests/Thread_Pool_Reactor_Resume_Test.cpp28
-rw-r--r--tests/Thread_Pool_Reactor_Test.cpp2
-rw-r--r--tests/Thread_Timer_Queue_Adapter_Test.cpp307
-rw-r--r--tests/Time_Value_Test.cpp49
-rw-r--r--tests/Timer_Queue_Test.cpp51
-rw-r--r--tests/UUID_Test.cpp95
-rw-r--r--tests/Unbounded_Set_Test.cpp5
-rw-r--r--tests/Upgradable_RW_Test.cpp8
-rw-r--r--tests/XtAthenaReactor_Test.cpp18
-rw-r--r--tests/XtMotifReactor_Test.cpp4
-rwxr-xr-xtests/non_mpc_makefile/Bug_3708_Regression.pl21
-rw-r--r--tests/non_mpc_makefile/CustomMakefile9
-rw-r--r--tests/non_mpc_makefile/foo.cpp6
-rw-r--r--tests/run_test.lst59
-rwxr-xr-xtests/run_test.pl49
-rw-r--r--tests/test_config.h11
-rw-r--r--tests/tests.mpc270
1345 files changed, 42952 insertions, 41847 deletions
diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html
index 6228bd39584..f7ddc3bf5c7 100644
--- a/ACE-INSTALL.html
+++ b/ACE-INSTALL.html
@@ -154,7 +154,7 @@ document</a>.</p><p>
<th>Remedy IT</th>
<td>Maintains ACE on many platforms required for their ACE and
TAO service offerings. We support AIX,
- CodeGear C++ Builder 2007/2009, CodeGear RAD Studio 2007,
+ CodeGear C++ Builder 2007/2009, CodeGear RAD Studio 2007, Embarcadero C++ Builder 2010,
CBuilderX 1.0, Windows CE, MinGW, Microsoft Visual C++ 7.1/8/9, GCC,
Cygwin, VxWorks 5.5.x - 6.x (kernel and rtp), OpenVMS 8.2-1 & 8.3 on Alpha and IA64,
BlueCAT Linux, RedHat Linux, Fedora, MacOSX, Solaris,
@@ -227,13 +227,16 @@ supported by the DOC group, Riverace, OCI or Remedy IT. </p><p>
</p><p></p><hr><p>
</p><h2><a name="installpre">Installation prerequisites</a></h2>
-<p>
-ACE (as well as TAO and CIAO) use MPC (MakeProjectCreator) to generate
-files used by all supported build tools (such as GNUmakefiles for UNIX based
-platforms, sln and vcproj files for VC71/VC8 and CodeGear makefiles) on various
-platforms. To help new users to bootstrap quickly the release bundles
-of ACE (as well as TAO and CIAO) include all needed files to use the build
+
+<p> ACE (as well as TAO and CIAO) use <A
+HREF="http://downloads.ociweb.com/MPC/docs/html/MakeProjectCreator.html">MPC</A>
+(MakeProjectCreator) to generate files used by all supported build
+tools (such as GNUmakefiles for UNIX based platforms, sln and vcproj
+files for VC71/VC8 and CodeGear makefiles) on various platforms. To
+help new users to bootstrap quickly the release bundles of ACE (as
+well as TAO and CIAO) include all needed files to use the build
instructions in this document.
+
</p>
<p>
If it is necessary to generate
@@ -798,6 +801,8 @@ to check <a href="#win32nonic">here</a> first. <p>
<br>
<code>set PATH=C:\ACE_wrappers\lib;C:\ACE_wrappers\bin;%PATH%</code><br>
<br>
+ </li><li>Generate the bmake makefiles using <a href="#MPC">MPC</a>. Use the <code>bmake</code> project type for C++ Builder.
+ <br><br>
</li><li>Change to the ACE_ROOT\ace directory.<br>
<br>
</li><li>Build release DLLs for ACE by going:<br>
@@ -834,7 +839,7 @@ to check <a href="#win32nonic">here</a> first. <p>
Note that when you run <code>make</code> in a sub directory you give <code>make -f Makefile.bmak all</code>. The <code>all</code> is needed to make sure the complete project is build.<p>
-The Borland/CodeGear C++ Builder 4.0/5.0/6.0/2006/2007/2009 port has been done by Jody Hagins, <a href="mailto:chris@kohlhoff.com">Christopher Kohlhoff</a> and <a href="mailto:jwillemsen@remedy.nl">Johnny Willemsen</a>. </p><p>
+The Borland/CodeGear C++ Builder 4.0/5.0/6.0/2006/2007/2009/2010 port has been done by Jody Hagins, <a href="mailto:chris@kohlhoff.com">Christopher Kohlhoff</a> and <a href="mailto:jwillemsen@remedy.nl">Johnny Willemsen</a>. </p><p>
<b>ACE TESTS</b></p><p>
@@ -1020,6 +1025,11 @@ setup selects by default:
<blockquote><code></code><pre> % export PATH=//c/cygwin/bin:$PATH
</pre></blockquote>
+ or
+
+ <blockquote><code></code><pre> % export PATH=/cygdrive/c/cygwin/bin:$PATH
+ </pre></blockquote>
+
<p>
Note Cygwin uses ``<tt>/</tt>'' as directory separator,
and ``<tt>//X</tt>'' as a notation for Win32 drive <tt>X</tt>.
@@ -2458,6 +2468,29 @@ perl bin/mwc.pl -type vc71 -relative ACE_ROOT=C:/ace/ACE_wrappers -relative TAO
&lt;<a href="mailto:j.zorko@att.net">j.zorko@att.net</a>&gt; is
only one of them.</p>
+</p></li><li><strong>iPhone/iPod Touch/iPad</strong><p>
+
+ </p><p>ACE builds and runs on the iPhone/iPod Touch/iPad Hardware
+ and Simulator. Keep in mind that ACE/TAO needs to be built
+ statically since Apple does not allow third party dynamic libraries
+ to be deployed on the hardware. The following are needed to build ACE:</p>
+
+ <p>1. The iPhone SDK.</p>
+ <p>2. When creating $ACE_ROOT/ace/config.h, include
+ config-macosx-iphone-hardware.h if you want to deploy on the
+ hardware, include config-macosx-iphone-simulator.h if you want
+ to deploy on the simulator. Even though those includes are named
+ after the iPhone, the includes work for iPhone/iPod Touch, and iPad.</p>
+ <p>3. You need to define two environment variables. The first is
+ IPHONE_TARGET. Set IPHONE_TARGET to SIMULATOR if you want to deploy
+ on SIMULATOR. Set IPHONE_TARGET to HARDWARE if you want to deploy on
+ the hardware device.</p>
+ <p>4. When creating $ACE_ROOT/include/makeinclude/platform_macros.GNU,
+ include 'include $(ACE_ROOT)/include/makeinclude/platform_macosx_iphone.GNU'
+ in the file.</p>
+
+
+
</li></ul>
@@ -2582,12 +2615,14 @@ well, try 'make realclean'.</p><p>
<p></p><hr><p>
</p><h1><a name="MPC">General MPC information</a></h1>
-The Makefile Project Creator (MPC) is a tool that takes platform and
+The <A HREF="
+http://downloads.ociweb.com/MPC/docs/html/MakeProjectCreator.html</A>
+Makefile Project Creator (MPC)</A> is a tool that takes platform and
building tool generic files (mpc files) as input, which describe basic
information needed to generate a "project" file for various build
tools, including Make, NMake, Visual C++ 6, Visual C++ 7, etc. Please
-see <a href="MPC/docs/USAGE">USAGE</a>, <a href="MPC/docs/README">README</a> for
-documentation on MPC.<P>
+see <a href="MPC/docs/USAGE">USAGE</a>, <a
+href="MPC/docs/README">README</a> for documentation on MPC.<P>
A common usage for creating a Windows workspace containing just the
core ACE and TAO libraries and executables is the following:
diff --git a/ACE.mwc b/ACE.mwc
index 82b50da4046..1783b891807 100644
--- a/ACE.mwc
+++ b/ACE.mwc
@@ -21,7 +21,7 @@ workspace {
}
// The '--' is a special key that indicates that the associated
- // projects should be of the form @NAME@ in the generate Makefile.am.
+ // projects should be of the form @NAME@ in the generated Makefile.am.
associate(--) {
ACEXML
ASNMP
diff --git a/ACEXML/ChangeLog b/ACEXML/ChangeLog
index ecb027c6021..77d579e67b5 100644
--- a/ACEXML/ChangeLog
+++ b/ACEXML/ChangeLog
@@ -1,3 +1,16 @@
+Thu Mar 25 19:41:57 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * parser/parser/Parser.cpp (ACEXML_Parser::parse_encoding_decl):
+ Changed ACE_OS::strcmp() to ACE_OS::strcasecmp(). Thanks to Tim
+ Pinkawa <tpinkawa at eagleseven dot com> for reporting this.
+
+Tue Oct 13 09:37:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/svcconf/Svcconf_Handler.cpp:
+ Fixed compile problems with unicode enabled. Thanks to
+ Christian Freund <freund at wrz dot de> for reporting this. This
+ fixes bugzilla 3745.
+
Mon Jul 30 08:38:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* apps/svcconf/Svcconf_Handler.cpp:
diff --git a/ACEXML/apps/svcconf/Svcconf_Handler.cpp b/ACEXML/apps/svcconf/Svcconf_Handler.cpp
index 7bfc3a421ed..95f79bc38fe 100644
--- a/ACEXML/apps/svcconf/Svcconf_Handler.cpp
+++ b/ACEXML/apps/svcconf/Svcconf_Handler.cpp
@@ -70,11 +70,11 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
if (svc_dll.open (active_info->path ()) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Cannot locate DLL: '"));
- msg += ACE_CString (ACE_TEXT (active_info->path ()));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (active_info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Cannot locate DLL: '"));
+ msg += ACE_TString (active_info->path ());
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (active_info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -90,11 +90,11 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
if (func == 0)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Cannot locate init function: '"));
- msg += ACE_CString (ACE_TEXT (active_info->init_func ()));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (active_info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Cannot locate init function: '"));
+ msg += ACE_TString (active_info->init_func ());
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (active_info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -122,10 +122,10 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
delete stp;
// build the error message
- ACE_CString msg (ACE_TEXT ("Expecting Stream type in stream header"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (active_info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Expecting Stream type in stream header"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (active_info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -160,10 +160,10 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
|| this->stream_->push (mt) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Error initializing module"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (active_info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Error initializing module"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (active_info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -192,10 +192,10 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
delete stype;
// build the error message
- ACE_CString msg (ACE_TEXT ("Failed to initialize dynamic service"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (active_info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Failed to initialize dynamic service"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (active_info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -228,10 +228,10 @@ ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *,
this->parsed_info_.init_params ()) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Failed to initialize static service"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Failed to initialize static service"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -334,9 +334,9 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
(const ACE_Service_Type **) &this->stream_svc_type_) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Cannot find stream '"));
- msg += ACE_CString (ACE_TEXT (this->stream_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Cannot find stream '"));
+ msg += ACE_TString (this->stream_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -372,9 +372,9 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (mt == 0)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Can't locate module '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Can't locate module '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -388,10 +388,10 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (ACE_Service_Config::resume (this->parsed_info_.name ()) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Resume failed"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Resume failed"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -413,9 +413,9 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (mt == 0)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Can't locate module '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Can't locate module '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -429,10 +429,10 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (ACE_Service_Config::suspend (this->parsed_info_.name ()) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Suspend failed"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Suspend failed"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -454,9 +454,9 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (mt == 0)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Can't locate module '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Can't locate module '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -470,10 +470,10 @@ ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *,
if (ACE_Service_Config::remove (this->parsed_info_.name ()) == -1)
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Remove failed"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Remove failed"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW (ACEXML_SAXException (msg.c_str ()));
}
@@ -574,11 +574,11 @@ ACEXML_Svcconf_Handler::get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_D
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid stream attribute '"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (this->stream_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid stream attribute '"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (this->stream_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()),
-1);
@@ -600,12 +600,12 @@ ACEXML_Svcconf_Handler::get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid attribute '"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("', expecting 'id'"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid attribute '"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("', expecting 'id'"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (this->parsed_info_.name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()),
-1);
@@ -641,12 +641,12 @@ ACEXML_Svcconf_Handler::get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_A
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid attribute value '"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("', expecting 'active' or 'inactive'"));
- msg += ACE_CString (ACE_TEXT (" for entity '"));
- msg += ACE_CString (ACE_TEXT (info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid attribute value '"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("', expecting 'active' or 'inactive'"));
+ msg += ACE_TString (ACE_TEXT (" for entity '"));
+ msg += ACE_TString (info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()),
-1);
@@ -669,11 +669,11 @@ ACEXML_Svcconf_Handler::get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_A
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid Service_Object attribute value'"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid Service_Object attribute value'"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()),
-1);
@@ -682,11 +682,11 @@ ACEXML_Svcconf_Handler::get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_A
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid attribute'"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid attribute'"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1);
}
@@ -720,11 +720,11 @@ ACEXML_Svcconf_Handler::get_initializer_attrs (ACEXML_Attributes *alist ACEXML_E
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid initializer attribute'"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid initializer attribute'"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1);
}
@@ -754,11 +754,11 @@ ACEXML_Svcconf_Handler::get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_AR
else
{
// build the error message
- ACE_CString msg (ACE_TEXT ("Invalid static attribute '"));
- msg += ACE_CString (ACE_TEXT (alist->getQName (i)));
- msg += ACE_CString (ACE_TEXT ("' for entity '"));
- msg += ACE_CString (ACE_TEXT (info->name ()));
- msg += ACE_CString (ACE_TEXT ("'\n"));
+ ACE_TString msg (ACE_TEXT ("Invalid static attribute '"));
+ msg += ACE_TString (alist->getQName (i));
+ msg += ACE_TString (ACE_TEXT ("' for entity '"));
+ msg += ACE_TString (info->name ());
+ msg += ACE_TString (ACE_TEXT ("'\n"));
ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1);
}
diff --git a/ACEXML/examples/SAXPrint/main.cpp b/ACEXML/examples/SAXPrint/main.cpp
index d875fff1964..b43b1247c63 100644
--- a/ACEXML/examples/SAXPrint/main.cpp
+++ b/ACEXML/examples/SAXPrint/main.cpp
@@ -62,7 +62,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ZZIPLIB support has not been")
ACE_TEXT (" compiled in. Refer to ")
ACE_TEXT ("$ACE_ROOT/ACEXML/README for more ")
- ACE_TEXT ("information. \n")));
+ ACE_TEXT ("information.\n")));
return -1;
#else
break;
diff --git a/ACEXML/parser/parser/Parser.cpp b/ACEXML/parser/parser/Parser.cpp
index e252c20ed65..bd22df23716 100644
--- a/ACEXML/parser/parser/Parser.cpp
+++ b/ACEXML/parser/parser/Parser.cpp
@@ -3138,7 +3138,7 @@ ACEXML_Parser::parse_encoding_decl (ACEXML_ENV_SINGLE_ARG_DECL)
ACEXML_CHECK;
}
const ACEXML_Char* encoding = this->current_->getInputSource()->getEncoding();
- if (encoding != 0 && ACE_OS::strcmp (astring, encoding) != 0)
+ if (encoding != 0 && ACE_OS::strcasecmp (astring, encoding) != 0)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Detected Encoding is %s ")
ACE_TEXT (": Declared Encoding is %s\n"),
diff --git a/ASNMP/ChangeLog b/ASNMP/ChangeLog
index a2fc9832377..b8dce6b9520 100644
--- a/ASNMP/ChangeLog
+++ b/ASNMP/ChangeLog
@@ -1,3 +1,9 @@
+Mon Apr 6 09:57:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * asnmp/wpdu.cpp:
+ Added support for Gauge32, thanks to Shai Kedem
+ <shai_kedem at hotmail dot com> for reporting this
+
Wed Mar 8 10:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* asnmp/*.h:
diff --git a/ASNMP/asnmp/address.cpp b/ASNMP/asnmp/address.cpp
index edc46f00e3c..fc509f8d978 100644
--- a/ASNMP/asnmp/address.cpp
+++ b/ASNMP/asnmp/address.cpp
@@ -312,7 +312,8 @@ IpAddress::~IpAddress()
int IpAddress::is_loopback() const
{
if (valid()) {
- return (*(u_long *)&address_buffer == INADDR_LOOPBACK);
+ u_long *pl = (u_long *)&address_buffer;
+ return (*pl == INADDR_LOOPBACK);
}
return 0;
}
@@ -320,7 +321,8 @@ int IpAddress::is_loopback() const
int IpAddress::is_multicast() const
{
if (valid()) {
- return (IN_MULTICAST(*(u_long *)&address_buffer));
+ u_long *pl = (u_long *)&address_buffer;
+ return (IN_MULTICAST(*pl));
}
return 0;
}
@@ -358,7 +360,8 @@ void IpAddress::to_octet(OctetStr& octet) const
int IpAddress::is_broadcast() const
{
if (valid()) {
- return ( (*(u_long *)&address_buffer) & INADDR_BROADCAST);
+ u_long *pl = (u_long *)&address_buffer;
+ return ( (*pl) & INADDR_BROADCAST);
}
return 0;
}
diff --git a/ASNMP/asnmp/wpdu.cpp b/ASNMP/asnmp/wpdu.cpp
index 503ed66f283..325f508cc2e 100644
--- a/ASNMP/asnmp/wpdu.cpp
+++ b/ASNMP/asnmp/wpdu.cpp
@@ -457,6 +457,14 @@ int wpdu::restore_vbs(Pdu& pdu, const snmp_pdu *raw_pdu) const
}
break;
+ // Gauge32
+ case sNMP_SYNTAX_GAUGE32:
+ {
+ Gauge32 gauge32( (unsigned long) *(vp->val.integer));
+ tempvb.set_value( gauge32);
+ }
+ break;
+
// 32 bit counter
case sNMP_SYNTAX_CNTR32:
{
diff --git a/ASNMP/examples/get/get.cpp b/ASNMP/examples/get/get.cpp
index 2b7b6b1ebd3..6cf1b0a7aab 100644
--- a/ASNMP/examples/get/get.cpp
+++ b/ASNMP/examples/get/get.cpp
@@ -142,8 +142,8 @@ void getapp::usage()
{
cout << "Usage:\n";
cout << "get [options] dotted-quad | DNSName[:port]\n";
- cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n";
- cout << " -c Community_name, default is 'public' \n";
+ cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0)\n";
+ cout << " -c Community_name, default is 'public'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second" << endl;
}
diff --git a/ASNMP/examples/get/get_async.cpp b/ASNMP/examples/get/get_async.cpp
index c3d82bfb609..008f7b18f66 100644
--- a/ASNMP/examples/get/get_async.cpp
+++ b/ASNMP/examples/get/get_async.cpp
@@ -142,8 +142,8 @@ void getapp::usage()
{
cout << "Usage:\n";
cout << "get [options] dotted-quad | DNSName[:port]\n";
- cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n";
- cout << " -c Community_name, default is 'public' \n";
+ cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0)\n";
+ cout << " -c Community_name, default is 'public'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second" << endl;
}
diff --git a/ASNMP/examples/next/next.cpp b/ASNMP/examples/next/next.cpp
index 50005cd4bc8..ed68a033d8f 100644
--- a/ASNMP/examples/next/next.cpp
+++ b/ASNMP/examples/next/next.cpp
@@ -141,8 +141,8 @@ void nextapp::usage()
{
cout << "Usage:\n";
cout << "next [options] dotted-quad | DNSName[:port]\n";
- cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n";
- cout << " -c Community_name, default is 'public' \n";
+ cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0)\n";
+ cout << " -c Community_name, default is 'public'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second" << endl;
}
diff --git a/ASNMP/examples/set/set.cpp b/ASNMP/examples/set/set.cpp
index baa6cfbf111..73302ab69c1 100644
--- a/ASNMP/examples/set/set.cpp
+++ b/ASNMP/examples/set/set.cpp
@@ -210,8 +210,8 @@ void set::usage()
{
cout << "Usage:\n";
cout << "next [options] dotted-quad | DNSName[:port]\n";
- cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n";
- cout << " -c Community_name, default is 'private' \n";
+ cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0)\n";
+ cout << " -c Community_name, default is 'private'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second\n";
cout << " -O oid_to_set -{I,U,G,S,P} value\n";
diff --git a/ASNMP/examples/trap/trap.cpp b/ASNMP/examples/trap/trap.cpp
index e394b2ee919..4be4021ca3e 100644
--- a/ASNMP/examples/trap/trap.cpp
+++ b/ASNMP/examples/trap/trap.cpp
@@ -145,7 +145,7 @@ void trapapp::usage()
{
cout << "Usage:\n";
cout << "trap [options] dotted-quad | DNSName[:port]\n";
- cout << " -c Community_name, default is 'public' \n";
+ cout << " -c Community_name, default is 'public'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second" << endl;
cout << " -e oid enterprise oid default is 1.3.6.1.2.1.1.1.2.0.1\n";
diff --git a/ASNMP/examples/walk/walk.cpp b/ASNMP/examples/walk/walk.cpp
index 3ff29e9bd86..dabd3a5437a 100644
--- a/ASNMP/examples/walk/walk.cpp
+++ b/ASNMP/examples/walk/walk.cpp
@@ -141,8 +141,8 @@ void walkapp::usage()
{
cout << "Usage:\n";
cout << "walk [options] dotted-quad | DNSName[:port]\n";
- cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n";
- cout << " -c Community_name, default is 'public' \n";
+ cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0)\n";
+ cout << " -c Community_name, default is 'public'\n";
cout << " -r N retries default is N = 1 retry\n";
cout << " -t N timeout in seconds default is 1 second" << endl;
}
diff --git a/COPYING b/COPYING
index 1d96c4905d3..27a543f495f 100644
--- a/COPYING
+++ b/COPYING
@@ -1,14 +1,14 @@
_________________________________________________________________
-
+
Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), and
CoSMIC(TM)
-
+
[1]ACE(TM), [2]TAO(TM), [3]CIAO(TM), and [4]CoSMIC(TM) (henceforth
referred to as "DOC software") are copyrighted by [5]Douglas C.
Schmidt and his [6]research group at [7]Washington University,
[8]University of California, Irvine, and [9]Vanderbilt University,
- Copyright (c) 1993-2008, all rights reserved. Since DOC software is
+ Copyright (c) 1993-2010, all rights reserved. Since DOC software is
open-source, freely available software, you are free to use, modify,
copy, and distribute--perpetually and irrevocably--the DOC software
source code and object code produced from the source, as well as copy
@@ -16,7 +16,7 @@
include this copyright statement along with any code built using DOC
software that you release. No copyright statement needs to be provided
if you just ship binary executables of your software products.
-
+
You can use DOC software in commercial and/or binary software releases
and are under no obligation to redistribute any of your source code
that is built using DOC software. Note, however, that you may not do
@@ -27,7 +27,7 @@
software in your software, though we encourage you to let [10]us know
so we can promote your project in the [11]DOC software success
stories.
-
+
The [12]ACE, [13]TAO, [14]CIAO, and [15]CoSMIC web sites are
maintained by the [16]DOC Group at the [17]Institute for Software
Integrated Systems (ISIS) and the [18]Center for Distributed Object
@@ -50,13 +50,13 @@
University, UC Irvine, or Vanderbilt University, their employees, or
students be liable for any lost revenue or profits or other special,
indirect and consequential damages.
-
+
DOC software is provided with no support and without any obligation on
the part of Washington University, UC Irvine, Vanderbilt University,
their employees, or students to assist in its use, correction,
modification, or enhancement. A [19]number of companies around the
world provide commercial support for DOC software, however.
-
+
DOC software is Y2K-compliant, as long as the underlying OS platform
is Y2K-compliant. Likewise, DOC software is compliant with the new US
daylight savings rule passed by Congress as "The Energy Policy Act of
@@ -65,7 +65,7 @@
obtains time/date and calendaring information from operating systems
users will not be affected by the new DST rules as long as they
upgrade their operating systems accordingly.
-
+
The names ACE(TM), TAO(TM), CIAO(TM), CoSMIC(TM), Washington
University, UC Irvine, and Vanderbilt University, may not be used to
endorse or promote products or services derived from this source
@@ -75,13 +75,13 @@
CIAO(TM), or CoSMIC(TM), nor does it grant permission for the name
Washington University, UC Irvine, or Vanderbilt University to appear
in their names.
-
+
If you have any suggestions, additions, comments, or questions, please
let [20]me know.
-
+
[21]Douglas C. Schmidt
_________________________________________________________________
-
+
Back to the [22]ACE home page.
References
@@ -104,7 +104,7 @@ References
16. http://www.dre.vanderbilt.edu/
17. http://www.isis.vanderbilt.edu/
18. http://www.cs.wustl.edu/~schmidt/doc-center.html
- 19. http://www.cs.wustl.edu/~schmidt/commercial-support.html
+ 19. http://www.cs.wustl.edu/~schmidt/commercial-support.html
20. mailto:d.schmidt@vanderbilt.edu
21. http://www.dre.vanderbilt.edu/~schmidt/
22. http://www.cs.wustl.edu/ACE.html
diff --git a/ChangeLog b/ChangeLog
index afefbd25747..332f1f869b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9532 +1,537 @@
-Fri Dec 12 19:23219 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Fri Apr 16 13:02:04 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * bin/tao_orb_tests.lst:
- Disabled ICMG_Any_Bug for CORBA/e
-
-Fri Dec 12 13:26:19 UTC 2008 Olli Savia <ops@iki.fi>
-
- * NEWS:
- Added a note about ACE::isdotdir().
-
-Fri Dec 12 13:17:43 UTC 2008 Olli Savia <ops@iki.fi>
-
- * tests/Dirent_Test.cpp:
- Updated to use new isdotdir() funtion.
-
-Fri Dec 12 13:08:58 UTC 2008 Olli Savia <ops@iki.fi>
-
- * ace/ACE.h:
- * ace/ACE.inl:
- Added a new function isdotdir() which determines if a specified
- pathname is "dot dir" (ie. "." or ".."). isdotdir() is significantly
- faster than pair of strcmp() calls.
-
-Thu Dec 11 23:08:07 UTC 2008 Ciju John <johnc at ociweb dot com>
-
- * bin/tao_other_tests.lst:
- Disabled some IFR_Service dependent tests for uses_wchar builds.
-
-Thu Dec 11 14:34:23 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/ace_func.m4:
-
- Update ACE_FUNC_SYSINFO feature test to compile small programs
- that use the two different Linux and SysV/POSIX sysinfo() APIs
- before defining ACE_HAS_SYSV_SYSINFO or ACE_HAS_LINUX_SYSINFO.
- This should avoid false matches with HP/UX's undocumented
- sysinfo() syscall.
-
-Wed Dec 10 21:06:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * debianbuild/rules:
- Removed old line
-
-Tue Dec 9 16:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/split-cpp:
- * bin/split-cpp.pl:
- Renamed to have pl extension
-
- * debianbuild/patches/00list:
- Updated
-
- * debianbuild/patches/03-g++-new-throws.dpatch:
- * debianbuild/patches/08-fix-perl-shebang.dpatch:
- * debianbuild/patches/90-patch-mpc-basedir.dpatch:
- * debianbuild/patches/91-patch-dg-basedir.dpatch:
- Not needed anymore, this issues are fixed on svn head
-
- * examples/IPC_SAP/SOCK_SAP/summarize.pl:
- * examples/IPC_SAP/SSL_SAP/summarize.pl:
- Added missing shebang
-
-Tue Dec 9 16:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * debianbuild/*:
- Added all files currently used by the debian package maintainers.
- Updated them for 1.6.7, but a lot of patches are not needed
- anymore. The goal is to do a cleanup and then provide
- debian/ubuntu packages through opensuse build
-
-Tue Dec 9 4:42:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/depgen.pl:
- Use RealBin to get the real location of the perl script
-
-Mon Dec 8 02:50:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added bug 3430 regression
-
-Sat Dec 6 20:18:38 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * ace/UUID.h:
- * ace/UUID.inl:
- * ace/UUID.cpp:
-
- Implemented the operator = method for the UUID. This will enable
- use of UUIDs in STL-like containers.
-
- Bug fix where using the copy constructor for the UUID would result
- in a memory leak.
-
- Refactored code to use ACE_Auto_Ptr and ACE_Auto_Array_Ptr objects
- to reduce code complexity, and ensure memory deallocation during
- expected returns.
-
- * tests/UUID_Test.cpp:
-
- Added the assignment operator (i.e., operator =) to the UUIDs
- test.
-
-Fri Dec 5 15:38:23 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * ace/UUID.h:
- * ace/UUID.cpp:
-
- Made the to_string () method non-mutable, and the as_string_
- member variable 'mutable'. This allows 'const ACE_Utils::UUID'
- objects to use to to_string () method since that method is
- not changing the value of the UUID.
-
-Thu Dec 4 11:07:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Some tests now seem to run perfect
-
-Thu Dec 4 09:45:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Basic_Types.h:
- Fixed compile problems with Solaris wchar
-
-Thu Dec 4 08:11:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Intrusive_List.h:
- * ace/Intrusive_List_Node.h:
- Include config-lite instead of config-all to break circular
- includes in Object_Manager_Base
-
- * ace/OS_NS_errno.h:
- Doxygen change
-
-Wed Dec 3 23:35:35 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Basic_Types.h: Reverted change from:
- Mon Dec 1 23:51:32 UTC 2008 Steve Huston <shuston@riverace.com>
- It broke cases where the format specifier was used in string
- catenation. This reintroduces a build failure on Solaris wide-char.
-
-Wed Dec 3 20:25:19 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/String_Base.cpp (compare): Fixed logic error when strings are
- equal, introduced by
- Wed Dec 3 16:31:11 UTC 2008 Steve Huston <shuston@riverace.com>
-
-Wed Dec 3 18:38:49 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * docs/svn/svn-prefs.reg:
-
- Added auto-prop settings for .xme files, which are exported
- GME files and only created on Windows platforms.
-
-Wed Dec 03 18:14:25 UTC 2008 Trevor Fields <fields_t@ociweb.com>
-
- * bin/tao_other_tests.lst:
- Added orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test
-
-Wed Dec 3 16:31:11 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/String_Base.cpp (compare): Compare lengths directly instead of
- subtracting; clearer and avoids 32/64-bit signed/unsigned issues.
-
-Wed Dec 3 10:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Basic_Types.h:
- Use static_cast again, truncate_cast broke HPUX
-
-Wed Dec 3 07:55:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Basic_Types.h:
- Use truncate_cast instead of static_cast
-
- * ace/CDR_Stream.cpp:
- Layout change
-
- * ace/Cleanup.cpp:
- * ace/Cleanup.h:
- * ace/Cleanup.inl:
- * ace/Object_Manager.cpp:
- * ace/Object_Manager.h:
- * ace/Object_Manager.inl:
- * ace/Object_Manager_Base.cpp:
- * ace/Thread_Manager.cpp:
- * ace/Thread_Manager.h:
- Reimplemented the at_exit list as intrusive_list and also added
- the functionality to remove a registered at_exit hook again. This
- can be used by DLL's that register objects in the object
- manager, but who get unloaded explicitly before the ACE dll.
-
- * ace/Active_Map_Manager.h:
- Doxygen change
-
-Wed Dec 3 00:41:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Add missing call to ACE_FUNC_STRTOULL autoconf macro.
-
-Tue Dec 2 20:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Intrusive_List.h:
- * ace/Intrusive_List.inl:
- Use bool for empty/is_empty methods
-
- * ace/Intrusive_List_Node.h:
- Layout change
-
-Tue Dec 2 13:54:35 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/os_include/os_wchar.h:
-
- Provide declaration for wcstoll() If ACE_LACKS_WCSTOLL is
- defined.
-
- Provide declaration for wcstoull() if ACE_LACKS_WCSTOULL is
- defined.
-
- * ace/os_include/os_stdlib.h:
-
- Provide declaration for strtoll() If ACE_LACKS_STRTOLL is
- defined.
-
- Provide declaration for strtoull() if ACE_LACKS_STRTOULL is
- defined.
-
- * m4/ace_func.m4:
-
- Change ACE_FUNC_STRTOLL, ACE_FUNC_STRTOULL, ACE_FUNC_WCSTOLL,
- and ACE_FUNC_WCSTOULL autoconf macros to define
- ACE_LACKS_STRTOLL_PROTOTYPE, ACE_LACKS_STRTOULL_PROTOTYPE,
- ACE_LACKS_WCSTOLL_PROTOTYPE, and ACE_LACKS_WCSTOULL_PROTOTYPE
- if cooresponding declarations are not present.
-
-Tue Dec 2 12:47:06 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/ACE.cpp (handle_timed_complete): Fix compile error resulting from
- Mon Dec 1 17:55:00 UTC 2008 Steve Huston <shuston@riverace.com>
-
-Tue Dec 2 11:49:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mpc-mode.el:
- Updated MPC mode for emacs file. Thanks to Jules Colding
- <colding at 42tools dot com> for providing this file
-
-Tue Dec 2 08:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Object_Manager.h:
- * ace/Object_Manager_Base.h:
- Doxygen changes
-
-Mon Dec 1 23:51:32 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Basic_Types.h: When defining ACE_*_FORMAT_SPECIFIER in terms
- of ACE_*_FORMAT_SPECIFIER_ASCII, use ACE_TEXT_CHAR_TO_TCHAR else
- when used, this ends up combining narrow and wide chars, resulting
- in build errors.
-
-Mon Dec 1 17:55:00 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/ACE.cpp (handle_timed_complete): Correct the situations under
- which a non-blocking connect() will complete. Previously VxWorks and
- AIX did a secondary check for connect success/fail when the socket
- selected writeable. All other non-Windows platforms selected for
- both readable and writeable, with readable=fail, writeable=success.
- This produced false success since BSD sockets always select
- writeable, not readable; a secondary check for status is then
- required. This fix corrects behavior on non-AIX BSD systems,
- particularly HP-UX and Solaris.
-
-Tue Nov 18 19:06:27 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * tests/README: Updated the explanation of how to build/run the
- one-button regression tests. Thanks to Anand Kumar
- <anandkumar95 at gmail dot com> for motivating this.
-
-Mon Dec 1 15:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mpc-mode.el:
- Updated MPC mode for emacs file. Thanks to Jules Colding
- <colding at 42tools dot com> for providing this file
-
-Mon Dec 1 14:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mpc-mode.el:
- Updated MPC mode for emacs file. Thanks to Jules Colding
- <colding at 42tools dot com> for providing this file
-
-Mon Dec 1 13:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Object_Manager.cpp:
- Initialise pointers with 0
-
- * ace/RW_Mutex.cpp:
- * ace/RW_Mutex.h:
- * ace/RW_Mutex.inl:
- Make removed_ flag a real bool
-
- * ace/Singleton.h:
- Doxygen change
-
- * ace/SSL/SSL_Context.cpp:
- Manage ourselves the life cycle of the SSL_Context singleton.
- Previously the SSL library registered a singleton with the ACE
- library. When the SSL library is unloaded expliclity before the
- ACE library the cleanup in ACE did crash because the SSL code
- wasn't there. Now when we cleanup the SSL library we also close
- our singleton
-
- * ace/Thread_Mutex.inl:
- Use operator !
-
-Mon Dec 1 11:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mpc-mode.el:
- Added MPC mode for emacs file. Thanks to Jules Colding
- <colding at 42tools dot com> for providing this file
-
-Mon Dec 1 11:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-ciao.txt:
- Improved OpenSuSE Factory support
-
-Mon Dec 1 10:44:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Added 3418
-
-Sat Nov 29 15:30:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/OS_NS_ctype.inl:
-
- Fix typo in preprocessor conditional.
-
- * configure.ac:
- * m4/ace_func.m4:
-
- Move feature tests for strtoll(), strtoull(), wcstoll(), and
- wcstoull() to new autoconf macros ACE_FUNC_STRTOLL,
- ACE_FUNC_STRTOULL, ACE_FUNC_WCSTOLL, and ACE_FUNC_WCSTOULL.
-
-Sat Nov 29 07:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Sock_Connect.cpp:
- * ace/OS_NS_ctype.inl:
- Fixed compile errors with windows ce
-
-Fri Nov 28 19:58:02 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Improve feature tests for strtoll(), strtoull(), wcstoll(), and
- wcstoull(), adding support for ACE_STRTOLL_EQUIVALENT,
- ACE_STRTOULL_EQUIVALENT, ACE_WCSTOLL_EQUIVALENT, and
- ACE_WCSTOULL_EQUIVALENT.
-
-Fri Nov 28 16:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/SSL/SSL_Asynch_Stream.cpp:
- Unicode fix
-
-Fri Nov 28 16:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/SSL/SSL_Asynch_Stream.cpp:
- * ace/SSL/SSL_Asynch_Stream.h:
- Added post handshake completed hook. See header file for all
- the details.
-
- This fixes bugzilla 3502, thanks to Paul Daugherty
- <paul at nextalk dot com> for providing the patches
-
-Fri Nov 28 16:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/SSL/SSL_Asynch_Stream.cpp:
- * ace/SSL/SSL_Asynch_Stream.h:
- * ace/SSL/SSL_Asynch_Stream.inl:
- Added accessor for SSL structure.
-
- * ace/SSL/SSL_Context.cpp:
- * ace/SSL/SSL_Context.h:
- * ace/SSL/SSL_Context.inl:
- Added possibility to set verify callback
-
- * ace/SSL/Makefile.am:
- Added new SSL_Asynch_Stream.inl
-
- This fixes bugzilla 3494, thanks to Paul Daugherty
- <paul at nextalk dot com> for providing the patches
-
-Fri Nov 28 15:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added bug_3506
-
-Fri Nov 28 14:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-ciao.txt:
- Improvement for OpenSuSE Factory
-
-Fri Nov 28 12:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- Extended tests for run_test.pl files
-
-Fri Nov 28 11:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/bczar/bczar.html:
- Added an item to update the NEWS files
-
-Fri Nov 28 11:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- Extended tests for run_test.pl files
-
- * bin/PerlACE/TestTarget.pm:
- Added some new variables that we will use for the iBoot
-
- * bin/tao_orb_tests.lst:
- Enabled several tests for Labview/CE/Fuzz and also added a few
- TAO tests that where missing from this file
-
-Fri Nov 28 11:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * protocols/ace/HTBP/HTBP_Session.cpp:
- * tests/Basic_Types_Test.cpp:
- Layout change
-
-Fri Nov 28 11:05:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/ASX/Event_Server/Event_Server/Options.cpp
- * examples/ASX/UPIPE_Event_Server/Options.cpp
- Use new ascii format specifier
-
-Fri Nov 28 11:04:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * contribs/FaCE/CE_ARGV.H:
- Doxygen change
-
-Fri Nov 28 11:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * appsJAWS/clients/Blobby/Blob_Handler.cpp:
- Use new ascii format specifier
-
-Fri Nov 28 11:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-ciao.txt:
- Updated for next micro release and corrected links for the
- nslist/nsdel/nsadd/catior
-
- * rpmbuild/ace-tao.spec:
- Updated for next micro release
-
-Fri Nov 28 10:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Arg_Shifter.h:
- * ace/Argv_Type_Converter.h:
- * ace/Event_Handler_T.h:
- * ace/OS_Errno.h:
- * ace/OS_NS_stropts.h:
- * ace/SOCK_Dgram_Mcast.h:
- * ace/SSL/SSL_Context.h:
- Doxygen fix
-
- * ace/Basic_Types.h:
- * ace/config-linux-common.h:
- * ace/config-macosx-leopard.h:
- * ace/config-macosx-panther.h:
- * ace/config-macosx-tiger.h:
- * ace/config-macosx.h:
- * ace/config-netbsd.h:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Atomic_Op.cpp:
* ace/config-sunos5.10.h:
- * ace/config-tandem-nsk-mips-v2.h:
- * ace/config-tandem-nsk-mips-v3.h:
- * ace/config-win32-borland.h:
- * ace/config-win32-ghs.h:
- * ace/config-win32-mingw.h:
- * ace/config-win32-msvc.h:
- Added _ASCII versions of all existing format specifiers.
- The existing ones are then defined using these ASCII ones.
- When using the format specifiers we can now select if we
- want to use the ascii or wchar_t ones and don't have to
- convert wchar_t to ascii
-
- * ace/Cleanup.cpp:
- * ace/Cleanup.h:
- Extended ACE_Cleanup_Info with a constructor that initializes
- all members. At the end of ACE_OS_Exit_Info::call_hooks delete
- all the hooks, they are invalid at this moment
-
- * ace/config-cray.h:
- * ace/config-sco-5.0.0.h:
- Cleanup
-
- * ace/config-win32-msvc-10.h:
- * ace/config-win32-msvc-9.h:
- Update for Windows Mobile 6
-
- * ace/DLL_Manager.cpp:
- Const change
-
- * ace/os_include/os_errno.h:
- Simplified a check
-
- * ace/OS_NS_ctype.h:
- * ace/OS_NS_ctype.inl:
- * ace/OS_NS_wctype.cpp
- * ace/OS_NS_wctype.h
- * ace/OS_NS_wctype.inl
- * ace/ace.mpc:
- * ace/ace_for_tao.mpc:
- * ace/Makefile.am:
- Moved ace_iswctype to OS_NS_wctype.{h,cpp,inl}. According to the
- opengroup spec this method has to be in that file
-
- * ace/OS_NS_unistd.inl:
- Small layout change
-
- * ace/Sample_History.cpp:
- Const change
-
- * ace/Service_Repository.cpp:
- Use ACE prefix in all debug statements
-
- * ace/Sock_Connect.cpp:
- Make it possible to build with WinCE without winsock2
-
- * ace/SOCK_Connector.cpp:
- Layout changes and check the result value of setting the
- stream in non blocking mode
-
-Fri Nov 28 10:25:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * docs/bczar/bczar.html:
- Annoying little bits and pieces....
-
-Fri Nov 28 09:00:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * docs/Download.html:
- * etc/index.html:
- * bin/diff-builds-and-group-fixed-tests-only.sh
- update latest micro version links and date.
-
-Thu Nov 27 04:09:39 CST 2008 Simon Massey <sma@prismtech.com>
-
- * ACE version 5.6.7 released.
-
-Wed Nov 26 16:15:50 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/SSL/SSL_Context.cpp:
+ Added support for the Solaris 10 Atomic support, thanks
+ to Aleksandar Vukajlovic <aleksandar dot vukajlovic at finsoft dot rs>
+ for providing the patches
- Remove unintentional ;
+Wed Apr 14 11:22:27 UTC 2010 Steve Huston <shuston@riverace.com>
-Wed Nov 26 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+ * ace/Dev_Poll_Reactor.cpp: Fixed compile error on some g++ versions.
- * NEWS:
- Note about added support for FC10.
-
-Wed Nov 26 10:43:50 UTC 2008 Simon McQueen <sm@prismtech.com>
-
- * ace/SSL/SSL_Context.cpp:
- * ace/SSL/sslconf.h:
-
- Remove unconditional platform defaults for SSL cert file and
- directory. This fixes bug #3511.
-
-Tue Nov 25 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
- on behalf of Adam Mitz <mitza@ociweb.com>
-
- * ACE-INSTALL.html:
- * NEWS:
- Update the installation instructions and NEWs.
+Tue Apr 13 20:34:40 UTC 2010 Steve Huston <shuston@riverace.com>
- on behalf of Yan Dai <dai_y@ociweb.com>
+ * bin/PerlACE/Process_Unix.pm: Fix typo that broke all tests.
- * bin/tao_other_tests.lst:
- Disabled all ImplRepo tests on WCHAR builds and disabled
- DevGuideExample ImplRepo test on CORBA_E_COMPACT builds.
+Tue Apr 13 19:34:40 UTC 2010 Steve Huston <shuston@riverace.com>
-Mon Nov 24 11:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/Dev_Poll_Reactor.{h cpp}: Reorder the enqueue/pipe operations
+ when adding a notification to close the race where notifies can get
+ lost in the ACE_HAS_NOTIFICATION_QUEUE case. Also fixed a misplaced
+ #endif in read_notification_pipe() and cleaned it up some.
- * bin/PerlACE/ProcessWinCE.pm:
- Delete the copied dll's when ACE_TEST_VERBOSE is not defined
-
- * bin/PerlACE/TestTarget_VxWorks.pm:
- We have to wait on a file that appears on the host file system,
- we can't wait on the real target
+Mon Apr 12 09:31:54 UTC 2010 Martin Corino <mcorino@remedy.nl>
* bin/PerlACE/TestTarget_WinCE.pm:
- No need to override GetFile
-
-Mon Nov 24 10:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-hpux-11.00.h:
- HPUX lacks iswascii
-
-Mon Nov 24 09:32:00 UTC 2008 Simon Massey <sma at prismtech dot com>
- on behalf of J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * NEWS:
- Changed the feature test for a "usable" config to warn on
- failure instead of exiting with an error. This change should
- make it easier to diagnose failures, as the configure script
- will now generate a config.h file even when the test fails.
- This ensures that the build errors produced can be seen on
- the scoreboard to help diagnose the actual problems.
-
- on behalf of Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- Updated for tao_ prefixed catior, nsadd, nsdel and nslist.
-
- * rpmbuild/ace-tao-macros.patch:
- Updated to add include into path to version.h
-
-Fri Nov 21 15:58:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- Remove some lynxos problem tests.
-
-Fri Nov 21 11:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/OS_Memory.h:
- Ensure ACE_bad_alloc is defined as a class for throwing if
- new doesn't throw themselves. Internally this isn't used but
- some tests try and throw this on a zero pointer.
-
-Fri Nov 21 09:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/tao_orb_tests.lst:
- * tests/run_test.lst:
- "Process_Test" and "Bug_3499_Regression" Marked !FIXED_BUGS_ONLY.
-
- * configure.ac:
- Add missing "isblank iswblank isctype iswctype" to the list of
- ACE_CHECKS_LACKS_FUNCS. This should fix the autoconfigure builds.
-
-Wed Nov 19 15:58:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-common.h:
- Fixed WinCE version number check
-
-Wed Nov 19 09:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * NEWS:
- Updated.
-
-Tue Nov 18 10:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-sunos5.10.h
- * ace/SOCK_SEQPACK_Association.cpp:
- Fix compile problems when sctp is enabled
-
-Tue Nov 18 07:49:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
- Enable macro_for_lib_modifier for vc71
-
-Tue Nov 18 07:32:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-mingw.h:
- Fixed compile problem
-
-Mon Nov 17 16:09:06 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
-
- Set LIB_PREFIX earlier on so that the VxWorks included makefiles
- work properly (with VXWORKSLINK).
-
- * include/makeinclude/rules.lib.GNU:
-
- Removed reference to old "LIB" macro.
-
-Mon Nov 17 13:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled a test for Labview/WinCE/FUZZ
-
-Mon Nov 17 13:34:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/run_test.txt:
- First step to update this to the new testframework
-
-Mon Nov 17 12:54:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Enabled a set of tests for Labview/WinCE/FUZZ
-
-Mon Nov 17 12:29:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Disabled bug 1636 for corba/e and minimum corba
-
-Mon Nov 17 12:02:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- Moved PICurrent_NameService to the other list
-
-Mon Nov 17 11:56:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled a set of tests for Labview/WinCE/FUZZ
-
-Mon Nov 17 11:55:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/ProcessLVRT.pm:
* bin/PerlACE/TestTarget.pm:
- Added AddLibPath
-
- * bin/fuzz.pl:
- Mark PerlACE::add_lib_path as error, we shuld use AddLibPath on
- the target from now
-
-Mon Nov 17 11:28:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled a set of tests for Labview/WinCE/FUZZ
-
-Mon Nov 17 11:13:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/tests.mpc:
- Bug_2772_Regression needs threads
-
-Mon Nov 17 11:07:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macros.h:
- Use ACE_TEXT for ACE_LD_DECORATOR_STR
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
- Also with bmake use MPC_LIB_MODIFIER
-
-Mon Nov 17 10:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled a set of tests for Labview/WinCE/FUZZ
-
-Mon Nov 17 10:22:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Get_Opt_Test.cpp:
- Renamed empty to empty_string to resolve clash with msvc header
- files
-
-Mon Nov 17 10:11:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_sunos5_common.GNU:
- On Solaris 10 we have sctp, enable this by adding the following line
- in your platform_macros.GNU file.
- sctp = lksctp
- Thanks to Milan Cvetkovic <milan dot cvetkovic at mpathix dot com>
- for providing this change. This is part of bugzilla 3492
-
-Mon Nov 17 10:04:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-msvc-8.h:
- * ace/config-win32-msvc-10.h:
- If ACE_HAS_EXCEPTIONS is defined, avoid re-defining it.
-
-Mon Nov 17 09:20:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-mingw.h:
- Added missing defines
-
-Mon Nov 17 09:12:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-common.h:
- Updated version check for WinCE
-
-Mon Nov 17 08:46:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessWinCE.pm:
- Removed VxWorks specific commandline code
-
-Mon Nov 17 08:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added bug_3470
-
-Mon Nov 17 08:37:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macros.h:
- If MPC_LIB_MODIFIER is defined then set ACE_LD_DECORATOR_STR to
- this value. This way the DLL find routines in ACE do use the MPC
- modifier name automatically
-
- * ace/config-win32-msvc.h:
- No need anymore to set ACE_LD_DECORATOR_STR
-
- * ace/DLL_Manager.cpp:
- * ace/Lib_Find.cpp:
- * tests/Based_Pointer_Test.cpp:
- * tests/DLL_Test.cpp:
- When ACE_LD_DECORATOR_STR is set, then use it on any platform
-
- * ace/Service_Gestalt.h:
- Doxygen change
-
- * ace/Service_Gestalt.inl:
- Layout change
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
- Enable macro_for_lib_modifier for vc7/vc8/vc9/vc10/nmake
-
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- Added libname_prefix and lib_modifier support
-
- * tests/Bug_2772_Regression_Test.cpp:
- Fixed compile problem with Cygwin
-
-Sun Nov 16 17:30:06 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * include/makeinclude/platform_gnuwin32_common.GNU:
-
- Set RC_OUTPUT_FLAG for use the with the "windres" tool.
-
-Sun Nov 16 06:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_3505_Regression_Test.cpp:
- Fixed conversion warnings
-
- * tests/Based_Pointer_Test.cpp:
- * tests/DLL_Test.cpp:
- When ACE_LD_DECORATOR_STR has been defined, just use it on any
- platform
-
-Sun Nov 16 06:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2772_Regression.cpp:
- Fixed compile warning with pthread
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/Process_Win32.pm:
+ * bin/PerlACE/Run_Test.pm:
+ * bin/PerlACE/Process_VMS.pm:
-Sat Nov 15 20:08:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Added support for running multiplatform tests using remote shell
+ connections.
+ Currently only supported for *nix-like platforms
+ (like Linux PPC64 <-> Linux x86_64).
- * bin/tao_orb_tests.lst:
- Disabled the DevGuideExamples for VxWorks because the test scripts
- are not converted yet
+Thu Apr 8 21:25:54 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
-Sat Nov 15 19:53:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/OS_NS_netdb.cpp:
- * ace/Time_Value.inl:
- Disable conversion warning for WinCE 6 only to get at least a warning
- free build
+ Fixed compile time error encountered in MAC and iPhone platforms.
- * ace/OS_NS_time.h:
- Doxygen change
+Thu Apr 8 14:51:45 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-Sat Nov 15 19:14:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * docs/ACE-guidelines.html: Clarified the style recommendations
+ for loop and if statement bodies.
- * bin/PerlACE/ProcessVX_Win32.pm:
- Removed not used line
+Wed Apr 7 16:27:46 UTC 2010 Adam Mitz <mitza@ociweb.com>
- * bin/PerlACE/ProcessWinCE.pm:
- Fixed a problem that single and double quotes in the
- commandline arguments where not escaped
+ * bin/cle.pl:
- * bin/fuzz.pl:
- Added another run_test check
+ Added the ability to use an environment variable (CL_CHANGELOG_FILE)
+ to specify the name of the ChangeLog file to use.
-Sat Nov 15 19:09:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
+Tue Apr 6 14:37:38 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
- * include/makeinclude/platform_win32_msvc.GNU:
+ * ACE-INSTALL.html (http): Updated the link to the OCI MPC
+ website. Thanks to Tim <tim at burmair dot com> for suggesting
+ this.
- Added dollar-Id-dollar to make fuzz.pl happy.
+Wed Apr 7 07:06:31 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Sat Nov 15 18:55:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * bin/MakeProjectCreator/config/global.features:
+ ccm_lw is disabled by default
- * tests/Bug_2772_Regression.cpp:
- Fixed compile problem with Cygwin
+Tue Apr 06 06:08:48 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Fri Nov 14 22:35:43 UTC 2008 Adam Mitz <mitza@ociweb.com>
+ * ace/os_include/os_stddef.h:
+ Fixed incorrect semicolon
- * include/makeinclude/platform_win32_msvc.GNU:
+ * ace/OS_NS_netdb.cpp:
+ Initialise pointers to 0
- New file for building with GNU make and the Visual C++
- compiler/linker on Win32 platforms. See the header comments
- in this file for details.
+ * configure.ac:
+ Fix for cross compilation, thanks to Ed Blackmond
+ <ed dot blackmond at themis dot com> for reporting this
- * ace/Monitor_Control/Monitor_Control.mpc:
+Fri Apr 02 13:57:48 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- Add support for linking pdh.lib (from Win32) with -type gnuace.
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ Updated latest release date
- * ace/config-win32-msvc-9.h:
+ * bin/generate_rel_manpages:
+ Don't automatically copy the files to ISIS, added the copy
+ step to the release instructions
- If ACE_HAS_EXCEPTIONS is defined, avoid re-defining it.
+ * docs/bczar/bczar.html:
+ Small improvements and manually copy the html files using
+ scp. Makes it easier to run this from another host
- * bin/MakeProjectCreator/config/ace_mc.mpb:
+ * docs/Download.html:
+ Updated links to point to x.7.8
- Add the section for linking pdh.lib (from Monitor_Control.mpc)
- so that dependent projects inherit this setting (needed for static).
+ * html/index.html:
+ Added link for x.7.8
- * bin/MakeProjectCreator/templates/gnu.mpd:
- * include/makeinclude/rules.lib.GNU:
- * include/makeinclude/rules.local.GNU:
- * include/makeinclude/wrapper_macros.GNU:
-
- A new macro $(LIB_PREFIX) is used in place of a hardcoded "lib".
- The macro $(LIB) has been renamed to $(LIB_CHECKED) to avoid
- conflicts.
- Other changes to make the command lines and file names a
- little more flexible.
-
-Fri Nov 14 22:25:34 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * include/makeinclude/wrapper_macros.GNU:
- * include/makeinclude/rules.local.GNU:
- * include/makeinclude/rules.lib.GNU:
- * include/makeinclude/rules.bin.GNU:
* NEWS:
- Add a new feature to enable users to build for multiple architectures
- out of a single directory. See Bugzilla #3507.
-
-Fri Nov 14 19:17:35 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/ACE.h:
- * ace/ACE.cpp:
-
- Enhanced the ACE::wild_match() algorithm to support escaped wildcards
- and character classes. See the doxygen comment for details.
-
- * tests/Wild_Match_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
-
- Added a new test for ACE::wild_match().
-
- * tests/Log_Thread_Inheritance_Test.cpp:
-
- Removed the ; after ACE_RCSID. Apparently it has its own ;.
-
-Fri Nov 14 19:03:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Parse_Node.cpp:
- Only print the debug message when ACE::debug() is enabled. This
- prevent a lot of messages on the WinCE console. Fixes bugzilla
- 3505
-
- * ace/Service_Gestalt.cpp:
- Renamed getopt to get_opt so that we can remove all the fuzz
- disable/enable lines
-
-Fri Nov 14 18:54:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_3505_Regression_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
- ACE_Service_Gestalt is another one that could enable ACE::debug,
- added a test to see if that is the reason why ACE::debug is enabled
- on WinCE
-
-Fri Nov 14 18:39:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ACE.cpp:
- * ace/Arg_Shifter.cpp:
- Layout change
-
- * ace/Arg_Shifter.h:
- Doxygen change
-
- * tests/ACE_Test.cpp:
- Added test for ACE_DEBUG environment variable
-
- * tests/Arg_Shifter_Test.cpp:
- Added another test, on WinCE we see that ACE::debug() is enabled
- when running TAO, one of the reasons could be a problem in the
- commandline handling
-
-Fri Nov 14 13:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_Thread.inl:
- Compare with ACE_Time_Value::zero
-
-Fri Nov 14 13:03:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE-INSTALL.html:
- * docs/CE-status.txt:
- * docs/wchar.txt:
- Windows CE updates
-
-Fri Nov 14 12:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Disabled several tests for CORBA/e micro
-
-Fri Nov 14 12:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added missing 3499
-
-Fri Nov 14 11:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2772_Regression_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
- Added an ACE-ified version of the regression test for bugzilla
- 2772. This hangs on my Vista development system. Marked the
- bug as not fixed to not pollute the test stats for the bczar.
- Let the scoreboard now show whether this works or not. Thanks
- to Greg Bothe <ace at netrats dot net> for creating the
- original test
-
-Fri Nov 14 10:59:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Log_Thread_Inheritance_Test.cpp:
-
- wchar fix.
-
-Thu Nov 13 09:53:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Malloc_Test.cpp:
- Use argv[0] as process name when it is available
-
- * tests/Process_Strategy_Test.cpp:
- Minor improvements and don't use ACE_ASSERT
-
-Thu Nov 13 09:41:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Acceptor.h:
- Fixed some typos in the doxygen documentation
-
- * ace/ACE.cpp:
- * ace/OS_NS_Thread.cpp:
- * ace/SOCK_Connector.cpp:
- * ace/SOCK_SEQPACK_Connector.cpp:
- * ace/TLI_Connector.cpp:
- * ace/Token.cpp:
- Compare with ACE_Time_Value::zero
-
- * ace/config-WinCE.h:
- Windows CE 6 has GetSystemTimeAsFileTime. Also moved
- some typedefs out of this file
+ Added 5.7.8 section
- * ace/Event_Handler.cpp:
- Removed some commented out defines
+Fri Apr 02 10:50:48 CEST 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * ace/Filecache.cpp:
- Also call difftime on Windows CE, we have an emulation
- for this method
+ * ACE version 5.7.8 released.
- * ace/High_Res_Timer.cpp:
- * ace/High_Res_Timer.h:
- Enable this for WinCE
+Tue Mar 30 09:38:08 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * ace/Metrics_Cache_T.inl:
- Layout change
-
- * ace/os_include/os_signal.h:
- * ace/os_include/sys/os_types.h:
- Added typedefs for Windows CE
-
- * ace/OS_NS_stdio.inl:
- * ace/OS_NS_unistd.inl:
- Updated comment
-
- * ace/OS_NS_sys_time.inl:
- Windows CE 6 has GetSystemTimeAsFileTime
-
- * ace/OS_NS_sys_wait.h:
- Doxygen change
-
- * ace/OS_NS_unistd.cpp:
- Reworked pread/pwrite on Windows so that both methods are
- more equal and do check all return values and set errno
+ * debianbuild/*:
+ Pulled in latest files from pkg-ace
- * ace/SString.cpp:
- Removed commented out WinCE include
+Tue Mar 30 09:34:38 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * ace/Stats.cpp:
- Just call strerror on CE
+ * tests/Thread_Timer_Queue_Adapter_Test.cpp:
+ Fixed compilation problems with single threaded builds
- * ace/UTF16_Encoding_Converter.cpp:
- Initialse pointer with 0
+Tue Mar 30 07:50:02 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * ace/WFMO_Reactor.cpp:
- The wait method on Windows can work with a relative time. When
- just doing a ping check on WinCE, just pass in ACE_Time_Value::zero
- instead of first getting the current time, call wait where then
- current time is converted back to relative time
+ * tests/MT_NonBlocking_Connect_Test.cpp:
+ Fixed compilation problem for single threaded builds.
-Thu Nov 13 15:26:17 UTC 2008 Adam Mitz <mitza@ociweb.com>
+Mon Mar 29 12:25:38 UTC 2010 Marcel Smit <msmit@remedy.nl>
- * ace/Log_Msg.h:
- * ace/Log_Msg.cpp:
- * ace/OS_Log_Msg_Attributes.h:
+ * tests/NDDS_Timer_Test.cpp:
+ Resolved test issues.
- Fix for bug 3480. If the user passes "true" as the 2nd arg of
- msg_ostream(), ACE takes ownership of the output stream. Since this
- stream can be shared between multiple ACE_Log_Msg instances
- (in multiple threads), we will now keep a reference count on the
- output stream and only delete it when the last ACE_Log_Msg instance
- is destroyed.
+Mon Mar 29 11:05:23 UTC 2010 Marcel Smit <msmit@remedy.nl>
+ * tests/NDDS_Timer_Test.cpp:
* tests/run_test.lst:
* tests/tests.mpc:
- * tests/Log_Thread_Inheritance_Test.cpp:
-
- Added a test for this change.
-
-Thu Nov 13 15:25:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Service_Config_Test.cpp:
- Just not give arguments a name if you don't need them
-
- * tests/Logging_Strategy_Test.cpp:
- Use ACE_DEFAULT_TEST_DIR to get a full path on Windows CE
-
-Thu Nov 13 14:56:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled some tests for FUZZ/Labview/WinCE
-
-Thu Nov 13 14:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added some missing tests and enabled some tests for FUZZ/Labview/
- WinCE
-
-Thu Nov 13 12:13:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-common.h:
- WinCE 5 seems to lack a lot of defines, so updated version check
-
- * ace/OS_NS_unistd.inl (dup):
- Return ACE_INVALID_HANDLE instead of -1
-
-Thu Nov 13 11:08:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * configure.ac:
- Updated mailing list address
-
-Thu Nov 13 10:36:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Config_Test.cpp:
- Fixed possible corruption of filename
-
-Thu Nov 13 10:05:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- sln files are allowed at this moment
-
-Thu Nov 13 09:15:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Process_Test.cpp:
- Fixed unicode compile problems
-
-Thu Nov 13 08:32:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- The lst files below are now parsed and all the perl files that are not
- marked with !FUZZ are checked
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- * bin/ciao_tests.lst:
- Mark a lot of test with !FUZZ, these have to be updated
-
-Thu Nov 13 08:07:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Cached_Conn_Test.cpp:
- Layout change in debug statement
-
-Thu Nov 13 08:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/acetest.mpb:
- Explicit list build files
-
-Thu Nov 13 08:01:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- * bin/PerlACE/TestTarget_VxWorks.pm:
- Fixed test scripts when the old test framework is use
-
-Thu Nov 13 07:05:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_main.cpp:
- Fixed bug in CE commandline conversion
-
-Wed Nov 12 19:25:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- WinCE 5 and earlier DuplicateHandle
-
- * ace/OS_NS_unistd.inl (dup):
- Use ACE_LACKS_DUP so that we don't have a special codeblock for
- Windows CE
-
- * ace/Thread_Manager.cpp:
- Use ACE_LACKS_DUPLICATEHANDLE whether we can use DupliceHandle or
- not
-
-Wed Nov 12 19:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/TestTarget.pm:
- Added RandomPort
-
- * protocols/tests/HTBP/ping/run_test.pl:
- * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
- * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
- * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
- Use TestTarget->RandomPort
-
-Wed Nov 12 19:00:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Dirent_Test.cpp:
- Unicode fix
-
-Wed Nov 12 18:40:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- Added ACE_LACKS_REGNOTIFYCHANGEKEYVALUE
-
- * examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc:
- Build all these examples with Windows CE
-
- * examples/Reactor/WFMO_Reactor/run_test.pl:
- Check if target got created
-
- * examples/Reactor/WFMO_Reactor/APC.cpp:
- * examples/Reactor/WFMO_Reactor/Registry_Changes.cpp:
- Made these compiling with Windows CE. It are nothing more then
- empty tests at that moment, but that way we don't get false
- negatives
-
-Wed Nov 12 16:04:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * config-WinCE.h:
- WinCE versions older then 6 don't have errno
-
-Wed Nov 12 15:57:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_main.cpp:
- Make sure there is a space between the executable name and
- the original arguments with WinCE
-
-Wed Nov 12 15:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Cached_Accept_Conn_Test.cpp:
- Added %T to the iteration debug message
-
- * tests/MEM_Stream_Test.cpp:
- * tests/Pipe_Test.cpp:
- * tests/Process_Manager_Test.cpp:
- * tests/Process_Manual_Event_Test.cpp:
- * tests/Process_Mutex_Test.cpp:
- * tests/RW_Process_Mutex_Test.cpp:
- * tests/SOCK_Dgram_Bcast_Test.cpp:
- If argc > 0 use argv[0] as program name, else use a hardcoded
- string. This way this test runs on any platform including WinCE
- (where argv[0] has a full path) and VxWorks (where argc = 0)
-
-Wed Nov 12 15:21:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/MEM_Stream_Test.cpp:
- Use argv[0]
-
-Wed Nov 12 14:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- No need to use TEST_DIR, the problem on WinCE was a problem in
- ACE_OS::rename
-
-Wed Nov 12 14:10:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks6.7.h:
- * include/makeinclude/platform_vxworks6.7.GNU:
- Initial files for VxWorks 6.7 which we expect soon
-
-Wed Nov 12 13:24:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Wrong macro used.
+ Added timer test which uses the ndds timers.
-Wed Nov 12 10:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Mon Mar 29 06:59:08 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * bin/tao_orb_tests.lst:
- Enabled a few tests for WinCE/Labview
+ * bin/MakeProjectCreator/config/ace_qt4reactor.mpb:
+ New base project, thanks to Marek Brudka <mbrudka at aster dot pl>
+ for providing this
-Wed Nov 12 09:35:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Mon Mar 29 06:54:08 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * protocols/tests/HTBP/ping/run_test.pl:
- * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
- * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
- * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
- Use 2 targets
-
-Wed Nov 12 09:31:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * debianbuild/*:
+ Pulled in latest files from pkg-ace
- * bin/PerlACE/Process.pm:
- If ACE_RUNTEST_DELAY is not set, default the wait delay factor
- to 1
+Fri Mar 26 14:07:55 UTC 2010 Steve Huston <shuston@riverace.com>
-Wed Nov 12 09:01:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/Dev_Poll_Reactor.{h inl cpp}: Refinements to the way notifies
+ are handled:
+ 1. The notify handler was being dispatched multiple times per
+ notify; this has been fixed, which increases performance.
+ 2. Notifications are now dispatched in only one thread at a time.
+ This brings more parity to the way notifies are handled in
+ other reactor implementations.
- * bin/PerlACE/TestTarget_WinCE.pm:
- And more path tweaks
+Fri Mar 26 13:43:08 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Wed Nov 12 08:48:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * debianbuild/tao-utils.install:
+ Corrected filenames
- * bin/fuzz.pl:
- Fixed fuzz error in the fuzz script itself
+ * debianbuild/libtao-orbsvcs-dev.install:
+ Added missing libraries
-Wed Nov 12 08:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_WinCE.pm:
- Added HOST_ROOT and more WinCE path tweaks
+Fri Mar 26 09:02:50 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
-Wed Nov 12 08:27:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * tests/run_test.pl:
+ Added -l option which allows to run tests selectively.
- * bin/PerlACE/Process_Win32.pm:
- Removed duplicate basename
+Wed Mar 24 07:17:22 UTC 2010 Marcel Smit <msmit@remedy.nl>
* bin/fuzz.pl:
- Extended the run_test.pl check and enabled it. Ignore TAO and
- CIAO for the moment, we first need to update the existing
- scripts to the new test framework
-
-Wed Nov 12 08:19:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Added dds4ccm_trace checks.
- * bin/PerlACE/TestTarget_WinCE.pm:
- Extended path handling for WinCE
-
-Wed Nov 12 07:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Tue Mar 23 10:59:08 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * tests/README:
- Updated
+ * debianbuild/patches/34-bts386713.dpatch:
+ Updated from debian
-Tue Nov 11 22:22:04 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+Fri Mar 19 16:52:08 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * ace/OS_NS_sys_mman.inl (mmap): Added a fix for a problem where
- ACE_OS::mmap() failed when called with
- file_handle=ACE_INVALID_HANDLE and file_mapping=0. Thanks to
- Bill Rizzi <rizzi at softserv dot com> for this fix. This fixes
- bugid 3500.
+ * tests/MT_NonBlocking_Connect_Test.cpp:
+ And another attempt to workaround WFMO reactor. The previous
+ changes could break the test on other platforms.
-Tue Nov 11 14:24:00 UTC 2008 Simon Massey<sma at prismtech dot com>
+Fri Mar 19 16:44:37 UTC 2010 Steve Huston <shuston@riverace.com>
- * tests/Process_Test.cpp:
- Another wchar issue.
+ * ace/Dev_Poll_Reactor.cpp (find_handler): If the handle isn't
+ registered, don't try to dereference a null pointer; return 0.
-Tue Nov 11 13:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+Fri Mar 19 16:16:30 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * ace/config-lynxos.h:
- Missed removal of ACE_HAS_SYSV_IPC for LynxOS5.0.
+ * tests/MT_NonBlocking_Connect_Test.cpp:
+ Fixed a typo in previous commit.
-Tue Nov 11 13:34:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Fri Mar 19 15:58:52 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * tests/Cached_Conn_Test.cpp:
- Print a timestamp with each iteration
+ * tests/MT_NonBlocking_Connect_Test.cpp:
+ Fixed a test on Windows for WFMO reactor which doesn't support
+ work_pending() function.
-Tue Nov 11 13:26:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Fri Mar 19 13:23:18 UTC 2010 Adam Mitz <mitza@ociweb.com>
* ace/OS_NS_Thread.cpp:
- Check the return value of thr_setprio
-
- * ace/Process.cpp:
- Always initialize process_name_
-
- * ace/Process_Manager.cpp:
- Use this->
-
- * tests/OS_Test.cpp:
- WinCE can't rename when the target already exists
-
- * tests/Reactor_Dispatch_Order_Test.cpp:
- Const change
-
-Tue Nov 11 10:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.inl:
- Fixed rename on WinCE
-
-Tue Nov 11 10:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/TestTarget_VxWorks.pm:
- Just use the WaitForFileTimed from the base
-
- * bin/tao_orb_tests.lst:
- Enabled some tests for Labview/WinCE
-
-Mon Nov 10 23:28:36 UTC 2008 Trevor Fields <fields_t@ociweb.com>
-
- * bin/tao_other_tests.lst:
-
- Added regression test for bug 3495.
-
-Mon Nov 10 20:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled several TAO tests for Labview and WinCE, these are converted
- to the new test framework
-
-Mon Nov 10 19:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Process_Manager_Test.cpp:
- Layout change
-
- * tests/Process_Manual_Event_Test.cpp:
- Use ACE_ERROR_RETURN instead of ACE_ASSERT
-
-Mon Nov 10 19:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- Also use TEST_DIR when it is defined
-
-Mon Nov 10 19:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- Enabling bsearch results in a linker error
-
- * ace/OS_NS_Thread.inl:
- Use ACE_TEXT_CreateSemaphe
-
- * tests/Config_Test.cpp:
- Use TEST_DIR as directory of the import file when it is defined.
- Windows CE doesn't have a current directory but TEST_DIR is set
- when building on CE
-
- * tests/Dirent_Test.cpp:
- Use different logging macros when ACE_HAS_TCHAR_DIRENT is defined
-
- * tests/test_config.h:
- Removed not needed semi colon
-
-Mon Nov 10 18:40:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-common.h:
- * ace/config-WinCE.h:
- Enable a few more methods for WinCE
-
-Mon Nov 10 15:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Malloc_Test.cpp:
- Fixed compile error
-
-Mon Nov 10 15:28:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- Removed a lot of defines that are really not needed
-
- * ace/OS_NS_stdlib.{h,cpp,inl}:
- Removed ACE_HAS_WINCE checks with realpath
-
- * ace/config-win32-common.h:
- Latest wince versions do have missing defines
-
-Mon Nov 10 14:28:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Another wchar issue.
-
-Mon Nov 10 12:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- WinCE 5 and newer do have filelocks
-
- * ace/OS_NS_stdio.inl (flock_unlock):
- Use UnlockFileEx because this is also available on WinCE
-
- * tests/Naming_Test.cpp:
- Use ACE::get_temp_dir to get the real temp dir
-
-Mon Nov 10 11:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Malloc_Test.cpp:
- Use argv[0]
-
- * tests/TP_Reactor_Test.cpp:
- Use ACE_TEXT
-
-Mon Nov 10 10:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace_for_tao.mpc
- * ace/config-win32-msvc-10.h
- * ace/config-win32-msvc.h
- * ace/Monitor_Control/Monitor_Control.mpc
- * ace/QoS/qos.mpc
- * bin/MakeProjectCreator/config/ace_fl.mpb
- * bin/MakeProjectCreator/config/ace_gl.mpb
- * bin/MakeProjectCreator/config/ace_qt.mpb
- * bin/MakeProjectCreator/config/ace_x11.mpb
- * bin/MakeProjectCreator/config/crosscompile.mpb
- * bin/MakeProjectCreator/config/ipv6.mpb
- * bin/MakeProjectCreator/config/vc_warnings.mpb
- Added Visual Studio 2010 (vc10) support
-
-Mon Nov 10 09:50:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- Set ACE_DEFAULT_THREAD_KEYS to TLS_MINIMUM_AVAILABLE when it is
- not defined yet. This is the minimum number of TLS indexes always
- available to a process
-
-Mon Nov 10 09:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/make_release.py:
- Added Windows Mobile 6 projects
-
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/README:
- Added HostName and added a few variables that are needed for
- VxWorks in the near future. This fixes bugzilla 3496
-
- * protocols/tests/HTBP/ping/run_test.pl:
- * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
- * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
- * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
- * protocols/tests/RMCast/run_test.pl:
- Updated to the new test framework
- * protocols/tests/HTBP/README:
- Location of the HTBP lib was old
-
-Sun Nov 9 11:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Sched_Params.cpp:
- Updated for WinCE priorities
-
- * ace/OS_main.cpp:
- Const change
-
-Sat Nov 8 07:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/MEM_Stream_Test.cpp:
- use argv[0]
-
- * tests/Malloc_Test.cpp:
- Removed WinCE code
-
-Sat Nov 8 07:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Reactor/WFMO_Reactor/run_test.pl:
- Convert to use the new test framework
-
-Fri Nov 7 20:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Dirent_Test.cpp:
- Use the open method of ACE_Dirent instead of the constructor
- so that we can check the return value and also use ACE_DEFAULT_TEST_DIR
- when it is defined
-
-Fri Nov 7 19:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Disabled several DevGuidExamples in the ACE_FOR_TAO configuration
-
-Fri Nov 7 19:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Added a helper function for starting tasks on VxWorks.
* bin/PerlACE/ProcessVX_Unix.pm:
* bin/PerlACE/ProcessVX_Win32.pm:
- * bin/PerlACE/ProcessWinCE.pm:
- Increased timeout so that we don't kill the ACE tests before
- they had the change to finish
-
-Fri Nov 7 18:05:00 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Added Bug_3481_Regression.
-
-Fri Nov 7 13:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Like an idiot I didn't invert the original ACE_ASSERT test when
- I converted them to if () go_and_complain;
- Also another attempt to correct for wide character ACE_TCHAR
- versions.
-
-Fri Nov 7 12:02:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/run_test.pl:
- Removed all specific VxWorks support, we are using the generic test
- framework now
-
-Fri Nov 7 09:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_main.cpp:
- Use ACE_TEXT_GetModuleFileName to get the executable name
- on Windows CE
-
-Fri Nov 7 09:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Makefile.am:
- Removed references to CE_fostream
-
-Thu Nov 6 19:26:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-WinCE.h:
- CE doesn't have FILE_SHARE_DELETE like regular windows as default
- file permissions
-
- * tests/CDR_File_Test.cpp:
- WinCE does have ostream, so removed CE_fostream and also removed the
- code that tries to unlink the file directly after it has been created.
- It really depends also on the file system whether this works or not.
-
- * tests/CE_fostream.cpp:
- * tests/CE_fostream.h:
- Removed
-
- * tests/tests.mpc:
- Removed CE_fostream
-
-Thu Nov 6 18:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-openvms.h:
- Added ACE_LACKS_ISBLANK/ACE_LACKS_ISCTYPE
-
- * ace/config-qnx-rtp-62x.h:
- Added ACE_LACKS_ISCTYPE
-
- * ace/OS_NS_unistd.h:
- Doxygen changes
-
-Wed Nov 5 15:11:17 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/SOCK_SEQPACK_Association.cpp (get_remote_addrs): Changed
- ACE_USES_SOLARIS_SCTP to ACE_HAS_VOID_PTR_SCTP_GETPADDRS.
- Thanks to Johnny for this suggestion.
-
-Thu Nov 6 14:33:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Use pid_t, ACE_HANDLE and ACE_INVALID_HANDLE;
-
-Thu Nov 6 14:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Don't use ACE_ASSERT();
-
-Thu Nov 6 13:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-borland.h:
- Add a check if people are using a supported compiler
-
-Thu Nov 6 13:12:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX.pm:
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- * bin/PerlACE/ProcessWinCE.pm:
- Poweroff the target at the end of the run. If you want to keep
- it on power, set ACE_RUN_VX_NO_SHUTDOWN as environment variable
-
-Thu Nov 6 13:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Buffer_Stream_Test.cpp:
- * tests/MEM_Stream_Test.cpp:
- * tests/MM_Shared_Memory_Test.cpp
- * tests/Priority_Task_Test.cpp
- Removed WinCE specific code
-
- * tests/Bug_3432_Regression_Test.cpp:
- This test needs strftime, if is not there, just print a message
- and exit
-
- * tests/Notify_Performance_Test.cpp:
- * tests/Reactor_Performance_Test.cpp
- WFMO_Reactor is dependent on winsock2
-
-Thu Nov 6 12:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Apply modified patch to correct for problems on scoreboard.
-
-Thu Nov 6 09:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/TestTarget.pm
- * bin/PerlACE/README:
- Added PROCESS_START_WAIT_INTERVAL and PROCESS_STOP_WAIT_INTERVAL
- as environment variables so that we can configure a longer wait
- time.
-
- * bin/PerlACE/TestTarget_WinCE.pm:
- Removed ProcessStartWaitInterval method, not needed
-
-Thu Nov 6 08:22:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_3432_Regression_Test.cpp:
- * tests/CDR_File_Test.cpp:
- * tests/Message_Queue_Test.cpp:
- * tests/OS_Test.cpp:
- * tests/Process_Manager_Test.cpp:
- * ace/Service_Repository.cpp:
- * tests/TP_Reactor_Test.cpp:
- Fixed unicode problems
-
- * tests/run_test.pl:
- Add the process startup time to the test time, improves the
- test results on slow systems
-
-Wed Nov 5 19:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- * bin/PerlACE/ProcessWinCE.pm:
* bin/PerlACE/TestTarget_VxWorks.pm:
- * bin/PerlACE/TestTarget_WinCE.pm:
- Store a reference to the target in the process and set the
- executable extension correct for windows ce
-Wed Nov 5 15:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Fixed a bug that was triggered with CreateProcess was called with
+ only one argument.
+ Also, set the correct relative path to the executable when it's not
+ in the current directory.
- * ace/OS_NS_ctype.inl:
- Don't emulate isblank with isctype(_ISBLANK), isctype only checks
- for space, isblank should check space and tab
+Fri Mar 19 08:56:29 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Wed Nov 5 13:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Test.cpp:
- Attempt to correct for wide character ACE_TCHAR versions.
-
-Wed Nov 5 09:36:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+ * include/makeinclude/platform_linux.GNU:
+ Added support for archmodelflag
- * tests/Process_Test.cpp:
- Removed Fuzz errors.
+Thu Mar 18 10:40:29 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
-Wed Nov 5 08:49:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * tests/NonBlocking_Conn_Test.cpp:
+ Made logging a bit more verbose.
- * ace/config-lynxos.h:
- LynxOS5 has isblank
+Wed Mar 17 20:00:45 UTC 2010 Steve Huston <shuston@riverace.com>
- * ace/config-aix-5.x.h:
- AIX lacks isctype
+ * include/makeinclude/platform_linux_common.GNU: Make the ARFLAGS
+ setting overridable.
-Wed Nov 5 04:04:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+Wed Mar 17 14:24:20 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * May the next president of the USA have the strength and courage
- to lead the USA wisely and help it to achieve its promise as a
- advocate for freedom and democracy.
+ * ace/Logging_Strategy.cpp:
+ * ace/Logging_Strategy.h:
+ Extended ACE_Logging_Strategy to allow safely change reactor
+ used by this logging strategy.
-Tue Nov 4 22:45:20 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+Wed Mar 17 11:58:10 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * ace/SOCK_SEQPACK_Association.cpp: Added #ifdefs for
- ACE_USES_SOLARIS_SCTP. Thanks to Steven Xie <steven dot xie at
- mpathix dot com> for contributing this.
+ Committed the changes that I had to revert before x.7.7.
-Tue Nov 4 15:18:17 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+ * ace/Strategies_T.cpp:
+ Changed the code so that close() is called in case of failure
+ instead of destroy().
- * tests/Process_Test.cpp: Added a new test that exercises the new
- handle inheritance mechanisms of ACE_Process. Thanks to
- Christian Fromme <kaner at strace dot org> for contributing this
- test.
+ * ace/Connector.cpp:
+ * ace/Connector.h:
+ Changed the fix for bug#3731. Now NBCH adds a reference in
+ constructor and removes it in destructor if the SVC_HANDLER that
+ it owns is reference counted. This is a cleaner solution than the
+ one used before.
-Tue Nov 4 14:15:07 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+ * tests/NonBlocking_Conn_Test.h:
+ * tests/Process_Strategy_Test.cpp:
+ * tests/NonBlocking_Conn_Test.cpp:
+ Extended NonBlocking_Conn_Test and changed Process_Strategy_Test
+ because of the change in Strategies_T.cpp.
+ * tests/MT_NonBlocking_Connect_Test.cpp:
* tests/tests.mpc:
- * tests/run_test.lst (Process_Test): Added the new test for the
- ACE_Process class.
-
-Tue Nov 4 13:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- Added isblank test for space
-
- * ace/OS_NS_ctype.inl:
- Fixed bug in isblank for space
-
-Tue Nov 4 13:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Enabled a few tests for labview and add !WinCE to all
- !LabVIEW_RT marked tests so that we can start testing
- for wince
-
-Tue Nov 4 08:52:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_ctype.inl:
- Added support for ACE_LACKS_ISASCII
-
- * ace/config-vxworks6.2.h
- * ace/config-vxworks6.3.h
- * ace/config-vxworks6.4.h
- Define for ACE_LACKS_ISASCII for rtp
-
-Tue Nov 4 07:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-sunos5.5.h:
- Added ACE_LACKS_ISCTYPE/ACE_LACKS_ISBLANK
-
- * ace/config-sunos5.10.h:
- SunOS 10 has isblank
-
-Tue Nov 4 07:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-cygwin32.h:
- Added ACE_LACKS_ISCTYPE
-
-Tue Nov 4 07:05:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-aix-5.x.h:
- Added ACE_HAS_CTYPE_T
-
-Mon Nov 3 20:05:10 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * ace/config-macosx-leopard.h:
- Added ACE_ISCTYPE_EQUIVALENT.
-
-Mon Nov 3 17:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-lynxos.h:
- Added ACE_LACKS_ISBLANK/ACE_LACKS_ISCTYPE
-
-Mon Nov 3 14:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Disabled several tests with CORBA/e compact/micro
-
-Mon Nov 3 13:17:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
- * ace/config-vxworks6.4.h:
- Added ACE_LACKS_ISBLANK for kernel mode
-
-Mon Nov 3 13:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
- * ace/config-vxworks6.4.h:
- Added ACE_LACKS_ISCTYPE/ACE_LACKS_ISWCTYPE
-
-Mon Nov 3 12:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-all.h
- * ace/OS_NS_ctype.inl
- * ace/OS_NS_time.h
- Including OS_NS_errno.h in config-all.h gives problems on linux
-
-Mon Nov 3 10:51:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_Thread.inl:
- Use CeGetThreadPriority/CeSetThreadPriority when building
- for Windows CE. This fixes bugzilla 3487. Thanks to Danial Lang
- <danial dot lang at alphagate dot at> for reporting this.
-
-Mon Nov 3 10:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Added bug 3486
-
-Mon Nov 3 10:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/svn/config:
- * docs/svn/svn-prefs.reg:
- bmak files shouldn't be in the repo so added them to the global
- ignore list
-
-Mon Nov 3 09:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_ctype.inl:
- Added support for ACE_LACKS_ISWASCII
-
- * ace/config-linux-common.h:
- Added ACE_LACKS_ISWASCII
-
-Mon Nov 3 09:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/TestTarget.pm:
- Use PerlACE::Run_Test here, that way it is not needed in the
- real scripts and we can use that to check if the script
- is converted
-
- * bin/tao_orb_tests.lst:
- Enabled some test for labview, converted them to the new framework
-
-Mon Nov 3 09:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/Run_Test.pm:
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_LVRT.pm:
- * bin/PerlACE/TestTarget_VxWorks.pm:
- Convert the filename to a local file in the TestTarget and
- not in the main script. Fixes bugzilla 3477
-
-Mon Nov 3 09:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-all.h:
- Include OS_NS_errno.h to get ENOTSUP
-
- * ace/config-win32-borland.h:
- CB lacks isblank/iswblank/icctype/iswctype
-
- * ace/config-win32-msvc.h:
- * ace/config-WinCE.h
- Lacks isblank/iswblank
-
- * ace/os_include/os_ctype.h:
- Added typedef for ctype_t
-
- * ace/OS_NS_ctype.h:
- * ace/OS_NS_ctype.inl:
- Added isblank/isascii/isctype/iswctype wrappers
-
- * ace/OS_NS_time.h:
- No need to include OS_NS_errno.h here
-
- * bin/fuzz.pl:
- Added isblank/isascii/isctype/iswctype to ACE_OS check
-
- * tests/OS_Test.cpp:
- Extended ctype tests
-
-Thu Oct 30 13:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- Added a test for ace_isprint with a tab character. WinCE 6 and
- earlier do have a bug that for tab they return true instead of
- false
-
- * ace/OS_NS_sys_utsname.cpp:
- Initialise pointer with 0
-
- * ace/OS_NS_ctype.inl (ace_isprint):
- If we have WinCE 6 or earlier and get called for tab (0x9) then
- return 0, WinCE stdlib has a bug that 1 is returned for tab.
- This was found when investigating some TAO logs where we do
- a hexdump of the received packets
-
-Thu Oct 30 12:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * protocols/tests/HTBP/Send_Recv_Tests/client.cpp
- * protocols/tests/HTBP/Send_Recv_Tests/server.cpp
- Use %C to log ascii strings instead of using %s with
- ACE_TEXT_CHAR_TO_TCHAR
-
-Thu Oct 30 12:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/ARGV_Test.cpp
- * tests/Bound_Ptr_Test.cpp
- * tests/Enum_Interfaces_Test.cpp
- * tests/IOStream_Test.cpp
- * tests/Sendfile_Test.cpp
- * tests/SOCK_Send_Recv_Test.cpp
- * tests/SOCK_Send_Recv_Test_IPV6.cpp
- * tests/SOCK_Test.cpp
- * tests/SOCK_Test_IPv6.cpp
- * tests/Svc_Handler_Test.cpp
- Use %C to log ascii strings instead of using %s with
- ACE_TEXT_CHAR_TO_TCHAR
-
-Thu Oct 30 11:31:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ACE.cpp:
- Const change
-
- * tests/test_config.h:
- Set ACE_LOG_DIRECTORY_FOR_MKDIR for all platforms. Removed the
- WinCE different test filename extension.
-
- * tests/Test_Output.cpp:
- Added ACE_DEFAULT_TEST_DIR which can be set in the config.h to
- specify a different default testdir then "". This is useful
- for WinCE which lacks the concept of a current working directory
-
-Thu Oct 30 10:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * NEWS
- Updated.
+ * tests/run_test.lst:
+ Added a new test. This can be a reproducer for the bug#3731 which
+ currently doesn't have its own test.
-Thu Oct 30 07:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Wed Mar 17 08:57:30 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * bin/tao_orb_tests.lst:
- Disabled PMB test for VxWorks RTP, it hangs the test environment
+ * ace/Service_Gestalt.h:
+ * ace/Service_Config.h:
+ Extended doxygen documentaion related to the order of processing
+ of command-line directives and service configuration files.
-Wed Oct 29 15:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/Service_Gestalt.cpp:
+ Changed the order of processing. First, service configuration files
+ are processed then command-line directive. This way default svc.conf
+ can not override results of user provided command-line directives.
- * bin/PerlACE/TestTarget_WinCE.pm:
- New file for WinCE cross platform testing. This assumes at this
- moment some other test framework changes which can't be committed yet.
- I am storing this new file in svn so that it doesn't get lost and
- can be used to discuss the changes
+ * NEWS:
+ Added a news entry for this change.
-Wed Oct 29 10:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Mon Mar 15 20:08:32 UTC 2010 Olli Savia <ops@iki.fi>
* ace/config-WinCE.h:
- Corrected WinCE version check
-
- * ace/OS_NS_time.h:
- The WinCE 6 SDK ships with a difftime that has __time32_t as type
- of the arguments. ACE uses time_t which can be 64bit, that then
- leads to conversion warnings. For WinCE 6 disable this warning
- just for this file.
-
-Tue Oct 28 19:56:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- * bin/tao_orb_tests.lst:
- InterfaceRepo example should be in the other file
-
-Tue Oct 28 19:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- Don't add a lib prefix and .so postfix, let the test scripts do that.
- This way the output is also usable for WinCE testing
-
- * bin/PerlACE/ProcessVX.pm:
- Add lib prefix and .so postfix to the vxtest list
-
- * bin/PerlACE/ProcessWinCE.pm:
- Extended this test for testing
-
-Tue Oct 28 16:40:10 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * bin/tao_other_tests.lst:
-
- Disabled test for bug#3444 on LynxOS.
-
-Tue Oct 28 16:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- * bin/tao_orb_tests.lst:
- Moved Notify ValueType test to other tests
-
-Tue Oct 28 10:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessWinCE.pm:
- New file for Windows CE cross testing. We are using the
- VxWorks support and added an environment variable
- ACE_TEST_WINCE. When this is set we are using WinCE instead
- of VxWorks. This script is not ready yet, a first version
- so that we can start resolving some small issues in our
- real test environment
-
- * bin/PerlACE/Run_Test.pm:
- Check for ACE_TEST_WINCE
-
-Mon Oct 27 19:22:25 UTC 2008 Tim Pollock <pollockt@ociweb.com>
-
- * bin/tao_other_tests.lst
-
- Added new test for DOC bug 2415.
-
-Mon Oct 27 13:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Added ACE_RUN_ACE_LD_SEARCH_PATH
-
-Mon Oct 27 13:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Added ACE_RUN_VX_STARTUP_COMMAND
-
-Sun Oct 26 20:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.cpp:
- * ace/OS_NS_stdio.h:
- Removed scanf/fscanf/sscanf wrappers again. Microsoft
- doesn't ship them with msvc so these would then be
- a noop making them unusable
-
- * ace/fuzz.pl:
- Removed scanf/sscanf/fscanf from the ACE_OS check
-
- * ace/Multicast_Test.cpp
- * ace/Multicast_Test_IPV6.cpp
- Use plain sscanf
-
-Sun Oct 26 18:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/INET_Addr.cpp:
- Removed not needed wchar conversion
-
-Sun Oct 26 08:02:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.{h,cpp}:
- Fixed sscanf implementation and added also fscanf wrapper
-
- * bin/fuzz.pl:
- Added fscanf to the ACE_OS tests
-
-Thu Oct 23 20:06:02 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Process.cpp: Fixed a typo.
-
-Thu Oct 23 15:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- Changed ACE_OS test to level 6 to temporarily get rid of this
- check
-
-Thu Oct 23 12:52:21 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Process.cpp: Enhanced the support for enabling/disabling
- handle inheritance on Linux. Thanks to Christian Fromme
- <christian at ast.dfs dot de> for this fix.
-
-Thu Oct 23 11:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Process.cpp:
- Fixed duplicat initialisation
-
-Thu Oct 23 09:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Process.cpp:
- Added missing include
-
-Thu Oct 23 08:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/svn/config:
- * docs/svn/svn-prefs.reg:
- Added conf/pem extensions
-
-Thu Oct 23 08:06:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Updated because of move of DevGuide orbsvcs examples
-
-Thu Oct 23 06:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/ciao_tests.lst:
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- Added the new DevGuide examples
-
-Thu Oct 23 06:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Process.cpp:
- Initialise handle_inheritance_ on the right place
-
- * ace/Process.h:
- Doxygen change
-
- * ace/Process.inl:
- Always implement the handle_inheritance method
-
-Wed Oct 22 15:03:31 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Process.h (ACE_Process_Options): Fixed the duplicate
- handle_inheritance_ member.
-
-Wed Oct 22 13:30:54 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Process.{h,cpp}: Added support for enabling/disabling handle
- inheritance on Linux. Thanks to Christian Fromme <christian at
- ast.dfs dot de> for this fix.
-
- * ace/Process.{h,cpp}: Fixed the misspelling of
- "handle_inheritence" to "handle_inheritance".
-
-Tue Oct 21 18:31:52 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * apps/gperf/src/Options.cpp:
-
- Moved the instantiation of the static ACE_CString
- members to appear before the global class instantiation,
- so that the ACE_CString default constructor can in turn
- initialize its ACE_Allocator member, needed in the
- Options constructor.
-
-Tue Oct 21 17:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.{h,cpp}:
- Buf argument of sscanf should be const
-
-Tue Oct 21 14:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Bug_2980_Regression_Test.cpp:
-
- Fixed fuzz errors (lack of ACE_OS::).
-
-Tue Oct 21 14:21:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Manager_Test.cpp:
- * tests/Multicast_Test_IPV6.cpp:
- * tests/Bug_2980_Regression_Test.cpp:
-
- Fixed fuzz errors (lack of ACE_OS::).
-
-Tue Oct 21 14:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Manual_Event_Test.cpp:
- * tests/Process_Env_Test.cpp:
- * tests/Multicast_Test.cpp:
- * tests/Proactor_UDP_Test.cpp:
-
- Fixed fuzz errors (lack of ACE_OS::).
-
-Tue Oct 21 13:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
+ * ace/config-hpux-11.00.h:
+ * ace/config-lynxos.h:
* ace/config-netbsd.h:
- NetBSD lacks wscanf and swscanf
-
-Tue Oct 21 12:41:09 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * apps/gperf/src/Options.h:
- * apps/gperf/src/Options.cpp:
- * ACEXML/common/HttpCharStream.cpp:
-
- Fixed incorrect use of ACE_TEXT_* conversion macros.
-
-Tue Oct 21 11:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- Changed ACE_OS test to level 5
-
-Tue Oct 21 09:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-borland.h
- * ace/config-win32-common.h
- * ace/config-win32-msvc.h
- * ace/OS_NS_stdlib.inl
- WinCE doesn't have wtof, so reworked the defines. Set ACE_HAS_WTOF
- when the platform has wtof, with ACE_WTOF_EQUIVALENT a different
- method name could be used (like ::_wtof)
-
-Tue Oct 21 07:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.{h,cpp}:
- Added wrappers for sscanf/scanf
-
- * bin/fuzz.pl:
- Extended ACE_OS check with scanf/sscanf
-
-Tue Oct 21 00:04:26 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Proactor_UDP_Test.cpp: Attempt to avoid lock-ups on non-Windows
- targets. HP-UX, AIX, et al., can't cancel an in-progress UDP recv()
- so stop the Master from trying more receives when all the expected
- sessions are up.
-
-Mon Oct 20 13:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/fuzz.pl:
- Extended ACE_OS check with atof/atol/raise
-
- * apps/JAWS3/bench/rqfiles.cpp:
- Use ACE_OS::atof
-
-Mon Oct 20 12:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdlib.{h,inl}:
- Added atof and atol wrappers
-
-Mon Oct 20 07:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * contrib/FaCE/FaCENOACE.mpc:
- Derive from vc_warnings to get rid of deprecated warnings
-
-Mon Oct 20 03:30:20 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/config-cygwin32.h (ACE_HAS_CUSTOM_EXPORT_MACROS): Changed this
- macro definition to
-
- #define ACE_HAS_CUSTOM_EXPORT_MACROS 1
-
- Thanks to E Vahala <erkki.vahala@pp.inet.fi>
-
-Sun Oct 19 06:57:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Network_Adapters_Test.cpp:
- WinCE doesn't have control handler
-
-Sun Oct 19 06:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Service_Config_Test.cpp:
- WinCE doesn't have _beginthreadex
-
-Sun Oct 19 06:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Logging_Strategy_Test.cpp:
- Removed WinCE specific code which is not needed anymore
-
-Fri Oct 17 19:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/global.features:
- Set lzo2 to 0 as default
-
-Fri Oct 17 19:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_sys_stat.inl:
- Reapplied a change from yesterday, seems the repo has an issue
-
-Fri Oct 17 18:57:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OrdMultiSet_Test.cpp:
- Use ACE_TEST_ASSERT instead of ACE_ASSERT
-
- * tests/Vector_Test.cpp:
- Removed BCB6/BCB2006 support
-
- * tests/SOCK_Connector_Test.cpp:
- Const change and initailise pointer with 0
-
-Fri Oct 17 12:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-linux-common.h:
- * ace/config-win32-borland.h:
- * ace/Guard_T.h:
- * ace/Handle_Set.cpp:
- * ace/Monitor_Control_Types.h:
- * ace/os_include/os_string.h:
- * ace/os_include/os_unistd.h:
- * ace/os_include/sys/os_timeb.h:
- * ace/OS_NS_stdio.inl:
- * ace/Truncate.h:
- Removed BCB6/BCB2006 support
-
-Wed Oct 15 19:57:38 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/SSL/SSL_Context.cpp (report_error): Updated the code to use
- ::ERR_error_string_n() rather than ::ERR_error_string() when
- it's available. Thanks to Paul Daugherty <paul@nextalk.com>
- for this patch. This fixes bugid 3461.
-
-Thu Oct 16 19:03:02 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * ace/Service_Config.inl:
- * ace/Service_Config.cpp:
-
- Fix for Bug #3386. The argument parsing for the service
- configurator was separated into those that affect individual
- gestalts, and some process wide arguments. The process wide
- arguments were then placed in a new SC::parse_args_i() method,
- but that was never called. Second, it appears that when
- parse_args_i() was created it was anticipating calling the
- associated gestalt's parse_args_i() but I believe that is not
- correct, as the gestalt's open() gets a copy of the arguments
- for parsing anyway. The service configurator's open() has a
- guard against being evaluated more than once, so there should be
- no side effects of calling the SC::parse_args_i() more than
- once.
-
- Thanks to Jack Lavender for reporting this problem.
-
- * examples/Service_Configurator/Misc/main.cpp:
-
- Modified this test so that command line arguments passed in to
- main() are all added to the list supplied to
- service_config::open().
-
- * THANKS:
- Updating contributors list.
-
-Thu Oct 16 18:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Network_Adapters_Test.cpp:
- Use ACE_OS::raise
-
-Thu Oct 16 18:13:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ACE.{h,cpp}:
- Always deliver strenvdup
-
- * ace/config-win32-common.h:
- Added new ACE_HAS_DIRECT_H, ACE_HAS_PROCESS_H, ACE_HAS_IO_H
-
- * ace/config-WinCE.h:
- Added new ACE_HAS_TYPES_H and ACE_LACKS_DEV_T
-
- * ace/Log_Record.h:
- Doxygen changes
-
- * ace/os_include/os_unistd.h:
- Use new ACE_HAS_PROCESS_H and ACE_HAS_IO_H
-
- * ace/os_include/sys/os_stat.h:
- Use new ACE_HAS_DIRECT_H and updated wince stat struct to match
- other platforms to get TAO compiling.
-
- * ace/os_include/sys/os_types.h:
- Use ACE_HAS_TYPES_H and ACE_LACKS_DEV_T
-
- * ace/OS_NS_sys_stat.inl:
- Update setting of stat struct on ce and also set the
- creation stamp
-
-Thu Oct 16 11:22:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-openvms.h:
- Define ACE_LACKS_WCSTOLL.
-
-Thu Oct 16 09:51:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Reactor/Misc/test_demuxing.cpp:
- Fixed compile error because SIGTERM is now always defined to 0
- when it is not set by the system (like on CE)
-
-Thu Oct 16 09:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_signal.h:
- * ace/OS_NS_signal.inl:
- Added wrapper for raise, fixes bugzilla 3462
-
- * ace/config-WinCE.h
- WinCE lacks raise, so set ACE_LACKS_RAISE
-
- * ace/Process.h:
- Doxygen changes
-
- * ace/Process.{cpp,inl}:
- Moved some accessors to the inline file
-
- * ace/Cleanup.cpp:
- Layout change
-
-Wed Oct 15 19:40:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_signal.h:
- Define SIGTERM to 0 when it is not defined
-
-Wed Oct 15 19:31:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_signal.h:
- Define SIGABRT to 0 when it is not defined
-
-Wed Oct 15 15:15:42 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * bin/tao_other_tests.lst:
-
- Since the test for bug 3444 uses TAO_PortableGroup it must
- avoid MINIMUM and CORBA_E_COMACT configurations.
-
-Wed Oct 15 12:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_main.{h,cpp}:
- Added ACE_DOESNT_DEFINE_MAIN which disabled the redefinition
- of main when it is set. This is usefull for projects who have
- methods with the name main which they can't change. Be aware
- that users then have to call ACE::init()/fini() themselves.
- This fixes bugzilla 3361/RT2331.
-
-Tue Oct 14 16:22:32 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * tests/Cached_Accept_Conn_Test.cpp:
- * tests/Cached_Accept_Conn_Test.h:
-
- Fixed a warning.
-
- * bin/PerlACE/Process_Win32.pm:
-
- Changed value of iflags in Win32::Process::Create (this flag
- directs a spawned process to inherit handles from calling
- process). It doesn't hurt if a new process is neither in
- CREATE_NEW_CONSOLE nor in DETACHED_PROCESS state but it does
- help if it's needed to hanle input from stdin supplied in
- calling process.
-
- * tests/SSL/Bug_2912_Regression_Test.cpp:
-
- Fixed a warning on Solaris compilers.
-
- * bin/tao_orb_tests.lst:
-
- Adjusted configurations in which test Bug_1459 must run.
-
- * examples/C++NPv2/AIO_Client_Logging_Daemon.h:
- * examples/APG/ThreadManagement/Async_Cancel.cpp:
-
- Fixed a warning on HP-UX compilers.
-
-Wed Oct 15 09:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/msvc_mpc_auto_compile.pl:
- Add the -vc9 option to the usage message
-
-Tue Oct 14 22:27:30 UTC 2008 Tim Pollock <pollockt@ociweb.com>
-
- * ace/Ping_Socket.cpp:
-
- Removed tabs accidentally added in previous modification.
-
-Tue Oct 14 19:38:45 UTC 2008 Tim Pollock <pollockt@ociweb.com>
-
- * ace/Ping_Socket.cpp:
-
- Fixed WinCE 5 build error associated with call to getpid.
-
-Tue Oct 14 13:09:35 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
+ * ace/config-openbsd.h:
* ace/config-sunos5.10.h:
-
- Undefine ACE_LACKS_WCSTOLL.
-
* ace/config-sunos5.5.h:
-
- Define ACE_LACKS_WCSTOLL.
-
-Tue Oct 14 12:56:42 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/config-win32-msvc.h:
-
- Define ACE_STRTOLL_EQUIVALENT and ACE_WCSTOLL_EQUIVALENT.
-
-Tue Oct 14 12:49:11 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
* ace/config-vxworks6.4.h:
- * ace/config-win32-borland.h:
-
- Define ACE_LACKS_STRTOLL and ACE_LACKS_WCSTOLL.
-
-Tue Oct 14 12:49:13 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * bin/tao_other_tests.lst:
-
- Disabled IPv6 tests for bug#3444 on non-IPv6 builds. And
- disabled the same test on static builds since it loads
- TAO_Strategies and TAO_PortableGroup dynamically.
-
-Tue Oct 14 12:44:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/config-hpux-11.00.h:
-
- Define ACE_LACKS_STRTOLL and ACE_LACKS_WCSTOLL.
-
-Tue Oct 14 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/OS_NS_stdlib.cpp:
- * ace/OS_NS_stdlib.h:
-
- Un-tabify commit of J.T. Conklin.
-
-Mon Oct 13 17:21:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/fuzz.pl:
-
- Add strtoll and strtoull to $OS_NS_stdlib_symbols regex in
- check_for_lack_ACE_OS fuzz check. Thanks to Abdullah Sowayan
- <abdullah dot sowayan at lmco dot com> for pointing this out.
-
- * ace/OS_NS_stdlib.cpp:
- * ace/OS_NS_stdlib.h:
- * ace/OS_NS_stdlib.inl:
-
- Add strtoll() wrapper. Fixes bugzilla issue #3456.
-
- Add wcstol(), wcstoul(), wcstoll(), and wcstoull() emulations
- for systems with wide characters, but without these functions.
- Fixes bugzilla issue #3457.
-
-Mon Oct 13 14:23:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * ace/config-linux-common.h:
- * bin/tao_other_tests.lst:
-
- Added 3 defines to reflect a difference of Linux in setting
- IP_MULTICAST_TTL and IP(V6)_MULTICAST_LOOP. This is required by
- Bug#3444. Added a test for Bug#3444.
-
-Mon Oct 13 13:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-ciao.txt:
- * rpmbuild/ace-tao.spec:
- Incremented already version number, release script doesn't do this
- yet
-
- * rpmbuild/ace-tao-ciao.txt:
- icmp is now enabled by default on linux
-
-Mon Oct 13 11:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * include/makeinclude/platform_lynxos.GNU:
- Problems with Lynxos5.0 due to -mshared being passed to compiler
- (inaddition to linker)
-
-Mon Oct 13 07:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Local_Name_Space_T.cpp:
- * ace/MEM_Connector.cpp:
- * ace/Multihomed_INET_Addr.cpp:
- * ace/Sock_Connect.cpp:
- ACE_TCHAR fixes
-
-Fri Oct 10 08:57:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Stack_Trace.cpp:
- Disable MSVC warning 4748 "/GS can not protect parameters
- and local variables from local buffer overrun because
- optimizations are disabled in function"
-
-Thu Oct 9 21:52:18 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/config-win32-common.h: Add ACE_HAS_ICMP_SUPPORT if Winsock 2
- is available.
-
- * tests/Network_Adapters_Test.{h cpp}: Removed extraneous ACE::init.
- Compare IP addresses using ACE_INET_Addr::is_ip_equal() instead of
- comparing get_ip_address() returns - this allows it to work with
- either IPv4 or IPv6.
-
-Thu Oct 9 17:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- Added more WinCE6 support by integrating some changes from OCI.
- Mon Aug 11 15:40:37 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
- * ace/config-win32-msvc-8.h:
- * ace/config-WinCE.h:
- WinCE 6.0 supports TSS and still does not support sig_atomic_t.
-
-Wed Oct 8 21:06:42 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Network_Adapters_Test.cpp: Extend the errno checks to correctly
- sense insufficient privs on AIX (EACCESS).
-
-Wed Oct 8 20:57:24 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Ping_Socket.cpp (send_echo_check): Fixed problem introduced in
- Tue Oct 7 23:04:50 UTC 2008 Steve Huston <shuston@riverace.com>
- while setting the ICMP id.
-
- * tests/Network_Adapters_Test.cpp: If the test can't run due to
- insufficient privs, do ACE_END_TEST and return; don't exit. Want
- to avoid triggering a test fail in the scoreboard when the test
- can't be run.
-
-Wed Oct 8 18:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * apps/gperf/src/Options.cpp
- * apps/gperf/src/Options.h
- Fixed ACE_TCHAR problems
-
- * apps/gperf/src/gperf.mpc
- * apps/gperf/tests/gperf_test.mpb
- Build and test gperf when uses_wchar is set
-
-Wed Oct 8 18:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Dirent_Test.cpp:
- Use the new ACE_HAS_TCHAR_DIRENT. Fixes bugzilla 3130
-
-Wed Oct 8 18:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_dirent.h:
- Set ACE_HAS_TCHAR_DIRENT when the dirent struct has a tchar
- filename. This is currently with CodeGear C++ with
- uses wchar enabled or with dirent emulation. This fixes bugzilla
- 3438
-
-Wed Oct 8 09:44:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-borland-common.h:
- Moved the contents to config-win32-borland.h and removed
- this file
-
- * ace/config-win32-borland.h:
- Added contents of config-borland-common.h
-
-Tue Oct 7 23:04:50 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/config-aix-5.x.h: Added ACE_HAS_ICMP_SUPPORT
-
- * ace/Ping_Socket.cpp: When setting or checking the ICMP id field,
- it's 16 bits, so restrict values to that range. AIX pids are 32 bits,
- and the ID checks failed; this fixes it.
-
-Tue Oct 7 23:01:44 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Network_Adapters_Test.cpp: If the ping/raw socket open fails
- because of a lack of privilege, issue a warning that the test can't
- run, not an error.
-
-Mon Oct 6 22:27:54 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/WFMO_Reactor.inl (suspend_handlers): Never suspend the notify
- or the wakeup_all_threads handles - these are specially set up by
- ACE_WFMO_Reactor::open(), not by users, and are critical to the
- proper functioning of the event loop.
- Fixes Bugzilla #3267.
-
- * tests/Reactor_Dispatch_Order_Test.cpp: Added some additional
- sanity checks and fixed some logging.
-
-Fri Oct 3 19:05:39 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Reactor_Token_T.cpp:
-
- Made reactor notify with zero timeout and ignore timeout case in
- sleep_hook(). This would fix bugzilla 2465 reactor deadlock
- problem.
-
-Thu Oct 2 16:41:57 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Basic_Types.h: Adjust the byte order decision for Itanium
- hardware. Itanium can run either byte order - the OS selects it
- at boot. The checks were correct for Windows (and maybe Linux)
- but not for HP-UX. Apparantly something in the predefined macros
- at aC++ 06.20 changed enough to fool this check.
-
-Mon Sep 29 18:04:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/CDR_File_Test.cpp:
- * tests/Log_Msg_Test.cpp:
- VxWorks 6.6 can't unlink in advance on NFS
-
-Mon Sep 29 13:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
- * tests/unload_libace.mpb:
- Use unicode lib modifier
-
-Sun Sep 28 18:16:53 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_3432_Regression_Test.cpp:
- * tests/OS_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
- Moved strptime test to its own file because ACE_OS::strptime() seems to
- behave differently on HPUX and no time to sort that out at this moment
-
- * tests/Pipe_Test.cpp:
- Renamed a few methods so that we don't have to disable the ACE_OS check
-
-Sun Sep 28 10:28:53 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/generate_rel_manpages:
- We are using doxygen 1.5.6 from now
-
-Thu Sep 25 18:27:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove ACE_LACKS_STRPTIME and ACE_LACKS_SI_ADDR autoheader
- templates. We already use the AC_DEFINE macros third argument
- for the descriptive text in the cooresponding feature tests.
-
-Thu Sep 25 17:37:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Add comment explaining why I'm bothering replacing autoheader
- templates in this file.
-
- * m4/acinclude.m4:
- * m4/config_h.m4:
-
- Move ACE_HAS_LLSEEK, ACE_HAS_LSEEK64,
- ACE_LACKS_LLSEEK_PROTOTYPE, and ACE_LACKS_LSEEK64_PROTOTYPE
- autoheader templates to ACE_CHECK_LSEEK64 feature test macro.
-
- * configure.ac:
- * m4/config_h.m4:
-
- Replace use of autoheader templates with AC_DEFINE macro's third
- argument for ACE_LACKS_CONDATTR_PSHARED,
- ACE_LACKS_MUTEXATTR_PSHARED, and ACE_LACKS_RWLOCKATTR_PSHARED
- feature tests.
-
-Thu Sep 25 16:45:16 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
* configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_LACKS_PLACEMENT_OPERATOR_NEW, as it is no longer used.
-
-Thu Sep 25 16:23:26 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Replace ~50 lines of open code with simple call to AC_CHECK_TYPE
- with ACE_DEFINE with a third argument for the ACE_LACKS_SEMBUF_T
- feature test.
-
- Move feature test for ACE_HAS_BYTESEX_H so it's adjacent to the
- test for ACE_HAS_BYTESWAP_H.
-
-Thu Sep 25 13:58:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/acinclude.m4:
-
- Remove ACE_CHECK_STRUCT and ACE_TRY_COMPILE_STRUCT autoconf
- macros. All use has been replaced by the standard autoconf
- AC_CHECK_TYPE macro.
-
- * configure.ac:
- * m4/config_h.m4:
-
- Replace use of ACE_CHECK_STRUCT with AC_CHECK_TYPE, and the use
- of AH_TEMPLATE with AC_DEFINE with a third argument for the
- ACE_HAS_PRUSAGE_T, ACE_LACKS_STRRECVFD, ACE_LACKS_SIGACTION,
- ACE_LACKS_SIGSET, and ACE_LACKS_UTSNAME_T feature tests.
-
- Replace use of ACE_TRY_COMPILE_STRUCT with AC_CHECK_TYPE in
- internal feature tests (no feature test macros are defined)
- for pthread_rwlock_t and pthread_rwlockattr_t.
-
- Remove duplicate ACE_LACKS_SI_ADDR feature test.
-
- Replace use of "test xxx == yyy" with "test xxx = yyy", the
- former is a GNU extension.
-
-Thu Sep 25 11:49:45 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/acinclude.m4:
-
- Remove ACE_CHECK_TYPE autoconf macro. All use of it has been
- replaced by the standard autoconf AC_CHECK_TYPE macro.
-
- * configure.ac:
- * m4/config_h.m4:
-
- Replace use of ACE_CHECK_TYPE with AC_CHECK_TYPE and the use
- of AH_TEMPLATE with AC_DEFINE with a third argument for the
- ACE_HAS_HI_RES_TIMER feature test.
-
-Thu Sep 25 00:28:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Replace use of ACE_CHECK_STRUCT with AC_CHECK_TYPE, and the use
- of AH_TEMPLATE with AC_DEFINE with a third argument for the
- ACE_LACKS_STRUCT_DIR, ACE_LACKS_FILELOCKS, ACE_LACKS_RWLOCK_T,
- and ACE_HAS_STRBUF_T feature tests.
-
-Wed Sep 24 17:43:22 UTC 2008 Rich Seibel <seibel_r@ociweb.com>
-
- * bin/tao_other_tests.lst:
-
- Added test for Bug 3387.
-
-Wed Sep 24 14:16:50 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ACE-INSTALL.html:
-
- Updated info on Visual Studio 2008 / VC9 and 64-bit Windows.
-
-Tue Sep 23 21:55:28 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * bin/tao_other_tests.lst:
-
- Bug 3431 was fixed, so I'm making this test part of the nightly
- build.
-
-Tue Sep 23 19:32:38 2008 Steve Huston <shuston@riverace.com>
-
- Brought in from ACE 5.6a:
- Tue Aug 26 17:11:10 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Service_Config_Test.cpp: Add a test for looking up services
- from a thread started outside ACE's control. This has code for
- Pthreads and Windows; other platforms will require additions if
- desired.
-
-Tue Sep 23 16:49:12 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Bug_2980_Regression_Test.cpp: Adjust to shared lib suffix
- that differs from ".so". Fixes HP-UX 11iv2 on PA-RISC. Generalizes
- (and reverts) the platform tests made in
- Mon Sep 22 13:17:19 UTC 2008 Simon McQueen <sm@prismtech.com>
-
-Tue Sep 23 15:41:43 2008 Steve Huston <shuston@riverace.com>
-
- * tests/run_test.pl: Don't delete Service_Config_Test.conf from the
- target; on local builds, it deletes it from the working dir and
- svn needs to restore it. Fixes Bugzilla #3409. Thanks to Johnny
- Willemsen for noticing this.
-
- * ace/os_include/sys/os_types.h:
- * ace/OS_NS_sys_stat.inl (umask): Changed mode_t from an int back to
- u_short. int conflicts with other packages' defs of mode_t (in
- particular, Perl). Of all the places mode_t is used, the only place
- int made a real difference was in calling _umask_s() on Windows
- VC8+. This change reverts the affected piece of
- Fri Mar 9 00:53:43 UTC 2007 Steve Huston <shuston@riverace.com>
-
-Tue Sep 23 15:32:57 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * bin/tao_other_tests.lst:
-
- Added new test for bug #3431. This test will definitely fail
- until the underlying problem in the IFR is addressed. There is
- no immediate plan to fix bug 3431.
-
-Tue Sep 23 11:25:58 UTC 2008 Simon McQueen <sm@prismtech.com>
-
- * ace/Assert.h:
-
- Add new macro: ACE_TEST_ASSERT. Behaves just like ACE_ASSERT but it
- doesn't boil away to nothing on non debug platforms.
-
-Mon Sep 22 23:18:36 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_unistd.inl:
- * ace/OS_NS_time.inl:
- Fixed WinCE link error
+ Removed floorl and ceill related settings which are no longer
+ needed.
- * ace/OS_NS_unistd.cpp:
- Initialise variable with 0
-
- * ace/config-vxworks6.4.h:
- Extended the check for lacking log2
-
-Mon Sep 22 14:54:36 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/ETCL_Constraint.cpp:
-
- Fix fuzz errors.
-
-Mon Sep 22 13:17:19 UTC 2008 Simon McQueen <sm@prismtech.com>
-
- * tests/Bug_2980_Regression_Test.cpp:
-
- Make this test portable for MacOS and HP-UX.
-
-Mon Sep 22 11:25:53 UTC 2008 Simon McQueen <sm@prismtech.com>
+Mon Mar 15 12:50:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
* bin/MakeProjectCreator/templates/gnu.mpd:
-
- Use variable CURDIR instead of PWD where possible to identify the
- current working directory. Fixes bug #3393.
-
-Sat Sep 20 13:13:29 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove ACE_HAS_SYSV_SYSINFO autoheader template. This is now
- handled within the ACE_CHECK_FUNC_SYSINFO macro.
-
- * configure.ac:
-
- Remove checks for ACE_HAS_SYS_SYSINFO_H, ACE_HAS_SYSTEMINFO_H,
- and ACE_HAS_SYSV_SYSINFO, and replace them with a single call
- to the new ACE_CHECK_FUNC_SYSINFO macro, which handles all the
- details. Fixes bugzilla issue #3325.
-
- * m4/ace_func.m4:
-
- New autoconf macro ACE_CHECK_FUNC_SYSINFO, which sets the
- ACE_HAS_SYS_SYSINFO_H, ACE_HAS_SYS_SYSTEMINFO_H,
- ACE_HAS_SYSV_SYSINFO, and/or ACE_HAS_LINUX_SYSINFO feature
- test macros as appropriate for the system.
-
-Sat Sep 20 12:23:10 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/OS_NS_unistd.inl:
- * ace/README:
- * ace/config-irix6.x-common.h:
- * ace/config-sunos5.4-g++.h:
- * ace/config-sunos5.4-sunc++-4.x.h:
- * ace/config-sunos5.5.h:
- * ace/config-tandem.h:
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
- * configure.ac:
- * m4/config_h.m4:
-
- Rename ACE_HAS_SYSINFO feature test macro to ACE_HAS_SYSV_SYSINFO,
- to further distinguish it from ACE_HAS_LINUX_SYSINFO.
-
-Fri Sep 19 19:26:18 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/PerlACE/Process_Win32.pm:
-
- If the executable contains whitespace, quote it when composing the
- command line.
-
-Fri Sep 19 17:51:12 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/ETCL_Constraint.cpp:
-
- Avoid core dump by returning 0 when evaluating division by zero.
- Partial fix for bugzilla issue #3429.
-
-Fri Sep 19 13:57:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Test_Outpot.cpp:
- Use ostream->good() to check if the stream is ok or not. bad() only
- checks for a corrupt stream, not if it could be created. This way the
- test doesn't run when we can't create the logfile on disk
-
- * tests/Cached_Accept_Conn_Test.cpp
- Removed check for deprecated compiler
-
-Fri Sep 19 09:41:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Network_Adapters_Test.cpp:
- Unicode fix
-
-Fri Sep 19 09:32:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/unload_libace.mpb:
- This project doesn't use acedefaults which then results in some
- borland required flags not being set
-
-Thu Sep 18 21:15:57 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/ace_defines.m4:
- * m4/ace_functions.m4:
- * m4/ace_headers.m4:
-
- Update m4 quoting so that macros work with both old and current
- versions of autoconf. Tested with both autoconf 2.58 (which is
- the earliest version we support) and the recently released 2.63.
- Fixes bugzilla issue #3396.
-
-Thu Sep 18 18:54:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/INET_Addr.{h,cpp}:
- Use bool and several doxygen changes
-
-Thu Sep 18 10:30:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * bin/diff-builds-and-group-fixed-tests-only.sh:
-
- Provide no test revision grouping results as well.
-
-Thu Sep 18 06:33:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_Time.{h,cpp,inl} (strptime):
- Always clear struct tm to zero
-
- * tests/OS_Test.cpp:
- Updated for change above
-
- * tests/Cached_Conn_Test.cpp:
- Removed check for deprecated compiler
-
-Wed Sep 17 18:47:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Cached_Connect_Strategy_T.{h,cpp}:
- reuse_addr is a bool
-
-Wed Sep 17 18:11:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/checked_iterator.h:
- Reverted change below for the moment, causes a lot of warnings in some
- builds.
-
- Tue Sep 16 12:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
- * ace/checked_iterator.h:
- Check for dinkum stl. Thanks to Mark Hebbel
- <Mark dot Hebbel at baslerweb dot com> for reporting this. This
- fixes bugzilla 3420
-
-Wed Sep 17 14:13:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_time.cpp (strptime_emulation):
- Don't set struct tm to zero
-
- * ace/OS_Test.cpp:
- Set struct tm to zero before calling strptime
-
-Wed Sep 17 13:23:56 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/ETCL_Constraint.cpp:
-
- Explicitly initialize base class in ETCL_Literal_Constraint copy
- constructor.
-
-Wed Sep 17 12:24:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Network_Adapters_Test.cpp:
- Unicode fix
-
-Wed Sep 17 12:19:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Thread_Manager.cpp:
- Found that the revert for bugzilla 3391 was not perfect. Thanks to
- Yauheni Akhotnikau <eao197 at intervale dot ru> for reporting
- this.
-
-Wed Sep 17 09:15:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ When generating with -static set static_libs_only to 1. This fixes
+ bugzilla 3815. Thanks to Chad Elliot for assisting with this
+
+Mon Mar 15 09:41:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted change below, it breaks unix builds
+
+ Mon Mar 15 07:58:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/High_Res_Timer.cpp
+ * ace/High_Res_Timer.h
+ * ace/High_Res_Timer.inl
+ Use 64bit calculations to increase our precision. If you want to have the 32bit
+ calculations, add ACE_USE_WINDOWS_32BIT_HIGH_RES_TIMER_CALCULATIONS as define. If
+ the scoreboard doesn't show any platforms requiring 32bit, we will remove that code
+ before the next micro release goes out
+ Thanks to Alon Diamant <diamant dot alon at gmail dot com> for supplying the patches.
+ This fixes bugzilla 3703.
+
+Mon Mar 15 07:58:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/High_Res_Timer.cpp
+ * ace/High_Res_Timer.h
+ * ace/High_Res_Timer.inl
+ Use 64bit calculations to increase our precision. If you want to have the 32bit
+ calculations, add ACE_USE_WINDOWS_32BIT_HIGH_RES_TIMER_CALCULATIONS as define. If
+ the scoreboard doesn't show any platforms requiring 32bit, we will remove that code
+ before the next micro release goes out
+ Thanks to Alon Diamant <diamant dot alon at gmail dot com> for supplying the patches.
+ This fixes bugzilla 3703.
+
+ * ace/Timer_Queue_Adapters.cpp
+ * ace/Timer_Queue_Adapters.h
+ * ace/Timer_Queue_Adapters.inl
+ Make it possible to use a customer event handler in ACE_Thread_Timer_Queue_Adapter.
+ Thanks to Alon Diamant <diamant dot alon at gmail dot com> for supplying the patches.
+ This fixes bugzilla 3614
* tests/tests.mpc:
- * tests/run_test.lst:
- Network_Adapters_Test shouldn't build/run with ace_for_tao
-
-Wed Sep 17 08:45:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Improved error handling when we can't connect with telnet
-
-Wed Sep 17 06:48:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
- * ace/config-vxworks6.4.h:
- VxWorks doens't have tzset
-
- * ace/OS_NS_time.inl:
- Simplified tzset
-
-Tue Sep 16 21:58:59 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/ETCL_Constraint.cpp:
-
- Changed ETCL_Literal_Constraint::copy(), so that the string
- associated with a constraint object of type ACE_ETCL_STRING is
- freed before the constraint is overwritten by the new value.
- This avoids a memory leak.
-
- * ace/ETCL/ETCL_Constraint.cpp:
- * ace/ETCL/ETCL_Constraint.inl:
-
- Implement ETCL_Literal_Constraint::operator!=, operator<=, and
- operator>= in terms of operator==, operator>, and operator< and
- make them inline. Removes a lot of boilerplate code and reduces
- static footprint.
-
-Tue Sep 16 21:12:21 UTC 2008 Phil Mesnier <phil@ociweb.com>
-
- * bin/MakeProjectCreator/config/crosscompile.mpb:
-
- Add a new flag to support crosscompiliation on Win32 platforms.
- This is initially needed to improve support for WinCE targets
- built using Visual Studio. See companion changes in the MPC
- tree for more details.
-
-Tue Sep 16 17:54:56 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * include/makeinclude/platform_sunos5_sunc++.GNU:
-
- Reverted the exceptions=0 part of the previous commit. exceptions=0
- is still supported for ACE, but not for TAO.
-
-Tue Sep 16 14:53:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * include/makeinclude/platform_sunos5_sunc++.GNU:
-
- When using the Sun std library (not stlport), explicitly link -lCrun
- and -lCstd. The linker will not include these when building shared
- libraries. Also removed code that was only used for exceptions=0.
-
-Tue Sep 16 13:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Bounded_Packet_Relay/bpr_thread.cpp:
- Removed msvc6 workaround and initialise some pointers with 0
-
- * examples/Reactor/Multicast/server.cpp:
- Corrected error message
-
- * examples/Web_Crawler/Web_Crawler.mpc:
- Removed borland
-
-Tue Sep 16 12:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.inl:
- Reverted some wince changes which shouldn't have been committed
-
-Tue Sep 16 12:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_unistd.inl:
- Reverted some wince changes which shouldn't have been committed
-
-Tue Sep 16 12:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/checked_iterator.h:
- Check for dinkum stl. Thanks to Mark Hebbel
- <Mark dot Hebbel at baslerweb dot com> for reporting this. This
- fixes bugzilla 3420
-
-Tue Sep 16 12:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * apps/Gateway/Gateway/Event_Channel.h
- * apps/gperf/src/Options.cpp
- * apps/gperf/src/Options.h
- * apps/JAWS2/JAWS/Server.cpp
- * apps/JAWS2/JAWS/Server.h
- * apps/JAWS3/bench/mkfiles.cpp
- * apps/JAWS3/bench/rqfiles.cpp
- * apps/JAWS3/http/HTTP_Service_Handler.cpp
- * apps/JAWS3/small/SS_Service_Handler.cpp
- * apps/JAWS/stress_testing/benchd.cpp
- * netsvcs/clients/Tokens/collection/collection.cpp
- * netsvcs/clients/Tokens/collection/rw_locks.cpp
- * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp
- * netsvcs/clients/Tokens/manual/manual.cpp
- * netsvcs/clients/Tokens/mutex/test_mutex.cpp
- * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp
- * performance-tests/Misc/test_guard.cpp
- * performance-tests/RPC/client.cpp
- ACE_TCHAR changes
-
-Tue Sep 16 10:52:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/*.bor:
- * bin/MakeProjectCreator/templates/bor.mpd
- * bin/MakeProjectCreator/templates/bordll.mpt
- * bin/MakeProjectCreator/templates/borexe.mpt
- * bin/MakeProjectCreator/config/borland.features
- * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
- * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
- Removed, use the bmake mpc template from now
-
- * bin/MakeProjectCreator/config/ipv6.mpb:
- * bin/MakeProjectCreator/config/vcl.mpb:
- * bin/MakeProjectCreator/README:
- Removed borland usage
-
-Tue Sep 16 09:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Acceptor.{h,cpp}:
- * ace/ACE.{h,cpp}:
- * ace/ATM_Acceptor.{h,inl}:
- * ace/Connector.cpp:
- * ace/DEV_Connector.{h,inl}:
- * ace/FILE_Connector.{h,inl}:
- * ace/FlReactor/FlReactor.{h,cpp}:
- * ace/FoxReactor/FoxReactor.{h,cpp}:
- * ace/LOCK_SOCK_Acceptor.{h,cpp}:
- * ace/LSOCK_Acceptor.{h,cpp}:
- * ace/MEM_Acceptor.{h,cpp}:
- * ace/Priority_Reactor.{h,cpp}:
- * ace/QtReactor/QtReactor.{h,cpp}:
- * ace/Reactor.{h,inl}:
- * ace/Reactor_Impl.h:
- * ace/Select_Reactor_Base.h:
- * ace/Select_Reactor_T.{h,cpp,inl}:
- * ace/Service_Manager.cpp:
- * ace/SOCK_Acceptor.cpp
- * ace/SOCK_Acceptor.h
- * ace/SOCK_Connector.h
- * ace/SOCK_Connector.inl
- * ace/SOCK_SEQPACK_Acceptor.cpp
- * ace/SOCK_SEQPACK_Acceptor.h
- * ace/SOCK_SEQPACK_Connector.h
- * ace/SOCK_SEQPACK_Connector.inl
- * ace/SPIPE_Acceptor.cpp
- * ace/SPIPE_Acceptor.h
- * ace/SPIPE_Connector.h
- * ace/SPIPE_Connector.inl
- * ace/SSL/SSL_SOCK_Acceptor.cpp
- * ace/SSL/SSL_SOCK_Acceptor.h
- * ace/SSL/SSL_SOCK_Connector.h
- * ace/Strategies_T.cpp
- * ace/Strategies_T.h
- * ace/TkReactor/TkReactor.cpp
- * ace/TkReactor/TkReactor.h
- * ace/TLI_Acceptor.cpp
- * ace/TLI_Acceptor.h
- * ace/TLI_Connector.h
- * ace/TLI_Connector.inl
- * ace/TP_Reactor.cpp
- * ace/TP_Reactor.h
- * ace/UPIPE_Acceptor.cpp
- * ace/UPIPE_Acceptor.h
- * ace/UPIPE_Connector.h
- * ace/UPIPE_Connector.inl
- * ace/WFMO_Reactor.cpp
- * ace/WFMO_Reactor.h
- * ace/WFMO_Reactor.inl
- * ace/XtReactor/XtReactor.cpp
- * ace/XtReactor/XtReactor.h
- Changed restart and reset_new_handles from int to bool
-
- * ace/ace_for_tao.mpc:
- * ace/QoS/qos.mpc:
- Zap borland as project type
-
- * ace/ace_qt3reactor.mpc:
- Removed empty line
-
- * ace/Bound_Ptr.{h,inl}:
- Let the null methods return bool
-
- * ace/config-borland-common.h:
- Borland has strptime
-
- * ace/config-linux-common.h:
- Enable icmp support by default on linux
-
- * ace/config-mvs.h:
- * ace/config-qnx-rtp-62x.h:
- * ace/config-qnx-rtp-pre62x.h:
- * ace/config-tandem-nsk-mips-v2.h:
- * ace/config-tandem-nsk-mips-v3.h:
- Removed fd_mask as define and added ACE_LACKS_FD_MASK
-
- * ace/config-rtems.h:
- Added ACE_LACKS_TZSTE
-
- * ace/config-WinCE.h:
- Updated some defines
-
- * ace/Dev_Poll_Reactor.{h,cpp}:
- Use more bool
-
- * ace/File_Lock.h:
- * ace/Message_Block.h:
- Doxygen changes
-
- * ace/Guard_T.{h,inl}:
- * ace/Service_Object.h:
- Bool changes and doxygen changes
-
- * ace/Handle_Set.h:
- Removed QNX workaround
-
- * ace/Log_Msg.{h,cpp,inl}:
- Bool changes, doxygen changes
-
- * ace/Message_Queue.h:
- Removed not needed includes
-
- * ace/Message_Queue_NT.h:
- Doxygen changes
-
- * ace/Notification_Queue.cpp:
- Layout changes
-
- * ace/os_include/sys/os_select.h:
- Added ACE_LACKS_FD_MASK
-
- * ace/OS_Log_Msg_Attributes.h:
- Use bool
-
- * ace/OS_NS_dirent.cpp:
- Const changes
-
- * ace/OS_NS_netdb.cpp:
- Initialise pointers with 0
-
- * ace/OS_NS_stdio.inl:
- WinCE changes
-
- * ace/OS_NS_stropts.h:
- Doxygen changes
-
- * ace/OS_NS_time.inl:
- Use more defines
-
- * ace/OS_NS_unistd.{h,inl}:
- Always have chdir available as method
-
-Tue Sep 16 08:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- Added test for strptime
-
- * tests/Service_Config_Test.cpp:
- Don't use ACE_ASSERT and always update the error_count. Fixes the failing
- of this test in release builds
-
- * tests/Test_Output.cpp:
- Initialise pointer with 0
-
-Tue Sep 16 08:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added bug 2543
-
- * bin/make_release.py:
- Generate bmake files
-
- * bin/fuzz.pl:
- bor files shouldn't be in the repo anymore
-
-Tue Sep 16 08:42:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE-INSTALL.html:
- Updated Borland/CodeGear support
-
- * Release:
- Package debianbuild, no generatin of ACE-INSTALL, use bmak files
-
-Tue Sep 16 08:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * debianbuild:
- New directory to store packaging files for debian
-
- * docs/Download.html:
- Updated for CodeGear
-
- * include/makeinclude/wrapper_macros.GNU:
- No need to add $ACE_ROOT/ace to libpath
-
-Tue Sep 16 08:32:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * ace/config-lynxos.h:
- * ace/os_include/os_signal.h:
- * include/makeinclude/platform_lynxos.GNU:
-
- Updated for LynxOS 5.0.
-
-Tue Sep 16 08:27:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * ace/Object_Manager.cpp:
-
- The following fixes stop our automated scoreboard from locking up during
- automated window VC8 builds and test runs. The enhance the original
- ACE_DISABLE_WIN32_ERROR_WINDOWS builds but only on VC8 and above INTEL
- machines.
-
- Starting with VC8 (VS2005), it is necessary to add the call to
- _set_abort_behavior( 0, _CALL_REPORTFAULT); to ensure that calls to
- abort() do not bypass any declared unhandled exception handler and directly
- call the default debugger or "report this problem to microsoft" dialogue.
- This does NOT stop the standard message from being logged to the error stream.
-
- Also starting with VC8 (VS2005), Microsoft changed the behaviour of the CRT
- in some security related and special situations. The are many situations in
- which our ACE_UnhandledExceptionFilter will never be called. This is a major
- change to the previous versions of the CRT and is not very well documented.
- See:
- http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101337
-
- Basically the CRT simply uninstalls the registered unhandled exception filter
- and then forces a call to the default-debugger. Jochen's solution is to stop
- the CRT from calling SetUnhandledExceptionFilter() after we have setup our own
- handler. NOTE this fix only works for intel based windows builds.
-
- This fix was derived from that proposed by Jochen Kalmbach here:
- http://blog.kalmbachnet.de/?postid=75
-
-Tue Sep 16 08:12:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * bin/diff-builds-and-group-fixed-tests-only.sh:
-
- Change default date to last release date.
-
-Mon Sep 15 16:34:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * NEWS:
- * docs/Download.html:
- * etc/index.html:
-
- Updated for x.6.6
-
-Mon Sep 15 11:08:04 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * ACE version 5.6.6 released.
-
-Fri Sep 12 21:13:04 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/MakeProjectCreator/config/MPC.cfg:
-
- Changed how DDS_ROOT is referenced (for OpenDDS support).
-
-Fri Sep 12 12:56:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- Reverted change below, brakes VMS support
-
- Tue Sep 9 18:46:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
- * bin/mwc.pl:
- * bin/mpc.pl:
- Use FindBin::RealScript to get the real script name, that also
- works when we have a symbolic link with a different name to
- one of these scripts. This fixes bugzilla 3407
-
-Thu Sep 11 14:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/diff-builds.pl
- * bin/diff-builds-and-group-fixed-tests-only.sh
-
- Make revision number appending to new test failures optional.
-
-Tue Sep 9 18:46:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mwc.pl:
- * bin/mpc.pl:
- Use FindBin::RealScript to get the real script name, that also
- works when we have a symbolic link with a different name to
- one of these scripts. This fixes bugzilla 3407
-
-Tue Sep 9 14:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/diff-builds-and-group-fixed-tests-only.sh
- Change the sort to cater from revision numbers.
-
-Tue Sep 9 13:39:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/diff-builds.pl
- typo vi / non-vi edit
-
-Tue Sep 9 13:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/diff-builds.pl
- Adjust for revision numbers.
-
-Tue Sep 9 11:36:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_time.cpp (strptime_emulation):
- Clear the struct tm before filling it. Without we get a random
- value back if the user doesn't use a full date.
-
-Tue Sep 9 11:31:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- Also generate a vxtest file for libraries
-
-Thu Sep 4 14:39:33 UTC 2008 Ciju John <johnc at ociweb dot com>
-
- * bin/diff-builds-and-group-fixed-tests-only.sh:
- '-P' isn't a valid option on Ubantu linux (Bug 15051). Replacing
- with Perl alternate.
-
-Wed Sep 3 10:23:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Don't run OBV Typed events with micro and compact configurations
+ * tests/Thread_Timer_Queue_Adapter_Test.cpp:
+ New test for testing custom event handlers in ACE_Thread_Timer_Queue_Adapter.
+ Thanks to Alon Diamant <diamant dot alon at gmail dot com> for creating
+ this new test
-Wed Sep 3 07:31:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Added support for ACE_RUN_VX_TGTSRV_WORKINGDIR. Before starting
- the executable we will do a chdir to this directory when it
- is specified
-
-Wed Sep 3 07:10:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bound_Ptr_Test.cpp:
- Don't use ACE_ASSERT, it is disabled in release mode and this test
- had some real functionality placed within an ACE_ASSERT. This fixes
- bugzilla 3415
-
-Tue Sep 2 14:11:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
- Don't use ACE_LIB_TEXT but ACE_TEXT, the former has been deprecated
- a long time ago
-
-Thu Aug 28 21:18:11 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
-
- Removed "Exceptions" and "NO_EXCEPTIONS" as -Config options.
-
-Thu Aug 28 18:33:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Improved prompt matching
-
-Thu Aug 28 13:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/auto_run_tests.pl:
- The error when we can't chdir to a directory was confusing
+Fri Mar 12 21:53:30 UTC 2010 Adam Mitz <mitza@ociweb.com>
* bin/PerlACE/ProcessVX.pm:
* bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Reduced duplicate code and added support for ACE_RUN_VX_STARTUP_SCRIPT
- and ACE_RUN_VX_STARTUP_SCRIPT_ROOT with which we can specify a
- startup script that is executed before the real application is started
-
- * bin/PerlACE/TestTarget_VxWorks.pm:
- A VxWorks target has to be rebooted between tests
-
-Mon Aug 25 11:15:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Added missing run_test.pl to the OBV/Typed_Events test
-
-Thu Aug 21 09:38:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/Download.html:
- Added OpenSuSE build services as new rpm download location.
- Removed ACE-install.sh reference, it is not part of the
- archive anymore
-
-Thu Aug 21 06:54:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
- Also check /usr/lib64 for the libs
-
- * bin/depgen.pl:
- * bin/mpc.pl:
- * bin/mwc.pl:
- * bin/PerlACE/ConfigList.pm:
- * bin/PerlACE/MSProject.pm:
- * bin/PerlACE/Process.pm:
- * bin/PerlACE/Process_Unix.pm:
- * bin/PerlACE/Process_VMS.pm:
- * bin/PerlACE/Process_Win32.pm:
- * bin/PerlACE/ProcessLVRT.pm:
- * bin/PerlACE/ProcessVX.pm:
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- * bin/PerlACE/Run_Test.pm:
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_LVRT.pm:
- * bin/PerlACE/TestTarget_VxWorks.pm:
- * bin/Uniqueid.pm:
- Added missing shebang lines to fix rpm packaging warnings
-
-Wed Aug 20 09:38:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
- * bin/MMakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
- Fixed bugzilla 3403. Migrated parts of the bmake type to this
- generator, fixes issues when we need to go a directory up
- in the workspace. As side effect the resulting Makefile.bor
- is smaller in size which reduces the full size of the
- distribution. In the near future I want to remove the borland
- MPC generator and only use bmake.
-
-Wed Aug 20 09:08:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Fixed a bug with putenv with rtp mode
-
-Tue Aug 19 19:06:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Don't use cmd to send commands through telnet. The disadvantage
- of the cmd method is that it only returns when the prompt
- appears again. When this doesn't happen we don't get the output
- of the last command into our build log or on the telnet client
-Tue Aug 19 14:01:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-borland.h:
- * ace/OS_NS_stdlib.inl:
- * ace/config-win32-msvc.h:
- CodeGear C++ Builder 2009 has wcstoull and strtoull
-
-Mon Aug 18 11:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-borland.h:
- CodeGear C++ Builder 2009 doesn't support inline assembly
-
-Mon Aug 18 10:17:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE-INSTALL.html:
- Improved BCB instructions
-
-Sun Aug 17 18:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE-INSTALL.html:
- * include/makeinclude/compiler.bor:
- Added BCBVER 10/11/12
-
-Sun Aug 17 07:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/mwc.pl:
- * bin/mpc.pl:
- Use RealBin to get the location of this script, that gives the
- real location also in case we use a symbolic link to these
- scripts. Thanks to Adam Mitz for pointing me to RealBin
-
-Fri Aug 15 11:07:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * make/makeinclude/platform_aix_ibm.GNU:
- Added missing AIX compiler version 0800.
-
-Wed Aug 13 14:40:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Truncate.h:
- Added missing specializations for Borland C++.
-
-Wed Aug 13 14:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * m4/ace_defines.m4:
- * m4/ace_functions.m4:
- * m4/ace_headers.m4:
- Reverted change below, doesn't work on suse 11.1 yet
-
-Wed Aug 13 13:22:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * m4/ace_defines.m4:
- * m4/ace_functions.m4:
- * m4/ace_headers.m4:
- Updated these files to work with autoconf 2.62. Thanks to
- Philipp Thomas <pth at suse dot de> for these patches. These
- are needed to use autoconf on OpenSuSE Factory (11.1 beta).
- This fixes bugzilla 3396.
-
-Wed Aug 13 11:55:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Truncate.h:
- Added missing specializations for Borland C++.
-
-Wed Aug 13 11:44:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-ciao.txt:
- Made several improvements to this new spec file. Thanks to
- Philipp Thomas <pth at suse dot de> for assisting with this
-
-Tue Aug 12 19:45:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Time_Value.inl:
- * examples/OS/Process/process.cpp:
- * examples/Misc/test_dump.h:
- * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
- * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
- * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
- * examples/ASX/Message_Queue/buffer_stream.cpp:
- * examples/ASX/Message_Queue/bounded_buffer.cpp:
- * examples/ASX/Message_Queue/priority_buffer.cpp:
- * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp:
- * examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp:
- * examples/ASX/UPIPE_Event_Server/event_server.cpp:
- * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp:
- * examples/Web_Crawler/Iterators.cpp:
- * examples/Web_Crawler/URL_Visitor.cpp:
- * examples/Web_Crawler/Mem_Map_Stream.cpp:
- * examples/Shared_Malloc/test_malloc.cpp:
- * examples/QOS/Simple/Sender_QoS_Event_Handler.cpp:
- * examples/APG/ThreadPools/TP_Reactor.cpp:
- * examples/IPC_SAP/FILE_SAP/client.cpp:
- * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
- * examples/IPC_SAP/SPIPE_SAP/NPClient.cpp:
- * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
- * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp:
- * examples/IPC_SAP/SSL_SAP/SSL-client.cpp:
- * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
- * examples/Logger/client/logging_app.cpp:
- * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
- * examples/Threads/thread_pool.cpp:
- * examples/Threads/thread_specific.cpp:
- * examples/Threads/task_four.cpp:
- * examples/Reactor/Multicast/Log_Wrapper.cpp:
- * examples/Reactor/WFMO_Reactor/Window_Messages.cpp:
- * examples/Reactor/Proactor/test_cancel.cpp:
- * examples/Reactor/Proactor/test_proactor.cpp:
- * examples/Reactor/Misc/notification.cpp:
- * examples/Connection/blocking/SPIPE-connector.cpp:
- * examples/Mem_Map/file-reverse/file-reverse.cpp:
- * examples/C++NPv1/Logging_Handler.cpp:
- * examples/C++NPv1/Logging_Client.cpp:
- * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
- * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp:
- * examples/C++NPv2/Client_Logging_Daemon.cpp:
- * examples/C++NPv2/Service_Reporter.cpp:
- * examples/C++NPv2/Logging_Handler.cpp:
-
- More truncation warning fixes.
-
-Tue Aug 12 18:15:08 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * docs/ace_guidelines.vsmacros:
-
- Update the macros file to ingore .xsd files.
-
- * docs/svn/config:
- * docs/svn/svn-prefs.reg:
-
- Added .aspx files to the configuration preferences.
-
-Tue Aug 12 08:00:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Thread_Manager.cpp:
- Revert changes of bugzilla 3391, Thread_Pool_Test does fail
- with the change
-
-Mon Aug 11 18:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Log_Msg_Test.cpp:
- Fixed unicode compile error
-
-Mon Aug 11 16:09:20 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Exclude TAO/tests/Bug_3068_Regression from single-threaded builds.
-
-Mon Aug 11 13:49:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/tests.mpc:
- There were still some tests that produce test libraries that were
- not updated when acelib was devorced from ace_output project. Such
- tests need to either add the dependancy (to place their output in
- the standard lib directory) or have "libout = ." to specify the
- library to be placed locally in the test directory.
-
-Mon Aug 11 13:37:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Thread_Manager.{h,cpp,inl}:
- Make sure we don't miss any already terminated threads when doing
- a join. Also made some code more readable, removed ancient AIX
- workarounds. This fixes bugzilla 3391. Thanks to
- <giovanni dot mele at nagra dot com> for reporting this
-
- * ace/Containers_T.{h,cpp}:
- Changed dont_remove to a bool
-
-Mon Aug 11 12:45:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_stdio.cpp:
- Simplified some methods
-
-Mon Aug 11 08:56:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Added an option to use the 'expect' program to interact with
+ the remote target (via telnet). This is only enabled when the
+ environment variable ACE_RUN_VX_USE_EXPECT is defined.
* tests/Log_Msg_Test.cpp:
- Extending testing of ACE_Log_Msg by enabling the format specifiers
- tests and add a test for %T. Also removed the check for vsnprintf
- to see that VxWorks 5.5.x still has a problem with buffer overflows.
- In that case we have to fix that in ACE_Log_Msg.
-
- * ace/Log_Msg.cpp:
- Fixed some buffer size calculations when ACE_TCHAR != char. Fixed
- %T when wchar is used, thanks to Nathalie D'Amours
- <nathalie at bearsontheloose dot com> for reporting this. This fixes
- bugzilla 3388
-
- * ace/ACE.{h,cpp} (timestamp):
- Use bool and sizes of buffers should have size_t as type
-
- * ace/MEM_Stream_Test.cpp:
- Removed incorrect comment
-
-Mon Aug 11 07:36:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Makefile.am:
- Added missing header files. Thanks to haibin zhang
- <dragzhb at yahoo dot com dot cn> for reporting this
-
-Sun Aug 10 23:02:15 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/SSL/SSL_SOCK_Stream.inl (set_handle):
-
- Reverted back to the C-style cast that was there before Jeff's commit
- because many compilers didn't like a reinterpret_cast<int> here.
-
-Sat Aug 9 17:42:10 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/SSL/SSL_SOCK_Acceptor.cpp:
- * ace/SSL/SSL_SOCK_Connector.cpp:
- * ace/SSL/SSL_SOCK_Stream.inl:
- * ace/SSL/SSL_SOCK_Stream.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.inl:
-
- Fixed compile errors in inline=0 and Win32-ssl builds.
- ACE_Utils::truncate_cast can't cast ACE_HANDLE to int on Win32.
-
-Fri Aug 8 20:35:37 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Glibc implementation: fixed whitespace
- VxWorks (both kernel and RTP): VxWorks can return -1 for the number
- of arguments when the actual number is unknown.
-
-Fri Aug 8 19:33:42 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Message_Queue_T.cpp:
- * ace/SSL/SSL_Asynch_BIO.cpp:
- * ace/SSL/SSL_SOCK_Acceptor.cpp:
- * ace/SSL/SSL_Context.cpp:
- * ace/SSL/SSL_Asynch_Stream.cpp:
- * ace/SSL/SSL_SOCK_Connector.cpp:
- * ace/SSL/SSL_SOCK_Stream.cpp:
- * ace/SSL/SSL_SOCK_Stream.inl:
- * Kokyu/DSRT_Sched_Queue_T.cpp:
- * Kokyu/Default_Dispatcher_Impl.cpp:
- * ACEXML/common/Transcode.cpp:
- * ACEXML/common/HttpCharStream.cpp:
- * ACEXML/common/Mem_Map_Stream.cpp:
- * examples/Monitor/MC_Test_Utilities.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.inl:
-
- Fixes for VC 7.1 warnings, mostly truncation.
-
-Fri Aug 8 17:58:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Changed the ACE_NEW_THROWS_EXCEPTION feature test to use
- setrlimit() (on systems that have it) to reduce the RLIMIT_DATA
- limit so the test, which continuously allocates memory in order
- to observe the behavior of out-of-memory conditions, will "fail"
- quickly without unnecessarily consuming a lot of system
- resources. Fixes bugzilla #3090.
-
-Fri Aug 8 14:42:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
- * bin/fuzz.pl:
- Also check cpp/inl files for RefCountServantBase
-
-Fri Aug 8 08:36:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Truncate.h:
- Added missing specializations for Borland C++.
-
-Fri Aug 8 08:17:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Makefile.am:
- Added missing Svc_Conf_Token_Table.h which was already in the MPC
- file. Thanks to haibin zhang <dragzhb at yahoo dot com dot cn>
- for reporting this
-
-Thu Aug 7 21:59:58 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Added the new test TAO/tests/Bug_3068_Regression.
-
-Thu Aug 7 20:21:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Process_Manager.cpp:
- * ace/Asynch_IO.cpp:
- * ace/Pagefile_Memory_Pool.cpp:
- * ace/MEM_IO.cpp:
- * ace/Time_Value.inl:
- * ace/SV_Semaphore_Simple.cpp:
- * ace/Thread_Manager.cpp:
- * ace/MEM_IO.inl:
- * ace/ETCL/ETCL_Interpreter.cpp:
- * ace/UPIPE_Stream.cpp:
- * ace/SOCK_Dgram.cpp:
- * ace/FILE_IO.cpp:
- * ace/OS_NS_unistd.cpp:
- * ace/FIFO_Recv_Msg.inl:
- * ace/CDR_Size.cpp:
- * ace/ACE.cpp:
- * ace/CDR_Stream.cpp:
-
- Added usage of ACE_Utils::truncate_cast<>
- to get rid of conversion warnings, mostly from size_t
- to ssize_t.
-
-Thu Aug 7 18:02:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * NEWS:
- ACE/TAO/CIAO now supports CodeGear C++ Builder 2009
-
-Thu Aug 7 15:28:13 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Makefile.am:
-
- Added source file Null_Network_Interface_Monitor.cpp that
- was overlooked until now.
-
-Wed Aug 6 18:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace.mpc:
- Added a few missing header files
-
-Wed Aug 6 18:17:32 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * protocols/ace/HTBP/HTBP_Channel.cpp:
- * ace/SSL/SSL_Asynch_Stream.cpp:
- * performance-tests/TCP/tcp_test.cpp:
- * performance-tests/UDP/udp_test.cpp:
- * tests/Upgradable_RW_Test.cpp:
- * tests/ARGV_Test.cpp:
- * tests/OrdMultiSet_Test.cpp:
- * apps/JAWS/server/HTTP_Server.cpp:
- * apps/soreduce/Obj_Module.cpp:
- * apps/soreduce/Library.cpp:
- * apps/soreduce/soreduce.cpp:
- * apps/soreduce/SO_Group.cpp:
- * websvcs/lib/URL_Addr.cpp:
- * examples/OS/Process/imore.cpp:
- * examples/Connection/blocking/SPIPE-connector.cpp:
- * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
- * examples/C++NPv2/Client_Logging_Daemon.cpp:
-
- Cosmetic changes to eliminate warnings from
- some Linux compilers.
-
-Wed Aug 6 13:40:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * docs/bczar/bczar.html:
- Updated the "Bugzilla" section to match the current version
- of bugzilla's interface.
-
-Wed Aug 6 13:01:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/SOCK_CODgram.cpp:
- Fixed gcc 4.3 warnings
-
-Wed Aug 6 08:49:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Connection/blocking/SPIPE-connector.cpp:
- * examples/OS/Process/imore.cpp:
- Fixed gcc 4.3 warnings
-
-Wed Aug 6 08:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
- * examples/C++NPv2/Client_Logging_Daemon.cpp:
- Fixed gcc 4.3 warnings
-
-Wed Aug 6 08:12:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * configure.ac:
- * m4/ace.m4:
- Use more cached values, improved detection of tcl. Add bzip2
- support
-
-Wed Aug 6 08:01:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACEXML/common/ZipCharStream.cpp:
- Fixed compile error in some builds
-
- * ACEXML/parser/parser/Parser.cpp:
- Check for the dtd file using a / and \ path specifier. This
- makes it possible to also use a / on windows to specify
- the path. This fixes bugzilla 3352
-
- * ACEXML/common/FileCharStream.h:
- Doxygen fix
-
- * ACEXML/common/FileCharStream.cpp:
- No need to check for a valid pointer before calling delete
-
-Tue Aug 5 19:33:26 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Log_Msg.cpp: Fixed tab characters.
-
- * ace/config-posix.h: Only set ACE_HAS_POSIX_SEM_TIMEOUT if the
- _POSIX_TIMEOUTS feature test is not -1 (disabled). Fixes build
- on HP-UX 11iv3.
-
- * examples/APG/ThreadPools/LF_ThreadPool.cpp (elect_new_leader): Log
- the "Resiging and Electing" message at LM_DEBUG severity, not
- LM_ERROR. This is on APG page 342. Thanks to Julien Vintrou for
- pointing this out.
-
- * THANKS: Added Julien Vintrou.
-
-Tue Aug 5 20:19:28 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/config-linux-common.h: Removed ACE_HAS_BROKEN_THREAD_KEYFREE.
- Reverts change from
- Thu Aug 9 13:39:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
- which is no longer needed.
-
-Tue Aug 5 18:51:02 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/MMAP_Memory_Pool.cpp:
- * ace/Service_Manager.cpp:
- * ace/Stream.cpp:
- * Kokyu/Dispatcher_Task.cpp:
- * apps/gperf/src/List_Node.cpp:
- * apps/gperf/src/Key_List.cpp:
- * apps/gperf/src/Gen_Perf.cpp:
- * apps/gperf/src/Iterator.cpp:
- * apps/gperf/src/Hash_Table.cpp:
- * ACEXML/common/ZipCharStream.cpp:
- * ACEXML/common/HttpCharStream.cpp:
- * ACEXML/parser/parser/Parser.inl:
- * ASNMP/asnmp/asn1.cpp:
- * ASNMP/asnmp/address.cpp:
-
- Cosmetic changes to eliminate warnings on
- Fedora Rawhide.
-
-Tue Aug 5 18:37:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-init-fedora.tar.bz2:
- * rpmbuild/ace-tao-init-suse.tar.bz2:
- Seperated distribution specific files in two bz2 archives,
- the rpm spec file will use one of them
-
-Tue Aug 5 16:41:03 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Log_Msg.h: Changed key_created_ from int to bool.
-
- * ace/Log_Msg.cpp (close): Two changes related to Bugzilla 2980:
- - Remove the #if ACE_HAS_BROKEN_THREAD_KEYFREE - the code inside
- that block was what should always be done - delete the ACE_Log_Msg
- instance and reset the TSS value to 0 so it's not cleaned up again
- later when the thread runs down. The whole idea of the
- ACE_HAS_BROKEN_THREAD_KEYFREE seems dubious and should probably be
- removed, but I haven't gone that far - there's one more use in
- OS_NS_Thread which seems pertinent for LynxOS and I can't test
- it, so it's still there - but should be reviewed and probably
- removed.
- - Free the TSS key - if setting key_created_ to 0, what's the point
- of leaving the key? Any future attempt to get the per-thread value
- would result in a new key being created. Again, freeing the key
- has no affect on already-allocated instances.
- This should resolve Bugzilla 2980 again.
-
-Tue Aug 5 14:33:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ Updated the ACE_VXWORKS version check to include version 6.8.
- * rpmbuild/ace-tao-ciao.txt:
- Spec file that is work in progress. Didn't use spec as extension
- because that gives problems with rpmbuild.
-
-Tue Aug 5 13:52:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Guard_T.h:
- * ace/Guard_T.inl:
- * ace/TSS_T.cpp:
- Changed block to a bool
-
- * ace/Guard_T.h:
- Initialise owner_ to solve gcc 4.3 warnings
-
-Tue Aug 05 10:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp:
-
- I don't know why removing "TP_Reactor.h" stopped ACE.h from
- being included; but is seems it was incidently included in
- the previous (non-Dev_Poll) test.
-
-Tue Aug 5 08:02:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACEXML/common/HttpCharStream.cpp:
- Fixed gcc4.3 warning
-
-Tue Aug 5 07:53:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Message_Queue_Test.cpp:
- * tests/Message_Queue_Test_Ex.cpp:
- Fixed gcc4.3 warning
-
-Tue Aug 5 07:11:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/IPC_SAP/SOCK_SAP/run_test
- * examples/IPC_SAP/SOCK_SAP/summarize
- * examples/IPC_SAP/SSL_SAP/summarize
- * examples/IPC_SAP/SOCK_SAP/run_test.sh
- * examples/IPC_SAP/SOCK_SAP/summarize.pl
- * examples/IPC_SAP/SSL_SAP/summarize.pl
- Renamed files to have an extension that matches the type of file
-
-Tue Aug 5 06:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/add_rel_link.sh:
- Added missing path
-
-Mon Aug 4 19:58:20 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Process.cpp (inherit_environment): Re using Unicode from
- Thu Jul 31 15:10:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
- only do it for systems that have ACE_HAS_WCHAR. Fixes a LabVIEW
- Pharlap ETS build issue.
-
-Mon Aug 04 13:08:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Reactor_Remove_Resume_Test.cpp:
- * tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp:
* tests/run_test.lst:
- * tests/tests.mpc:
-
- Split out the ACE_Dev_Poll_Reactor part of this test since
- this is excersing a known problem with ACE_Dev_Poll_Reactor
- (see Bugzilla 3178).
-
-Mon Aug 4 07:20:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-g++-common.h:
- * ace/config-macros.h:
- Moved definition of ACE_UNUSED_ARG for GC back to config-macros.h else
- it isn't available when doing an autoconf build
-
-Fri Aug 1 10:59:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * tests/Process_Env_Test.cpp:
- #ifdef-out the helper functions in the cases where the body of
- run_main is also #ifdef'ed-out.
+ Added !VxWorks to exclude Pipe_Test which can't be run
+ on VxWorks (kernel mode) because it depends on ACE_Process::spawn().
-Thu Jul 31 15:10:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
+Fri Mar 12 12:09:02 UTC 2010 Olli Savia <ops@iki.fi>
- * ace/Process.cpp (inherit_environment):
+ * ace/OS_NS_math.h:
+ * ace/OS_NS_math.inl:
+ Rewrote ceil and floor functions using templates and overloaded
+ ceil/floor functions provided by standard C++.
- When "use_unicode_environment" is in effect, use the unicode env
- block (GetEnvironmentStringsW) when copying the current environment
- in order to inherit it (Win32 only).
-
- * tests/Process_Env_Test.cpp:
-
- Extended this test to verify that a large environment block is indeed
- inherited by the spawned process.
-
-Thu Jul 31 13:16:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/tao_orb_tests.lst:
-
- The QUICK test alternatives should have the same configs as
- their non-quick alternative tests. This has been playing havok
- with !Win32 tests on windows platforms that are using QUICK.
-
-Thu Jul 31 12:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/run_test.lst:
- * tests/tests.mpc:
- * tests/Refcounted_Event_Handler_Test_DevPoll.cpp:
- * tests/Reference_Counted_Event_Handler_Test_Dev_Poll.cpp:
-
- Test renamed (has to be less than 38 characters).
+ * tests/OS_Test.cpp:
+ Added tests for ceil(float) and floor(float).
-Thu Jul 31 10:25:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Thu Mar 11 09:33:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/config-g++-common.h:
- Use a different ACE_UNUSED_ARG macro for GCC 4.2 and newer. Moved
- also the definition for gcc to this file instead of config-macros.h.
- Thanks to Jules Colding <colding at 42tools dot com>, Jonathan Brannan
- <jbrannan at atdesk dot com>, and Ken Sedgwick <ken at bonsai dot com>
- for providing the patches. This fixes bugzilla 3270
-
- * ace/config-macros.h:
- Don't define ACE_UNUSED_ARG for GCC
+ PPU 4.1.1 for PPC doesn't have atomic builtin support
+ for datatypes of size 1 and 2
- * rpmbuild/ace-tao.spec:
- Removed unused arg patch
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ Added defines to just disable short/unsigned short/bool specializations
- * rpmbuild/ace-tao-unusedarg.patch:
- Removed, not needed anymore
-
-Thu Jul 31 10:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
-
- To avoid warnings on platforms where:
- #if defined (ACE_HAS_DEV_POLL) || defined (ACE_HAS_EVENT_POLL)
- is false, this test has now been fully guarded and an alternate
- main provided.
-
- * tests/Reference_Counted_Event_Handler_Test_Dev_Poll.cpp:
* tests/run_test.lst:
- * tests/tests.mpc:
-
- Since the collated test scores are actually grouping both runs
- of the original test together (they ignore parameters apparently),
- a newly named test was needed.
+ Enable 2610 but mark it as not fixed
-Thu Jul 31 10:05:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macros.h:
- Only define ACE_UNUSED_ARG when it is not defined yet. Makes it
- easier to test how to resolve warnings with gcc 4.3
-
-Wed Jul 30 14:03:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks6.2.GNU:
- * include/makeinclude/platform_vxworks6.3.GNU:
- Also convert slashes in HOST_ROOT
-
-Wed Jul 30 09:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/tests.mpc:
-
- Missed adding the new Reactor_Dispatch_Order_Test_Dev_Poll
- entry.
-
-Tue Jul 29 22:23:08 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/ace.m4:
-
- Add ACE_PATH_BZIP2 feature test, sets ACE_BZIP2_CPPFLAGS,
- ACE_BZIP2_LDFLAGS, and ACE_BZIP2_LIBS as needed when
- --with-bzip2 is specified on the command line.
-
-Tue Jul 29 21:33:14 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/config/automake.features:
-
- Add bzip2=1
-
-Tue Jul 29 21:29:43 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/config/ace_bzip2.mpb:
-
- New file, overrides definitions from MPC's bzip2.mpb for
- automake build.
-
-Tue Jul 29 19:58:22 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Reverted Tue Jul 29 14:21:32 UTC 2008 Adam Mitz <mitza@ociweb.com>
- because the bug should now be fixed in TAO.
-
-Tue Jul 29 18:11:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- TAO/tests/Bug_3000_Regression fails because that issue remains
- unresolved, added !FIXED_BUGS_ONLY.
-
-Tue Jul 29 14:21:32 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- TAO/tests/Bug_3163_Regression fails because that issue remains
- unresolved, added !FIXED_BUGS_ONLY.
-
-Tue Jul 29 12:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/run_test.lst:
- * tests/Reference_Counted_Event_Handler_Test.cpp:
-
- Corrected the disabling of ACE_Dev_Poll_Reactor test and split
- the test into two runs once with this reactor test disabled
- and once with just this reactor test enabled (marked with
- !FIXED_BUGS_ONLY) due to internal problems with
- ACE_Dev_Poll_Reactor.
-
-Tue Jul 29 12:14:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/run_test.lst:
- * tests/Reactor_Dispatch_Order_Test.cpp:
- * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
-
- These tests now actually return a failure if the test failed
- instead of always returning 0. I have also split out the
- problematic part of this test re-enabled by:
- Wed Jul 9 19:07:24 2008 Steve Huston which itself reversed:
- Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen that originally
- disabled testing for ACE_Dev_Poll_Reactor due to internal
- problems with ACE_Dev_Poll_Reactor.
-
-Mon Jul 28 13:39:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macros.h:
- * ace/streams.h:
- Removed workarounds for ancient Borland C++ versions
-
-Mon Jul 28 13:32:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/Process_Manager.cpp:
+ Layout change
- * ace/Asynch_Acceptor.cpp:
* ace/WIN32_Asynch_IO.cpp:
- Removed compiler checks
-
- * ace/OS_NS_stdio.cpp:
- Don't check for Borland C++ but for ACE_HAS_NONCONST_FDOPEN
-
- * ace/OS_NS_stdio.inl:
- Removed workaround for Borland C++
-
-Mon Jul 28 13:10:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Global_Macros.h:
- Removed obsolete workaround for Borland C++
-
-Mon Jul 28 13:03:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace_wchar.h:
- Removed obsolete workaround for Borland C++
-
-Mon Jul 28 11:52:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Registry.cpp:
- Don't declare a static object within a method because that
- could lead to race conditions in a multi threaded program
-
- * ace/ace_qt4reactor.mpc:
- Fixed bug in this file
-
-Mon Jul 28 11:40:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ETCL/ETCL_Interpreter.h:
- Doxygen fixes and made destructor virtual, this is a base class
-
- * ace/INET_Addr.cpp:
- Const change
-
-Fri Jul 25 14:21:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace_qtreactor.mpc:
- * ace/ace_qt3reactor.mpc:
- Renamed qt to qt3, this builds and links the qtreactor
- with qt3
-
- * ace/ace_qt4reactor.mpc:
- New project for qt4
-
- You can set qt=1 and qt3=1 together or set qt4=1, but not
- both at the same time. Thanks to Kees van Marle
- <kvmarle at remedy dot nl> for testing qt4
-
-Fri Jul 25 14:13:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/QtReactor/QtReactor.cpp:
- * ace/QtReactor/QtReactor.h:
- Improved qt4 support
-
-Fri Jul 25 14:09:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/ace_qt3.mpb
- * bin/MakeProjectCreator/config/ace_qt4.mpb
- * bin/MakeProjectCreator/config/global.features:
- Set qt3 and qt4 default to 0. qt4 has different libs
- that we need to link with but also the qglobal.h is
- located on a different location, so added ACE_HAS_QT4
- which is then used to select which qglobal.h we include.
-
- * bin/MakeProjectCreator/config/ace_qtreactor.mpb:
- This is for qt3 so derive from ace_qt3
-
-Thu Jul 24 19:04:13 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Containers_T.h: Improved documentation for ACE_DLList, noting
- especially that T pointers inserted into the list are not deleted
- when removed. Thank you to Bob Fiske for this improvement and sample
- code to illustrate.
-
- * THANKS: Added Bob Fiske.
-
-Thu Jul 24 12:50:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/diff-builds-and-group-fixed-tests-only.sh:
- This shell script runs the perl diff-builds.pl script between
- the date given as the first parameter and the current utc date.
- The output is tidied up and any !FIXED_BUGS_ONLY bugs are
- removed before being grouped and the failed tests counted.
-
-Thu Jul 24 08:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- Added config item !FIXED_BUGS_ONLY to tests that highlight
- problems that have not yet been fixed. Please remove this
- config item once the bugs have actually been fixed, and
- include this config item with any newly added tests in the
- future that fall into this category.
-
-Wed Jul 23 13:30:28 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/PerlACE/Process_Win32.pm:
- Allow named .bat files for windows.
-
-Wed Jul 23 13:08:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/generate_doxygen.pl:
- * etc/tao_ziop.doxygen:
- * html/index.html:
- Added TAO ZIOP to the documentation
-
-Wed Jul 23 10:51:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Select_Reactor_Base.h:
- Doxygen change
-
- * ace/Select_Reactor_T.cpp:
- * ace/Select_Reactor_T.h:
- * ace/TP_Reactor.cpp:
- * ace/TP_Reactor.h:
- mask_signals should be a bool like in the base class
-
-Wed Jul 23 08:11:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/SOCK_Dgram_Mcast.cpp:
- Use reentrant get_host_addr. This fixes bugzilla 3368. Thanks to
- Yongming Wang <wangym at gmail dot com> for reporting this
-
-Tue Jul 22 15:02:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/group_test_stats.sh:
- Reverse and sort numerically so that highest number of
- failures are listed first.
-
-Tue Jul 22 13:09:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added ZIOP test
-
-Tue Jul 22 11:52:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/make_release.py:
- Don't convert line ending for pdf files
-
-Tue Jul 22 09:55:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/config/global.features:
- bzip2 is default disabled
-
-Tue Jul 22 07:36:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/CDR_Stream.{h,cpp,inl}:
- Added setting for alignment which is needed for ZIOP where we want
- to place back the wr_ptr to a previous location. Few const and layout
- changes
-
-Mon Jul 21 13:09:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Run nslist tests under vxworks
-
-Sat Jul 19 19:58:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macosx-tiger.h:
- Make sure we set the correct ACE_SIZEOF_LONG_DOUBLE value. Thanks
- to Frank F�rster <F dot Forster at herts dot ac dot uk> for reporting this
-
-Thu Jul 17 20:24:11 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/OS_NS_sys_socket.inl (recvfrom): For Pharlap ETS, correct for
- a situation where recvfrom() returns a good address but an
- unexpectedly short length.
-
-Tue Jul 15 17:29:22 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
- * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
- * examples/Monitor/Constraint/constraint.cpp:
- * examples/Monitor/CPU_Load/cpu_load.cpp:
- * examples/Monitor/Num_Threads/num_threads.cpp:
- * examples/Monitor/Group/group.cpp:
- * examples/Monitor/Memory_Usage/memory_usage.cpp:
-
- Changes corresponding to the relocation in
-
- Tue Jul 15 17:19:14 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
-Tue Jul 15 17:19:14 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Size.cpp:
- * ace/Monitor_Control_Types.cpp:
- * ace/Monitor_Control_Types.h:
- * ace/Monitor_Base.cpp:
- * ace/Monitor_Base.h:
- * ace/Monitor_Base.inl:
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/CPU_Load_Monitor.cpp:
- * ace/Monitor_Control/Monitor_Group.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
- * ace/Monitor_Control/Monitor_Query.cpp:
- * ace/Monitor_Control/Num_Threads_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- Relocated the statistics-related values from
- Monitor_Base to Monitor_Control_Types. Also
- inlined the information type accessor, the
- constraint list accessor and the refcounting
- methods.
-
-Tue Jul 15 01:27:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-win32-common.h:
- Added pragma comment for iphlpapi.lib. Thanks to Yongming Wang
- <wangym at gmail dot com> for reporting this
-
-Mon Jul 14 12:50:34 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * NEWS:
-
- Added an entry for my change from Mon Jun 30 12:41:00 UTC 2008.
-
-Mon Jul 14 12:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Message_Queue_T.cpp:
-
- Correct void function dump returns from previous commit of:
- Fri Jul 11 08:06:40 UTC 2008 James H. Hill
-
-Sat Jul 12 12:59:19 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-borland-common.h:
- Removed BCB4 support
-
- * ace/ACE.cpp:
- Const/layout changes
-
- * ace/Configuration.h:
- Doxygen changes
-
- * ace/Monitor_Base.cpp (retrieve_and_clear):
- Use clear_i to prevent deadlocks
-
- * ace/SOCK_IO.cpp:
Const changes
- * ace/Strategies_T.cpp:
- layout changes
-
-Fri Jul 11 23:48:19 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/make_release.py:
- Don't exclude the mwc files for vc8. Thanks to Michael Guntli
- <michael dot guntli at leica-geosystems dot com> for reporting
- this. This fixes bugzilla 3364
-
-Fri Jul 11 14:41:19 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * NEWS:
-
- Updated the NEW file to reflect previous ChangeLog entry.
-
-Fri Jul 11 08:06:40 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * ace/Message_Queue_T.h:
- * ace/Message_Queue_T.cpp:
-
- Implemented the iterator and reverse iterator for the
- ACE_Message_Queue_Ex class.
-
-Wed Jul 9 21:20:13 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/README:
- Added basic rpmbuild instructions.
-
-Wed Jul 9 19:07:24 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Reactor_Dispatch_Order_Test.cpp: Reversed this change:
- Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
- which disabled testing for ACE_Dev_Poll_Reactor. Let's see what the
- issues are then address and/or disable as needed.
- Also fixed a cut/paste error.
-
-Wed Jul 9 18:37:57 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Reference_Counted_Event_Handler_Test.cpp: Enabled test for
- Winsock 2 systems; previously only ran the ACE_WFMO_Reactor-based
- test for non-Winsock 2 systems, where it is not supported.
-
-Wed Jul 9 17:45:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_NON_BLOCKING_CONNECTS.
-
- * tests/MT_SOCK_Test.cpp:
-
- Remove use of ACE_HAS_NON_BLOCKING_CONNECTS feature test macro.
- It was removed since ACE no longer supports any systems that
- required it.
-
-Wed Jul 9 16:09:30 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
- * configure.ac:
-
- Remove feature test and autoheader template for
- ACE_LACKS_WILDCARD_BIND.
-
- * ace/Sock_Connect.cpp:
-
- Remove use of ACE_LACKS_WILDCARD_BIND feature test macro.
-
- * ace/README:
-
- Remove ACE_LACKS_WILDCARD_BIND from the list of feature test
- macros. It was removed since ACE no longer supports any systems
- that required it.
-
-Wed Jul 9 16:02:32 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Changed ACE_HAS_SIGVAL_SIGVAL_INT and ACE_HAS_SIGVAL_SIGVAL_PTR
- feature tests to use "union sigval" instead of "sigval_t". The
- former is what ACE uses; while the latter is a common extension,
- it is not in the XPG3 specification. Thanks to Olli Savia.
-
-Wed Jul 9 14:23:00 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/README:
-
- Remove ACE_HAS_TEMPLATE_SPECIALIZATION from list of feature
- test macros.
-
-Wed Jul 9 14:18:26 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
- * configure.ac:
-
- Remove feature test and autoheader template for
- ACE_HAS_DLFCN_H_BROKEN_EXTERN_C.
-
- * ace/os_include/os_dlfcn.h:
-
- Remove use of ACE_HAS_DLFCN_H_BROKEN_EXTERN_C feature test
- macro.
-
- * ace/README:
-
- Remove ACE_HAS_DLFCN_H_BROKEN_EXTERN_C from the list of feature
- test macros. It was removed since ACE no longer supports any
- systems that required it.
-
-Wed Jul 9 09:20:03 UTC 2008 Olli Savia <ops@iki.fi>
-
- * ace/TTY_IO.h:
- * ace/TTY_IO.cpp:
- Removed deprecated 'parityenb' member from ACE_TTY_IO::Serial_Params
- structure.
-
- * NEWS:
- Added a note about change above.
-
-Tue Jul 8 21:53:31 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Service_Manager.cpp (process_request): Ensure that requests
- are processed using the global context, rather than the current
- one. Thanks to Michael Doubez <michael dot doubez at gmail dot
- com> for suggesting this fix.
-
-Tue Jul 8 16:44:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_BROKEN_HPUX_TEMPLATES.
-
- * netsvcs/lib/Server_Logging_Handler_T.cpp:
- * netsvcs/lib/Server_Logging_Handler_T.h:
-
- Remove use of ACE_HAS_BROKEN_HPUX_TEMPLATES feature test macro.
-
- * ace/README:
-
- Remove ACE_HAS_BROKEN_HPUX_TEMPLATES from the list of feature
- test macros. It was removed since ACE no longer supports any
- systems that required it.
-
-Tue Jul 8 16:41:26 2008 Steve Huston <shuston@riverace.com>
-
- * ace/WIN32_Asynch_IO.cpp (ACE_WIN32_Asynch_Write_Stream::write): For
- Winsock 2-capable platforms, use WSASend() instead of WriteFile().
- The former performs an order of magnitude faster. Thanks to
- Namrata Gandhi for running the Win32 native performance tests.
-
-Tue Jul 8 16:35:57 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
- * configure.ac:
-
- Remove feature test and autoheader template for
- ACE_NEEDS_REGEXPR_H. It is no longer used by ACE.
-
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
-
- Remove the ACE_NEEDS_REGEXPR_H feature test macro definition.
- It is no longer used by ACE.
-
-Tue Jul 8 16:06:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * NEWS:
-
- Document new --enable-rcsid option for autoconf build.
-
- * m4/ace.m4:
- * m4/config_h.m4:
- * m4/platform.m4:
-
- Add support of a new --enable-rcsid option for the autoconf
- build. Previously, compiling RCS IDs into object files was
- tightly coupled with the --enable-debug option and was always
- disabled for certain operating systems. A separate option allows
- the user to select this behavior independently.
-
-Tue Jul 8 14:41:08 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Reference_Counted_Event_Handler_Test.cpp: Fixed test cases
- that I accidentally reversed in
- Fri Jul 4 20:11:02 UTC 2008 Steve Huston <shuston@riverace.com>
-
-Tue Jul 08 06:44:09 MST 2008 Trevor Fields <fields_t@ociweb.com>
-
- * bin/PerlACE/Run_Test.pm:
-
- Added waitforfileoutput and waitforfileoutput_timed
- methods that wait for output to appear in a file.
-
-Sun Jul 6 19:47:27 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- Added idl and pidl include files to tao-devel package.
-
-Sun Jul 6 18:28:58 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- * rpmbuild/ace-tao-orbsvcs-daemon.patch:
- * rpmbuild/ace-tao-config.patch:
- Updated for latest DOC Group release (x.6.6).
- Tracked libACE_Monitor_Control name change.
- Fixed broken patches.
-
-Fri Jul 4 20:11:02 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/config-macros.h: Don't set ACE_HAS_PROCESS_SPAWN for
- ACE_HAS_PHARLAP - there's only one process available.
-
- * ace/Recursive_Thread_Mutex.cpp (get_nesting_level): Add Pharlap ETS
- to those platforms without access to the recursion count on a
- recursive mutex.
-
- * tests/run_test.lst: Disable Sendfile_Test on LABVIEW_RT - it lacks
- sendfile support.
-
- * tests/Reference_Counted_Event_Handler_Test.cpp: Replaced ACE_ASSERT
- with ACE_ERROR; surrounded naked strings with ACE_TEXT; added a test
- option for using ACE_Dev_Poll_Reactor where available.
+Wed Mar 10 10:31:16 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
- * tests/Service_Config_Test.cpp: Replaced ACE_ASSERT with ACE_ERROR.
-
- * tests/Thread_Pool_Reactor_Resume_Test.cpp:
- * tests/Thread_Pool_Reactor_Test.cpp: Add ACE_HAS_PHARLAP to those
- platforms that need to scale back the max number of connections
- due to limited capacity.
-
-Thu Jul 3 21:42:54 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Changed the feature test used for the existance of the sigval_t
- type not to define ACE_LACKS_SIGVAL_T if it does not exist.
-
- However, it is still needed to set the ac_cv_type_sigval_t shell
- variable, which is used to decide whether to perform the
- ACE_HAS_SIGVAL_SIGVAL_INT and ACE_HAS_SIGVAL_SIGVAL_PTR feature
- tests.
-
- This fixes (the newly reopened) bugzilla #2794. Thanks to Olli
- Savi for suggesting taking another look.
-
-Thu Jul 3 16:38:35 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
-
- Added the use of 'postclean' to be used during the realclean
- target.
-
-Wed Jul 2 18:30:15 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Base.cpp (clear_i):
-
- Added resize of string array (if applicable) to 0.
-
- * ace/Monitor_Control/CPU_Load_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.h:
- * ace/Monitor_Control/Num_Threads_Monitor.h:
- * ace/Monitor_Control/CPU_Load_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
- * ace/Monitor_Control/Num_Threads_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- Finished implementation of clear_i() method for all
- platforms.
-
-Wed Jul 2 12:45:53 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * Updated the COPYING file to make it consistent with what's on the website.
-
-Wed Jul 02 12:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
-
- ACE_TEXT () and ACE_TEXT_ALWAYS_CHAR () required here.
-
-Wed Jul 02 12:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Framework_Component.cpp:
-
- Annoying text constant problem in a build. No need for ACE_TEXT()
- here.
-
-Wed Jul 2 11:51:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/Makefile.am:
-
- Added the Process_Env_Test.
-
-Wed Jul 02 11:40:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Process_Env_Test.cpp:
-
- Annoyingly the ACE_RCSID() macro provides it's own ;
- This fixes the "Process_Env_Test.cpp:23: error: extra ';'" error.
-
-Tue Jul 1 22:47:17 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Process.{h cpp}: Can't define or use the new convert_env_buffer()
- method unless ACE_HAS_WCHAR is defined. This extra check is needed
- for LabVIEW RT / Pharlap ETS because it purports to be Win32 but
- does not have wide-char support.
-
-Tue Jul 1 14:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/PythonACE/fuzz/check_no_tabs.py:
-
- Attempt to provide tabs check.
-
-Tue Jul 1 12:29:34 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- Cosmetic changes.
-
-Mon Jun 30 16:50:05 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Process.h:
-
- Fixed a misplaced bit of code.
-
-Mon Jun 30 12:41:00 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Process.h:
- * ace/Process.cpp:
-
- Added an option to ACE_Process_Options to use a wchar_t environment
- buffer instead of char. This is useful only on Windows with
- ACE_USES_WCHAR undefined. The benefit of using a wchar_t
- environment buffer is that it is not limited to 32kb as a char
- environment buffer is.
-
- In ACE_Process::spawn(), convert the char environment buffer to a
- wchar_t environment buffer if specified to do so in the process
- options.
-
- * tests/Process_Env_Test.cpp:
+ * ace/Svc_Handler.cpp:
* tests/run_test.lst:
- * tests/tests.mpc:
-
- Added a test for the above feature.
-
-Fri Jun 27 18:04:52 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * include/makeinclude/rules.local.GNU: Removed the first setting of
- CLEANUP_OBJS by itself - it was a duplicate of what's done in
- CLEANUP_BIN's case, but with possibly an incorrect objext. Prevents
- a main executable's object file from being deleted twice and ensures
- only valid object file extension is used. Thanks to Howard Finer
- for pointing this out.
-
-Fri Jun 27 16:08:27 UTC 2008 Steve Huston <shuston@riverace.com>
+ Fixed bug#2609 and enabled the test for it. Thanks to Milan
+ Cvetkovic <milan dot cvetkovic at mpathix dot com> for
+ contributing this.
- * include/makeinclude/rules.local.GNU: Add $(VOBJS) to CLEANUP_OBJS to
- be sure all objects that go into a binary are cleaned up.
+Tue Mar 9 12:20:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Fri Jun 27 15:35:58 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+ * include/makeinclude/platform_g++_common.GNU:
+ Added CXX_MACHINE
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+Mon Mar 8 15:36:55 UTC 2010 Adam Mitz <mitza@ociweb.com>
- Changed TAO_IDLFLAGS to Rename executable from gperf to
- ace_gperf.
-
-Fri Jun 27 14:58:17 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
-
- Changed ACE_CString member to ACE_TString, to accommodate
- wchar builds.
-
-Thu Jun 26 20:41:20 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Profile_Timer.cpp:
-
- Explictly #include "ace/OS_NS_fcntl.h" and "ace/OS_NS_unistd.h"
- if ACE_HAS_PRUSAGE_T is defined. These headers are implicitly
- #included with inline builds, but are required for builds
- where inline has been disabled.
-
-Thu Jun 26 13:13:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control_Types.h:
- * ace/Monitor_Base.cpp:
- * ace/Monitor_Base.h:
- * ace/Monitor_Control/Monitor_Group.h:
- * ace/Monitor_Control/Monitor_Group.cpp:
-
- Restored support for string data type in
- monitor storage, by moving data types,
- members and methods from their original
- location in an earlier version of the
- Notification Service monitor classes,
- to the appropriate locations in ACE.
-
-Thu Jun 26 02:45:21 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * THANKS: added Ittehad Shaikh
-
-Wed Jun 25 15:05:29 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * apps/gperf/src/Makefile.am:
-
- Rename executable from gperf to ace_gperf.
+ * bin/mpc.pl:
+ * bin/mwc.pl:
-Wed Jun 25 14:59:13 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+ Some platforms have been reported to return undef from
+ $FindBin::RealBin. In this case, fall back on dirname($0).
- * apps/gperf/tests/Makefile.am:
+Mon Mar 8 13:53:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- Re-tabify.
+ * ace/Atomic_Op_GCC_T.inl:
+ Fixed gcc warning
-Wed Jun 25 14:09:52 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+Mon Mar 8 08:35:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * rpmbuild/ace-tao-config.patch
- Removed ACE_GPERF
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ Added specializations for bool/unsigned short/short, is around 7 times
+ faster than the default atomic op
- * rpmbuild/ace-tao.spec:
- Document changes
+Mon Mar 8 08:24:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * rpmbuild/ace-tao-gperf-info.patch:
- Removed, not needed anymore
+ * tests/Atomic_Op_Test.cpp:
+ Added tests for short/unsigned short/bool
-Wed Jun 25 13:29:13 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+Fri Mar 5 14:02:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * m4/config_h.m4:
* configure.ac:
+ Added test for GCC builtin support
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_NETBSD_MSYNC.
-
- * ace/OS_NS_sys_mman.inl:
-
- Remove the use of the ACE_HAS_BROKEN_NETBSD_MSYNC feature test
- macro. It was removed since ACE no longer supports the systems
- that required it.
-
-Wed Jun 25 11:23:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
-
- Tue Jun 24 11:46:41 UTC 2008 Jeff Parsons committed
- Miss-cased ACE_TEXT.
-
-Wed Jun 25 10:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Enhance ACE_TMAIN and ORB_init checks for /* .. */ comments.
-
-Wed Jun 25 06:58:52 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * apps/gperf/gperf.1:
- * apps/gperf/gperf.info:
- * apps/gperf/gperf.mpc:
- * apps/gperf/gperf.texi:
- * apps/gperf/ace_gperf.1:
- * apps/gperf/ace_gperf.info:
- * apps/gperf/ace_gperf.mpc:
- * apps/gperf/ace_gperf.texi:
- * apps/gperf/gperf/src/gperf.mpc:
- * apps/gperf/gperf/tests/gperf_test.mpb:
- * apps/gperf/gperf/tests/Makefile.am:
- Renamed gperf to ace_gperf to make sure we always get the gperf
- from ace, fedora also has a regular gperf package
-
- * include/makeinclude/platform_vxworks5.5.x.GNU:
- * include/makeinclude/platform_vxworks6.2.GNU:
- * include/makeinclude/platform_vxworks6.3.GNU:
- Updated for gperf rename
-
- * rpmbuild/ace-tao.spec:
- Removed gperf rename which only was done in the rpm package.
- This fixes bugzilla 3342
-
-Wed Jun 25 05:59:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * include/makeinclude/platform_netbsd.GNU:
-
- Conditionally set no_hidden_visibility to 1.
-
-Tue Jun 24 13:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Bug_2980_Regression_Test.cpp:
- * tests/tests.mpc:
-
- Remove ACE_TMAIN from this test and stop it building on
- wide systems (as per original test). The test can not use
- ace directly.
-
-Tue Jun 24 13:30:31 2008 Steve Huston <shuston@riverace.com>
-
- * ace/CDR_Stream.h: For ACE_OutputCDR, note that attempting to set a
- specific byte order requires ACE_ENABLE_SWAP_ON_WRITE to have any
- affect. Thanks to Howard Finer for pointing this out.
-
-Tue Jun 24 11:46:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- For Solaris and *BSD WChar builds, ACE_TEXT-ified the argument
- in the call to the platform-specific base class
- constructor.
-
-Tue Jun 24 11:02:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Svc_Conf_Token_Table.h:
-
- commit generated 3rd file.
- Fix the dependancies for FC6_Compact_NoInline build.
-
-Tue Jun 24 09:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Bug_2980_Regression_Test.cpp:
- * tests/tests.mpc:
-
- Manually add the ACE_TMAIN code to this test.
-
-Tue Jun 24 00:03:27 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
-
- Changed to fetch current value in constructor, and subtract
- that from subsequent values in each update() call.
+Fri Mar 5 12:40:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Mon Jun 23 15:28:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Svc_Conf_y.cpp:
-
- Fix fuzz errors incorrect ACE_TMAIN/main use; commit generated 2nd.
-
-Mon Jun 23 15:27:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Svc_Conf.y:
-
- Fix fuzz errors incorrect ACE_TMAIN/main use; commit source 1st.
-
-Mon Jun 23 13:51:23 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Windows_Monitor.h:
-
- Changed class member type from ACE_CString to ACE_TString
- to accomondate Unicode builds.
-
- * ace/Monitor_Control/Windows_Monitor.cpp:
-
- Removed incorrect use of ACE_TEXT wrapper on a non-literal.
-
-Mon Jun 23 12:34:35 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/tao_other_tests.lst:
-
- Added the new Notify Timeout test.
-
-Mon Jun 23 12:09:26 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * examples/C++NPv2/display_logfile.cpp: Divided an ACE_TCHAR
- string by sizeof (ACE_TCHAR) to get the appropriate size.
- Thanks to J.T. <jtc at acorntoolworks dot com> for reporting
- this.
-
-Mon Jun 23 11:12:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Svc_Conf_y.cpp:
- * bin/LabVIEW_RT/labview_test_controller/test.cpp:
- * ASNMP/examples/trap/trap.cpp:
- * ASNMP/examples/get/get.cpp:
- * ASNMP/examples/get/get_async.cpp:
- * ASNMP/examples/set/set.cpp:
- * ASNMP/examples/next/next.cpp:
- * ASNMP/examples/walk/walk.cpp:
- * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
- * performance-tests/RPC/client.cpp:
- * tests/Bug_2980_Regression_Test.cpp:
-
- Fix fuzz errors incorrect ACE_TMAIN/main use.
-
-Sun Jun 22 17:23:08 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/CPU_Load_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
- * ace/Monitor_Control/Num_Threads_Monitor.cpp:
-
- Fix to clear_i() implementation for these monitors that
- compiled only on Windows.
-
-Fri Jun 20 20:40:50 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Size.cpp:
- * ace/Monitor_Base.cpp:
- * ace/Monitor_Base.h:
-
- Moved stats features from the Notification Service monitor
- class to the ACE base class.
-
- * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/CPU_Load_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Windows_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.h:
- * ace/Monitor_Control/Monitor_Group.h:
- * ace/Monitor_Control/Null_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Num_Threads_Monitor.h:
- * ace/Monitor_Control/Bytes_Sent_Monitor.h:
- * ace/Monitor_Control/CPU_Load_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.h:
- * ace/Monitor_Control/Windows_Monitor.cpp:
- * ace/Monitor_Control/Monitor_Group.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Windows_Multi_Instance_Monitor.h:
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Received_Monitor.h:
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.h:
- * ace/Monitor_Control/Null_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Num_Threads_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- Implemented overrides of clear_i() for all the OS
- monitors.
-
-Fri Jun 20 20:25:12 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * bin/PerlACE/README: Edited to reflect the change in process for
- referring to test components. Components are now referred to with
- numbers instead of names.
-
- * bin/PerlACE/TestTarget.pm: In create_target(), warn if the component
- is not a number.
-
- * bin/PerlACE/ProcessLVRT.pm: Don't try to close an undefined Telnet.
-
- * bin/tao_orb_tests.lst: Removed the LabVIEW_RT disabling on
- Bug_2702_Regression, Oneway_Send_Timeouts, and Abstract_Interface.
-
- * tests/run_test.pl: Changed the target component from "ace" to 1 per
- new component referring convention.
-
-Fri Jun 20 18:40:10 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/PerlACE/Run_Test.pm:
-
- Removed references to HostProcess and TargetProcess.
-
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_VxWorks.pm:
-
- Added a new test target for VxWorks. It currently has no reboot
- related functionality.
-
- * bin/PerlACE/TestTarget_LVRT.pm:
-
- Added the ability to accept multiple files for the DeleteFile
- method as unlink does.
-
- * bin/PerlACE/HostProcess.pm:
- * bin/PerlACE/TargetProcess.pm:
-
- Removed these files.
-
-Fri Jun 20 15:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Small bug in white space compaction.
-
-Fri Jun 20 14:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Enhance ACE_TMAIN check for multi-line detection and remove
- detection level for this check.
-
-Fri Jun 20 12:09:53 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp:
- * examples/IPC_SAP/SSL_SAP/SSL-client.cpp:
-
- Added static_cast's to avoid warnings from vc8.
-
-Thu Jun 19 16:21:07 2008 Steve Huston <shuston@riverace.com>
-
- * ace/CDR_Base.h:
- * ace/CDR_Stream.h: Added a enum to ACE_CDR with the values for
- byte ordering specifier. Moved the setting of ACE_CDR_BYTE_ORDER
- from CDR_Stream.h to CDR_Base.h so it can be used in the enum.
- These make it easier for users to figure out what to do when they
- want to force a specific byte ordering.
- Also did a little more doxygen cleanup.
-
-Thu Jun 19 15:11:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Enable ORB_init() 3rd parameter null string check.
-
-Thu Jun 19 14:11:04 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
-
- Explicitly #include <sys/ioctl.h> and <net/if.h> for non-inline
- builds.
-
-Wed Jun 18 17:36:34 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Moved pragma disable warning directives from inside of function to
- outside to take effect.
-
-Wed Jun 18 17:27:51 2008 Steve Huston <shuston@riverace.com>
-
- * ace/CDR_Stream.h: Some doxygen improvements.
-
-Wed Jun 18 15:36:11 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Added new run_test scripts for the special variants of the TAO
- POA EndpointPolicy test.
-
-Wed Jun 18 13:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Redo check for wide character incompatabilty ORB_init() miss-use.
- Caters for multi-line ORB_init.
-
-Wed Jun 18 12:16:48 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/PerlACE/Run_Test.pm:
-
- Increase the process start wait time for QNX.
-
-Wed Jun 18 10:43:20 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_linux_icc.GNU:
- Don't use deprecated options
-
-Wed Jun 18 09:50:20 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * README:
- * ACE-INSTALL.html:
- Updated
-
-Tue Jun 17 22:43:20 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Reactor.h: Clarify that calling remove_handler() for a signal
- handler does not invoke the handler's handle_close() callback. Also
- note that this behavior is under debate in Bugzilla #2368. Thanks to
- Bill Kendall <wkendall at sgi dot com> for calling this to attention.
-
- * THANKS: Added Bill Kendall.
-
-Tue Jun 17 15:36:49 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Disabled warning C4706 in load_dbghelp_library_if_needed()
- and enabled afterwards on windows.
-
-Tue Jun 17 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/fuzz.pl:
-
- Add check for wide character incompatabilty ORB_init() miss-use.
-
-Tue Jun 17 12:40:03 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
-
- Explicitly #include <sys/sockio.h> for non-inline builds.
-
-Tue Jun 17 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * apps/JAWS/clients/WebSTONE/src/bench.c:
- * apps/JAWS/clients/WebSTONE/src/errexit.c:
- * apps/JAWS/clients/WebSTONE/src/genrand.c:
- * apps/JAWS/clients/WebSTONE/src/timefunc.c:
- * apps/JAWS/clients/WebSTONE/src/webclient.c:
- * apps/JAWS/clients/WebSTONE/src/webmaster.c:
-
- Fuzz errors, Untabify.
-
-Tue Jun 17 08:13:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * include/make_include/platform_sunos5_common.GNU:
-
- Changed default "kstat ?= 1" at Johnny Willemsens request.
-
-Tue Jun 17 06:42:51 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Fixed declared method (determine_starting_frame) never referenced
- warning on HP aCC build.
-
-Mon Jun 16 21:26:05 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/fuzz.pl:
-
- Enable check_for_tab for all files in the repository.
-
-Mon Jun 16 21:22:03 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * apps/JAWS/clients/Caching/Local_Locator.cpp:
- * apps/JAWS/clients/WebSTONE/src/bench.c:
- * apps/JAWS/clients/WebSTONE/src/errexit.c:
- * apps/JAWS/clients/WebSTONE/src/genrand.c:
- * apps/JAWS/clients/WebSTONE/src/get.c:
- * apps/JAWS/clients/WebSTONE/src/gettimeofday.c:
- * apps/JAWS/clients/WebSTONE/src/parse_file_list.c:
- * apps/JAWS/clients/WebSTONE/src/rexec.c:
- * apps/JAWS/clients/WebSTONE/src/statistics.c:
- * apps/JAWS/clients/WebSTONE/src/sysdep.c:
- * apps/JAWS/clients/WebSTONE/src/timefunc.c:
- * apps/drwho/Hash_Table.cpp:
-
- Untabify.
-
-Mon Jun 16 20:24:45 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * apps/Gateway/Gateway/Connection_Handler.cpp:
- * apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp:
- * apps/Gateway/Peer/Options.cpp:
- * apps/JAWS/clients/Blobby/Options.cpp:
- * apps/JAWS/clients/Blobby/blobby.cpp:
- * apps/JAWS/clients/Caching/ID_Generator.cpp:
- * apps/JAWS/clients/Caching/Local_Locator.cpp:
- * apps/JAWS/clients/Caching/Locator_Request_Reply.cpp:
- * apps/JAWS/clients/Caching/URL_Properties.inl:
- * apps/JAWS/clients/WebSTONE/src/bench.c:
- * apps/JAWS/clients/WebSTONE/src/cgi-send.c:
- * apps/JAWS/clients/WebSTONE/src/get.c:
- * apps/JAWS/clients/WebSTONE/src/getopt.c:
- * apps/JAWS/clients/WebSTONE/src/nsapi-send.c:
- * apps/JAWS/server/HTTP_Config.cpp:
- * apps/JAWS/server/HTTP_Handler.cpp:
- * apps/JAWS/server/HTTP_Helpers.cpp:
- * apps/JAWS/server/HTTP_Response.cpp:
- * apps/JAWS/server/HTTP_Server.h:
- * apps/JAWS/server/HTTP_Server.cpp:
- * apps/JAWS/stress_testing/benchd.cpp:
- * apps/JAWS/stress_testing/connection.cpp:
- * apps/JAWS/stress_testing/http_tester.cpp:
- * apps/JAWS2/JAWS/Cache_Hash_T.h:
- * apps/JAWS2/JAWS/Hash_Bucket_T.h:
- * apps/drwho/File_Manager.cpp:
- * apps/drwho/Hash_Table.cpp:
- * apps/drwho/PMC_All.cpp:
- * apps/drwho/PMC_Flo.cpp:
- * apps/drwho/PMC_Ruser.cpp:
- * apps/drwho/PMC_Usr.cpp:
- * apps/drwho/PMS_Ruser.cpp:
- * apps/drwho/PM_Client.cpp:
- * apps/drwho/Rwho_DB_Manager.cpp:
- * apps/gperf/src/Gen_Perf.cpp:
-
- Untabify.
-
-Mon Jun 16 19:06:38 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * ace/config-borland-common.h:
- * ace/config-hpux-11.00.h:
- * ace/config-mvs.h:
- * ace/config-win32-dmc.h:
- * ace/config-win32-ghs.h:
- * ace/config-win32-msvc.h:
-
- Fixes for MCPP preprocessing on Windows.
-
-Mon Jun 16 19:06:44 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Acceptor.cpp:
- * ace/Connector.cpp:
- * ace/Strategies_T.cpp:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ We did a benchmark on a FC10 64bit system with the GCC builtin support
+ for long/unsigned long. In a release/inline build the performance
+ results using the GCC builtin support is around 2 times faster than
+ when using the ACE assembly version. When we have the GCC builtin support,
+ we now also going to use that for long/unsigned long.
- Use the NORMAL_CLOSE_OPERATION enum value when closing the service
- handler during activation.
+Fri Mar 5 12:20:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Mon Jun 16 18:33:34 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Atomic_Op_GCC_T.cpp:
+ * ace/Atomic_Op_GCC_T.h:
+ * ace/Atomic_Op_GCC_T.inl:
+ Added new Atomic template for the GCC builtin atomic op support.
+ This is used on PPC64/PPC32/IA64 for int/unsigned int/long/unsigned long.
+ On EM64T we do use this for int/unsigned int, the ACE assembly version for
+ long/unsigned long is faster than the GCC.
- * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
- * examples/OS/Process/imore.cpp:
- * examples/Reactor/Proactor/test_proactor3.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp:
+ On FC10 64bit the int/unsigned int Atomic_Op is now around 6 to 7 times
+ faster than before this change
- Untabify.
-
-Mon Jun 16 18:00:26 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * ASNMP/examples/get/get.cpp:
- * ASNMP/examples/get/get_async.cpp:
- * ASNMP/examples/next/next.cpp:
- * ASNMP/examples/set/set.cpp:
-
- Untabify.
-
-Mon Jun 16 17:53:00 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp:
- * examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp:
- * examples/IPC_SAP/TLI_SAP/db-client.cpp:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.h:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.h:
- * examples/Log_Msg/Log_Msg_MFC/StdAfx.h:
- * examples/Log_Msg/Log_Msg_MFC/StdAfx.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.inl:
-
- Untabify.
-
-Mon Jun 16 17:27:36 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/PerlACE/TargetProcess.pm:
-
- Remove the "use" of PerlACE::ProcessVX. It is already used in
- PerlACE::Process and using it in this module causes things to be
- evaluated incorrectly with respect to @ARGV.
-
-Mon Jun 16 17:01:19 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/fuzz.pl:
-
- Enable check_for_tab check for ACE_ROOT/examples
-
-Mon Jun 16 16:54:25 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * examples/APG/Logging/Callback-2.h:
- * examples/APG/Logging/Callback-3.h:
- * examples/APG/Logging/Use_Logger.cpp:
- * examples/APG/Threads/Message_Queue.cpp:
- * examples/APG/Timers/CB.h:
- * examples/APG/Timers/PCB.cpp:
- * examples/ASX/CCM_App/SC_Server.cpp:
- * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
- * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp:
- * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
- * examples/ASX/Message_Queue/bounded_buffer.cpp:
- * examples/ASX/Message_Queue/priority_buffer.cpp:
- * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
- * examples/Bounded_Packet_Relay/BPR_Drivers.cpp:
- * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.cpp:
- * examples/Bounded_Packet_Relay/bpr_thread.cpp:
- * examples/C++NPv2/display_logfile.cpp:
- * examples/Connection/misc/Connection_Handler.h:
- * examples/IPC_SAP/ATM_SAP/CPP-client.cpp:
- * examples/IPC_SAP/ATM_SAP/CPP-server.cpp:
- * examples/IPC_SAP/DEV_SAP/writer/writer.cpp:
- * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp:
- * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
- * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp:
- * examples/IPC_SAP/FILE_SAP/client.cpp:
- * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
- * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp:
- * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp:
- * examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp:
- * examples/IPC_SAP/TLI_SAP/CPP-ATM-client.cpp:
- * examples/IPC_SAP/TLI_SAP/CPP-ATM-server.cpp:
- * examples/IPC_SAP/TLI_SAP/CPP-client.cpp:
- * examples/IPC_SAP/TLI_SAP/CPP-server.cpp:
- * examples/IPC_SAP/TLI_SAP/db-client.cpp:
- * examples/IPC_SAP/TLI_SAP/ftp-client.cpp:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.h:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.cpp:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.h:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp:
- * examples/Logger/Acceptor-server/server_loggerd.h:
- * examples/Logger/Acceptor-server/server_loggerd.cpp:
- * examples/Logger/simple-server/Logging_Handler.cpp:
- * examples/Logger/simple-server/server_loggerd.cpp:
- * examples/Mem_Map/IO-tests/test_io.cpp:
- * examples/Misc/test_get_opt.cpp:
- * examples/Misc/test_profile_timer.cpp:
- * examples/OS/Process/imore.cpp:
- * examples/QOS/Change_Receiver_FlowSpec/Receiver_QoS_Event_Handler.cpp:
- * examples/Reactor/FIFO/client.cpp:
- * examples/Reactor/FIFO/server.cpp:
- * examples/Reactor/Misc/notification.cpp:
- * examples/Reactor/Misc/test_signals_1.cpp:
- * examples/Reactor/Misc/test_signals_2.cpp:
- * examples/Reactor/Ntalker/ntalker.cpp:
- * examples/Reactor/Proactor/test_cancel.h:
- * examples/Reactor/Proactor/test_cancel.cpp:
- * examples/Reactor/Proactor/test_multiple_loops.cpp:
- * examples/Reactor/Proactor/test_proactor3.cpp:
- * examples/Reactor/Proactor/test_timeout.cpp:
- * examples/Reactor/Proactor/test_timeout_st.cpp:
- * examples/Registry/test_registry_update.cpp:
- * examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp:
- * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
- * examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp:
- * examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.inl:
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
- * examples/Service_Configurator/Misc/Timer_Service.cpp:
- * examples/Shared_Memory/test_SV.cpp:
- * examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp:
- * examples/Threads/recursive_mutex.cpp:
- * examples/Threads/task_one.cpp:
- * examples/Threads/thread_manager.cpp:
- * examples/Threads/token.cpp:
-
- Untabify.
-
-Mon Jun 16 16:04:40 2008 Steve Huston <shuston@riverace.com>
-
- * bin/PerlACE/TestTarget.pm: When getting the exe subdir for a
- target, pick up the command line setting if the "default" target
- is in use. This should fix the broken exesubdir TAO builds.
-
-Mon Jun 16 15:45:45 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Null_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/Null_Network_Interface_Monitor.h:
-
- New files, defining a base class for tne network interface OS
- monitors when the monitor framework itself is enabled but no
- platform-specific OS monitor flags are defined, whether because
- the platform itself does not support native system-level
- monitoring, or because the Linux, Windows or Solaris OS
- monitor flags has been turned off for some reason.
-
- * ace/Monitor_Control/Monitor_Control.mpc:
- * ace/Monitor_Control/Bytes_Sent_Monitor.h:
- * ace/Monitor_Control/Packets_Sent_Monitor.h:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.h:
-
- Incorporated the new no-op network interface monitor base class
- into the existing network interface monitor classes. If this
- new base class is used, the monitor's value will always be 0,
- and its update() method will be a no-op.
-
-Mon Jun 16 12:12:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/config-sunos5.5.h:
-
- Reverted addition of ACE_HAS_KSTAT flag in
-
- Fri Jun 13 14:00:00 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- Thanks to Johnny Willemsen <jwillemsen@remedy.nl>, we now
- know that the correct way to do this is to set kstat=1
- in platform_macros.GNU.
-
-Mon Jun 16 11:28:11 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/fuzz.pl:
-
- Enable check_for_tab check for TAO/tests/examples and TAO/performance-tests
-
-Mon Jun 16 10:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Max_Default_Port_Test.cpp:
-
- Un-tabify.
-
-Mon Jun 16 10:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Monitor_Control/BSD_Network_Interface_Moinitor.cpp:
-
- Correct Fuzz errors (removed NULL).
-
-Mon Jun 16 01:01:27 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/fuzz.pl:
-
- Enable check_for_tab check for TAO/tests
-
-Sun Jun 15 16:03:29 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/fuzz.pl:
-
- Enable check_for_tab check for TAO/orbsvcs
-
-Sun Jun 15 13:23:13 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-linux-common.h:
- Added ACE_LACKS_STRRECVFD when no streams are available (like fc9)
-
- * rpmbuild/ace-tao-strrecvfd.patch:
- Deleted
-
- * rpmbuild/ace-tao.spec:
- Patch 6 is not needed anymore
-
- * ace/Strategies_T.h:
- Doxygen change
-
-Sun Jun 15 03:08:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Monitor_Control/Monitor_Control.mpc:
-
- Add BSD_Network_Interface_Monitor.cpp to Source_Files section.
-
-Fri Jun 13 14:50:28 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- Add BSD_Network_Interface_Monitor.cpp and
-
- untab-ified to remove fuzz errors.
-
-Fri Jun 13 14:45:28 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
-
- Removed unused local variable.
-
-Fri Jun 13 14:31:35 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Stack_Trace.cpp (Solaris section):
-
- Yesterday's addition of support for 64-bit SPARC broke on x86.
-
-Fri Jun 13 14:00:00 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/config-sunos5.5.h:
-
- Added #define of ACE_HAS_KSTAT, used by the OS monitors in
- ace/Monitor_Control on Solaris platforms to guard the
- visibility of Solaris-specific code and base classes.
-
-Fri Jun 13 13:40:39 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Monitor_Control/Makefile.am:
-
- Add BSD_Network_Interface_Monitor.cpp and
- Solaris_Network_Interface_Monitor.cpp to Headers_File section.
-
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Received_Monitor.h:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.h:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.h:
-
- Inherit from BSD_Network_Interface_Monitor on FreeBSD,
- NetBSD, and OpenBSD systems.
-
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
-
- New files, network interface monitor for systems with 4.4BSD
- derived network stack.
-
-Fri Jun 13 13:24:11 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.h:
- * ace/Monitor_Control/Packets_Sent_Monitor.h:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.h:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- Added '|| defined (AIX)' to every occurrence of
- '#if defined (linux)' to eliminate build errors on the
- latter platform.
-
-Thu Jun 12 21:57:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
- * configure.ac:
-
- Remove feature test for ACE_HAS_TEMPLATE_SPECIALIZATION.
-
- * ace/config-borland-common.h:
- * ace/config-cray.h:
- * ace/config-cxx-common.h:
* ace/config-g++-common.h:
- * ace/config-hpux-11.00.h:
- * ace/config-icc-common.h:
- * ace/config-integritySCA.h:
- * ace/config-irix6.x-sgic++.h:
- * ace/config-mvs.h:
- * ace/config-openvms.h:
- * ace/config-suncc-common.h:
- * ace/config-sunos5.4-sunc++-4.x.h:
- * ace/config-sunos5.5.h:
- * ace/config-sunos5.6.h:
- * ace/config-tandem-nsk-mips-v2.h:
- * ace/config-tandem-nsk-mips-v3.h:
- * ace/config-tru64.h:
- * ace/config-unixware-7.1.0.udk.h:
- * ace/config-win32-dmc.h:
- * ace/config-win32-ghs.h:
- * ace/config-win32-msvc-8.h:
- * ace/config-win32-msvc-9.h:
- * ace/config-win32-msvc-7.h:
-
- Remove unused #define of ACE_HAS_TEMPLATE_SPECIALIZATION. This
- feature test macro is no longer used.
-
-Thu Jun 12 18:47:54 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
-
- New files, containing a base class used with
- Bytes_Received_Monitor, Bytes_Sent_Monitor,
- Packets_Received_Monitor and Packets_Sent_Monitor
- when they are compiled on Solaris platforms.
-
- * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
- * ace/Monitor_Control/CPU_Load_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
- * ace/Monitor_Control/Windows_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.h:
- * ace/Monitor_Control/Monitor_Control.mpc:
- * ace/Monitor_Control/Num_Threads_Monitor.h:
- * ace/Monitor_Control/Bytes_Sent_Monitor.h:
- * ace/Monitor_Control/CPU_Load_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.h:
- * ace/Monitor_Control/Windows_Monitor.cpp:
- * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
- * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
- * ace/Monitor_Control/Windows_Multi_Instance_Monitor.h:
- * ace/Monitor_Control/Bytes_Received_Monitor.h:
- * ace/Monitor_Control/Packets_Received_Monitor.h:
- * ace/Monitor_Control/Num_Threads_Monitor.cpp:
- * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
- * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
-
- - Changed required to complete the support of
- network interface monitors on Solaris.
-
- - Changed guards for Windows-specific header file
- inclusion to use the recently added ACE_HAS_PDH_H,
- which in turn guards the definition of the
- ACE_HAS_WIN32_PDH flag used in source code.
-
- - Changed the names of the platform-specific monitor
- update methods to update_i(), from the distinct
- names they had before. This changed allowed the
- elimination of many #ifdef guards in source code.
-
-Thu Jun 12 17:42:47 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * bin/PerlACE/Process.pm:
- * bin/PerlACE/Process_Win32.pm: Moved the Target sub from Process_Win32
- to Process so everybody can see it. Thanks to Chad Elliott for
- finding and suggesting the correction for it.
-
-Thu Jun 12 16:04:33 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * bin/tao_orb_tests.lst: Disabled newly added tests on LabVIEW_RT.
-
- * bin/PerlACE/README: Describes how the ACE+TAO test procedures work.
- Includes a description of how to drive the generalized ability to
- redirect execution of tests off of the build host.
-
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_LVRT.pm:
- * bin/PerlACE/ProcessLVRT.pm:
- * bin/PerlACE/Process_Win32.pm: Add the ability to configure various
- aspects of ACE+TAO (+CIAO I guess, but haven't tried that) to run
- on machines other than the build host and with alternate roots
- (ACE_ROOT, TAO_ROOT). This is an effort to generalize the ability
- to run off of the build host without adding more switches and options
- and convoluted settings and platform-specific code in the main
- scripts. The README file explains how to set up modules to extend
- testing to other platforms. LabVIEW_RT is the only one there now;
- VxWorks is an obvious addition and would allow a bunch of special-case
- code to be removed from the main scripts. The test-driving script
- does require some change to take advantage of this capability. ACE
- tests in ACE_wrappers/tests have the change. A few TAO tests do
- (see TAO ChangeLog). Without the changes to the test-driving script
- everything behaves as it always did.
-
- * tests/run_test.pl: Uses the new TestTarget capability, naming the
- test target "ace". Thus, to redirect these tests to another machine,
- set the DOC_TEST_ACE environment variable with a configuration name
- and set configuration variables accordingly.
-
-Thu Jun 12 14:38:19 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Stack_Trace.h:
- * ace/Stack_Trace.cpp:
-
- Added support for SPARCv9 (64-bit).
- Reverted the Win32 assembly back to the simplest form, we had tried
- to make it compatible with Borland but it still didn't work. As of
- now ACE compiled by Borland will not generate stack traces.
-
-Thu Jun 12 12:17:52 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Corrected Win32 assembler compilation error.
-
-Wed Jun 11 16:24:00 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Added new test case.
-
-Wed Jun 11 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Time_Value.inl:
- * ace/Time_Value.h:
-
- Add extra inline void msec(int) that calls void msec(long)
- to avoid amiguity between void msec(long) and void msec(_int64 &)
- when natual sized integers are given (which seems to be
- quite often).
-
-Wed Jun 11 13:02:22 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/PerlACE/Run_Test.pm:
-
- Replaced the "use PerlACE::Process". It is necessary to be loaded
- inside this module to ensure that all of the command line options
- can be processed.
-
-Wed Jun 11 04:17:42 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/platform.m4:
-
- Remove ACE_HAS_AIX_BROKEN_SOCKET_HEADER definitions.
-
-Wed Jun 11 03:51:32 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_CHARPTR_SPRINTF. This feature test macro is no longer
- used.
-
-Wed Jun 11 03:39:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_LACKS_FLOATING_POINT. This feature test macro is no longer
- used.
-
-Wed Jun 11 03:33:31 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_TYPENAME_KEYWORD. This feature test macro is no longer
- used.
-
-Wed Jun 11 03:31:02 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_SPARCWORKS_401_SIGNALS. This feature test macro is no
- longer used.
-
-Wed Jun 11 02:57:12 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_AIX_BROKEN_SOCKET_HEADER.
- This feature test macro is no longer used.
-
-Wed Jun 11 02:52:16 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_SELECT_USES_INT. This feature test macro is no longer used.
-
-Wed Jun 11 02:48:07 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for HAVE_RESTARTABLE_SYSCALLS.
- This feature test macro is no longer used.
-
-Wed Jun 11 00:17:01 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_IRIX_53_SIGNALS. This feature test macro is no longer
- used.
-
-Tue Jun 10 23:57:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature tests and autoheader templates for
- ACE_HAS_STD_TEMPLATE_SPECIALIZATION and
- ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION.
- These feature test macros are no longer used.
-
-Tue Jun 10 23:52:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_SAP_ANY. This feature test macro is no longer
- used.
-
-Tue Jun 10 23:49:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_BROKEN_NESTED_TEMPLATES.
- This feature test macro is no longer used.
-
-Tue Jun 10 23:47:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_SUNOS4_SIGNAL_T.
- This feature test macro is no longer used.
-
-Tue Jun 10 23:45:34 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_CONDITIONAL_STRING_CAST. This feature test macro
- is no longer used.
-
-Tue Jun 10 23:43:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_CONVERSIONS. This feature test macro is no
- longer used.
-
-Tue Jun 10 23:41:11 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_NAMESPACES. This feature test macro is no longer
- used.
-
-Tue Jun 10 23:39:09 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/config_h.m4:
-
- Remove autoheader template for ACE_HAS_SYSCALL_GETRUSAGE. This
- feature test macro is no longer used.
-
-Tue Jun 10 23:16:31 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
- * m4/config_h.m4:
-
- Remove feature test and autoheader template for
- ACE_HAS_BROKEN_TIMESPEC_MEMBERS. This feature test macro is no
- longer used.
-
-Tue Jun 10 21:28:23 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/platform.m4:
-
- Add ACE_CHECK_GETNAME_RETURNS_RANDOM_SIN_ZERO feature check,
- which sets the ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO feature test
- macro on Linux systems running kernels older than 2.5.47. This
- is a compile time check, like was done in config-linux-common.h,
- based on the value of LINUX_VERSION_CODE from <linux/version.h>.
- This means ACE compiled on a newer Linux system but deployed on
- an older one could result in run-time failures.
-
- Fixes Bugzilla #3132.
-
-Tue Jun 10 21:33:25 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/CDR_Stream.h:
- * ace/CDR_Stream.cpp:
-
- Replaced a Monitor class forward declaration with the full file
- include, moved from the source file to the header file. This
- move enables ACE monitor points to compile when inlining is
- turned on.
-
-Tue Jun 10 18:46:24 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.h:
-
- Updated comments to not exclude Borland from supported platforms.
-
- * ace/Stack_Trace.cpp:
-
- - Moved the label "x" from inside of asm to be outside. Some compiler
- does not like it.
- - Enabled LynxOS support and excluded support for gcc old versions before 3.3.
-
-Tue Jun 10 13:56:17 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- One more fix for Win32 wchar.
-
-Tue Jun 10 13:32:57 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/Bug_2980_Regression_Test.cpp:
-
- Avoid pointer-to-function and pointer-to-object warnings from g++.
-
-Tue Jun 10 12:53:05 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/SSL/SSL_Asynch_Stream_Test.cpp:
-
- Modified to avoid virtual method hiding.
-
-Tue Jun 10 11:37:09 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/Time_Value_Test.cpp:
-
- Added a static cast to avoid warnings on QNX.
-
-Tue Jun 10 10:57:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/ACE.cpp:
-
- Correct presidence bug highlighted by FC9_GCC_430 build:
- ACE.cpp:1429: warning: suggest parentheses around && within ||
- ACE.cpp:1665: warning: suggest parentheses around && within ||
- ACE.cpp:1853: warning: suggest parentheses around && within ||
- The default precidence is && before ||, but the way the ||
- statements were grouped, it was clear that was not the intended
- resolution.
-
- Correct empty if statement bug highlighted by FC9_GCC_430 build:
- ACE.cpp:2773: warning: suggest braces around empty body in an 'if' statement
-
- Also removed warnings by using empty braces:
- ACE.cpp:3389: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement
- ACE.cpp:3414: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement
-
-
-Mon Jun 9 21:38:04 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.cpp:
-
- Passed string literals instead of ACE_TEXT string to GetProcAddress as it
- accepts LPCSTR which is defined as char*. This should fix wchar (Win32)
- build errors.
-
-Mon Jun 9 20:52:52 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Asynch_IO.h: Doxygen improvements.
-
-Mon Jun 9 19:40:56 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- * ace/Stack_Trace.h:
- * ace/Stack_Trace.cpp:
-
- Excluded LynxOS, MinGW and Borland builds from stack trace supported
- platforms.
-
-Mon Jun 09 14:46:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Stack_Trace.cpp:
- * ace/Stack_Trace.h:
-
- Remove TEXT() and TCHAR Fuzz errors.
-
-Mon Jun 9 11:26:36 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/ace_for_tao.mpc:
-
- Added Stack_Trace.cpp since Log_Msg.cpp needs it.
-
-Mon Jun 09 10:42:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/NT_Service.cpp:
-
- unambiguated call to time_value msec(long) at line 437
- caused by new uint64 non-const setter provided by:
- Thu Jun 5 14:52:43 UTC 2008 Steve Huston
-
-Sun Jun 8 18:09:22 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/platform.m4:
-
- Add ACE_CHECK_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE feature
- check, which sets the ACE_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE
- feature test macro on Linux and OpenBSD systems (as is done in
- the canned config-*.h files). Fixes Bugzilla #3141.
-
-Sat Jun 7 13:56:56 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Log_Msg.cpp:
-
- Use ACE_TEXT instead of ACE_LIB_TEXT.
-
-Sat Jun 7 03:28:01 UTC 2008 Yan Dai <dai_y@ociweb.com>
-
- Merged in stack_trace_branch that added stack trace support.
-
- * NEWS:
-
- Add an entry for stack trace support.
-
- * ace/Log_Msg.h:
-
- Added comments for "%?".
-
- * ace/Log_Msg.cpp:
-
- Added new conversion character, the question mark, which gets
- replaced by a stack trace on supported platforms.
-
- * ace/Stack_Trace.h:
- * ace/Stack_Trace.cpp:
-
- Added new class that, on supported platforms, will take a
- snapshot of the current stack when instantiated.
+ Enable the new builtin atomic also for EM64T
* ace/ace.mpc:
-
- Added Stack_Trace in as source.
-
- * ace/config-macosx-leopard.h:
-
- Added ACE_HAS_EXECINFO_H define.
-
* ace/Makefile.am:
+ Added new files
- Added Stack_Trace.h and Stack_Trace.cpp.
-
- * configure.ac:
-
- Added checks for execinfo.h header.
-
- * tests/Stack_Trace_Test.cpp:
-
- New test.
-
- * tests/run_test.lst:
- * tests/tests.mpc:
-
- Added Stack_Trace_Test in.
-
-Fri Jun 6 19:05:14 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
-
- Put an eval around the require of Net::Telnet so that these
- modules can always be "used", but not necessarily employed.
-
- * bin/PerlACE/Run_Test.pm:
-
- Use PerlACE::TargetProcess and PerlACE::HostProcess so that all
- test scripts may use them.
-
- * bin/PerlACE/TargetProcess.pm:
- * bin/PerlACE/HostProcess.pm:
-
- Added modules to simplify the writing of test scripts so that
- VxWorks testing can be transparent to the script itself. Having
- two packages allows for role reversal (using the -reverse_roles
- option to run_test.pl). For example, if you have a test that
- consists of a server and a client, the script will look like this:
-
- $SV = new PerlACE::TargetProcess("server", "-o $iorfile");
- $CL = new PerlACE::HostProcess("client", "-k file://$iorfile");
-
- If testing for VxWorks, the server process will be run on the
- target and the client process will be run on the host. If the
- -reverse_roles option is provided to run_test.pl, the server
- process will run on the host and the client process will run on
- the target.
-
-Fri Jun 06 13:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/ACE.cpp:
-
- untabified.
-
-Fri Jun 06 11:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/ACE.cpp:
-
- Added #include ace/OS_NS_fcntl.h to previous commit of
- Thu Jun 5 23:46:14 UTC 2008 J.T. Conklin.
-
-Fri Jun 6 08:31:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * ace/config-hpux-11.00.h:
- According to Steve Huston HP-UX does provide strtoull and
- wcstoull but they can be used not as straight forward as
- in other compilers. I have no access to HP-UX so I added
- corresponding TODO comment about ACE_LACKS_STRTOULL and
- ACE_LACKS_WCSTOULL that I added previously.
-
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.4.h:
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.3.h:
- VxWorks doesn't provide wcstoull as well.
- Added ACE_LACKS_WCSTOULL.
-
-Thu Jun 5 23:46:14 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ACE.cpp:
-
- Changed daemonize() to open /dev/null and duplicate the file
- descriptor as descriptors 0, 1, and 2 if it is invoked with the
- closed_all_handles flag set. This avoids problems with I/O
- to/from stdin, stdout, and stderr; cin, cout, and cerr;
- etc. being written to/read from whatever files/sockets/devices
- associated with descriptors 0, 1, and 2 when they are reopened.
- This fixes Bugzilla #3338.
-
-Thu Jun 5 16:30:58 2008 Steve Huston <shuston@riverace.com>
-
- * NEWS: Added note concerning ACE_Time_Value changes from
- Thu Jun 5 14:52:43 UTC 2008 Steve Huston <shuston@riverace.com>
-
-Tue Jun 3 13:09:27 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/OS_main.h (wmain): Added
-
- ACE_BEGIN_VERSIONED_NAMESPACE_DECL
- ACE_END_VERSIONED_NAMESPACE_DECL
-
- to the ace_wmain_i macro. Thanks to June Fang <june dot fang at
- gmail dot com> for reporting this.
-
-Thu Jun 5 14:52:43 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Time_Value.{h inl}: Added a non-const variant of
- void msec(ACE_UINT64&) - this allows the msec(ACE_UINT64&) accessor
- to be called on both const and non-const objects without error.
- Fixes Bugzilla #3336. Thanks to Simon Massey for this idea.
-
- * tests/Time_Value_Test.cpp: Added a const-checking msec() call and
- corrected the test case.
-
-Thu Jun 05 13:45:00 UTC 2008 Simon Massey <sma@prismtech.com>
-
- * ace/Get_Opt.cpp:
- * ace/Get_Opt.h:
- * ace/Get_Opt.inl:
-
- As a conveniance in wide character builds allow the
- options string to be specified as a standard narrow
- string (that is converted internally). This type of
- use is littered throughout the TAO code.
-
- * ace/OS_NS_stdio.cpp:
- * ace/OS_NS_stdio.h:
- * ace/OS_NS_stdio.inl:
-
- As a conveniance in wide character builds allow the
- fopen() call to have parameters of mixed wide/narrow
- type. This type of use is littered throughout the TAO
- code.
-
- * ace/OS_NS_stdlib.inl:
-
- Correct the mkstemp facades, they were not returning
- the modified template string under wide character builds,
- this caused the tao_idl compiler to be unable to find
- the pre-processed files to rename that it had just created.
-
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.mpc:
- * examples/Log_Msg/Log_Msg_MFC/Log_Msg_Unicode_MFC.mpc:
-
- Deleted the Unicode specific version, normal one suffices
- after all.
-
- * bin/tao_orb_tests.lst:
-
- Disabled problematic LynxOS test.
-
-Wed Jun 4 22:45:20 2008 Steve Huston <shuston@riverace.com>
-
- * ace/config-pharlap.h: Added ACE_LACKS_FILELLOCKS. My changes from
- Mon Apr 28 21:53:23 UTC 2008 Steve Huston <shuston@riverace.com>
- exposed a call to LockFileEx, which is not present on Pharlap
- (and, therefore, not present in LabVIEW RT). The alternate API,
- LockFile, is present on Pharlap but documented as unsupported.
- Since the OS doesn't do multiple processes, there are more effective
- ways to synchronize that file locks anyway.
-
-Wed Jun 4 20:59:16 UTC 2008 Ciju John <johnc at ociweb dot com>
-
- * ace/SSL/SSL_Context.cpp:
- Fix for Bug 3337. ::SSL_add_dir_cert_subjects_to_stack() isn't
- ready for Windows.
-
-Wed Jun 4 17:12:10 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ACE.cpp (timestamp):
-
- Make sure to divide sizeof timebuf by sizeof (ACE_TCHAR) to
- avoid buffer overflow. This is another instance of the same
- problem fixed in:
-
- Mon Jun 2 15:26:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
-Wed Jun 4 16:05:54 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Time_Value_Test.cpp: Added a test case for Bugzilla #3336
- as reported by Aaron Scamehorn.
-
-Wed Jun 4 14:36:55 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Point_Registry.cpp:
- * ace/Monitor_Base.cpp:
-
- Disabled warning messages reporting an unsuccessful unbind
- of a monitor from the monitor point registry. In some
- cases, it appears that the default process reactor singleton
- is destroyed before the monitor point registry. The reactor
- has an associated ACE_Message_Queue, which in turn has an
- associated monitor. Somehow in the destruction of the
- singleton, the normal chain of destructor calls, which
- would remove the monitor from the registry, is bypassed,
- leaving the removal to happen when the registry's
- destructor is called and the entry in question is no longer
- valid. In any case, this happens only at process shutdown,
- and there is no memory leak. Ways to make this happen in
- a more friendly fashion are being looked into.
-
-Tue Jun 3 16:14:39 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- * rpmbuild/ace-tao-unusedarg.patch:
- * rpmbuild/ace-tao-strrecvfd.patch:
-
- Added ace-tao-strrecvfd.patch (related to bug #3291).
- Changed make loop construct to abort when subcomponent fails.
- Removed PSS from TAO build list.
- Added ace-tao-unusedarg.patch (related to bug #3270).
- Made qt3 BuildRequires conditional on Fedora version.
-
-Mon Jun 2 15:26:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+Fri Mar 5 11:30:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * ace/Log_Record.cpp (format_msg): Make sure to divide sizeof ctp
- by sizeof (ACE_TCHAR) to avoid buffer overflow. Thanks to June
- Fang <june dot fang at gmail dot com> for reporting this.
+ * tests/Atomic_Op_Test.cpp:
+ Print the number of iterations
-Sun Jun 1 02:01:38 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+Fri Mar 5 11:28:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * rpmbuild/ace-tao.spec:
- * rpmbuild/ace-tao-etc.tar.gz:
- * rpmbuild/ace-tao-orbsvcs-daemon.patch:
+ * tests/Atomic_Op_Test.cpp:
+ Also measure postfix increment/decrement
- Added ace-tao-orbsvcs-daemon.patch to workaround
- daemonization problems in rpm installed services.
- Fixed tao-cosconcurrency command line arguments.
+Fri Mar 5 11:21:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-Fri May 30 13:57:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+ * tests/Atomic_Op_Test.cpp:
+ Added more checks to make sure Atomic_Op does work
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.4.h:
- * ace/config-vxworks5.x.h:
- * ace/config-vxworks6.3.h:
- VxWorks doesn't provide strtoull().
+Tue Mar 2 21:02:51 UTC 2010 Steve Huston <shuston@riverace.com>
-Fri May 30 13:48:48 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+ * ace/Dev_Poll_Reactor.cpp (mask_ops_i): If the specified handle is
+ not registered, return -1 instead of crashing.
- * ace/config-openvms.h:
- OpenVMS doesn't provide wcstoull() function.
+Thu Mar 4 09:15:54 UTC 2010 Martin Corino <mcorino@remedy.nl>
-Fri May 30 13:37:13 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * ace/OS_NS_stdlib.inl:
- Fixed MinGW builds.
-
- * ace/config-cygwin32.h:
- Disabled wcstoull() on cygwin since it doesn't provide
- such function.
+ * bin/make_release.py:
+ Fix for problems with creating MPC release tag.
-Fri May 30 13:17:55 UTC 2008 Simon Massey <sma@prismtech.com>
+Thu Mar 4 07:50:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * test/INET_Addr_Test_IPV6.cpp:
- Resolve Conflict #define INTERFACE with MFC under VC8.
+ * tests/Atomic_Op_Test.cpp:
+ Rewritten this test to use a template method so that we can
+ test atomic op easily for various data types
-Fri May 30 10:07:55 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+ * ace/Time_Value.cpp:
+ Layout changes and fixed compile problem with CB2010. This fixes
+ bugzilla 3835, thanks to Jan Kalin <jan dot kalin at zag dot si>
+ for reporting this.
* ace/config-win32-borland.h:
- Borland compilers doesn't provide strtoull() and wcstoull().
-
- * ace/config-sunos5.5.h:
- * ace/config-sunos5.10.h:
- wcstoull() didn't exist on Solaris until version 10.
-
- * ace/config-hpux-11.00.h:
- HP-UX doesn't provide strtoull() and wcstoull().
-
-Thu May 29 16:08:01 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
-
- * ace/OS_NS_stdlib.cpp:
- * ace/OS_NS_stdlib.inl:
- * ace/OS_NS_stdlib.h:
-
- Added strtoull() function to ACE_OS.
-
- * configure.ac:
-
- Added a check for presence of strtoull() and wcstoull()
- in the build environment.
-
-Thu May 29 15:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/INET_Addr.cpp:
-
- Remove tabs to avoid fuzz warning.
-
-Thu May 29 10:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Bug_3332_Regression_Test.cpp:
-
- Remove signed/unsigned comparison warnings.
-
-Wed May 28 18:13:15 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/INET_Addr.cpp:
- * ace/INET_Addr.h:
-
- Changed ACE_INET_Addr::get_host_addr(char *, int) to be thread
- safe by calling ACE_OS::inet_ntop() instead of
- ACE_OS::inet_ntoa().
-
- Changed ACE_INET_Addr::get_host_addr(void) to call
- INET_Addr::get_host_addr(char *, size) with a static buffer.
-
- Removed the special cases for VxWorks in both of the above
- methods which called inet_ntoa_b() which, according to comments,
- was for efficency and thread safety. These are are now as
- efficent and thread safe (or not, in the case of ACE_INET_Addr::
- get_host_addr(void)) as any other target platform, but no longer
- need a string buffer member in every ACE_INET_Addr instance.
-
-Wed May 28 13:46:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/Malloc.h:
- Eliminate a warning from some fanicaly builds.
-
-Wed May 28 08:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * tests/Bug_3332_Regression_Test.cpp:
- * tests/Bug_3332_Regression_Test.txt:
- * tests/run_test.lst:
- * tests/tests.mpc:
-
- Regression test for the change of:
- Fri May 23 12:45:00 UTC 2008 * ace/RB_Tree.cpp.
-
-Tue May 27 23:10:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Makefile.am:
-
- Adding missing template and header files.
-
-Tue May 27 12:11:07 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/ace.mpc:
-
- Added missing template and header files.
-
-Mon May 26 13:54:38 UTC 2008 Olli Savia <ops@iki.fi>
-
- * ace/config-lynxos.h:
- Defined ACE_LACKS_POLL_H.
-
-Mon May 26 07:28:23 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- Clarified the tao-cosevent and tao-rtevent "Summary" tags.
+ CB also has long timevalue mismatch
-Mon May 26 00:31:51 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+Thu Mar 4 07:50:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
- * rpmbuild/ace-tao.spec:
- Fixed rpm build error: bad tar extraction command.
-
-Sun May 25 17:18:20 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/ace.mwc:
-
- s/MonitorControl/Monitor_Control/
-
-Sun May 25 04:11:37 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
-
- * rpmbuild/ace-tao.spec:
- * rpmbuild/ace-tao-rnq.patch:
- * rpmbuild/ace-tao-config-tmplvis.patch:
- * rpmbuild/ace-tao-hasicmp.patch:
- * rpmbuild/ace-tao-obstack.patch:
- * rpmbuild/ace-tao-config-ipv6.patch:
- Removed ace-tao-obstack.patch, no longer needed.
- Converted ace-tao-config-ipv6.patch into conditional rpm script.
- Converted ace-tao-rnq.patch into conditional rpm script.
- Converted ace-tao-config-tmplvis.patch and ace-tao-hasicmp.patch
- into rpm script.
-
-Sat May 24 19:50:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Adjust libpaths now that ACE_MonitorControl library has been
- renamed to just ACE_Monitor_Control.
-
-Fri May 23 14:20:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * m4/platform.m4:
-
- Added *mingw64* case in ACE_SET_PLATFORM_MACROS and
- ACE_CHECK_FORMAT_SPECIFIERS feature test macros.
-
-Fri May 23 12:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * ace/RB_Tree.cpp:
-
- Enhancement to stop external pointers to retained items being
- invalidated upon key deletion.
-
-Fri May 23 12:14:54 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Control/Auto_Update_Starter.h:
-
- Updated filename (which was recently changed) in a comment.
- Thanks to Simon Massey <simon.massey@prismtech.com> for
- reporting the fuzz warning.
-
-Fri May 23 08:14:38 UTC 2008 Olli Savia <ops@iki.fi>
-
- * tests/run_test.lst:
-
- Run Bug_2980_Regression_Test on LynxOS.
-
-Fri May 23 00:18:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Makefile.am:
-
- Rename MonitorControl subdirectory to Monitor_Control, to
- adapt to this change:
-
- Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
-Thu May 22 23:04:38 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Rename MonitorControl subdirectory to Monitor_Control, to
- adapt to this change:
-
- Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
-Thu May 22 19:29:35 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Base.h (clear):
-
- Made the method virtual, since it's overridden in the
- TAO Notification Service monitors and we are now using
- the ACE monitor registry which stores everyhing as the
- ACE base class monitor.
-
-Thu May 22 14:56:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Added support for ACE_RUN_VX_EXE_SUBDIR which can be used when
- the vxworks executables are build in a subdirectory
-
-Thu May 22 09:47:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/ace-tao-codeset.patch:
- * ace/Codeset_Registry_db.cpp:
- Merged patch into the regular registry
-
- * ace/OS_NS_sys_uio.cpp:
- Const change
-
- * ace/Service_Config.cpp:
- Layout change
+ * NEWS:
+ Updated for next micro
* rpmbuild/ace-tao.spec:
- Removed codeset patch
-
-Thu May 22 09:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * rpmbuild/*
- New directory with files needed to create rpm's for ACE/TAO.
- These files will be improved and we will check whether the
- rpm patches can be integrated into the real config files.
- Thanks to Ken Sedgwick <ksedgwick at bonsai dot com> for
- delivering these files.
-
-Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/MonitorControl/*:
-
- Changed directory name to Monitor_Control and renamed all
- contained files, classes, libs, MPC projects, ifdef guards,
- and macros similarly, to better conform to the ACE style.
-
- * ace/Monitor_Point_Registry.cpp:
- * ace/Monitor_Admin.h:
- * ace/Monitor_Admin.cpp:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
- * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
- * examples/Monitor/Bytes_Sent/Makefile.am:
- * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
- * examples/Monitor/Message_Queue_Size/Makefile.am:
- * examples/Monitor/Constraint/constraint.cpp:
- * examples/Monitor/Constraint/Makefile.am:
- * examples/Monitor/CPU_Load/cpu_load.cpp:
- * examples/Monitor/CPU_Load/Makefile.am:
- * examples/Monitor/Num_Threads/Makefile.am:
- * examples/Monitor/Num_Threads/num_threads.cpp:
- * examples/Monitor/Group/Makefile.am:
- * examples/Monitor/Group/group.cpp:
- * examples/Monitor/Memory_Usage/Makefile.am:
- * examples/Monitor/Memory_Usage/memory_usage.cpp:
-
- Changes corresponding to the renaming above.
-
-Wed May 21 14:06:13 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Monitor_Base.h:
- * ace/Monitor_Base.cpp:
-
- Made the update() method non pure virtual.
-
-Tue May 20 19:33:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/Message_Queue_T.cpp:
-
- Added the stringified process id to the construction of
- the message queue size monitor's name, since some tests
- were showing that message queues were being created with
- the same hex address in different processes.
-
-Tue May 20 17:55:39 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Svc_Handler.h:
-
- Added an enum to be used as flags parameter for close().
-
- * ace/Acceptor.cpp:
- * ace/Connector.cpp:
- * ace/Strategies_T.cpp:
-
- Use the new enum during the call to close() on the service handler
- to indicate the circumstances behind the closure.
-
- This is part of a set of commits for Bug 2935.
-
-Tue May 20 09:45:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Ping_Socket.{h,cpp}:
- Use bool
-
-Mon May 19 19:26:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Log_Msg_Test.cpp:
- On VxWorks/LynxOS we didn't test the buffer overflow, but we
- shouldn't test this when ACE_LACKS_VSNPRINTF is defined
- because it will then fail
-
-Mon May 19 19:13:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Hash_Map_Manager_T.h:
- Doxygen change
-
- * ace/Hash_Map_Manager_T.cpp (shared_find)
- Set errno to ENOENT when the size is zero
-
-Mon May 19 19:08:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added 2085 and 2243
-
-Mon May 19 14:19:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/bczar/bczar.html:
- Updated mailing lists
-
- * docs/Download.html:
- * etc/index.html:
- Updated for x.6.5
-
- * ace/config-openvms.h:
- Removed sock max of 64kb
-
-Mon May 19 02:53:21 CDT 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE version 5.6.5 released.
-
-Fri May 16 10:13:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- Reverted change below, causes problems in the builds
- * include/makeinclude/platform_linux.GNU:
- Only set DLD and LD when they are not set yet
-
-Fri May 16 07:50:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Based_Pointer_Test.cpp:
- Also define a public destructor to silence the gnu warning that
- we only have private
-
-Fri May 16 07:49:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Monitor/Num_Threads/num_threads.cpp:
- Fixed compile errors when monitoring framework is disabled
-
-Fri May 16 07:41:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/APG/Streams/Answerer.cpp:
- * examples/APG/Streams/EndTask.h:
- Replaced EndTask with TheEndTask to resolve a name conflict
- when using MinGW
-
-Fri May 16 07:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_linux.GNU:
- * include/makeinclude/platform_linux_common.GNU:
- Support lib64 paths to detect certain features. Thanks to Ken
- Sedgwick <ksedgwick at bonsai dot com> for reporting this
-
- * include/makeinclude/platform_linux.GNU:
- Only set DLD and LD when they are not set yet
-
-Thu May 15 14:00:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Based_Pointer_T.{h,inl}:
- * tests/Based_Pointer_Test.cpp:
- Fixed bugzilla 3285, make it possible to use
- ACE_Based_Pointer<void>. Thanks to Thomas Brownridge
- <thomas dot brownridge at lmco dot com> for reporting this.
-
-Thu May 15 12:36:42 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
-
- * ace/MMAP_Memory_Pool.cpp:
- When using a default base address of 0x0 and otherwise wanting
- a fixed address, a special flag was used to imply that after the
- first address is selected the system in a call to ::mmap()
- subsequent calls to ::mmap() reuse the selected base address
- as a fixed address. This may cause problems with reloading
- persistent data if the stored data contains pointers and the
- system selected base address changes from run to run.
-
- * ace/config-linux-common.h:
- The default base address for the x86-64 platform cannot be 0x0.
- Doing so causes the system to choose an address which for some
- unknown reason causes SEGV errors in Malloc_T. The linux-specific
- mmap flag, MAP_32BIT, resolves those segv errors, but on x86-64
- using 0x0 as the default base address on subsequent runs cause
- a different assigned base address to be selected. If the data
- in the mapped memory contains pointers to mapped memory, those
- are then wrong and cause SEGV crashs. By experimentation, it
- seems the default base address for powerpc is appropriate for
- x86-64.
-
-Thu May 15 10:19:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/rules.lib.GNU:
- Fixed OpenVMS specific part
-
-Thu May 15 10:17:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Unbounded_Set_Ex.cpp:
- Fixed bug in the insert method
-
- * ace/Unbounded_Set_Test.cpp:
- Extended this test to reproduce the bug above and replaced all
- ACE_ASSERTS with if checks
-
-Thu May 15 10:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
-
- * bin/msvc_mpc_auto_compile.pl:
- Split orbsvcs out from ciao build.
-
-Thu May 15 07:09:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace.mpc:
- Added config-win32-msvc9.h, thanks to <tim at burmair dot com> for
- reporting this
-
-Wed May 14 20:41:17 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Thread_Manager.h: Expanded the documentation, particularly for
- spawn[_n].
-
-Wed May 14 18:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-irix6.x-common.h:
- * ace/config-linux-common.h:
- * ace/config-sunos5.4-g++.h:
- * ace/config-sunos5.4-sunc++-4.x.h:
- * ace/config-sunos5.5.h:
- * ace/config-tandem.h:
- * ace/config-unixware-7.1.0.h:
- * ace/config-unixware-7.1.0.udk.h:
- * ace/MonitorControl/MemoryUsageMonitor.cpp:
- * ace/MonitorControl/MemoryUsageMonitor.h:
- * ace/OS.inl:
- * ace/os_include/os_unistd.h:
- * ace/os_include/sys/os_resource.h:
- * ace/POSIX_Proactor.cpp:
- * ace/configure.ac:
- Seems we already had a ACE_HAS_SYSINFO but this is a different
- method but with the same name as we use in the monitoring code.
- Added ACE_HAS_SYS_SYSTEMINFO_H as new define, renamed the
- linux define to ACE_HAS_LINUX_SYSINFO
-
-Wed May 14 18:14:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ACE.cpp:
- Layout changes
-
- * ace/config-vxworks5.x.h:
- * ace/OS_NS_unistd.inl:
- * ace/Sock_Connect.cpp:
- Extended for VxWorks Medusa
-
- * ace/Logging_Strategy.cpp:
- Initialise pointer with 0
-
-Wed May 14 14:26:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks5.5.x.GNU:
- Detect medusa pid/pcd/pne
-
-Wed May 14 12:34:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_pdhmsg.h:
- New file
-
- * ace/config-win32-common.h:
- Added ACE_HAS_PDHMSG_H
-
- * ace/config-win32-mingw.h:
- * ace/config-WinCE.h:
- Added ACE_LACKS_PDHMSG_H
-
- * ace/Makefile.am:
- Added new file
-
- * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
- Use new os_pdhmsg.h
-
-Wed May 14 12:24:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_kstat.h:
- * ace/os_include/sys/os_sysinfo.h:
- New header files
-
- * ace/os_include/os_glob.h:
- * ace/os_include/sys/os_statvfs.h:
- Removed not needed includes
-
- * configure.ac:
- Added check for sysinfo.h
-
- * ace/config-linux-common.h:
- Added ACE_HAS_SYSINFO and ACE_HAS_SYSINFO_H
-
- * ace/Makefile.am:
- Added new files
-
- * ace/MonitorControl/CPULoadMonitor.h:
- * ace/MonitorControl/MemoryUsageMonitor.cpp:
- * ace/MonitorControl/MemoryUsageMonitor.h:
- Use the new defines and header files
-
-Wed May 14 10:41:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/*:
- * examples/Monitor/*:
- Renamed MonitorControl namespace to Monitor_Control to comply
- to ACE coding guidelines
-
-Wed May 14 09:48:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/run_test.lst:
- Enabled some more tests on vxworks
-
-Tue May 13 19:20:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/diff-builds.pl:
- Updated for move of test stats
-
-Mon May 12 12:19:15 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/Monitor/MC_Test_Utilities.h:
- * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
- * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
- * examples/Monitor/Constraint/constraint.cpp:
- * examples/Monitor/CPU_Load/cpu_load.cpp:
- * examples/Monitor/MC_Test_Utilities.cpp:
- * examples/Monitor/Group/group.cpp:
- * examples/Monitor/Memory_Usage/memory_usage.cpp:
-
- Added appropriate preprocessor guards to ensure a
- successful build when ACE_HAS_MONITOR_FRAMEWORK is
- defined as 0.
-
- * examples/Monitor/Message_Queue_Size/Message_Queue_Size.mpc:
-
- Removed outdated macro additions from project.
-
-Fri May 9 18:58:52 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Config.h:
- * ace/Service_Config.inl:
- * ace/Service_Config.cpp:
- * ace/Service_Gestalt.cpp:
-
- Calling ACE_Service_Config::open() does not correctly initialize
- the SC global state (process name, in particular but others
- too). Fixing bug#3319.
-
-Fri May 9 17:58:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Revert changes of:
- Thu May 8 22:13:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- Now that ETCL Parser library has been renamed back to
- ACE_ETCL_Parser.
-
-Fri May 9 17:55:39 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * examples/Monitor/Bytes_Sent/Makefile.am:
- * examples/Monitor/Message_Queue_Size/Makefile.am:
- * examples/Monitor/Constraint/Makefile.am:
- * examples/Monitor/CPU_Load/Makefile.am:
- * examples/Monitor/Num_Threads/Makefile.am:
- * examples/Monitor/Group/Makefile.am:
- * examples/Monitor/Memory_Usage/Makefile.am:
- * ace/ETCL/Makefile.am:
- * ace/MonitorControl/Makefile.am:
-
- Regenerated.
-
-Fri May 9 14:17:11 UTC 2008 William R. Otte <wotte@william-r-ottes-macbook-pro.local>
-
- * include/makeinclude/platform_macosx_icc.GNU:
-
- Support for ICC on Intel Macs.
-
-Fri May 9 12:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-all.h:
- Added ACE_HAS_MONITOR_POINTS which currently is set to 0. We will
- enable this in a few builds to test them in detail. This way the
- user can decide to enable the monitor framework but not get the
- ACE builtin monitor points
-
- * ace/CDR_Stream.cpp:
- * ace/CDR_Stream.h:
- * ace/CDR_Stream.inl:
- * ace/Message_Queue_T.cpp:
- * ace/Message_Queue_T.h:
- Added monitor points
-
- * ace/Codeset_IBM1047.cpp:
- Removed code to silence the hp compiler, this is not needed in other
- files
-
-Fri May 9 11:44:59 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
-
- Changed the filename etcl_parser.mpb to the one
- above, for consistency in the names of ACE-related
- files. Also changed the corresponding library name
- to ACE_ETCL_Parser.
-
- * ace/ETCL/ACE_ETCL_Parser.pc.in:
-
- Changed the name of ETCL_Parser.pc.in likewise.
- Also changed the contents of this file accordingly.
-
- * ace/ETCL/ETCL.mpc:
- * ace/MonitorControl/MonitorControl.mpc:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
-
- Changes corresponding to the name changes above.
-
-Thu May 8 23:03:15 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/config/ace_zlib.mpb:
-
- ACE-specific zlib base project that overrides library settings
- in MPC's own zlib base project for the automake build.
-
-Thu May 8 22:13:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Adjust libpaths now that ACE_ETCL_Parser library has been
- renamed to just ETCL_Parser.
-
-Thu May 8 22:07:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/Makefile.am:
-
- Regenerated.
-
- * ace/ETCL/ACE_ETCL.pc.in:
- * ace/ETCL/ETCL_Parser.pc.in:
-
- New pkg-config template files.
-
- * ace/ETCL/ETCL.mpc:
-
- Add Pkgconfig_Files sections for ACE_ETCL and ETCL_Parser
- projects.
-
-Thu May 8 21:06:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/ETCL/ETCL_Constraint_Visitor.h:
- * ace/ETCL/ETCL_Constraint_Visitor.cpp:
-
- Removed a no-op method mean to be overridden
- in derived visitors, but then abandoned.
-
-Fri May 2 17:45:13 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * docs/ACE-guidelines.html: Updated the style guide to discuss the
- use of '_' vs intercaps.
-
-Thu May 8 10:51:29 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * include/makeinclude/platform_sunos5_g++.GNU: Ensure -pipe is not
- inserted into CCFLAGS twice. Similar to earlier change from
- Wed Jan 23 17:23:31 UTC 2008 Steve Huston <shuston@riverace.com>
- Fixes Bugzilla #3232.
-
-Thu May 8 08:06:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ETCL/ETCL_l.cpp:
- * ace/ETCL/ETCL_y.cpp:
- Fixed casing of include
-
-Wed May 7 19:28:35 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Unbounded_Set.{h inl}: Replaced typedef BASE with base_type.
- Avoids a BASE macro on AIX.
-
-Wed May 7 19:02:51 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/ETCL/ETCL_include:
-
- Removed this directory.
-
- * ace/ETCL/etcl_parser_export.h:
-
- Relocated here from ace/ETCL/ETCL_include.
-
- * bin/MakeProjectCreator/config/etcl_parser.mpb:
-
- Renamed this file from ace_etcl_parser.mpb.
-
- * ace/ETCL/ETCL_l.cpp:
- * ace/ETCL/ETCL.yy
- * ace/ETCL/ETCL_Interpreter.cpp:
- * ace/ETCL/ETCL.ll:
- * ace/ETCL/ETCL_y.cpp:
- * ace/ETCL/ETCL_Interpreter.h:
- * ace/ETCL/ETCL.mpc:
- * ace/MonitorControl/MonitorControl.mpc:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
-
- All changes in this checkin are to remove
- unnecessary things as a result of making the
- ETCL parser the only one used. The corresponding
- parser in TAO is eliminated.
-
-Wed May 7 17:11:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_linux_icc.GNU:
- Added ICC 11.0
-
-Wed May 7 14:28:54 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/ChangeLogEditor/FileLocatorFactory.pm:
-
- Changed to detect Subversion before CVS.
-
-Wed May 7 14:12:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_3319_Regression_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
- Added regression for bugzilla 3319
-
-Wed May 7 10:52:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Hash_Map_Manager_T.cpp:
- Fixed GCC warning about maybe unitialised use and also
- use prefix decrement and no need for some intermediate variables
-
-Wed May 7 08:42:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks5.x.h:
- Added ACE_HAS_4_4BSD_SENDMSG_RECVMSG
-
-Wed May 7 07:03:29 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * ace/Unbounded_Set.h
-
- Fuzz fix.
-
-Wed May 7 06:33:30 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * ace/Unbounded_Set.inl
-
- Fix unused argument warning.
-
-Tue May 6 17:03:17 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * ace/Hash_Map_Manager_T.cpp:
- Fixed segfault if shared_find is called on a map of size zero.
-
- * ace/Log_Msg.h:
-
- Comments for trace_active were swapped.
-
- * ace/Node.h:
- * ace/Node.cpp:
- * ace/Unbounded_Set.h:
- * ace/Unbounded_Set.inl:
- * ace/Unbounded_Set.cpp:
- * ace/Unbounded_Set_Ex.h:
- * ace/Unbounded_Set_Ex.inl:
- * ace/Unbounded_Set_Ex.cpp:
-
- Extended the Unbounded_Set to include a comparator template parameter,
- which must implement operator (), which returns true if the items are
- equivalent. This class has been renamed Unbounded_Set_Ex.
-
- Unbounded_Set is now implemented in terms of Unbounded_Set_Ex with a
- comparator that uses operator== to compare the items.
-
- * ace/Service_Gestalt.h:
- * tests/Unbounded_Set_Test.cpp:
-
- Slight updates to conform with new implementation.
-
- * NEWS
-
- Added description for above.
-
-Tue May 6 12:37:43 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/ETCL/ETCL_Constraint.h:
- * ace/ETCL/ETCL_Constraint_Visitor.cpp:
- * ace/ETCL/ETCL_Constraint_Visitor.h:
- * ace/ETCL/ETCL_Constraint.inl:
- * ace/ETCL/ETCL_Constraint.cpp:
-
- Moved code from the TAO ETCL classes to base classes
- here.
-
-Tue May 6 08:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Added support for ACE_RUN_VX_TGT_TELNET_HOST and
- ACE_RUN_VX_TGT_TELNET_PORT so that an explicit telnet server
- can be configured. If not specified we use ACE_RUN_VX_TGTHOST
- which also specifies the ip address that is used as endpoint
- for the corba servers
+ Fixed problem with installation of nslist readme
-Mon May 5 17:09:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/build_dll.bor:
- * include/makeinclude/build_exe.bor:
- * include/makeinclude/build_lib.bor:
- Handle files with cxx extension just as we could handle cpp files
-
-Mon May 5 07:53:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/os_include/os_pdh.h:
- New os_include file for pdh.h
-
- * ace/configure.ac:
- Added check for pdh.h
-
- * ace/Makefile.am:
- Added new file
-
- * ace/config-win32-common.h:
- * ace/config-win32-mingw.h:
- * ace/config-WinCE.h:
- Windows has pdh.h, but not MinGW and not WinCE
-
- * ace/MonitorControl/BytesReceivedMonitor.cpp:
- * ace/MonitorControl/BytesReceivedMonitor.h:
- * ace/MonitorControl/BytesSentMonitor.cpp:
- * ace/MonitorControl/BytesSentMonitor.h:
- * ace/MonitorControl/CPULoadMonitor.cpp:
- * ace/MonitorControl/CPULoadMonitor.h:
- * ace/MonitorControl/MemoryUsageMonitor.cpp:
- * ace/MonitorControl/MemoryUsageMonitor.h:
- * ace/MonitorControl/NumThreadsMonitor.cpp:
- * ace/MonitorControl/NumThreadsMonitor.h:
- * ace/MonitorControl/PacketsReceivedMonitor.cpp:
- * ace/MonitorControl/PacketsReceivedMonitor.h:
- * ace/MonitorControl/PacketsSentMonitor.cpp:
- * ace/MonitorControl/PacketsSentMonitor.h:
- * ace/MonitorControl/WindowsMonitor.cpp:
- * ace/MonitorControl/WindowsMonitor.h:
- * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
- * ace/MonitorControl/WindowsMultiInstanceMonitor.h:
- Use ACE_HAS_WIN32_PDH instead of ACE_WIN32 because with WinCE and
- MinGW we don't have pdh on windows
-
-Mon May 5 07:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Monitor/CPU_Load/cpu_load.cpp:
- * examples/Monitor/Group/group.cpp:
- Fixed C90 warnings
-
-Mon May 5 07:30:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Monitor/MC_Test_Utilities.mpc:
- Don't build with ace_for_tao enabled
-
-Sat May 3 17:00:07 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Add relative libdirs for new ACE_ETCL, ACE_ETCL_Parser, and
- ACE_MonitorControl libraries.
-
-Sat May 3 13:47:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * examples/Makefile.am:
-
- Regenerated.
-
-Fri May 2 23:58:38 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Build new example directories.
-
- * examples/Monitor/Bytes_Sent/Makefile.am:
- * examples/Monitor/Message_Queue_Size/Makefile.am:
- * examples/Monitor/Constraint/Makefile.am:
- * examples/Monitor/CPU_Load/Makefile.am:
- * examples/Monitor/Num_Threads/Makefile.am:
- * examples/Monitor/Group/Makefile.am:
- * examples/Monitor/Memory_Usage/Makefile.am:
- * examples/Monitor/Makefile.am:
- * examples/Semaphores/Makefile.am:
-
- New Makefile.am's.
-
-Fri May 2 23:29:06 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/Makefile.am:
-
- Regenerated.
-
- * ace/ETCL/ETCL.mpc:
-
- Add automake specific rule for includes.
-
-Fri May 2 22:53:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Build ace/ETCL and ace/MonitorControl.
-
-Fri May 2 21:54:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/ETCL/Makefile.am:
- * ace/MonitorControl/Makefile.am:
-
- New Makefile.am's.
-
- * ace/Makefile.am:
-
- Regenerated.
-
-Fri May 2 18:36:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/ETCL/ETCL_Interpreter.h:
-
- Fix for build problems with versioned namespaces turned on.
-
-Fri May 2 17:50:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
- * ace/config-vxworks6.4.h:
- Only define _C99 when it is not defined yet
-
-Fri May 2 17:20:37 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Message_Queue_Test.cpp: Removed the delay sleep between loop
- iterations - it causes the test to time out too often. Increased
- the message count back to multiples of 100,000.
-
-Fri May 2 15:34:55 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/RW_Process_Mutex_Test.cpp: Fixed compile warning about
- redundant variable.
-
-Fri May 2 11:07:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/MMAP_Memory_Pool.{h,cpp}:
- Doxygen improvements and moved the documentation about the
- handle_signal method from the cpp to the header file so that
- it appears in the doxygen documentation
-
-Fri May 2 09:36:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added Bug_3315_Regression
-
-Fri May 2 08:25:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/msvc_static_order.lst:
- Added new libs
-
-Fri May 2 08:15:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace_for_tao.mpc:
- Added new monitor files
-
-Fri May 2 08:04:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Monitor_Admin.cpp
- * ace/Monitor_Admin.h
- * ace/MonitorControl/AutoUpdateStarter.cpp
- * ace/MonitorControl/AutoUpdateStarter.h
- * ace/MonitorControl/MonitorControl_utils.h
- Updated for naming conventions
-
-Fri May 2 07:47:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/Monitor/Bytes_Sent/bytes_sent.cpp
- * examples/Monitor/Constraint/constraint.cpp
- * examples/Monitor/CPU_Load/cpu_load.cpp
- * examples/Monitor/Group/group.cpp
- * examples/Monitor/Memory_Usage/memory_usage.cpp
- * examples/Monitor/Message_Queue_Size/message_queue_size.cpp
- * examples/Monitor/Num_Threads/num_threads.cpp
- Updated include
-
- * examples/Monitor/Bytes_Sent/Bytes_Sent.mpc
- * examples/Monitor/Constraint/Constraint.mpc
- * examples/Monitor/Num_Threads/Num_Threads.mpc
- * examples/Monitor/Group/Group.mpc
- * examples/Monitor/CPU_Load/CPU_Load.mpc
- * examples/Monitor/Message_Queue_Size/Message_Queue_Size.mpc
- Don't build with ace_for_tao
-
-Thu May 1 22:35:17 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/MonitorControl/MonitorControl.mpc:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
- Avoid wince - it lacks the needed PDH capability.
-
-Thu May 1 18:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/MonitorControl/MonitorControl.mpc:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
- Use ACE_MonitorControl as shared library name
-
-Thu May 1 17:31:01 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Config.cpp: Removed an assert guarding the case when
- the current thread has no associated configuration context. Added
- code that would initialize the thread's configuration context with
- the global, instead. This addresses bug# 3315.
-
-Thu May 1 17:11:48 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/ace.mwc:
-
- Added MonitorControl directory to the workspace.
-
-Thu May 1 17:05:37 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ace/MonitorControl/PacketsSentMonitor.h:
- * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
- * ace/MonitorControl/WindowsMonitor.cpp:
- * ace/MonitorControl/PacketsReceivedMonitor.cpp:
- * ace/MonitorControl/MonitorGroup.h:
- * ace/MonitorControl/MonitorQuery.h:
- * ace/MonitorControl/NumThreadsMonitor.cpp:
- * ace/MonitorControl/PacketsSentMonitor.cpp:
- * ace/MonitorControl/MonitorGroup.cpp:
- * ace/MonitorControl/WindowsMultiInstanceMonitor.h:
- * ace/MonitorControl/WindowsMonitor.h:
- * ace/MonitorControl/MonitorControl_utils.h:
- * ace/MonitorControl/MonitorQuery.cpp:
- * ace/MonitorControl/PacketsReceivedMonitor.h:
- * ace/MonitorControl/NumThreadsMonitor.h:
-
- Changed header includes to be consistently relative
- to $ACE_ROOT.
-
-Thu May 1 16:11:12 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * MonitorControl/*:
-
- Moved this directory to $ACE_ROOT/ace.
-
-Thu May 1 15:56:58 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/run_test.lst: Change Bug_2980_Regression_Test's !MSVC to
- !Win32. The test won't run on Windows per its comments, but no
- XML configs set MSVC - they set Win32.
-
-Thu May 1 15:27:25 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Message_Queue_Test.cpp: In the counting test, run multiples
- of 50,000 instead of 100,000, blocks. The test is timing out on a
- number of platforms.
-
- * tests/RW_Process_Mutex_Test.cpp: Fix signed/unsigned warnings and
- wchar build error. Changed the default lock name to something other
- than the program's name. Using the program name produces "text
- file busy" when attempting a file lock on it... doh...
-
-Thu May 1 14:47:33 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * MonitorControl/examples/*:
-
- Removed this directory and moved its contents to
- $ACE_ROOT/examples/Monitor.
-
- * bin/MakeProjectCreator/config/acelib.mpb:
-
- Cosmetic changes.
-
-Thu May 1 14:37:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
-
- Override the warn_useless_project() method so that we are no
- longer warned about "no useful targets" for this project type.
-
-Wed Apr 30 22:01:10 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/RW_Process_Mutex_Test.cpp: New test for proper functioning
- of ACE_RW_Process_Mutex.
-
- * tests/tests.mpc:
- * tests/run_test.lst: Add RW_Process_Mutex_Test.
-
-Wed Apr 30 21:14:45 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-
- * ace/Hash_Map_Manager_T.h:
-
- Two of the backwards compatible iterators for
- ACE_Hash_Map_Manager incorrectly defined the iterator_category
- trait based on the container_type, which does not have an
- iterator_category. Now the trait is defined in terms of its
- base class. This resolved Bugzilla Bug #3314.
-
-Wed Apr 30 16:49:27 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * MonitorControl/PacketsSentMonitor.h:
- * MonitorControl/BytesReceivedMonitor.h:
- * MonitorControl/PacketsReceivedMonitor.h:
- * MonitorControl/BytesSentMonitor.h:
-
- Added include of export header file, since it's not
- pulled in indirectly on Solaris builds.
-
- * MonitorControl/WindowsMultiInstanceMonitor.cpp:
-
- Fixed signed/unsigned comparison warnings on wchar builds.
-
-Wed Apr 30 16:24:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * MonitorControl/CPULoadMonitor.cpp:
- * MonitorControl/WindowsMonitor.cpp:
- * MonitorControl/WindowsMultiInstanceMonitor.cpp:
- * MonitorControl/MemoryUsageMonitor.cpp:
- * MonitorControl/NumThreadsMonitor.cpp:
- * MonitorControl/LinuxNetworkInterfaceMonitor.cpp:
-
- Fixed wchar build errors.
-
-Wed Apr 30 13:49:52 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/UUID.cpp (get_timestamp_and_clocksequence): Case clock sequence
- value using ACE_UINT16 instead of u_char to prevent duplicates
- when many UUIDs are generated quickly. Thanks to Wim van den Boogaard
- for this fix. Resolves Bugzilla #3313.
-
-Tue Apr 29 19:52:48 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Proactor.cpp: Simplify the timer_handler_ task spawn and
- shutdown. Also, if close() sees an error from the implementation's
- close, don't stop closing. Things are most likely already ripped
- apart too far to recover from, and it's likely to cause a hang to
- just try to stop closing now.
-
- * ace/POSIX_Asynch_IO.cpp: Correctly handle the ACE_Message_Block
- pointers passed to operations and later updating when complete.
- Thanks to Fernando C. Jeronymo <fernando dot fcavalcanti at
- gmail.com> for diagnosing this problem.
-
- * THANKS: Added Fernando C. Jeronymo to the Hall of Fame.
-
- * tests/Proactor_UDP_Test.cpp: Fix to close down correctly in
- half-duplex mode.
-
-Tue Apr 29 19:12:53 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
-
- Changed the path of the 'includes' line to match
- the new location of ETCL.
-
- * MonitorControl/Constraint_Interpreter.cpp:
- * MonitorControl/Constraint_Visitor.h:
- * MonitorControl/Constraint_Visitor.cpp:
- * MonitorControl/Constraint_Interpreter.h:
-
- Updated #includes to match the new location of ETCL.
-
- * MonitorControl/AutoUpdateStarter.h:
-
- Moved location of enabled monitors check, it was
- previous to any place it could see the #define in
- an included file.
-
- * MonitorControl/examples/Constraint/constraint.cpp:
- * MonitorControl/examples/CPU_Load/cpu_load.cpp:
- * MonitorControl/examples/Group/group.cpp:
-
- Some compile warnings fixed.
-
-Tue Apr 29 18:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MonitorControl/AutoUpdateStarter.h:
- * MonitorControl/Constraint_Interpreter.h:
- * MonitorControl/Constraint_Visitor.h:
- * MonitorControl/LinuxNetworkInterfaceMonitor.h:
- * MonitorControl/MonitorControl.h:
- * MonitorControl/MonitorQuery.h:
- * MonitorControl/WindowsMonitor.h:
- * MonitorControl/WindowsMultiInstanceMonitor.h:
- Make sure we have at least one include before pragma once
-
-Tue Apr 29 18:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/bczar/bczar.html:
* etc/index.html:
- Updated Beta to Micro
-
-Tue Apr 29 18:02:22 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ETCL/*:
-
- Moved this directory and all its contents to $ACE_ROOT/ace.
- Also changed #includes to be relative to $ACE_ROOT.
-
- * ace/ace.mwc:
-
- Added ETCL directory.
-
- * docs/svn/svn-prefs.reg:
-
- Added *.diff to list.
-
-Tue Apr 29 17:45:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MonitorControl/examples/Bytes_Sent/bytes_sent.cpp:
- * MonitorControl/examples/Constraint/constraint.cpp:
- * MonitorControl/examples/CPU_Load/cpu_load.cpp:
- * MonitorControl/examples/Group/group.cpp:
- * MonitorControl/examples/Memory_Usage/memory_usage.cpp:
- * MonitorControl/examples/Message_Queue_Size/message_queue_size.cpp:
- * MonitorControl/examples/Num_Threads/num_threads.cpp:
- Updated main for unicode
-
-Tue Apr 29 13:14:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Test_Output.cpp:
- Check for ACE_VXWORKS
-
-Tue Apr 29 13:12:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MonitorControl/AutoUpdateStarter.cpp:
- * MonitorControl/Constraint_Interpreter.cpp:
- * MonitorControl/Constraint_Interpreter.h:
- * MonitorControl/Constraint_Visitor.cpp:
- * MonitorControl/Constraint_Visitor.h:
- * MonitorControl/CPULoadMonitor.cpp:
- * MonitorControl/LinuxNetworkInterfaceMonitor.cpp:
- * MonitorControl/NumThreadsMonitor.cpp:
- * MonitorControl/WindowsMonitor.cpp:
- * MonitorControl/WindowsMultiInstanceMonitor.cpp:
- Updated includes to fix errors and improve compile speed when
- this lib is disabled
-
-Tue Apr 29 08:16:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- Zap empty line
-
- * bin/PerlACE/ProcessVX.pm:
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Improved handling of vxtest file
-
-Tue Apr 29 07:23:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/MEM_Connector.cpp:
- * ace/Service_Manager.cpp:
- * ace/SOCK_Dgram_Mcast.cpp:
- Reverted accidental commits from Doug
-
-Tue Apr 29 06:32:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
- Generate exename.vxtest instead of project name
-
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- Don't generate ld <
-
-Mon Apr 28 22:34:10 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * tests/Proactor_UDP_Test.cpp: Fix compile errors on non-Windows.
-
-Mon Apr 28 21:53:23 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * docs/ACE-development-process.html: Fix a few remaining nits.
-
- * ace/OS_NS_stdio.inl: Removed all the pre-ACE_HAS_WINNT4 code in the
- file locks methods. This was the only place left in ACE that
- referred to ACE_HAS_WINNT4; all pre-NT4 support was removed last
- year from the rest of ACE. This also corrects behavior of file
- locks as well as ACE_RW_Process_Mutex.
-
- * ace/RW_Process_Mutex.h: Doxygen improvements.
-
- * ace/SOCK_CODgram.h: Doxygen improvements.
-
- * ace/SOCK_CODgram.cpp (open): If either of the local or remote
- addresses is specified, use its address family rather than the
- value of protocol_family. If both are specified, they must match.
-
- * tests/Message_Queue_Test.cpp: Added a counting test to validate the
- queue's message counting.
-
- * tests/Proactor_UDP_Test.cpp: New test for UDP with ACE_Proactor.
-
- * tests/tests.mpc:
- * tests/run_test.lst: Add Proactor_UDP_Test.
-
-Mon Apr 28 19:21:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX.pm:
- * bin/PerlACE/ProcessVX_Unix.pm:
- * bin/PerlACE/ProcessVX_Win32.pm:
- Use the vxtest file when testing shared non rtp
-
-Mon Apr 28 19:06:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * MonitorControl/MonitorControl.h:
-
- Added ACE_HAS_MONITOR_FRAMEWORK guard to this file.
-
-Mon Apr 28 18:24:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace_wchar.h:
- Added defines needed to build MonitorControl unicode
-
- * MonitorControl/WindowsMonitor.cpp:
- * MonitorControl/WindowsMultiInstanceMonitor.cpp:
- Make a correct difference between unicode and non unicode builds
-
- * ace/Strategies_T.{h,inl}:
- Refcount from base is now a long
-
-Mon Apr 28 18:23:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/PerlACE/ProcessVX_Unix.pm:
-
- Fixed a bug in my previous commit of this file,
- $cmdnr was not updated when the unload commands were added.
-
-Mon Apr 28 17:59:43 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * Constraint_Interpreter.cpp:
- * Constraint_Visitor.h:
- * MonitorGroup.h:
- * MonitorQuery.h:
- * AutoUpdateStarter.h:
- * Constraint_Visitor.cpp:
- * MonitorGroup.cpp:
- * Constraint_Interpreter.h:
- * MonitorQuery.cpp:
- * AutoUpdateStarter.cpp:
- * MonitorControl_utils.h:
-
- Added ACE_HAS_MONITOR_FRAMEWORK guards
- similarly to the other files in the library.
-
-Mon Apr 28 17:54:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MonitorControl/BytesReceivedMonitor.cpp:
- * MonitorControl/BytesSentMonitor.cpp:
- * MonitorControl/CPULoadMonitor.cpp:
- * MonitorControl/MemoryUsageMonitor.cpp:
- * MonitorControl/NumThreadsMonitor.cpp:
- * MonitorControl/PacketsReceivedMonitor.cpp:
- * MonitorControl/PacketsSentMonitor.cpp:
- * MonitorControl/WindowsMonitor.cpp:
- * MonitorControl/WindowsMonitor.h:
- * MonitorControl/WindowsMultiInstanceMonitor.cpp:
- * MonitorControl/WindowsMultiInstanceMonitor.h:
- Fixed unicode compile problems on windows
-
-Mon Apr 28 13:25:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * examples/APG/Streams/streams.mpc:
- * examples/C++NPv2/C++NPv2.mpc:
- Use base projects
-
-Mon Apr 28 13:20:40 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Vector_T.inl (ACE_Vector): Take another shot at fixing the
- max_size() problem.
-
-Mon Apr 28 12:45:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- Added the new TAO HandleExhaustion test for all but Windows.
-
-Mon Apr 28 12:21:55 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Vector_T.inl (ACE_Vector): Zapped the "this->" in "this->max_size()".
- Thanks to Karl-Heinz <wind at itq dot de> for reporting this.
-
-Mon Apr 28 12:13:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_sunos5_common.GNU:
- Added kstat support needed for monitoring lib on solaris
-
-Mon Apr 28 12:05:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MonitorControl/*:
- Merge from MonitorControl branch.
-
-Mon Apr 28 11:37:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-all.h:
- * ace/Global_Macros.h:
- Moved set of define to config-all
-
- * ace/Truncate.h:
- * ace/Condition_T.h:
- Doxygen fix
-
-Mon Apr 28 11:36:46 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ace/Acceptor.h:
- * ace/Acceptor.cpp:
-
- Added a virtual method to facilitate the configurable handling of
- accept() errors.
-
-Mon Apr 28 11:30:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ETCL/*:
- New ETCL library for ACE
-
- * bin/MakeProjectCreator/config/ace_etcl.mpb:
- * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
- * bin/MakeProjectCreator/config/ace_mc.mpb:
- New base projects
-
- * bin/MakeProjectCreator/config/acenosubsets.mpb:
- Layout changes
-
-Mon Apr 28 10:31:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Monitor_Admin.cpp:
- * ace/Monitor_Admin.h:
- * ace/Monitor_Admin_Manager.cpp:
- * ace/Monitor_Admin_Manager.h:
- * ace/Monitor_Base.cpp:
- * ace/Monitor_Base.h:
- * ace/Monitor_Base.inl:
- * ace/Monitor_Control_Action.cpp:
- * ace/Monitor_Control_Action.h:
- * ace/Monitor_Control_Types.cpp:
- * ace/Monitor_Control_Types.h:
- * ace/Monitor_Point_Registry.cpp:
- * ace/Monitor_Point_Registry.h:
- * ace/ace.mpc:
- * ace/Global_Macros.h:
- First commit coming from the Monitor branch. This will add a
- monitoring framework to ACE with which size of queues, cpu load
- and other resources can be monitored.
-
-Sun Apr 27 05:55:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Service_Object.cpp:
- Fixed big introduced by some cleanup I did
-
-Fri Apr 25 21:47:54 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- * bin/PerlACE/ProcessVX_Unix.pm:
-
- Began integration of the foo.vxtest files into the actual testing
- process. This needs to get enhanced in ProcessVX_Win32.pm too.
-
-Fri Apr 25 21:21:56 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Object_Manager.cpp:
-
- Removed a comment that no longer applies.
-
- * bin/PerlACE/Process_Win32.pm:
-
- Changed the check for failure to spawn a process, in order to avoid
- a race condition (the spawned process exits normally before we even
- check its status).
-
- * bin/auto_run_tests.pl:
-
- With -s, account for different parameter formatting requirements in
- the win32 and posix sandbox programs.
-
-Fri Apr 25 14:25:00 UTC 2008 Simon Massey <sma at pristmech dot com>
-
- * tests/Unload_libACE.cpp:
- I've backed out this change due to lack of time to chase up
- the lack of macro definitions. This will need to be revisited.
-
-Fri Apr 25 10:40:00 UTC 2008 Simon Massey <sma at pristmech dot com>
-
- * tests/Unload_libACE.cpp:
- This test wasn't using ACE_TMAIN.
-
-Fri Apr 25 09:10:00 UTC 2008 Simon Massey <sma at pristmech dot com>
-
- * bin/MakeProjectCreator/config/global.features:
- * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_MFC.mpc:
- Feature name "uses_wchar" already used within ACE/TAO. Replaces
- the "unicode" feature name. Template / project names within MPC
- still named unicode.
-
-Thu Apr 24 18:45:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-linux-common.h:
- When ACE_LACKS_STROPTS_H not is defined we assume we have
- strbut so we set ACE_HAS_STRBUF_T
-
-Thu Apr 24 16:47:16 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/tao_orb_tests.lst:
-
- The DLL_ORB test requires threads. Disable it when the ST config
- is used.
-
-Thu Apr 24 15:05:50 UTC 2008 Simon McQueen <sm@prismtech.com>
-
- * bin/tao_orb_tests.lst:
-
- Scheduled new regression test for bug #3299.
-
-Thu Apr 24 09:55:00 UTC 2008 Simon Massey <sma at pristmech dot com>
-
- * bin/MakeProjectCreator/config/ace_unicode.mpb:
- * bin/MakeProjectCreator/config/global.features:
- Default unicode=0 feature. Unicode does not depend upon MFC,
- may be used together as necessary.
-
- * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_MFC.mpc:
- * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_Unicode_MFC.mpc:
- Split out the unicode requirements.
-
-Thu Apr 24 05:58:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Refcountable_T.{cpp,inl}:
- Use ACE_INLINE
-
-Thu Apr 24 05:47:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-posix.h:
- Reverted change below, already made a similar change which is less risky
-
- Thu Apr 17 19:27:23 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
- * ace/config-posix.h: Added a check for
-
- #if defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1
- # define ACE_LACKS_STROPTS_H
- #endif
-
- so that ACE will compile properly on Fedora 8. Thanks to
- Jules Colding <colding at 42tools dot com> for this fix.
-
-Thu Apr 17 19:27:23 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/config-posix.h: Added a check for
-
- #if defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1
- # define ACE_LACKS_STROPTS_H
- #endif
-
- so that ACE will compile properly on Fedora 8. Thanks to
- Jules Colding <colding at 42tools dot com> for this fix.
-
-Wed Apr 23 18:29:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Refcountable.{h,cpp,inl}:
- * ace/Refcountable_T.{h,cpp,inl}:
- Changed ACE_Refcountable to ACE_Refcountable_T which has a
- trait for the type of lock. ACE_Refcountable is now a typedef
- of ACE_Refcountable_T<ACE_Null_Mutex>. Also the refcount
- type is now a long so that we can make use of the Atomic_Op
- optimizations on some platforms
-
- * ace/ace.mpc:
- * ace/Makefile.am:
- Updated for the change above
-
-Wed Apr 23 14:49:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-linux-common.h:
- When _XOPEN_STREAMS is defined to -1 we don't have stropts.h,
- this fixes bugzilla 3291. Thanks to Jules Colding
- <colding at 42tools dot com> for reporting this
-
-Wed Apr 23 14:10:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/ACE-development-process.html:
- We are using svn as repository
-
-Wed Apr 23 14:01:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/generate_rel_manpages:
- Corrected doxygen path
-
- * bin/group_test_stats.sh:
- Helper script to analyze test stat diffs
-
- * ace/Sig_Handler.{h,cpp}:
- Doxygen changes and changed third_party_sig_handler flag to a
- bool
-
- * ace/Service_Repository.{h,cpp}:
- Changed ignore_suspended to a bool
-
- * ace/Intrusive_Auto_Ptr.h:
- Fixed typo in comment
-
- * ace/config-vxworks6.2.h:
- * ace/config-vxworks6.3.h:
- * ace/config-vxworks6.4.h:
- Removed workaround that is only needed with VxWorks 5.5.1
-
- * ace/Codeset_Registry_db.cpp:
- Added UCS2 and correct short names. This fixes bugzilla 3295
-
- * ace/Codeset_IBM1047.h:
- Doxygen changes
-
- * ace/Cleanup_Strategies_T.h:
- Layout changes
-
- * ace/Service_Gestalt.{h,inl}:
- No need for virtual methods, use bool and doxygen changes
-
- * ace/Service_Manager.h:
- Explicitly mark destructor as virtual
-
- * ace/Service_Object.{h,cpp,inl}:
- Use bool
-
-Wed Apr 23 01:53:32 CDT 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ACE version 5.6.4 released.
-
-Wed Apr 16 13:06:05 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/ARGV.cpp:
- Don't quote quotes already quoted.
-
-Mon Apr 14 12:10:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/run_test.pl:
- Don't run 2980 when WCHAR is set
-
-Mon Apr 14 11:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Threading_Helper_T.cpp:
- Removed
-
- * ace/Makefile.am:
- Removed file above
-
- * ace/Service_Config.{h,cpp,inl}:
- Changed the template instantiations like we have for Atomic_Op.
-
-Mon Apr 14 09:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/tests.mpc:
- Don't build 2980 with wchar enabled and added empty resource
- file section
-
-Mon Apr 14 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Threading_Helper_T.cpp:
- Added new file with the threading helper template code. This resolves
- the strange link problems with BCB. This file is included in the
- Service_Config.h file
-
- * ace/Makefile.am:
- Added new files
-
- * ace/Service_Config.{h,cpp,inl}:
- Include the new Threading_Helper_T.cpp and removed the implementation
- from these files
-
- * tests/tests.mpc:
- Added missing include for bug 2980
-
- * ace/Codeset_Registry.h:
- Fixed typo in comment
-
- * ace/Shared_Object.h:
- Doxygen changes
-
-Mon Apr 14 01:56:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Config.h:
- * ace/Service_Config.inl:
- * ace/Service_Config.cpp:
-
- Moved ACE_Threading_Helper ctor and dtor implementaion
- inline. This makes them available to code that indirectly
- references the threadkey_ member (like, in examples/). This
- should resolve link-time problems with borland compilers.
-
- * tests/Bug_2980_Regression_Test.cpp (unloadDll):
-
- Fixing warnings about missing extern "C" qualifier in call to
- pthread_create.
-
-Sun Apr 13 07:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/OS_NS_Thread.cpp (_vx_call_entry):
- Set the sc::current before calling main. This resolves the
- sc asserts with vxworks kernel mode. Thanks to Iliyan
- for suggesting this addition
-
-Fri Apr 11 17:36:34 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+ Added 5.7.7
* docs/Download.html:
- * docs/ACE-development-process.html:
- * docs/ACE-bug-process.html: Updated these files to use the major,
- minor, and micro release terminology.
-
-Fri Apr 11 15:26:08 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * tests/Bug_2980_Regression_Test.cpp:
- * tests/run_test.lst:
-
- Including config-lite.h: the driver is non-ACE but it still
- needs to know platform-specific stuff, like threads usage,
- etc.
-
-Fri Apr 11 01:51:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Svc_Conf_Tokens.h:
- * ace/svcconf.mpb:
-
- Fixing a fuzz build warning of a missing $Id. Also, not all
- make(1)'s have $(MV), so changing mpb to use just "mv"
-
-Thu Apr 10 22:32:58 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Config.h:
- * ace/Service_Config.cpp:
-
- Fixing compile problems with single-thread-only builds - using
- the compiler's abilities (partial specialization) to generate
- appropriate code.
-
- * ace/Svc_Conf.h:
- * ace/Svc_Conf_Token_Table.h:
- * ace/Svc_Conf_Tokens.h:
- * ace/Svc_Conf_y.cpp:
- * ace/svcconf.mpb:
-
- Changes to fix compile problems related to versioned namespace
- use. Eliminated custom token file post-processing - replaced
- with a wrapper header file (yacc(1) is now producing
- Token_Table.h, which gets included in Tokens.h)
-
-Thu Apr 10 14:42:04 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Svc_Conf.h:
-
- Adding YYSTYPE_IS_DECLARED to prevent yacc(1) from trying to use a
- trivial definition of YYSTYPE.
-
- * ace/Svc_Conf.y:
-
- Fixing an unused variable warning. Adding an YYSTYPE guard.
-
- * ace/Svc_Conf_Tokens.h:
- * ace/Svc_Conf_y.cpp:
- * ace/svcconf.mpb:
-
- Undefining YYSTYPE_IS_DECLARED at the bottom of Svc_Conf_Tokens.h
- prevents it from leaking and poluting the global namespace. This
- allows other yacc(1) based parsers to be used in ACE
- apps. Cleaning up and recording generated files.
-
-Thu Apr 10 13:27:13 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/Bug_2980_Regression_Test.cpp:
-
- Fixed compilation issues and reversed the CAN_RUN_TEST check to
- get it to run on non-win32 and non-vxworks operating systems.
-
-Thu Apr 10 10:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Dynamic_Service.inl:
- Corrected method signatures
-
-Thu Apr 10 10:03:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2980_Regression_Test.cpp:
- Fixed BCB compile error
-
-Thu Apr 10 07:13:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_linux_pgi.GNU:
- Removed deprecated linker flags
-
- * ace/Dev_Poll_Reactor.cpp:
- * ace/Notification_Queue.cpp:
- * ace/Service_Config.cpp:
- * ace/Service_Object.cpp:
- * ace/Sock_Connect.cpp:
- Added missing includes
-
- * ace/Notification_Queue.cpp:
- * ace/Notification_Queue.inl:
- Added missing versioned namespace macros
-
-Thu Apr 10 06:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Service_Gestalt.h:
- Added include of Guard_T.h
-
- * include/makeinclude/platform_linux_pgi.GNU:
- Updated for latest pgCC version
-
-Thu Apr 10 00:50:53 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * tests/Bug_2980_Regression_Test.cpp:
- * tests/tests.mpc:
-
- Fixing a compile problem with no-threads builds.
-
-Wed Apr 9 22:05:30 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Svc_Conf.h:
- * ace/Svc_Conf.y:
- * ace/Svc_Conf_Lexer.h:
- * ace/Svc_Conf_Lexer.cpp:
- * ace/Svc_Conf_Param.h:
- * ace/Svc_Conf_Tokens.h:
- * ace/Svc_Conf_y.cpp:
- * ace/svcconf.mpb:
-
- Simplified the build sequence reducing the number of additional
- transformations needed for Bison's parser output. That includes
- the elimination of the ACE_YY prefix, which was necessary only
- because of these transformations. Added ACE_TEXT around naked
- string literals. Fixed build warnings with unicode builds.
-
-Wed Apr 9 20:22:46 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Repository.cpp:
- Fixing relocate_i to both account for empty slots _and_ provide
- useful logging.
-
-Wed Apr 9 18:24:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Don't run 3171 with CORBA/e micro
-
-Wed Apr 9 11:50:27 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
-
- Added a need_to_write_project override method to only allow the
- project file to be written if it is an executable project.
-
- * bin/MakeProjectCreator/modules/VXTestWorkspaceCreator.pm:
-
- Fixed a bug where an invalid base module was used in the @ISA.
-
-Wed Apr 9 11:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2980_Regression_Test.cpp:
- Check for ACE_VXWORKS
-
-Wed Apr 9 11:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Svc_Conf_y.cpp:
- Fixed unicode build problems
-
-Wed Apr 9 08:06:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Svc_Conf.y:
- * ace/Svc_Conf_y.cpp:
- Fixed unicode build problems
-
-Wed Apr 9 07:18:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Service_Config.h:
- Export ACE_Threading_Helper, it is used as protected class
- member
-
- * ace/Service_Gestalt.cpp:
- Don't use ACE_LIB_TEXT
-
- * ace/High_Res_Timer.h:
- * ace/Based_Pointer_T.h:
- Doxygen changes
-
- * ace/Naming_Context.cpp:
- Fixed gcc 4.3 warning
-
- * ace/OS_NS_errno.h (last_error):
- Give the argument a name so that doxygen can do its work
-
- * ace/Select_Reactor_T.cpp:
- Use scoping
-
- * ace/MMAP_Memory_Pool.{h,cpp}:
- Add a bool flag to indicate whether the signal handler has to
- be installed or not. Made some other flags bool and win32 there
- is no need have a signal handler as member. This fixes bugzilla
- 3290
-
-Wed Apr 9 02:43:37 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Dynamic_Service.inl (instance):
- Adjusting interface to take a smart pointer.
-
- * ace/OS_NS_unistd.cpp (argv_to_string):
- Adding interpretation for tabs and new line characters as
- characters to trigger quoting.
-
- * ace/Service_Config.h:
- * ace/Service_Config.cpp:
- * ace/Service_Gestalt.h:
- * ace/Service_Gestalt.inl:
- * ace/Service_Gestalt.cpp:
- * ace/Service_Repository.cpp:
- Reformatting, updating comments and logging.
-
-Wed Apr 9 01:21:42 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/Condition_T.cpp (wait): Fixed a bug where the mutex
- parameter wasn't being used properly if abstime was 0. Thanks
- to Andriy Gapon <avg at icyb dot net dot ua> for reporting this.
-
-Mon Apr 7 18:49:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/docs/templates/gnu.txt:
- Document linkflags
-
-Mon Apr 7 15:21:38 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- This the second part of the SC refatoring. It builds on top of
- the intrusive refcounting mechanism introduced earlier to improve
- design and eliminate memory issues (leaks, SEGV on shutdown)
-
- * ace/Service_Config.cpp (open_i,ACE_Service_Config):
-
- Moved the implicit configuration file handling from open_i to
- the SG instance. Eliminated close_svcs() by incorporating its
- functionality in close().
-
- * ace/Service_Config.inl:
- * ace/Service_Config.h (ACE_Service_Config_Guard,ACE_Service_Config):
-
- Removing the inheritance relationship between Service Config and
- Service Gestalt. To simplify the memory management, SC becomes an
- interface to the actual configuration data managed by SG. Coupled
- with the reference counting of SG instances, this ensures correct
- memory management in multi-threaded environments where both the
- TSS and the user code may trigger SG finalization.
-
- Introducing ACE_Threading_Helper to simplify TSS management
- (RAII idiom). Changed ACE_Service_Config_Guard to use the new
- smart pointer for SG. Doxygen comments cleanup.
-
- * ace/Svc_Conf.y:
- * ace/Svc_Conf_y.cpp:
-
- Fixing unused function definition
-
- * tests/Bug_2980_Regression_Test.cpp:
-
- Updating the test to prevent it from breaking vxWorks builds
- which appear to lack a declaration for dlopen()
-
-Sun Apr 6 01:53:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Gestalt.cpp:
-
- Fixing unused variable warning.
-
- * ace/Svc_Conf_y.cpp:
- * ace/svcconf.mpb:
-
- Ensuring there are no TAB characters present in the generated
- file.
-
- * tests/run_test.lst:
-
- Excluding Bug_2980_Regression as it is not runnable on vxWorks.
-
-Sat Apr 5 16:21:50 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Service_Config.inl:
- * ace/Service_Config.cpp:
- * ace/Service_Gestalt.cpp:
- * ace/Service_Gestalt.h:
-
- Making SG intrusively refcountable by introducing
- intrusive_{add,remove}_ref methods and a refcounter. Adding
- skip_default_svc_conf_file parameter in process_directives.
-
- * ace/svcconf.mpb:
- * tests/Object_Manager_Flipping_Test.cpp:
-
- Reformatting and cleanup.
-
-Sat Apr 5 13:42:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2980_Regression_Test.cpp:
- Fixed argument not used warnings
-
-Sat Apr 5 13:36:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Parse_Node.cpp:
- Moved include out of versioned namespace block
-
-Sat Apr 5 11:50:40 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Parse_Node.cpp:
- * ace/Svc_Conf.y:
- * ace/Svc_Conf_Tokens.h:
- * ace/Svc_Conf_y.cpp:
-
- Replacing ACE_LIB_TEXT with ACE_TEXT
-
-Fri Apr 4 21:43:35 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * THANKS:
-
- Adding Michael Carter <mcarter at swri dot org> for reporting
- and debugging bug 3007.
-
- * ace/Base_Thread_Adapter.h:
- * ace/Base_Thread_Adapter.cpp:
-
- Storing a pointer to SG that was current in the parent thread,
- which enables correct "inheritance" of the SG in the child thread.
-
- * ace/Parse_Node.h:
- * ace/Parse_Node.cpp:
-
- Fixing ACE_Stream_Node::{apply,link} to ensure the modules are linked
- together and initialized correctly - see bug# 2916. Moving the
- initialization code out of the yacc parser, here.
-
- * ace/Service_Object.cpp:
- * ace/Service_Types.cpp:
-
- Improving the log output in fini().
-
- * ace/Service_Repository.h:
-
- Eliminating an unused parameter static_only from relocate_i()
-
- * ace/Service_Repository.cpp:
-
- Simplified relocate_i() and fixed an error that was causing it to
- choose incorrect ranges of service indexes to relocate.
- Eliminated the boolean static_only parameter as it was always
- being set to true. Changed remove() to eliminate the "packing"
- code and updated the few other methods, which assumed there are no
- "gaps" in the service storage.
-
- * ace/Svc_Conf.h:
- * ace/Svc_Conf.y:
- * ace/Svc_Conf_Tokens.h:
- * ace/Svc_Conf_y.cpp:
-
- Adding an overloaded yyerror that takes just a string to comply
- with the changed bison template. Moving the module initialization
- code out of the parser. See ACE_Stream_Node class and bug# 2916.
-
- * ace/Thread_Adapter.cpp:
-
- The invoke() method, which runs in the new thread, initializes the
- thread-specific configuration context. This scheme ensures any
- newly spawned thread would inherit the spawning thread's service
- configuration context.
-
- * ace/ace.mpc:
-
- Adding Intrusive_Auto_Ptr to the list.
-
- * ace/svcconf.mpb:
-
- Updated for the grammar updates, see bug# 2916.
-
- * examples/ASX/CCM_App/ASX_CCM_App.mpc:
- * examples/ASX/CCM_App/CCM_App.cpp:
-
- The DLL names are case-sensitive on *nix. Minor layout changes.
-
- * tests/Object_Manager_Flipping_Test.cpp:
-
- Updated to use the Intrusive_Auto_Ptr
-
- * tests/run_test.lst:
- * tests/tests.mpc:
-
- Adding Bug_2980_Regression_Test
-
-Fri Apr 4 18:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * configure.ac:
- Fixed iostream detection. This fixes bugzilla 3288
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this.
-
-Thu Apr 3 14:13:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks5.5.x.GNU:
- * include/makeinclude/platform_vxworks6.2.GNU:
- * include/makeinclude/platform_vxworks6.3.GNU:
- Changed the make variable from which we zap the -ansi and also support
- this with the diab compiler
-
-Thu Apr 3 09:40:00 UTC 2008 Simon Massey <simon dot massey at prismtech dot com>
-
- * apps/JAWS/stress_testing/benchd.cpp:
-
- Using "interface" as the descriptive name of a parameter seems to
- cause VC8 (when building with MFC) to assume you mean a struct type
- and it raises an incorrect systax error.
-
-Thu Apr 3 07:05:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
- Generate link_groups also when staticflags are not set
-
-Wed Apr 2 21:40:00 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Fix typo in ACE_HAS_BSWAP_{16,32,64} feature tests.
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this.
-
-Wed Apr 2 20:22:50 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Intrusive_Auto_Ptr.h:
- * ace/Intrusive_Auto_Ptr.inl:
-
- Correcting a problem with VC71
-
-Wed Apr 2 11:06:30 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * bin/tao_orb_tests.lst:
-
- Enabled a TAO/tests/Collocated_Forwarding on vxworks and
- vxworks_rtp.
-
-Wed Apr 2 09:05:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks5.5.x.GNU:
- * include/makeinclude/platform_vxworks6.2.GNU:
- * include/makeinclude/platform_vxworks6.3.GNU:
- Add no_cflags_ansi and no_ccflags_ansi which if set do remove the
- -ansi compiler flag
-
-Wed Apr 2 08:14:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-linux-common.h:
- Replaced ACE_HAS_VOIDPTR_GETTIMEOFDAY with
- ACE_HAS_TIMEZONE_GETTIMEOFDAY, this fixes bugzilla 3145
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this
-
-Wed Apr 2 07:51:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/run_test.lst:
- Enabled a few tests on VxWorks again, in the past rebooting a
- crashed target was problematic but that is not an issue anymore
-
-Tue Apr 1 14:20:34 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * bin/tao_orb_tests.lst:
- Added a new test for collocated forwarding case.
-
-Tue Apr 1 12:58:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Added OBV typed event test
-
-Tue Apr 1 12:52:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Add the DSI Gateway exception test, they should run, the scoreboard
- will show if they run
-
-Tue Apr 1 08:33:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Set ACE_OPENVMS_IA64 on Itanium
-
- * include/makeinclude/rules.lib.GNU:
- Only use a special AR rule on OpenVMS IA64
-
-Tue Apr 1 07:38:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Intrusive_Auto_Ptr_Test.cpp:
- Fixed argument not used warning
-
-Tue Apr 1 07:34:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Enabled a few tests for vxworks
-
-Tue Apr 1 07:12:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Reactor_Dispatch_Order_Test.cpp:
- Only run the reactor once, this will lead to the failing of this test
- when using the WFMO Reactor which seems to be a old issue that needs
- to get addressed
-
-Tue Apr 1 06:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Disabled most tests for vxworks and vxworks_rtp, we first need to
- convert a lot of scripts to support vxworks
-
-Mon Mar 31 21:48:58 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- Changed to avoid feature test for pthread_getaffinity_np() and
- pthread_setaffinity_np() if system does not have cpu_set_t. In
- that case, the pthread functions are amost certainly not
- compatible.
-
- * ace/Makefile.am:
-
- Add Intrusive_Auto_Ptr.cpp, Intrusive_Auto_Ptr.h, and
- Intrusive_Auto_ptr.inl to nobase_include_HEADERS.
-
-Mon Mar 31 18:56:40 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Refcounted_Auto_Ptr.h:
- * ace/Refcounted_Auto_Ptr.inl:
- * ace/Refcounted_Auto_Ptr.cpp:
-
- Reverting the changes because a) they are not really necessary
- for the refactoring of the service config, and; b) the AIX
- compiler appears to not deal well with implicit conversion
- definitions, to template member types.
-
-Mon Mar 31 16:15:17 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * tests/tests.mpc:
-
- Adding Intrusive_Auto_Ptr_Test to the list
-
-Mon Mar 31 14:52:58 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * ace/Intrusive_Auto_Ptr.h:
- * ace/Intrusive_Auto_Ptr.cpp:
- * ace/Refcounted_Auto_Ptr.h:
- * ace/Refcounted_Auto_Ptr.inl:
- * ace/Refcounted_Auto_Ptr.cpp:
-
- Added preprocessor guards for proper inlining. Qualified
- the type name in the implementation of opretator
- unspecified_bool_type () to appease GCC 3.x
-
-Mon Mar 31 13:50:45 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- * tests/run_test.lst:
-
- Adding Intrusive_Auto_Ptr_Test to the list
-
-Mon Mar 31 12:09:20 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
-
- Always reference Kokyu libraries from $(ACE_BUILDDIR) instead of
- $(top_builddir) so that it will work from both ACE and TAO.
-
-Mon Mar 31 11:00:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Bug_2980_Regression_Dll.cpp:
- * tests/Bug_2980_Regression_Test.cpp:
- Fixed fuzz errors
-
-Mon Mar 31 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/OS_Test.cpp:
- Added test for ACE_OS::last_error()
-
-Sun Mar 30 19:54:23 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-
- This is the first step of merging the changes from the gestalt
- refactoring branch. It includes only changes that are merely
- peripheral, without impacting the actual configuration mechanism
- - yet.
-
- * ace/ARGV.h:
- * ace/ARGV.cpp:
-
- Introducing a ctor that takes the number of parameters in argv,
- thus eliminating the requirement to have argv 0-terminated. This
- requirement can be a hard to satisfy in cases where the argv has
- been "manualy constructed", i.e. not provided by the OS
- environment.
-
- * ace/Intrusive_Auto_Ptr.h:
- * ace/Intrusive_Auto_Ptr.inl:
- * ace/Intrusive_Auto_Ptr.cpp:
-
- Added an intrusive auto pointer implementation. It is a reference
- counted auto pointer that can be used for types with explicit
- reference management implementations.
-
- * ace/OS_NS_unistd.h:
- * ace/OS_NS_unistd.cpp:
-
- Introducing new argv_to_string which takes an explicit argc
- argument and relaxes the requirement on argv (to be 0-terminated).
-
- * ace/Refcounted_Auto_Ptr.h:
- * ace/Refcounted_Auto_Ptr.inl:
-
- Adding a mechanism that provides a correct conversion to boolean
- for smart pointers, which preserves the smantics of "if (ap) ..."
- without the unwanted side effects. Credit goes to Andrei
- Alexandrescu's Modern C++ Design book.
-
- * ace/Service_Types.cpp:
-
- Cosmetics: adding this-> to member references.
-
- * examples/ASX/CCM_App/ASX_CCM_App.mpc:
- * examples/ASX/CCM_App/CCM_App.cpp:
-
- Fixing a problem that precludes the test from running correctly
- on *nix - the DLL names are not case-insensitive. Minor layout
- changes.
-
- * tests/Intrusive_Auto_Ptr_Test.cpp:
-
- A test for the new auto ptr.
-
- * tests/Bug_2980_Regression_Dll.cpp:
- * tests/Bug_2980_Regression_Test.cpp:
- * tests/run_test.lst:
- * tests/tests.mpc:
-
- Addded a test for bug 2980. Thanks to Lothar Werzinger <lothar
- at tradescape biz> for contributing the code.
-
-Sun Mar 30 18:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX_Win32.pm:
- Handle single quotes in the executable arguments
-
-Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Reactor_Dispatch_Order_Test.cpp:
- Dev_Poll reactor displays other bugs, so disable this part of
- the test
-
- * ace/Select_Reactor_Base.cpp:
- Position the iterator on the first element that is none zero, fixes
- crashing of the reactor_dispatch_order_test on non windows platforms
-
-Fri Mar 28 17:18:50 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/CDR_Stream.cpp (write_long_placeholder, write_short_placeholder):
- Be careful to adjust and grow the stream's block before taking
- the pointer that's returned to the user. Thanks to Alain Kocelniak
- <alain@corys.fr> for this fix.
-
- * ace/CDR_Stream.h: Note that the placeholder methods return 0 if
- the method fails due to insufficient memory.
-
- * THANKS: Added Alain Kocelniak to the Hall of Fame.
-
-Fri Mar 28 15:40:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/unload_libace.mpb:
-
- Inhert from vc_warnings instead of duplicating part of it's
- functionality.
-
-Fri Mar 28 09:24:25 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * bin/tao_orb_tests.lst:
-
- Enabled a test to Bug_3276_Regression.
-
-Fri Mar 28 09:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Reactor_Dispatch_Order_Test.cpp:
- Extended this test to also test suspend/resume_handlers and the
- dev_poll reactor. Thanks to Russell Morra for extending this test
-
- * ace/ACE.cpp:
- * ace/High_Res_Timer.inl:
- Layout changes
-
- * ace/Hash_Map_Manager_T.cpp:
- Use prefix increment instead of postfix
-
- * ace/High_Res_Timer.h:
- * ace/Reactor.h:
- * ace/Select_Reactor_Base.h:
- Doxygen changes
-
- * ace/Select_Reactor_Base.inl:
- Fixed done implementation. This fixes bugzilla 3267
-
- * ace/String_Base.cpp:
- Initialise pointer with 0
-
- * ace/WFMO_Reactor.{h,cpp,inl}:
- Bool changes, fixed implementation of suspend_handlers/resume_handlers,
- the to_be_added set modifications where not done correctly
-
-Thu Mar 27 19:09:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- * bin/tao_other_tests.lst:
- Diabled 3251/3252 in a static build
-
-Thu Mar 27 16:27:44 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * ace/Object_Manager.cpp:
-
- In Win32 debug builds with ACE_DISABLE_WIN32_ERROR_WINDOWS, also
- redirect assert messages to stderr instead of GUI message boxes.
-
-Thu Mar 27 16:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/ACE-bug-process.html:
- * docs/ACE-development-process.html:
- * docs/ACE-guidelines.html:
- * docs/usage-bugzilla.html:
- Updated bugzilla location
-
-Thu Mar 27 15:52:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
- * bin/MakeProjectCreator/modules/VXTestWorkspaceCreator.pm:
- * bin/MakeProjectCreator/templates/vxtest.mpd:
- New MPC generator called vxtest. This will generate the loading
- of the downloadable kernel modules for an application.
-
-Thu Mar 27 14:07:27 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.ac:
-
- #include <byteswap.h> in ACE_HAS_BSWAP_{16,32,64} feature tests.
- Resolves bugzilla issue #3134.
-
-Thu Mar 27 12:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks6.3.GNU:
- Small change to get the VxWorks shared library build further
-
-Thu Mar 27 12:46:48 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * tests/SSL/Thread_Pool_Reactor_SSL_Test.cpp:
-
- Changed ACE_TMAIN to run_main for the non-threaded portion of the
- #ifdef. ACE_TMAIN is defined in Main.cpp.
-
-Thu Mar 27 12:37:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * ASNMP/asnmp/snmperrs.h:
-
- Added an unknown error code message to the pErrs array to avoid
- getting a garbage pointer from Snmp::error_string() in the event
- that the error code is outside the valid range.
-
-Thu Mar 27 11:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Free_List.cpp:
- Fixed ambiguous else with GCC 4.3. Thanks to Jules Colding
- <colding at 42tools dot com> for reporting this
-
-Thu Mar 27 10:36:18 UTC 2008 Simon McQueen <sm@prismtech.com>
-
- * include/makeinclude/wrapper_macros.GNU:
-
- Make it possible to specify an alternate name / location for
- platform_macros.GNU. This fixes bug #3269.
-
-Wed Mar 26 15:32:01 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
-
- Corrected my change from yesterday so that it works properly for
- executable projects that pull in source files from other directories.
-
-Tue Mar 25 18:02:52 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+ Updated for 5.7.7
- * ASNMP/asnmp/wpdu.cpp:
-
- Added an intermediate integer to avoid type-punned pointer
- dereferencing.
-
-Tue Mar 25 14:19:31 UTC 2008 Adam Mitz <mitza@ociweb.com>
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
-
- When generating the linker command line for executable linked against
- static libs, exclude the "libFoo.a" form of the libraries. They are
- already accounted for by "-lFoo" arguments. This resolved Bugzilla
- Bug #3266.
-
-Tue Mar 25 10:43:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * netsvcs/lib/Server_Logging_Handler.cpp:
- Corrected static template member instantiation to resolve compile
- error on OpenVMS Alpha
-
-Tue Mar 25 10:12:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Disable warnings on IA64 without using GNV, that doesn't work
- in all cases
-
-Tue Mar 25 09:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/INET_Addr.cpp:
- Detect sockets that are bigger then ACE_MAX_DEFAULT_PORT.
- Thanks to Patrick Rabau <pr2345 at gmail dot com> for
- reporting this. This fixes bugzilla 3264
-
- * tests/INET_Addr_Test.cpp:
- Added a test for an overflow of the port number
-
- * ace/Hash_Map_Manager_T.{h,inl}:
- Changed head argument of the iterators to a bool
-
- * ace/Reactor.h:
- * ace/Reactor_Impl.h:
- Doxygen changes
-
-Tue Mar 25 00:38:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
-
- * ace/Makefile.am:
-
- Add Configuration.inl to nobase_include_HEADERS.
-
-Mon Mar 24 16:21:30 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/OS_NS_Thread.cpp (event_timedwait): Fixed this code so that
- it will treat 0 using "wait indefinitely" semantics for Windows
- and all other OS platforms. Thanks to Paul Carter <pcarter at
- scires dot com> for contributing this.
-
-Mon Mar 24 16:13:51 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * tests/Manual_Event_Test.cpp (worker): Added a test to ensure
- that a null pointer works properly for the
- ACE_Manual_Event::wait() method. Thanks to Paul Carter <pcarter
- at scires dot com> for contributing this.
-
-Mon Mar 24 15:43:28 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * bin/MakeProjectCreator/config/MPC.cfg:
-
- MPC can now be configured to recognize ACE_TMAIN as an executable
- entry point. We no longer need to explicitly state that a project will
- be an executable in the MPC file, MPC will automatically deduce that
- the project is an executable given the presence of ACE_TMAIN.
-
- This change above relates to the following change in MPC:
- Mon Mar 24 15:18:28 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
-Mon Mar 24 02:25:58 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * COPYING: Updated the license a bit based on feedback from Tom
- Callaway" <tcallawa at redhat dot com>. These changes will
- enable ACE+TAO to be shipped with Fedora.
-
-Fri Mar 21 16:12:53 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/OS_NS_unistd.cpp (num_processors_online): Count the online
- processors for Windows, not just the number present.
-
- * tests/OS_Test.cpp: Sanity-check the num_processors_online() value.
-
-Fri Mar 21 15:10:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/FoxReactor/FoxReactor.cpp:
- Fix 64bit issues, this fixes bugzilla 3248
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this
-
-Fri Mar 21 10:46:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * m4/ace.m4:
- Changed gperf check
-
- * apps/Makefile.aml:
- Updated gperf check. This fixes bugzilla 3249.
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this
-
-Fri Mar 21 10:06:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-vxworks.h:
- If ACE_VXWORKS is not defined try to figure out which vxworks
- version we are using based on some vxworks version defines
-
- * ace/Select_Reactor_Base.h:
- Doxygen changes and made the constructor of
- ACE_Select_Reactor_Handler_Repository_Iterator explicit
-
- * ace/Process.{h,cpp}:
- Layout change
-
-Thu Mar 20 15:34:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
-
- * bin/MakeProjectCreator/config/acedefaults.mpb:
-
- Changed the ACE_LD_DECORATOR_STR macro to use $(LIBMODIFIER)
- instead of $(ILIBMODIFIER) for the bmake project type.
-
-Thu Mar 20 12:42:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Addr.h:
- Layout change
-
- * ace/High_Res_Timer.cpp:
- Changed supported flag to a bool
-
- * ace/INET_Addr.h:
- Doxygen change
-
- * ace/Svc_Conf.h:
- Moved regular include before pragma once
-
-Wed Mar 19 13:45:00 UTC 2008 Simon Massey <simon.massey@prismtech.com>
-
- * ace/tao_orb_tests.lst:
- Remove TAO/tests/Bug_1482_Regression from LynxOS.
-
-Wed Mar 19 11:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Process_Manager.h:
- * ace/Semaphore.h:
- * ace/SOCK.h:
- * ace/SOCK_IO.h:
- Doxygen changes
-
- * ace/Service_Gestalt.h:
- Removed not needed forward declaration
-
- * ace/OS_NS_Thread.h:
- Layout change
-
-Tue Mar 18 20:17:55 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * bin/PerlACE/ProcessLVRT.pm:
- * bin/PerlACE/TestTarget_LVRT.pm: Handle timeouts to the target better
- and smarten up the way it gets log files from a failed target.
-
- * bin/PerlACE/TestTarget.pm:
- * bin/PerlACE/TestTarget_LVRT.pm: Add a GetFile() method to get a file
- from the target to the local machine. By default, it does nothing.
- It's meant for use by targets that don't necessarily have locally
- accessible file systems, such as LabVIEW RT.
-
- * bin/Run_Test.pm:
- * bin/PerlACE/Process_Win32.pm: Add support for running tests on
- LabVIEW RT similarly to the way they're done on VxWorks; TAO tests
- run the server on the target and the client on the host.
-
- * bin/LabVIEW_RT/labview_test_controller/labview_test_controller.cpp:
- Catch exceptions and try to report it to stderr before the machine
- locks up, dies, etc.
-
-Tue Mar 18 07:33:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Removed -Wc/DISTINGUISH_NESTED_ENUMS, only needed for one test
-
-Mon Mar 14 09:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_other_tests.lst:
- Added 3252
-
-Mon Mar 14 09:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Added 3251
-
-Fri Mar 14 19:57:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_aix_g++.GNU:
- Improved support for buildbits=64
-
-Fri Mar 14 19:09:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/INET_Addr.cpp:
- Fixe warning with GCC 4.2 on AIX
-
-Fri Mar 14 19:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_aix_g++.GNU:
- Disable visibility by default. With GCC 4.2 on AIX we get warnings
- that visibility is not supported in that configuration
-
-Fri Mar 14 15:02:33 UTC 2008 Ciju John <johnc at ociweb dot com>
-
- * bin/tao_other_tests.lst:
- Turn on the Notify Persistent_POA test.
-
-Fri Mar 14 09:30:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_aix_g++.GNU:
- Don't use -mcpu=common, that is an ancient default of AIX 5.1
-
-Thu Mar 13 12:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_aix_g++.GNU:
- Fixed support for buildbits=32/64
-
-Wed Mar 12 19:49:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- Reverted the gperf change below, breaks all autoconf builds
-
- Wed Mar 12 06:55:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
- * m4/ace.m4:
- Added enable-aio, enable-ipo and fixed gperf handling.
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this
-
-Wed Mar 12 15:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/ProcessVX.pm:
- Fix retry mechanism for the iBoot bar
-
-Wed Mar 12 12:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * m4/ace.m4:
- Added support for fox, thanks to Thomas Girard
- <thomas dot g dot girard at free dot fr> for reporting this.
- This fixes bugzilla 3147
-
-Wed Mar 12 11:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/FoxReactor/FoxReactor.{h,cpp}:
- Removed check for ACE_HAS_FOX
-
- * include/makeinclude/wrapper_macros.GNU:
- Changed fox handling, matches the other reactors. Thanks to
- Thomas Girard <thomas dot g dot girard at free dot fr> for
- reporting this. This resolves bugzilla 3248
-
- * include/makeinclude/platform_aix_ibm.GNU:
- Added support for Visual Age 9
-
-Wed Mar 12 11:53:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/FoxReactor/FoxReactor.h:
- Added missing include, thanks to Thomas Girard
- <thomas dot g dot girard at free dot fr> for reporting this
-
-Wed Mar 12 07:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/FoxReactor/FoxReactor.cpp:
- Fixed compile errors, thanks to Thomas Girard
- <thomas dot g dot girard at free dot fr> for reporting this
-
-Wed Mar 12 06:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/ace.mwc:
- * bin/MakeProjectCreator/config/global.features:
- Added fox reactor, thanks to Thomas Girard
- <thomas dot g dot girard at free dot fr> for reporting this
-
-Wed Mar 12 06:55:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * m4/ace.m4:
- Added enable-aio, enable-ipo and fixed gperf handling.
- This to Thomas Girard <thomas dot g dot girard at free dot fr>
- for reporting this
-
-Tue Mar 11 12:24:43 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Svc_Conf.h: Add #include "ace/config.h" so a setting for
- ACE_LACKS_PRAGMA_ONCE can be seen. Fixes compile warnings.
-
-Tue Mar 11 12:20:02 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Log_Msg.cpp (log): Fixed compile error. No need to use
- ACE_TEXT_ALWAYS_CHAR for a char* literal.
-
-Mon Mar 10 22:27:09 UTC 2008 Nanbor Wang <nanbor@wakefield.txcorp.com>
-
- * ace/Svc_Conf.h: Removed redundant inclusion of Obstack.h. It is
- included later in Svc_Conf_Param.h. Removing this extra
- inclusion allows us to build on MacOS Leopard with optimization
- enabled.
-
-Mon Mar 10 15:35:02 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * ace/Log_Msg.{h cpp} (log): For %C, clearly note that it always prints
- a narrow-char string, and adjust the va_arg to match. Thanks to
- Russell Morra for reporting this issue.
-
-Mon Mar 10 13:20:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * tests/Multicast_Test.cpp:
- When sending fails, print the ip address we are using in the error
- message.
-
-Sat Mar 8 16:23:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
-
- * ace/WIN32_Asynch_IO.cpp (send): Enhanced the code to allow sends
- of 0-sized datagrams. Thanks to Andi Heusser <aheusser at gmail
- dot com> for this fix.
-
-Thu Mar 6 16:49:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/rules.lib.GNU:
- Rearranged some rules to make sure c/C files are compiled with the
- C compiler on OpenVMS
-
-Thu Mar 6 13:10:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Improved this file
-
-Thu Mar 6 10:33:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Removed restriction that only a shared or static build can be done
-
-Wed Mar 5 07:54:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/tao_orb_tests.lst:
- Don't run the parallel connect strategy test on VxWorks 5.5, the
- command length of the shell is not long enough.
-
-Tue Mar 4 09:27:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/ProcessVX.pm:
- Added a retry to the iPass protocol code, in a full test run
- we sometimes see that the reboot has failed. With this retry
- we hopefully get rid of those false test failures
-
-Tue Mar 4 05:54:22 UTC 2008 William Otte <wotte@dre.vanderbilt.edu>
-
- * bin/svn_props.py:
- Automatically set default properties when svn complains.
-
-Mon Mar 3 11:22:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/MakeProjectCreator/templates/bor.mpd:
- Just single line comments
-
- * bin/MakeProjectCreator/templates/gnu.mpd:
- Check VXWORKSLINK for 1
-
-Mon Mar 3 11:10:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxworks5.5.x.GNU:
- * include/makeinclude/platform_vxworks6.2.GNU:
- * include/makeinclude/platform_vxworks6.3.GNU:
- * include/makeinclude/rules.bin.GNU:
- * include/makeinclude/rules.lib.GNU:
- Use 1 for VXWORKSLINK instead of true. Added footprint=1
- as flag to specify that you are doing a footprint build
-
-Mon Mar 3 10:49:28 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * apps/JAWS/clients/WebSTONE/src/cgi-send.c:
- * apps/JAWS/clients/WebSTONE/src/genrand.c:
- * apps/JAWS/clients/WebSTONE/src/webmaster.c:
- * contrib/utility/Example/CommandLine/Foo/command.cpp:
- * contrib/utility/Example/ExH/BadCast/bad_cast.cpp:
- * contrib/utility/Example/ExH/Compound/compound.cpp:
- * contrib/utility/Example/ExH/HelloWorld/hello_world.cpp:
- * contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp:
- * contrib/utility/Example/Hetero/Container/container.cpp:
- * contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp:
- * contrib/utility/Example/Introspection/Traversal/driver.cpp:
- * contrib/utility/Test/ExH/Converter/converter.cpp:
- * contrib/utility/Test/ExH/Inline/inline.cpp:
- * contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp:
- * contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp:
- * contrib/utility/Test/Introspection/Inline/inline.cpp:
- * contrib/utility/Test/Synch/Inline/inline.cpp:
- * etc/xlc_dummy.cpp:
- * examples/Reactor/Proactor/test_aiocb.cpp:
- * examples/Reactor/Proactor/test_aiosig.cpp:
-
- Disable fuzz's check_for_improper_main_declaration check on these files.
- These files don't use ACE.
-
- * examples/Reactor/WFMO_Reactor/Multithreading.cpp:
- * examples/Reactor/WFMO_Reactor/Registration.cpp:
- * examples/Reactor/WFMO_Reactor/Registry_Changes.cpp:
- * examples/Threads/task_three.cpp:
-
- Use the proper form of ACE_TMAIN. Namely, the argv parameter
- should be "ACE_TCHAR *argv[]" instead of "ACE_TCHAR **argv"
- or "ACE_TCHAR *[]" instead of "ACE_TCHAR **"
-
- * apps/JAWS3/bench/average.cpp:
- * netsvcs/clients/Tokens/invariant/invariant.cpp:
-
- Use ACE_TMAIN instead of main as the program entry point to comply
- with ACE/TAO/CIAO coding standards.
-
-Mon Mar 3 08:58:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Improved this file
-
-Mon Mar 3 07:30:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Don't set INSLIB
-
-Mon Mar 3 07:00:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/rules.local.GNU:
- Rearranged some rules so that C files are compiled with the
- C compiler on OpenVMS
-
-Mon Mar 3 06:57:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/ProcessVX.pm:
- Added support to specify a custom password for the iBoot
-
-Sun Mar 2 20:04:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/ProcessVX.pm:
- Integrated some OCI changes for the iBoot
-
-Sun Mar 2 19:32:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/auto_run_tests.pl:
- Use ACE_ROOT as defailt root test directory instead of the current
- directory
-
-Sun Mar 2 18:53:12 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
-
- * ASNMP/agent/main.cpp:
- * ace/Svc_Conf_y.cpp:
- * apps/JAWS3/jaws3/main.cpp:
- * examples/Mem_Map/IO-tests/test_io.cpp:
- * examples/Reactor/Multicast/client.cpp:
- * examples/Reactor/Multicast/server.cpp:
- * examples/Reactor/Proactor/test_aiocb_ace.cpp:
- * examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp:
- * netsvcs/clients/Naming/Dump_Restore/createfile.cpp:
- * netsvcs/clients/Tokens/collection/collection.cpp:
- * netsvcs/clients/Tokens/collection/rw_locks.cpp:
- * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp:
- * netsvcs/clients/Tokens/invariant/invariant.cpp:
- * netsvcs/clients/Tokens/manual/manual.cpp:
- * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
- * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp:
- * performance-tests/Misc/context_switch_time.cpp:
- * performance-tests/Misc/test_guard.cpp:
- * performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp:
- * performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp:
- * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
-
- Use ACE_TMAIN instead of main as the program entry point to comply
- with ACE/TAO/CIAO coding standards.
-
- * examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc:
-
- MPC doesn't recognize ACE_TMAIN as an entry point, as such, we need
- to explicitly set exename in the MPC file.
-
- * apps/JAWS/clients/WebSTONE/src/webclient.c:
- * contrib/utility/Example/CommandLine/Foo/foo.cpp:
- * performance-tests/Synch-Benchmarks/context.c:
- * performance-tests/TTCP/C/new-ttcp.cpp:
- * tests/Unload_libACE.cpp:
-
- Disable fuzz's check_for_improper_main_declaration check on these files.
- These files don't use ACE.
-
-Sat Mar 1 19:09:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/auto_run_tests.pl:
- Added -r as option to specify an alternate root test directory
- instead of the current directory. Combined this with -l we can
- then run perl scripts for testing project code.
-
-Thu Feb 28 16:08:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/generate_compile_stats.sh:
- Added --compiler as option so that we can specify a different
- compiler then gcc
-
-Thu Feb 28 08:32:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/ACE-bug-process.html:
- Removed cvs
-
-Wed Feb 27 19:28:18 UTC 2008 William Otte <wotte@william-ottes-macbook-pro.local>
-
- * bin/MakeProjectCreator/config/global.features:
- disable mcpp by default.
-
-Tue Feb 26 15:52:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Added support for buildbits=64
-
-Tue Feb 26 09:18:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- Added some compiler flags to reduce the number of warnings/errors
- in the OpenVMS builds
-
-Mon Feb 25 19:44:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/PerlACE/Process_Unix.pm:
- * bin/PerlACE/Process_Win32.pm:
- Added IgnoreHostRoot which can be set from a test script. That way
- when doing cross host testing we can make sure we don't get the
- executable from the host root directory. This is for example usefull
- when we want to spawn perl or another system utility
-
- * bin/PerlACE/Run_Test.pm:
- Removed commented out line
-
-Mon Feb 25 14:30:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_vxwork6.2.GNU:
- * include/makeinclude/platform_vxwork6.3.GNU:
- Added LD_PARTIALFLAGS which can be set for footprint builds
-
-Mon Feb 25 08:13:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/config-macros.h:
- Set ACE_HAS_INTEGRAL_TYPE_THR_FUNC_RETURN when
- ACE_THR_FUNC_RETURN is an integral type
-
- * ace/Task.cpp:
- Use ACE_HAS_INTEGRAL_TYPE_THR_FUNC_RETURN to determine whether
- we can do a reinterpret_cast or static_cast. This is much easier
- then checking all compilers
-
-Sun Feb 24 19:37:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Configuration.cpp:
- * ace/Configuration.h:
- * ace/Configuration.inl:
- Added new inline file
-
- * ace/Get_Opt.cpp:
- Prefix increment
-
- * ace/Event_Handler.h:
- Removed commented out code
-
-Sat Feb 23 06:56:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * include/makeinclude/platform_openvms.GNU:
- OpenVMS doesn't have rwho
-
-Fri Feb 22 18:55:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Message_Queue_NT.h:
- Fixed wrong include
-
-Fri Feb 22 14:20:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * ace/Message_Queue.{h,cpp,inl}:
- * ace/Message_Queue_NT.{h,cpp,inl}:
- * tests/Message_Queue_Test.cpp:
- * ace/ace.mpc:
- * ace/Makefile.am:
- Moved ACE_Message_Queue_NT to its own file
-
-Fri Feb 22 08:54:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * bin/global.features:
- Default optimize_collocated_invocations to 1
-
-Fri Feb 22 00:34:17 UTC 2008 Steve Huston <shuston@riverace.com>
-
- * bin/tao_orb_tests.lst: Added !LabVIEW_RT to all tests that haven't
- been adapted to the non-local filesystem mechanism I invented to run
- tests for LabVIEW RT targets (and can also be used for other target
- types). Now I can enable TAO tests for the LabVIEW RT scoreboard
- build.
-
-Thu Feb 21 15:25:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * docs/Download.html:
- Updated download links to point to x.6.3
+ * docs/bczar/bczar.html:
+ Several updates because we now package on a FC12 system
- * etc/index.html:
- Updated for x.6.3
+ * debianbuild/rules:
+ Removed commented out part
-Thu Feb 21 02:34:37 CST 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * bin/make_release.py:
+ Next micro release will not ship msvc71 solutions, it is still
+ supported but the end user should generate the solutions him self.
+ Also WinCE solutions are not generated anymore for CIAO and the
+ autoconf bootstrapping is done much earlier in the release process
+ so when it fails we know early. The hostname check has been removed
- * ACE version 5.6.3 released.
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ Updated because of micro release
Local Variables:
mode: change-log
diff --git a/ChangeLogs/ChangeLog-93 b/ChangeLogs/ChangeLog-1993
index 0beb8e6321f..0beb8e6321f 100644
--- a/ChangeLogs/ChangeLog-93
+++ b/ChangeLogs/ChangeLog-1993
diff --git a/ChangeLogs/ChangeLog-94 b/ChangeLogs/ChangeLog-1994
index 09465ce823f..09465ce823f 100644
--- a/ChangeLogs/ChangeLog-94
+++ b/ChangeLogs/ChangeLog-1994
diff --git a/ChangeLogs/ChangeLog-95 b/ChangeLogs/ChangeLog-1995
index 429e5681fdc..429e5681fdc 100644
--- a/ChangeLogs/ChangeLog-95
+++ b/ChangeLogs/ChangeLog-1995
diff --git a/ChangeLogs/ChangeLog-96a b/ChangeLogs/ChangeLog-1996a
index 5aa3c9b69fc..5aa3c9b69fc 100644
--- a/ChangeLogs/ChangeLog-96a
+++ b/ChangeLogs/ChangeLog-1996a
diff --git a/ChangeLogs/ChangeLog-96b b/ChangeLogs/ChangeLog-1996b
index 5dd7b809a42..5dd7b809a42 100644
--- a/ChangeLogs/ChangeLog-96b
+++ b/ChangeLogs/ChangeLog-1996b
diff --git a/ChangeLogs/ChangeLog-97a b/ChangeLogs/ChangeLog-1997a
index 161d4746d2d..161d4746d2d 100644
--- a/ChangeLogs/ChangeLog-97a
+++ b/ChangeLogs/ChangeLog-1997a
diff --git a/ChangeLogs/ChangeLog-97b b/ChangeLogs/ChangeLog-1997b
index da7e8bf2f84..da7e8bf2f84 100644
--- a/ChangeLogs/ChangeLog-97b
+++ b/ChangeLogs/ChangeLog-1997b
diff --git a/ChangeLogs/ChangeLog-98a b/ChangeLogs/ChangeLog-1998a
index c5daa4d7ee1..c5daa4d7ee1 100644
--- a/ChangeLogs/ChangeLog-98a
+++ b/ChangeLogs/ChangeLog-1998a
diff --git a/ChangeLogs/ChangeLog-98b b/ChangeLogs/ChangeLog-1998b
index d9de5949d12..d9de5949d12 100644
--- a/ChangeLogs/ChangeLog-98b
+++ b/ChangeLogs/ChangeLog-1998b
diff --git a/ChangeLogs/ChangeLog-99a b/ChangeLogs/ChangeLog-1999a
index 5399b215825..5399b215825 100644
--- a/ChangeLogs/ChangeLog-99a
+++ b/ChangeLogs/ChangeLog-1999a
diff --git a/ChangeLogs/ChangeLog-99b b/ChangeLogs/ChangeLog-1999b
index 2bdeb97ccd3..2bdeb97ccd3 100644
--- a/ChangeLogs/ChangeLog-99b
+++ b/ChangeLogs/ChangeLog-1999b
diff --git a/ChangeLogs/ChangeLog-00a b/ChangeLogs/ChangeLog-2000a
index 29d983c12cd..29d983c12cd 100644
--- a/ChangeLogs/ChangeLog-00a
+++ b/ChangeLogs/ChangeLog-2000a
diff --git a/ChangeLogs/ChangeLog-00b b/ChangeLogs/ChangeLog-2000b
index 333c85f7a1e..333c85f7a1e 100644
--- a/ChangeLogs/ChangeLog-00b
+++ b/ChangeLogs/ChangeLog-2000b
diff --git a/ChangeLogs/ChangeLog-01a b/ChangeLogs/ChangeLog-2001a
index 2c80dd6896a..2c80dd6896a 100644
--- a/ChangeLogs/ChangeLog-01a
+++ b/ChangeLogs/ChangeLog-2001a
diff --git a/ChangeLogs/ChangeLog-01b b/ChangeLogs/ChangeLog-2001b
index 504c875d72b..504c875d72b 100644
--- a/ChangeLogs/ChangeLog-01b
+++ b/ChangeLogs/ChangeLog-2001b
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-2002a
index 870ec350d6e..870ec350d6e 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-2002a
diff --git a/ChangeLogs/ChangeLog-02b b/ChangeLogs/ChangeLog-2002b
index c13db37e19f..c13db37e19f 100644
--- a/ChangeLogs/ChangeLog-02b
+++ b/ChangeLogs/ChangeLog-2002b
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-2003a
index 930128362db..930128362db 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-2003a
diff --git a/ChangeLogs/ChangeLog-03b b/ChangeLogs/ChangeLog-2003b
index 311de7bdba4..311de7bdba4 100644
--- a/ChangeLogs/ChangeLog-03b
+++ b/ChangeLogs/ChangeLog-2003b
diff --git a/ChangeLogs/ChangeLog-03c b/ChangeLogs/ChangeLog-2003c
index bbd6f2714d6..bbd6f2714d6 100644
--- a/ChangeLogs/ChangeLog-03c
+++ b/ChangeLogs/ChangeLog-2003c
diff --git a/ChangeLogs/ChangeLog-04a b/ChangeLogs/ChangeLog-2004a
index 0c4668dfbb2..0c4668dfbb2 100644
--- a/ChangeLogs/ChangeLog-04a
+++ b/ChangeLogs/ChangeLog-2004a
diff --git a/ChangeLogs/ChangeLog-04b b/ChangeLogs/ChangeLog-2004b
index fe54044d243..fe54044d243 100644
--- a/ChangeLogs/ChangeLog-04b
+++ b/ChangeLogs/ChangeLog-2004b
diff --git a/ChangeLogs/ChangeLog-05a b/ChangeLogs/ChangeLog-2005a
index c6a64f51119..c6a64f51119 100644
--- a/ChangeLogs/ChangeLog-05a
+++ b/ChangeLogs/ChangeLog-2005a
diff --git a/ChangeLogs/ChangeLog-05b b/ChangeLogs/ChangeLog-2005b
index 15f3ed61bea..15f3ed61bea 100644
--- a/ChangeLogs/ChangeLog-05b
+++ b/ChangeLogs/ChangeLog-2005b
diff --git a/ChangeLogs/ChangeLog-05c b/ChangeLogs/ChangeLog-2005c
index 3dfeb0ad918..3dfeb0ad918 100644
--- a/ChangeLogs/ChangeLog-05c
+++ b/ChangeLogs/ChangeLog-2005c
diff --git a/ChangeLogs/ChangeLog-06a b/ChangeLogs/ChangeLog-2006a
index f5ab9e868ab..f5ab9e868ab 100644
--- a/ChangeLogs/ChangeLog-06a
+++ b/ChangeLogs/ChangeLog-2006a
diff --git a/ChangeLogs/ChangeLog-06b b/ChangeLogs/ChangeLog-2006b
index 2212ce3f6f0..2212ce3f6f0 100644
--- a/ChangeLogs/ChangeLog-06b
+++ b/ChangeLogs/ChangeLog-2006b
diff --git a/ChangeLogs/ChangeLog-07a b/ChangeLogs/ChangeLog-2007a
index b70a051d787..b70a051d787 100644
--- a/ChangeLogs/ChangeLog-07a
+++ b/ChangeLogs/ChangeLog-2007a
diff --git a/ChangeLogs/ChangeLog-07b b/ChangeLogs/ChangeLog-2007b
index 2e96e779dc8..2e96e779dc8 100644
--- a/ChangeLogs/ChangeLog-07b
+++ b/ChangeLogs/ChangeLog-2007b
diff --git a/ChangeLogs/ChangeLog-08a b/ChangeLogs/ChangeLog-2008a
index 7a48c1babf4..7a48c1babf4 100644
--- a/ChangeLogs/ChangeLog-08a
+++ b/ChangeLogs/ChangeLog-2008a
diff --git a/ChangeLogs/ChangeLog-2009a b/ChangeLogs/ChangeLog-2009a
new file mode 100644
index 00000000000..f02039d5f51
--- /dev/null
+++ b/ChangeLogs/ChangeLog-2009a
@@ -0,0 +1,10453 @@
+Mon Feb 09 12:01:28 CST 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ACE version 5.6.8 released.
+
+Mon Feb 9 17:35:05 UTC 2009 Phil Mesnier <phil@phil.ociweb.com>
+
+ * NEWS:
+ Updated news file.
+
+ * docs/bczar/bczar.html:
+ Changed text to refer to SVN rather than CVS for freeze procedure.
+
+Mon Feb 9 09:19:17 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_rel_manpages:
+ We are now using doxygen 1.5.8
+
+Fri Feb 6 15:37:15 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * tests/Log_Thread_Inheritance_Test.cpp:
+
+ Fixed missing extern "C" in pthread start routine.
+
+Fri Feb 6 10:55:17 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Updated download link and added xampler link
+
+Fri Feb 6 10:33:17 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Containers/Map_Manager_Specialization.cpp:
+ Fixed compile error in versioned namespace build
+
+Thu Feb 5 23:50:27 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * THANKS:
+
+ Added Ron van Hoof <rvhoof27 at gmail dot com>.
+
+Thu Feb 5 23:17:59 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * THANKS:
+
+ Added Steve Stallion
+
+Thu Feb 5 22:27:34 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * ace/Base_Thread_Adapter.cpp:
+
+ Backed out uneccessary change introduced in r84339.
+
+Thu Feb 5 21:14:15 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * ace/Base_Thread_Adapter.cpp:
+ * tests/Log_Thread_Inheritance_Test.cpp:
+
+ Fixed a SEGV caused by ACE_Log_Msg where ACE threads inheriting
+ from non-ACE threads copied un-initialized ACE_OS_Log_Msg_Attributes
+ members. Fixes Bugzilla #3480.
+
+Thu Feb 5 15:11:13 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/rules.local.GNU:
+
+ For the installed binary executable target, added a dependency on
+ the local binary executable so the installed version is refereshed
+ when the local one is rebuilt (only an issue when actual copies are
+ used and not symlinks). Thanks to Hubert Talbot
+ <Hubert dot Talbot at criq dot qc dot ca> for reporting the issue.
+
+ * tests/run_test.lst:
+
+ Added !QNX to MEM_Stream_Test. This test doesn't work on QNX.
+
+Wed Feb 4 22:23:26 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_SEQPACK_Acceptor.h:
+ * ace/Multihomed_INET_Addr.h: Formatting fixes.
+
+ * tests/SOCK_SEQPACK_SCTP_Test.cpp: Removed asserts, fixed IPv6
+ operation, resync log after fork(), corrected negative association
+ test case.
+
+Tue Feb 3 23:28:50 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_Thread.cpp (mutex_init, event_init):
+ * ace/OS_NS_Thread.inl (event_init, sema_init): Make sure errno gets
+ set to ERROR_ALREADY_EXISTS when creating an object that exists. This
+ is in Windows code only. Fixes Bugzilla #3541. Thanks to Bill Rizzi
+ for identifying the bug and supplying the test case and fix.
+
+Tue Feb 3 19:45:17 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Acceptor.h:
+ * ace/Active_Map_Manager_T.h:
+ * ace/CDR_Stream.h:
+ * ace/Configuration.h:
+ * ace/Connector.h:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Dirent.h:
+ * ace/Map_T.h:
+ * ace/Message_Block.h:
+ * ace/Message_Queue_Vx.h:
+ * ace/Name_Request_Reply.h:
+ * ace/Reactor.h:
+ * ace/Reactor_Impl.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_T.h:
+ * ace/Strategies_T.h:
+ * ace/WFMO_Reactor.h:
+ Doxygen changes
+
+ * ace/Unbounded_Queue.h:
+ * ace/Unbounded_Queue.inl:
+ Use bool
+
+Tue Feb 3 15:57:41 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * tests/Logging_Strategy_Test.cpp:
+
+ Use unsigned char instead of char to index arrays, to silence
+ warnings from GCC 4.3.
+
+Mon Feb 2 19:07:39 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Added tao_idl_fe_gen feature to be automatically disabled.
+
+Mon Feb 2 07:40:17 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ Check return values of stream operators
+
+ * netsvcs/lib/Client_Logging_Handler.h:
+ Doxygen changes
+
+Fri Jan 30 20:42:45 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/DLL_Manager.cpp (ACE_DLL_Handle::open): Correct ACE_TEXT usage
+ in AIX case.
+
+ * ace/config-aix-5.x.h: Wrap ACE_DLL_SUFFIX and ACE_LD_SEARCH_PATH
+ with ACE_TEXT().
+
+Fri Jan 30 15:02:08 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/Barrier.cpp:
+ * ace/Dynamic_Service_Base.cpp:
+ * ace/Hash_Map_Manager_T.cpp:
+ * ace/Malloc.cpp:
+ * ace/Malloc_T.cpp:
+ * ace/Mutex.cpp:
+ * ace/Pipe.cpp:
+ * ace/Semaphore.cpp:
+ * ace/TSS_T.cpp:
+ Removed some unnecessary ACE_DEBUG statements.
+
+Fri Jan 30 12:55:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * tests/Bug_3532_Regression.cpp:
+ Added a new test for bugzilla 3532. This bug is not fixed, just
+ integrating the regression test. Thanks to Martin Gaus <Gaus at gmx dot de>
+ for creating this test
+
+Fri Jan 30 12:38:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ * ace/Log_Msg.cpp:
+ Fixed unicode logging problems on non windows platforms
+
+Fri Jan 30 11:54:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Intrusive_List.cpp:
+ Just have one exit point in the methods
+
+ * ace/Singleton.cpp:
+ * ace/Singleton.h:
+ Added a static close() which can be used to explicitly close
+ an ACE_Singleton. It will then deregister from the object manager
+ from cleanup. This way an application developer could close his
+ singletons explicitly, but keep the safety that ACE will do that
+ also when the application does a shutdown
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * tests/Singleton_Test.cpp:
+ Added a new test for the close
+
+Thu Jan 29 18:48:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3541_Regression_Test.cpp:
+ Fix compile error with WinCE < 6
+
+ * ace/config-win32-common.h:
+ Fixed incorrect comment
+
+Thu Jan 29 12:59:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mpc-mode.el:
+ Added patch from Stefan Naewe <stefan.naewe@googlemail.com>
+
+Thu Jan 29 10:33:52 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ATM_Acceptor.cpp:
+ * ace/ATM_QoS.cpp:
+ * ace/ATM_Stream.cpp:
+ * ace/ATM_Stream.inl:
+ * ace/OS_NS_Thread.inl:
+ * ace/OS_NS_unistd.inl:
+ * ace/OS_NS_wchar.cpp:
+ Don't use () when returning 0 or -1
+
+Wed Jan 28 20:22:45 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * bin/ciao_tests.lst:
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+
+ Removed these files. They have moved to the TAO and CIAO bin
+ directories. This resolves bug 2748.
+
+ * bin/auto_run_tests.pl:
+ * bin/fuzz.pl:
+
+ Updated due to the new locations of the lst files.
+
+Wed Jan 28 15:02:11 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp:
+
+ Fixed typo in ACE_NEW_RETURN argument list.
+
+Wed Jan 28 10:24:46 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new test for bug 3559.
+
+Wed Jan 28 09:45:53 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3541_Regression.cpp:
+ Fixed last compile error
+
+ * tests/Multicast_Test.cpp:
+ Unicode fix
+
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp:
+ Unicode fix
+
+Wed Jan 28 09:09:53 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_arpa_inet.inl:
+ Use new ACE_HAS_NONCONST_INET_ADDR
+
+ * ace/config-cray.h:
+ * ace/config-lynxos.h:
+ * ace/config-tandem.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ Added ACE_HAS_NONCONST_INET_ADDR
+
+ * ace/config-vxworks6.7.h:
+ Undef ACE_HAS_NONCONST_INET_ADDR, WindRiver fixed their api
+
+Tue Jan 27 23:28:53 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Message_Queue_T.cpp: Don't nest the ACE_HAS_WIN32_OVERLAPPED_IO
+ ifdef in the ACE_VXWORKS section; it'll never get used. Thanks to
+ Jesus Martinez <jmcruz at lcc dot uma dot es> for this fix.
+
+ * THANKS: Added Jesus Martinez.
+
+Mon Jan 26 17:26:41 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+ Added new test for fix of bug 3557.
+
+Mon Jan 26 15:44:22 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3541_Regression_Test.cpp:
+ Fixed compiler errors on WinCE target.
+
+Mon Jan 26 15:39:36 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/DII_AMI_Forward/run_test.pl
+ TAO/tests/DSI_AMH/run_test.pl
+ TAO/tests/DSI_AMI_Gateway/run_exception_test.pl
+ TAO/tests/DSI_AMI_Gateway/run_test.pl
+ TAO/tests/DSI_Gateway/run_exception_test.pl
+ TAO/tests/DSI_Gateway/run_test.pl
+
+Fri Jan 23 08:04:58 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/POA/EndpointPolicy/run_test_dh.pl
+ TAO/tests/POA/EndpointPolicy/run_test_lh.pl
+ TAO/tests/POA/Explicit_Activation/run_test.pl
+ TAO/tests/POA/Loader/run_test.pl
+ TAO/tests/POA/On_Demand_Activation/run_test.pl
+ TAO/tests/POA/On_Demand_Loading/run_test.pl
+ TAO/tests/POA/Reference_Counted_Servant/run_test.pl
+
+Thu Jan 22 19:20:06 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ Minor changes to resolve:
+
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
+ * ace/Object_Manager.cpp:
+
+ Win32 build errors with ACE_USES_WCHAR defined.
+
+ * apps/gperf/src/Key_List.cpp:
+ * tests/ARGV_Test.cpp:
+
+ GCC 4.3 warnings.
+
+Thu Jan 22 18:34:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_sendfile.{h,cpp,inl}:
+ Previously ACE_HAS_SENDFILE should be defined or not, changed this
+ that it has be define to 1 or 0, makes it clearer to disable from
+ config.h
+
+ * ace/config-all.h:
+ Set ACE_HAS_SENDFILE to 0 when it is not defined yet
+
+Thu Jan 22 16:51:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_socket.inl (sendv):
+ Introduced a new ACE_DONT_USE_WSASEND, when this is set ACE doesn't
+ use WSAsend but just a loop of send calls
+
+Thu Jan 22 15:44:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.h:
+ Only define the ACE_DEBUG/ACE_ERROR* when they are not defined
+ yet when ACE_NLOGGING is defined. This makes it possible for
+ users to globally disable logging but then just enable ACE_ERROR
+
+ * ace/Message_Block.cpp:
+ Code layout changes
+
+ * ace/SOCK_IO.cpp:
+ * ace/SOCK_Dgram.cpp:
+ * ace/Select_Reactor_T.cpp:
+ Just define select_width twice and directly assign it
+
+ * ace/OS_NS_sys_socket.inl:
+ Move local variables into the loop
+
+ * ace/config-sunos5.9.h:
+ * ace/config-linux-common.h:
+ Define ACE_HAS_SENDFILE to 1
+
+Thu Jan 22 13:51:01 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3500_Regression_Test.cpp:
+ * tests/Bug_3541_Regression_Test.cpp:
+ Fixed compiler errors on WinCE target.
+
+Thu Jan 22 13:38:20 UTC 2009 Vladimir Zykov <vz@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Disabled the test for bug#3524 on corba_e_micro builds since it
+ uses valuetypes.
+
+Thu Jan 22 07:46:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed Bug 3543 Regression, the bug is not fixed yet and this test
+ put a high load on the test systems
+
+Wed Jan 21 16:05:24 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+
+ Fixed a bug in the linker arguments for RTP shared libraries.
+
+Wed Jan 21 10:19:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ Use ace_output as base project instead of setting libout directly in this
+ mpc file
+
+Wed Jan 21 02:39:42 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/CDR_Stream.inl (current_alignment): Removed an
+ unnecessary/incorrect "return 0;" statement. Thanks to Pan Kai
+ Luna <pan dot kai dot luna at gmail dot com> for reporting this.
+
+Tue Jan 20 22:42:08 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ACE-INSTALL.html (make): Updated the Cygwin documentation.
+ Thanks to Florent Vial <florent dot vial at gmail dot com> for
+ contributing this.
+
+Tue Jan 20 11:04:11 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3500_Regression_Test.cpp:
+ * tests/Bug_3541_Regression_Test.cpp:
+ Eliminated some warning on Linux build
+
+Tue Jan 20 06:25:01 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Cleanup.cpp:
+ Copy the name when it gets passed. It could be that the
+ string is a static string in a dll and then we can't print
+ it when things are crashing because the dll is then already
+ unloaded
+
+Mon Jan 19 20:53:01 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp: More basic fixes.
+
+Mon Jan 19 19:34:24 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled the test for bug#3548
+
+Mon Jan 19 16:36:33 UTC 2009 Vladimir Zykov <vz@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled the test for bug#3524.
+
+Mon Jan 19 14:55:19 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3500_Regression_Test.cpp:
+ * tests/Bug_3541_Regression_Test.cpp:
+ Solved fuzz errors
+
+Mon Jan 19 12:51:12 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * THANKS
+ Added Bill Rizzi <rizi at softserv.com> for his contribution to the following automated tests:
+ Bug_3500_Regression_Test
+ Bug_3541_Regression_Test
+
+Mon Jan 19 12:28:12 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3500_Regression_Test.cpp:
+ Added in order to run automated tests for Bugzilla #3500
+
+ * tests/Bug_3541_Regression_Test.cpp:
+ Added in order to run automated tests for Bugzilla #3541
+
+ * tests/tests.mpc:
+ Added Bug_3500_Regression_Test and Bug_3541_Regression_Test
+
+ * tests/run_test.lst:
+ Added Bug_3500_Regression_Test and Bug_3541_Regression_Test
+
+Mon Jan 19 09:14:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_Log_Msg_Attributes.inl:
+ Initialize all members with default values
+
+ * ace/Log_Msg.cpp:
+ Just delete the casted ACE_Log_Msg pointer, no need todo
+ another cast
+
+Mon Jan 19 07:49:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.cpp:
+ * ace/Log_Record.inl:
+ Use ACE_HTONL macro
+
+ * ace/INET_Addr.inl:
+ Use ACE_NTOHS macro
+
+Fri Jan 16 22:32:38 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Asynch_Stream.{h cpp}: Remove the handle_ member; use
+ the handle_ inherited from ACE_Asynch_Operation.
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp: Register the acceptor with the
+ reactor so we hear about incoming connects. Other minor mods to
+ help see what's going on in the log. Hopefully will resolve
+ Bugzilla #3164.
+
+Fri Jan 16 07:26:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Token_Invariants.cpp:
+ * ace/Token_Manager.cpp:
+ Added missing include
+
+Thu Jan 15 13:52:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.h:
+ Doxygen changes
+
+Thu Jan 15 13:50:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.h:
+ The added name argument should have a default value of 0
+
+Thu Jan 15 13:30:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Logging_Strategy.h:
+ * ace/Service_Object.h:
+ Doxygen change
+
+ * ace/Service_Repository.{h,cpp,inl}:
+ Removed the restriction that the service repository can't
+ grow bigger then the size it got passed at construction. The
+ plain array has been replaced with an ACE_Array_Map which
+ will grow when needed. The behaviour that removing elements
+ means gap in the array hasn't been changed. This fixes bugzilla
+ 3542
+
+ * ace/Service_Config_Test.cpp:
+ Extended this test to also test the Service Repository size
+ and the behaviour that we get gaps when removing services,
+ adding services after a remove will keep the gaps and just
+ grows the service repository
+
+Thu Jan 15 11:13:32 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/POA/DSI/run_test.pl
+ TAO/tests/POA/Default_Servant2/run_test.pl
+
+Thu Jan 15 07:56:18 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/POA/Forwarding/run_test.pl
+ TAO/tests/POA/Persistent_ID/run_test.pl
+ TAO/tests/POA/Default_Servant/run_test.pl
+ TAO/tests/POA/Bug_1592_Regression/run_test.pl
+ TAO/tests/POA/Bug_2511_Regression/run_test.pl
+ TAO/tests/POA/Deactivate_Object/run_test.pl
+ TAO/tests/POA/Reference_Counting/run_test.pl
+ TAO/tests/POA/Current/run_test.pl
+ TAO/tests/POA/EndpointPolicy/run_test.pl
+
+Thu Jan 15 07:56:02 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Cleanup.{h,cpp}:
+ Added a const char* name member to ACE_Cleanup_Info_Node, this
+ can be passed in when registering an at_exit hook. This string can
+ then be used during debugging to detect problems at shutdown. It
+ can happen that the cleanup hook is from a dll that already is
+ unloaded and then we get a crash with no information, the string
+ at least can tell us which hook we are calling. This fixes bugzilla
+ 3544.
+
+ * ace/Log_Msg.cpp:
+ * ace/Object_Manager.{h,cpp,inl}:
+ * ace/Object_Manager_Base.{h,cpp}:
+ * ace/OS_NS_stdlib.{h,inl}:
+ * ace/Process_Manager.cpp:
+ * ace/Singleton.cpp:
+ * ace/Token_Invariants.cpp:
+ * ace/Token_Manager.cpp:
+ Pass in the typeid of the object when registering an at_exit hook
+
+ * ace/Thread.cpp:
+ Moved local variable inside the loop
+
+Wed Jan 14 20:27:02 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Test.cpp: Don't attempt to run this on anything other
+ than Linux. The code to verify inherited handles uses Linux-specific
+ mechanisms (particularly, that the entries in /proc/self/fd are
+ links to the file names opened). It's possible to write code on
+ other platforms to do the checks but it's non-trivial and will
+ probably be different for each platform.
+
+Wed Jan 14 13:13:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_typeinfo.h:
+ New file to wrap typeinfo
+
+ * ace/Makefile.am:
+ Added new file
+
+ * ace/Naming_Context.{h,cpp,inl}:
+ Changed debug/verbosity to a bool
+
+Mon Jan 12 18:59:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ciao_tests.lst:
+ Disabled DevGuideExample test when there is no xerces
+
+Mon Jan 12 18:36:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug 3543 Regression
+
+Mon Jan 12 11:00:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Array_Base.h:
+ * ace/Array_Map.h:
+ * ace/Vector_T.h:
+ Doxygen changes
+
+Mon Jan 12 09:26:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/svn/config:
+ * docs/svn/svn-prefs.reg:
+ Added ns files used for emulab
+
+Mon Jan 12 08:45:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ Added ACE_DEFAULT_SERVICE_GESTALT_SIZE which defaults to 1024
+
+ * ace/Service_Gestalt.cpp:
+ Doxygen changes
+
+ * ace/Service_Gestalt.h:
+ Use ACE_DEFAULT_SERVICE_GESTALT_SIZE instead of the hardcoded
+ default of 1024. Also made some doxygen changes
+
+Mon Jan 12 08:16:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_3542
+
+ * bin/ciao_tests.lst:
+ Disabled DevGuideExample test in some configurations
+
+Fri Jan 9 15:08:23 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Gestalt.cpp:
+ Layout changes
+
+ * ace/Service_Repository.{h,cpp}:
+ Doxygen changes
+
+ * ace/Framework_Component.cpp:
+ Use prefix increment
+
+ * ace/config-win32-common.h:
+ Introduced ACE_HAS_WINSOCK1 that is default set to 0
+
+Fri Jan 9 15:01:48 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openvms.h:
+ There's no need to undef clearerr.
+
+Fri Jan 9 09:46:23 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/Portable_Interceptors/AdvSlotExt/run_test.pl
+ TAO/tests/Portable_Interceptors/Redirection/run_test.pl
+ TAO/tests/Portable_Interceptors/Bug_3079/run_test.pl
+ TAO/tests/Portable_Interceptors/Bug_3080/run_test.pl
+
+Thu Jan 8 19:15:23 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/Portable_Interceptors/AMI/run_test.pl
+ TAO/tests/Portable_Interceptors/PolicyFactory/run_test.pl
+ TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl
+
+Wed Jan 8 18:18:37 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/run_test.pl
+ TAO/tests/Portable_Interceptors/ForwardRequest/run_test.pl
+ TAO/tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/run_test.pl
+ TAO/tests/Portable_Interceptors/Processing_Mode_Policy/Remote/run_test.pl
+ TAO/tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl
+
+Wed Jan 8 10:39:39 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Removed "!LabVIEW_RT", "!WinCE" and "!FUZZ" from:
+ TAO/tests/Portable_Interceptors/Bug_1559/run_test.pl
+ TAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl
+ TAO/tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/run_test.pl
+
+Wed Jan 7 21:01:39 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/ACE.inl:
+ Removed tabs.
+
+Wed Jan 7 16:31:25 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/Hash_Map_Manager_T.h:
+ * ace/Hash_Map_Manager_T.cpp:
+
+ Overloadded the item () and key () accessor methods for the
+ ACE_Hash_Map_Entry class so the methods can be used with
+ read-only versions of the ACE_Hash_Map_Entry object.
+
+Wed Jan 7 14:47:24 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/split-cpp.pl:
+ Added missing id tag
+
+Wed Jan 7 14:22:45 UTC 2009 Marcel Smit <smit@remedy.nl>
+
+ * bin/fuzz.pl:
+ Corrected wrong perl run_test check
+
+Wed Jan 7 12:09:45 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * examples/Shared_Memory/test_MM.cpp:
+ Removed check for ACE_LACKS_MKSTEMP. mkstemp() is now
+ available on all ACE platforms.
+
+Wed Jan 7 07:40:41 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_math.inl:
+ Changed floor() and ceil() to use corresponding native functions
+ by default.
+
+Tue Jan 6 19:27:24 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ * rpmbuild/ace-tao-ciao.txt:
+ * rpmbuild/ace-tao.spec:
+ * rpmbuild/ace-tao.txt:
+ Made ace-tao-ciao the main spec file, the ace-tao one is created
+ by Ken Sedgwick which uses that one for Fedora but which we don't
+ use because it doesn't work with SuSE/CentOS/Mandriva. Hopefully
+ on the long term Ken will use the ace-tao-ciao file
+
+Mon Jan 5 15:33:24 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+
+ Removed the vxe file from the GENERATED_DIRTY list, this silences
+ the GNU make warnings for "circular dependencies" on all executable
+ projects that run the idl compiler.
+
+Mon Jan 5 09:37:38 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_math.inl:
+ Changed floor() and ceil() not to use == to compare floating
+ point values. This removes compile time warnings if gcc's
+ -Wfloat-equal option is enabled.
+
+ * tests/OS_Test.cpp:
+ Added tests for floor() and ceil().
+
+Sun Jan 4 10:47:27 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/*:
+ Updated for next 1.6.8 micro release
+
+Sun Jan 4 03:55:27 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Service_Gestalt.cpp (process_directives): Ensure that the
+ number of failed services is returned. Thanks to Milan
+ Cvetkovic <milan dot cvetkovic at mpathix dot com> for
+ contributing this.
+
+Fri Jan 2 15:38:31 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+
+ Reverted this change for bugzilla #3232:
+ Thu May 8 10:51:29 UTC 2008 Steve Huston <shuston@riverace.com>
+ While it does remove the redundant -pipe option it also removes
+ needed options like -g and -O.
+ Thanks to <milan dot cvetkovik at mpathix dot com> for bringing it
+ up on the tao-users mailing list.
+
+Wed Dec 31 15:38:33 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Fixed an off-by-one error in the string formatting code for Linux.
+
+ * tests/Stack_Trace_Test.cpp:
+
+ Use proper ACE_Log_Msg formatters (stack traces are always narrow).
+
+Fri Dec 26 16:42:33 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * bin/ciao_tests.lst:
+ Correct test location.
+
+Fri Dec 26 09:10:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::close):
+ Added ACE_GCC_DESTRUCTOR_ATTRIBUTE to this method so that it is called
+ at unload of the ACE library which fixes some valgrind errors
+
+Thu Dec 25 18:57:10 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Merry Christmas and may there be Peace on Earth.
+
+Wed Dec 24 19:09:53 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Module.cpp (open, ACE_Module):
+ * ace/Service_Types.{h cpp} (find):
+ * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp (info):
+ * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp (info):
+ * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp (info):
+ * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp (info):
+ Change mod_name to module_name;
+ agrees with .h file and works around a macro clash (mod_name)
+ on AIX 6.1.
+
+Wed Dec 24 11:07:22 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * bin/ciao_tests.lst:
+
+ Disabled idl3_to_xmi tests on non-xerces builds.
+
+Wed Dec 24 10:25:46 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-g++-common.h:
+ Added ACE_GCC_CONSTRUCTOR_ATTRIBUTE which can be used to mark
+ a static method as a method that should be called when a shared
+ library gets loaded. Added ACE_GCC_DESTRUCTOR_ATTRIBUTE which
+ can be used to mark a static method as a method that should be
+ called when a shared library gets unloaded. Added ACE_DEPRECATED
+ which can be used to mark a method as deprecated. If a specific
+ gcc version doesn't have the attributes, you can set ACE_HAS_GCC_x
+ to 0. This will be used in TAO to explicitly delete static
+ objects when the dll gets unloaded, we could use this in more
+ places to reduce our memory leaks
+
+ * ace/config-macros.h:
+ If ACE_GCC_CONSTRUCTOR_ATTRIBUTE, ACE_GCC_DESTRUCTOR_ATTRIBUTE,
+ or ACE_DEPRECATED is not defined, then define them to nothing
+
+Tue Dec 23 15:28:16 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * bin/ciao_tests.lst:
+
+ Scheduled 3 tests for idl3_to_xmi.
+
+Mon Dec 22 16:05:46 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_time.inl:
+ Fixed ACE_OS::gethrtime. Thanks to Jaros?aw Nozderko
+ <jaroslaw dot nozderko at plus dot pl> for reporting this
+
+Mon Dec 22 11:36:46 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_common.GNU:
+ Solaris 10/11 ship default with lksctp
+
+Fri Dec 19 15:30:05 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * tests/UUID_Test.cpp:
+
+ Updated test to validate that setting the value of a UUID
+ to NIL via its string format works correctly based on the
+ previous ChangeLogEntry.
+
+Fri Dec 19 01:19:36 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.cpp:
+
+ Bug fix where assigning a NIL UUID resulted in an execution
+ of an obselete ACE_ASSERT statement.
+
+Wed Dec 17 08:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ 2804 doesn't run yet
+
+Tue Dec 16 15:40:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/Pipe.cpp:
+ * performance-tests/TCP/tcp_test.cpp:
+ Reworked ACE_LACKS_SOCKET_BUFSIZ into ACE_LACKS_SO_RCVBUF
+ and ACE_LACKS_SO_SNDBUF so that each of them could be
+ independently enabled/disabled. Updated a few config files
+ for this.
+
+Tue Dec 16 11:04:00 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * ace/config-linux-common.h:
+ Added #define ACE_HAS_VASPRINTF.
+
+Mon Dec 15 18:24:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled 3499 again
+
+Mon Dec 15 13:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled bidir tests for wince/fuzz/labview
+
+Mon Dec 15 09:15:54 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * ace/ACE.h:
+ * ace/ACE.inl:
+ Added wchar_t variant of ACE::isdotdir(). Thanks to Johnny
+ for pointing this out.
+
+Sat Dec 13 18:25:15 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * bin/tao_other_tests.lst:
+ Accidently turned on a future test. Reverting the same.
+
+Fri Dec 12 19:23219 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Disabled ICMG_Any_Bug for CORBA/e
+
+Fri Dec 12 13:26:19 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * NEWS:
+ Added a note about ACE::isdotdir().
+
+Fri Dec 12 13:17:43 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * tests/Dirent_Test.cpp:
+ Updated to use new ACE::isdotdir() function.
+
+Fri Dec 12 13:08:58 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * ace/ACE.h:
+ * ace/ACE.inl:
+ Added a new function ACE::isdotdir() which determines if a specified
+ pathname is "dot dir" (ie. "." or ".."). isdotdir() is significantly
+ faster than pair of strcmp() calls.
+
+Thu Dec 11 23:08:07 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * bin/tao_other_tests.lst:
+ Disabled some IFR_Service dependent tests for uses_wchar builds.
+
+Thu Dec 11 14:34:23 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace_func.m4:
+
+ Update ACE_FUNC_SYSINFO feature test to compile small programs
+ that use the two different Linux and SysV/POSIX sysinfo() APIs
+ before defining ACE_HAS_SYSV_SYSINFO or ACE_HAS_LINUX_SYSINFO.
+ This should avoid false matches with HP/UX's undocumented
+ sysinfo() syscall.
+
+Wed Dec 10 21:06:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/rules:
+ Removed old line
+
+Tue Dec 9 16:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/split-cpp:
+ * bin/split-cpp.pl:
+ Renamed to have pl extension
+
+ * debianbuild/patches/00list:
+ Updated
+
+ * debianbuild/patches/03-g++-new-throws.dpatch:
+ * debianbuild/patches/08-fix-perl-shebang.dpatch:
+ * debianbuild/patches/90-patch-mpc-basedir.dpatch:
+ * debianbuild/patches/91-patch-dg-basedir.dpatch:
+ Not needed anymore, this issues are fixed on svn head
+
+ * examples/IPC_SAP/SOCK_SAP/summarize.pl:
+ * examples/IPC_SAP/SSL_SAP/summarize.pl:
+ Added missing shebang
+
+Tue Dec 9 16:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/*:
+ Added all files currently used by the debian package maintainers.
+ Updated them for 1.6.7, but a lot of patches are not needed
+ anymore. The goal is to do a cleanup and then provide
+ debian/ubuntu packages through opensuse build
+
+Tue Dec 9 4:42:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/depgen.pl:
+ Use RealBin to get the real location of the perl script
+
+Mon Dec 8 02:50:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added bug 3430 regression
+
+Sat Dec 6 20:18:38 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+ * ace/UUID.inl:
+ * ace/UUID.cpp:
+
+ Implemented the operator = method for the UUID. This will enable
+ use of UUIDs in STL-like containers.
+
+ Bug fix where using the copy constructor for the UUID would result
+ in a memory leak.
+
+ Refactored code to use ACE_Auto_Ptr and ACE_Auto_Array_Ptr objects
+ to reduce code complexity, and ensure memory deallocation during
+ expected returns.
+
+ * tests/UUID_Test.cpp:
+
+ Added the assignment operator (i.e., operator =) to the UUIDs
+ test.
+
+Fri Dec 5 15:38:23 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+ * ace/UUID.cpp:
+
+ Made the to_string () method non-mutable, and the as_string_
+ member variable 'mutable'. This allows 'const ACE_Utils::UUID'
+ objects to use to to_string () method since that method is
+ not changing the value of the UUID.
+
+Thu Dec 4 11:07:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Some tests now seem to run perfect
+
+Thu Dec 4 09:45:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Fixed compile problems with Solaris wchar
+
+Thu Dec 4 08:11:35 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List_Node.h:
+ Include config-lite instead of config-all to break circular
+ includes in Object_Manager_Base
+
+ * ace/OS_NS_errno.h:
+ Doxygen change
+
+Wed Dec 3 23:35:35 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h: Reverted change from:
+ Mon Dec 1 23:51:32 UTC 2008 Steve Huston <shuston@riverace.com>
+ It broke cases where the format specifier was used in string
+ catenation. This reintroduces a build failure on Solaris wide-char.
+
+Wed Dec 3 20:25:19 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.cpp (compare): Fixed logic error when strings are
+ equal, introduced by
+ Wed Dec 3 16:31:11 UTC 2008 Steve Huston <shuston@riverace.com>
+
+Wed Dec 3 18:38:49 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/svn/svn-prefs.reg:
+
+ Added auto-prop settings for .xme files, which are exported
+ GME files and only created on Windows platforms.
+
+Wed Dec 03 18:14:25 UTC 2008 Trevor Fields <fields_t@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+ Added orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test
+
+Wed Dec 3 16:31:11 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.cpp (compare): Compare lengths directly instead of
+ subtracting; clearer and avoids 32/64-bit signed/unsigned issues.
+
+Wed Dec 3 10:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Use static_cast again, truncate_cast broke HPUX
+
+Wed Dec 3 07:55:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Use truncate_cast instead of static_cast
+
+ * ace/CDR_Stream.cpp:
+ Layout change
+
+ * ace/Cleanup.cpp:
+ * ace/Cleanup.h:
+ * ace/Cleanup.inl:
+ * ace/Object_Manager.cpp:
+ * ace/Object_Manager.h:
+ * ace/Object_Manager.inl:
+ * ace/Object_Manager_Base.cpp:
+ * ace/Thread_Manager.cpp:
+ * ace/Thread_Manager.h:
+ Reimplemented the at_exit list as intrusive_list and also added
+ the functionality to remove a registered at_exit hook again. This
+ can be used by DLL's that register objects in the object
+ manager, but who get unloaded explicitly before the ACE dll.
+
+ * ace/Active_Map_Manager.h:
+ Doxygen change
+
+Wed Dec 3 00:41:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add missing call to ACE_FUNC_STRTOULL autoconf macro.
+
+Tue Dec 2 20:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ Use bool for empty/is_empty methods
+
+ * ace/Intrusive_List_Node.h:
+ Layout change
+
+Tue Dec 2 13:54:35 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/os_include/os_wchar.h:
+
+ Provide declaration for wcstoll() If ACE_LACKS_WCSTOLL is
+ defined.
+
+ Provide declaration for wcstoull() if ACE_LACKS_WCSTOULL is
+ defined.
+
+ * ace/os_include/os_stdlib.h:
+
+ Provide declaration for strtoll() If ACE_LACKS_STRTOLL is
+ defined.
+
+ Provide declaration for strtoull() if ACE_LACKS_STRTOULL is
+ defined.
+
+ * m4/ace_func.m4:
+
+ Change ACE_FUNC_STRTOLL, ACE_FUNC_STRTOULL, ACE_FUNC_WCSTOLL,
+ and ACE_FUNC_WCSTOULL autoconf macros to define
+ ACE_LACKS_STRTOLL_PROTOTYPE, ACE_LACKS_STRTOULL_PROTOTYPE,
+ ACE_LACKS_WCSTOLL_PROTOTYPE, and ACE_LACKS_WCSTOULL_PROTOTYPE
+ if cooresponding declarations are not present.
+
+Tue Dec 2 12:47:06 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/ACE.cpp (handle_timed_complete): Fix compile error resulting from
+ Mon Dec 1 17:55:00 UTC 2008 Steve Huston <shuston@riverace.com>
+
+Tue Dec 2 11:49:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mpc-mode.el:
+ Updated MPC mode for emacs file. Thanks to Jules Colding
+ <colding at 42tools dot com> for providing this file
+
+Tue Dec 2 08:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Object_Manager.h:
+ * ace/Object_Manager_Base.h:
+ Doxygen changes
+
+Mon Dec 1 23:51:32 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h: When defining ACE_*_FORMAT_SPECIFIER in terms
+ of ACE_*_FORMAT_SPECIFIER_ASCII, use ACE_TEXT_CHAR_TO_TCHAR else
+ when used, this ends up combining narrow and wide chars, resulting
+ in build errors.
+
+Mon Dec 1 17:55:00 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/ACE.cpp (handle_timed_complete): Correct the situations under
+ which a non-blocking connect() will complete. Previously VxWorks and
+ AIX did a secondary check for connect success/fail when the socket
+ selected writeable. All other non-Windows platforms selected for
+ both readable and writeable, with readable=fail, writeable=success.
+ This produced false success since BSD sockets always select
+ writeable, not readable; a secondary check for status is then
+ required. This fix corrects behavior on non-AIX BSD systems,
+ particularly HP-UX and Solaris.
+
+Tue Nov 18 19:06:27 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/README: Updated the explanation of how to build/run the
+ one-button regression tests. Thanks to Anand Kumar
+ <anandkumar95 at gmail dot com> for motivating this.
+
+Mon Dec 1 15:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mpc-mode.el:
+ Updated MPC mode for emacs file. Thanks to Jules Colding
+ <colding at 42tools dot com> for providing this file
+
+Mon Dec 1 14:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mpc-mode.el:
+ Updated MPC mode for emacs file. Thanks to Jules Colding
+ <colding at 42tools dot com> for providing this file
+
+Mon Dec 1 13:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Object_Manager.cpp:
+ Initialise pointers with 0
+
+ * ace/RW_Mutex.cpp:
+ * ace/RW_Mutex.h:
+ * ace/RW_Mutex.inl:
+ Make removed_ flag a real bool
+
+ * ace/Singleton.h:
+ Doxygen change
+
+ * ace/SSL/SSL_Context.cpp:
+ Manage ourselves the life cycle of the SSL_Context singleton.
+ Previously the SSL library registered a singleton with the ACE
+ library. When the SSL library is unloaded expliclity before the
+ ACE library the cleanup in ACE did crash because the SSL code
+ wasn't there. Now when we cleanup the SSL library we also close
+ our singleton
+
+ * ace/Thread_Mutex.inl:
+ Use operator !
+
+Mon Dec 1 11:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mpc-mode.el:
+ Added MPC mode for emacs file. Thanks to Jules Colding
+ <colding at 42tools dot com> for providing this file
+
+Mon Dec 1 11:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ Improved OpenSuSE Factory support
+
+Mon Dec 1 10:44:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added 3418
+
+Sat Nov 29 15:30:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_ctype.inl:
+
+ Fix typo in preprocessor conditional.
+
+ * configure.ac:
+ * m4/ace_func.m4:
+
+ Move feature tests for strtoll(), strtoull(), wcstoll(), and
+ wcstoull() to new autoconf macros ACE_FUNC_STRTOLL,
+ ACE_FUNC_STRTOULL, ACE_FUNC_WCSTOLL, and ACE_FUNC_WCSTOULL.
+
+Sat Nov 29 07:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ * ace/OS_NS_ctype.inl:
+ Fixed compile errors with windows ce
+
+Fri Nov 28 19:58:02 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Improve feature tests for strtoll(), strtoull(), wcstoll(), and
+ wcstoull(), adding support for ACE_STRTOLL_EQUIVALENT,
+ ACE_STRTOULL_EQUIVALENT, ACE_WCSTOLL_EQUIVALENT, and
+ ACE_WCSTOULL_EQUIVALENT.
+
+Fri Nov 28 16:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ Unicode fix
+
+Fri Nov 28 16:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ Added post handshake completed hook. See header file for all
+ the details.
+
+ This fixes bugzilla 3502, thanks to Paul Daugherty
+ <paul at nextalk dot com> for providing the patches
+
+Fri Nov 28 16:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.inl:
+ Added accessor for SSL structure.
+
+ * ace/SSL/SSL_Context.cpp:
+ * ace/SSL/SSL_Context.h:
+ * ace/SSL/SSL_Context.inl:
+ Added possibility to set verify callback
+
+ * ace/SSL/Makefile.am:
+ Added new SSL_Asynch_Stream.inl
+
+ This fixes bugzilla 3494, thanks to Paul Daugherty
+ <paul at nextalk dot com> for providing the patches
+
+Fri Nov 28 15:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added bug_3506
+
+Fri Nov 28 14:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ Improvement for OpenSuSE Factory
+
+Fri Nov 28 12:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended tests for run_test.pl files
+
+Fri Nov 28 11:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ Added an item to update the NEWS files
+
+Fri Nov 28 11:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended tests for run_test.pl files
+
+ * bin/PerlACE/TestTarget.pm:
+ Added some new variables that we will use for the iBoot
+
+ * bin/tao_orb_tests.lst:
+ Enabled several tests for Labview/CE/Fuzz and also added a few
+ TAO tests that where missing from this file
+
+Fri Nov 28 11:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/HTBP/HTBP_Session.cpp:
+ * tests/Basic_Types_Test.cpp:
+ Layout change
+
+Fri Nov 28 11:05:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/ASX/Event_Server/Event_Server/Options.cpp
+ * examples/ASX/UPIPE_Event_Server/Options.cpp
+ Use new ascii format specifier
+
+Fri Nov 28 11:04:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contribs/FaCE/CE_ARGV.H:
+ Doxygen change
+
+Fri Nov 28 11:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * appsJAWS/clients/Blobby/Blob_Handler.cpp:
+ Use new ascii format specifier
+
+Fri Nov 28 11:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ Updated for next micro release and corrected links for the
+ nslist/nsdel/nsadd/catior
+
+ * rpmbuild/ace-tao.spec:
+ Updated for next micro release
+
+Fri Nov 28 10:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Arg_Shifter.h:
+ * ace/Argv_Type_Converter.h:
+ * ace/Event_Handler_T.h:
+ * ace/OS_Errno.h:
+ * ace/OS_NS_stropts.h:
+ * ace/SOCK_Dgram_Mcast.h:
+ * ace/SSL/SSL_Context.h:
+ Doxygen fix
+
+ * ace/Basic_Types.h:
+ * ace/config-linux-common.h:
+ * ace/config-macosx-leopard.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-netbsd.h:
+ * ace/config-sunos5.10.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/config-win32-borland.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-mingw.h:
+ * ace/config-win32-msvc.h:
+ Added _ASCII versions of all existing format specifiers.
+ The existing ones are then defined using these ASCII ones.
+ When using the format specifiers we can now select if we
+ want to use the ascii or wchar_t ones and don't have to
+ convert wchar_t to ascii
+
+ * ace/Cleanup.cpp:
+ * ace/Cleanup.h:
+ Extended ACE_Cleanup_Info with a constructor that initializes
+ all members. At the end of ACE_OS_Exit_Info::call_hooks delete
+ all the hooks, they are invalid at this moment
+
+ * ace/config-cray.h:
+ * ace/config-sco-5.0.0.h:
+ Cleanup
+
+ * ace/config-win32-msvc-10.h:
+ * ace/config-win32-msvc-9.h:
+ Update for Windows Mobile 6
+
+ * ace/DLL_Manager.cpp:
+ Const change
+
+ * ace/os_include/os_errno.h:
+ Simplified a check
+
+ * ace/OS_NS_ctype.h:
+ * ace/OS_NS_ctype.inl:
+ * ace/OS_NS_wctype.cpp
+ * ace/OS_NS_wctype.h
+ * ace/OS_NS_wctype.inl
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/Makefile.am:
+ Moved ace_iswctype to OS_NS_wctype.{h,cpp,inl}. According to the
+ opengroup spec this method has to be in that file
+
+ * ace/OS_NS_unistd.inl:
+ Small layout change
+
+ * ace/Sample_History.cpp:
+ Const change
+
+ * ace/Service_Repository.cpp:
+ Use ACE prefix in all debug statements
+
+ * ace/Sock_Connect.cpp:
+ Make it possible to build with WinCE without winsock2
+
+ * ace/SOCK_Connector.cpp:
+ Layout changes and check the result value of setting the
+ stream in non blocking mode
+
+Fri Nov 28 10:25:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * docs/bczar/bczar.html:
+ Annoying little bits and pieces....
+
+Fri Nov 28 09:00:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * docs/Download.html:
+ * etc/index.html:
+ * bin/diff-builds-and-group-fixed-tests-only.sh
+ update latest micro version links and date.
+
+Thu Nov 27 04:09:39 CST 2008 Simon Massey <sma@prismtech.com>
+
+ * ACE version 5.6.7 released.
+
+Wed Nov 26 16:15:50 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/SSL/SSL_Context.cpp:
+
+ Remove unintentional ;
+
+Wed Nov 26 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * NEWS:
+ Note about added support for FC10.
+
+Wed Nov 26 10:43:50 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * ace/SSL/SSL_Context.cpp:
+ * ace/SSL/sslconf.h:
+
+ Remove unconditional platform defaults for SSL cert file and
+ directory. This fixes bug #3511.
+
+Tue Nov 25 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+ on behalf of Adam Mitz <mitza@ociweb.com>
+
+ * ACE-INSTALL.html:
+ * NEWS:
+ Update the installation instructions and NEWs.
+
+ on behalf of Yan Dai <dai_y@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+ Disabled all ImplRepo tests on WCHAR builds and disabled
+ DevGuideExample ImplRepo test on CORBA_E_COMPACT builds.
+
+Mon Nov 24 11:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ Delete the copied dll's when ACE_TEST_VERBOSE is not defined
+
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ We have to wait on a file that appears on the host file system,
+ we can't wait on the real target
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ No need to override GetFile
+
+Mon Nov 24 10:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-11.00.h:
+ HPUX lacks iswascii
+
+Mon Nov 24 09:32:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+ on behalf of J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * NEWS:
+ Changed the feature test for a "usable" config to warn on
+ failure instead of exiting with an error. This change should
+ make it easier to diagnose failures, as the configure script
+ will now generate a config.h file even when the test fails.
+ This ensures that the build errors produced can be seen on
+ the scoreboard to help diagnose the actual problems.
+
+ on behalf of Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ Updated for tao_ prefixed catior, nsadd, nsdel and nslist.
+
+ * rpmbuild/ace-tao-macros.patch:
+ Updated to add include into path to version.h
+
+Fri Nov 21 15:58:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Remove some lynxos problem tests.
+
+Fri Nov 21 11:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/OS_Memory.h:
+ Ensure ACE_bad_alloc is defined as a class for throwing if
+ new doesn't throw themselves. Internally this isn't used but
+ some tests try and throw this on a zero pointer.
+
+Fri Nov 21 09:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/tao_orb_tests.lst:
+ * tests/run_test.lst:
+ "Process_Test" and "Bug_3499_Regression" Marked !FIXED_BUGS_ONLY.
+
+ * configure.ac:
+ Add missing "isblank iswblank isctype iswctype" to the list of
+ ACE_CHECKS_LACKS_FUNCS. This should fix the autoconfigure builds.
+
+Wed Nov 19 15:58:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Fixed WinCE version number check
+
+Wed Nov 19 09:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * NEWS:
+ Updated.
+
+Tue Nov 18 10:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-sunos5.10.h
+ * ace/SOCK_SEQPACK_Association.cpp:
+ Fix compile problems when sctp is enabled
+
+Tue Nov 18 07:49:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Enable macro_for_lib_modifier for vc71
+
+Tue Nov 18 07:32:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-mingw.h:
+ Fixed compile problem
+
+Mon Nov 17 16:09:06 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Set LIB_PREFIX earlier on so that the VxWorks included makefiles
+ work properly (with VXWORKSLINK).
+
+ * include/makeinclude/rules.lib.GNU:
+
+ Removed reference to old "LIB" macro.
+
+Mon Nov 17 13:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a test for Labview/WinCE/FUZZ
+
+Mon Nov 17 13:34:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/run_test.txt:
+ First step to update this to the new testframework
+
+Mon Nov 17 12:54:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Enabled a set of tests for Labview/WinCE/FUZZ
+
+Mon Nov 17 12:29:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Disabled bug 1636 for corba/e and minimum corba
+
+Mon Nov 17 12:02:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Moved PICurrent_NameService to the other list
+
+Mon Nov 17 11:56:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a set of tests for Labview/WinCE/FUZZ
+
+Mon Nov 17 11:55:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ Added AddLibPath
+
+ * bin/fuzz.pl:
+ Mark PerlACE::add_lib_path as error, we shuld use AddLibPath on
+ the target from now
+
+Mon Nov 17 11:28:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a set of tests for Labview/WinCE/FUZZ
+
+Mon Nov 17 11:13:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ Bug_2772_Regression needs threads
+
+Mon Nov 17 11:07:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ Use ACE_TEXT for ACE_LD_DECORATOR_STR
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Also with bmake use MPC_LIB_MODIFIER
+
+Mon Nov 17 10:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a set of tests for Labview/WinCE/FUZZ
+
+Mon Nov 17 10:22:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Get_Opt_Test.cpp:
+ Renamed empty to empty_string to resolve clash with msvc header
+ files
+
+Mon Nov 17 10:11:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_common.GNU:
+ On Solaris 10 we have sctp, enable this by adding the following line
+ in your platform_macros.GNU file.
+ sctp = lksctp
+ Thanks to Milan Cvetkovic <milan dot cvetkovic at mpathix dot com>
+ for providing this change. This is part of bugzilla 3492
+
+Mon Nov 17 10:04:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-msvc-10.h:
+ If ACE_HAS_EXCEPTIONS is defined, avoid re-defining it.
+
+Mon Nov 17 09:20:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-mingw.h:
+ Added missing defines
+
+Mon Nov 17 09:12:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Updated version check for WinCE
+
+Mon Nov 17 08:46:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ Removed VxWorks specific commandline code
+
+Mon Nov 17 08:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added bug_3470
+
+Mon Nov 17 08:37:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ If MPC_LIB_MODIFIER is defined then set ACE_LD_DECORATOR_STR to
+ this value. This way the DLL find routines in ACE do use the MPC
+ modifier name automatically
+
+ * ace/config-win32-msvc.h:
+ No need anymore to set ACE_LD_DECORATOR_STR
+
+ * ace/DLL_Manager.cpp:
+ * ace/Lib_Find.cpp:
+ * tests/Based_Pointer_Test.cpp:
+ * tests/DLL_Test.cpp:
+ When ACE_LD_DECORATOR_STR is set, then use it on any platform
+
+ * ace/Service_Gestalt.h:
+ Doxygen change
+
+ * ace/Service_Gestalt.inl:
+ Layout change
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Enable macro_for_lib_modifier for vc7/vc8/vc9/vc10/nmake
+
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ Added libname_prefix and lib_modifier support
+
+ * tests/Bug_2772_Regression_Test.cpp:
+ Fixed compile problem with Cygwin
+
+Sun Nov 16 17:30:06 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+
+ Set RC_OUTPUT_FLAG for use the with the "windres" tool.
+
+Sun Nov 16 06:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3505_Regression_Test.cpp:
+ Fixed conversion warnings
+
+ * tests/Based_Pointer_Test.cpp:
+ * tests/DLL_Test.cpp:
+ When ACE_LD_DECORATOR_STR has been defined, just use it on any
+ platform
+
+Sun Nov 16 06:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2772_Regression.cpp:
+ Fixed compile warning with pthread
+
+Sat Nov 15 20:08:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Disabled the DevGuideExamples for VxWorks because the test scripts
+ are not converted yet
+
+Sat Nov 15 19:53:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.inl:
+ Disable conversion warning for WinCE 6 only to get at least a warning
+ free build
+
+ * ace/OS_NS_time.h:
+ Doxygen change
+
+Sat Nov 15 19:14:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Removed not used line
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ Fixed a problem that single and double quotes in the
+ commandline arguments where not escaped
+
+ * bin/fuzz.pl:
+ Added another run_test check
+
+Sat Nov 15 19:09:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_win32_msvc.GNU:
+
+ Added dollar-Id-dollar to make fuzz.pl happy.
+
+Sat Nov 15 18:55:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2772_Regression.cpp:
+ Fixed compile problem with Cygwin
+
+Fri Nov 14 22:35:43 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_win32_msvc.GNU:
+
+ New file for building with GNU make and the Visual C++
+ compiler/linker on Win32 platforms. See the header comments
+ in this file for details.
+
+ * ace/Monitor_Control/Monitor_Control.mpc:
+
+ Add support for linking pdh.lib (from Win32) with -type gnuace.
+
+ * ace/config-win32-msvc-9.h:
+
+ If ACE_HAS_EXCEPTIONS is defined, avoid re-defining it.
+
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+
+ Add the section for linking pdh.lib (from Monitor_Control.mpc)
+ so that dependent projects inherit this setting (needed for static).
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ * include/makeinclude/rules.lib.GNU:
+ * include/makeinclude/rules.local.GNU:
+ * include/makeinclude/wrapper_macros.GNU:
+
+ A new macro $(LIB_PREFIX) is used in place of a hardcoded "lib".
+ The macro $(LIB) has been renamed to $(LIB_CHECKED) to avoid
+ conflicts.
+ Other changes to make the command lines and file names a
+ little more flexible.
+
+Fri Nov 14 22:25:34 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ * include/makeinclude/rules.local.GNU:
+ * include/makeinclude/rules.lib.GNU:
+ * include/makeinclude/rules.bin.GNU:
+ * NEWS:
+ Add a new feature to enable users to build for multiple architectures
+ out of a single directory. See Bugzilla #3507.
+
+Fri Nov 14 19:17:35 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/ACE.h:
+ * ace/ACE.cpp:
+
+ Enhanced the ACE::wild_match() algorithm to support escaped wildcards
+ and character classes. See the doxygen comment for details.
+
+ * tests/Wild_Match_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Added a new test for ACE::wild_match().
+
+ * tests/Log_Thread_Inheritance_Test.cpp:
+
+ Removed the ; after ACE_RCSID. Apparently it has its own ;.
+
+Fri Nov 14 19:03:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Parse_Node.cpp:
+ Only print the debug message when ACE::debug() is enabled. This
+ prevent a lot of messages on the WinCE console. Fixes bugzilla
+ 3505
+
+ * ace/Service_Gestalt.cpp:
+ Renamed getopt to get_opt so that we can remove all the fuzz
+ disable/enable lines
+
+Fri Nov 14 18:54:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3505_Regression_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ ACE_Service_Gestalt is another one that could enable ACE::debug,
+ added a test to see if that is the reason why ACE::debug is enabled
+ on WinCE
+
+Fri Nov 14 18:39:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ * ace/Arg_Shifter.cpp:
+ Layout change
+
+ * ace/Arg_Shifter.h:
+ Doxygen change
+
+ * tests/ACE_Test.cpp:
+ Added test for ACE_DEBUG environment variable
+
+ * tests/Arg_Shifter_Test.cpp:
+ Added another test, on WinCE we see that ACE::debug() is enabled
+ when running TAO, one of the reasons could be a problem in the
+ commandline handling
+
+Fri Nov 14 13:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.inl:
+ Compare with ACE_Time_Value::zero
+
+Fri Nov 14 13:03:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ * docs/CE-status.txt:
+ * docs/wchar.txt:
+ Windows CE updates
+
+Fri Nov 14 12:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Disabled several tests for CORBA/e micro
+
+Fri Nov 14 12:30:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added missing 3499
+
+Fri Nov 14 11:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2772_Regression_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Added an ACE-ified version of the regression test for bugzilla
+ 2772. This hangs on my Vista development system. Marked the
+ bug as not fixed to not pollute the test stats for the bczar.
+ Let the scoreboard now show whether this works or not. Thanks
+ to Greg Bothe <ace at netrats dot net> for creating the
+ original test
+
+Fri Nov 14 10:59:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Log_Thread_Inheritance_Test.cpp:
+
+ wchar fix.
+
+Thu Nov 13 09:53:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Malloc_Test.cpp:
+ Use argv[0] as process name when it is available
+
+ * tests/Process_Strategy_Test.cpp:
+ Minor improvements and don't use ACE_ASSERT
+
+Thu Nov 13 09:41:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Acceptor.h:
+ Fixed some typos in the doxygen documentation
+
+ * ace/ACE.cpp:
+ * ace/OS_NS_Thread.cpp:
+ * ace/SOCK_Connector.cpp:
+ * ace/SOCK_SEQPACK_Connector.cpp:
+ * ace/TLI_Connector.cpp:
+ * ace/Token.cpp:
+ Compare with ACE_Time_Value::zero
+
+ * ace/config-WinCE.h:
+ Windows CE 6 has GetSystemTimeAsFileTime. Also moved
+ some typedefs out of this file
+
+ * ace/Event_Handler.cpp:
+ Removed some commented out defines
+
+ * ace/Filecache.cpp:
+ Also call difftime on Windows CE, we have an emulation
+ for this method
+
+ * ace/High_Res_Timer.cpp:
+ * ace/High_Res_Timer.h:
+ Enable this for WinCE
+
+ * ace/Metrics_Cache_T.inl:
+ Layout change
+
+ * ace/os_include/os_signal.h:
+ * ace/os_include/sys/os_types.h:
+ Added typedefs for Windows CE
+
+ * ace/OS_NS_stdio.inl:
+ * ace/OS_NS_unistd.inl:
+ Updated comment
+
+ * ace/OS_NS_sys_time.inl:
+ Windows CE 6 has GetSystemTimeAsFileTime
+
+ * ace/OS_NS_sys_wait.h:
+ Doxygen change
+
+ * ace/OS_NS_unistd.cpp:
+ Reworked pread/pwrite on Windows so that both methods are
+ more equal and do check all return values and set errno
+
+ * ace/SString.cpp:
+ Removed commented out WinCE include
+
+ * ace/Stats.cpp:
+ Just call strerror on CE
+
+ * ace/UTF16_Encoding_Converter.cpp:
+ Initialse pointer with 0
+
+ * ace/WFMO_Reactor.cpp:
+ The wait method on Windows can work with a relative time. When
+ just doing a ping check on WinCE, just pass in ACE_Time_Value::zero
+ instead of first getting the current time, call wait where then
+ current time is converted back to relative time
+
+Thu Nov 13 15:26:17 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Log_Msg.h:
+ * ace/Log_Msg.cpp:
+ * ace/OS_Log_Msg_Attributes.h:
+
+ Fix for bug 3480. If the user passes "true" as the 2nd arg of
+ msg_ostream(), ACE takes ownership of the output stream. Since this
+ stream can be shared between multiple ACE_Log_Msg instances
+ (in multiple threads), we will now keep a reference count on the
+ output stream and only delete it when the last ACE_Log_Msg instance
+ is destroyed.
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * tests/Log_Thread_Inheritance_Test.cpp:
+
+ Added a test for this change.
+
+Thu Nov 13 15:25:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Service_Config_Test.cpp:
+ Just not give arguments a name if you don't need them
+
+ * tests/Logging_Strategy_Test.cpp:
+ Use ACE_DEFAULT_TEST_DIR to get a full path on Windows CE
+
+Thu Nov 13 14:56:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled some tests for FUZZ/Labview/WinCE
+
+Thu Nov 13 14:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added some missing tests and enabled some tests for FUZZ/Labview/
+ WinCE
+
+Thu Nov 13 12:13:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ WinCE 5 seems to lack a lot of defines, so updated version check
+
+ * ace/OS_NS_unistd.inl (dup):
+ Return ACE_INVALID_HANDLE instead of -1
+
+Thu Nov 13 11:08:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ Updated mailing list address
+
+Thu Nov 13 10:36:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Config_Test.cpp:
+ Fixed possible corruption of filename
+
+Thu Nov 13 10:05:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ sln files are allowed at this moment
+
+Thu Nov 13 09:15:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Test.cpp:
+ Fixed unicode compile problems
+
+Thu Nov 13 08:32:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ The lst files below are now parsed and all the perl files that are not
+ marked with !FUZZ are checked
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ * bin/ciao_tests.lst:
+ Mark a lot of test with !FUZZ, these have to be updated
+
+Thu Nov 13 08:07:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Cached_Conn_Test.cpp:
+ Layout change in debug statement
+
+Thu Nov 13 08:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/acetest.mpb:
+ Explicit list build files
+
+Thu Nov 13 08:01:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ Fixed test scripts when the old test framework is use
+
+Thu Nov 13 07:05:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.cpp:
+ Fixed bug in CE commandline conversion
+
+Wed Nov 12 19:25:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ WinCE 5 and earlier DuplicateHandle
+
+ * ace/OS_NS_unistd.inl (dup):
+ Use ACE_LACKS_DUP so that we don't have a special codeblock for
+ Windows CE
+
+ * ace/Thread_Manager.cpp:
+ Use ACE_LACKS_DUPLICATEHANDLE whether we can use DupliceHandle or
+ not
+
+Wed Nov 12 19:06:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ Added RandomPort
+
+ * protocols/tests/HTBP/ping/run_test.pl:
+ * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
+ * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
+ * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
+ Use TestTarget->RandomPort
+
+Wed Nov 12 19:00:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Dirent_Test.cpp:
+ Unicode fix
+
+Wed Nov 12 18:40:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Added ACE_LACKS_REGNOTIFYCHANGEKEYVALUE
+
+ * examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc:
+ Build all these examples with Windows CE
+
+ * examples/Reactor/WFMO_Reactor/run_test.pl:
+ Check if target got created
+
+ * examples/Reactor/WFMO_Reactor/APC.cpp:
+ * examples/Reactor/WFMO_Reactor/Registry_Changes.cpp:
+ Made these compiling with Windows CE. It are nothing more then
+ empty tests at that moment, but that way we don't get false
+ negatives
+
+Wed Nov 12 16:04:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * config-WinCE.h:
+ WinCE versions older then 6 don't have errno
+
+Wed Nov 12 15:57:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.cpp:
+ Make sure there is a space between the executable name and
+ the original arguments with WinCE
+
+Wed Nov 12 15:38:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Cached_Accept_Conn_Test.cpp:
+ Added %T to the iteration debug message
+
+ * tests/MEM_Stream_Test.cpp:
+ * tests/Pipe_Test.cpp:
+ * tests/Process_Manager_Test.cpp:
+ * tests/Process_Manual_Event_Test.cpp:
+ * tests/Process_Mutex_Test.cpp:
+ * tests/RW_Process_Mutex_Test.cpp:
+ * tests/SOCK_Dgram_Bcast_Test.cpp:
+ If argc > 0 use argv[0] as program name, else use a hardcoded
+ string. This way this test runs on any platform including WinCE
+ (where argv[0] has a full path) and VxWorks (where argc = 0)
+
+Wed Nov 12 15:21:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/MEM_Stream_Test.cpp:
+ Use argv[0]
+
+Wed Nov 12 14:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ No need to use TEST_DIR, the problem on WinCE was a problem in
+ ACE_OS::rename
+
+Wed Nov 12 14:10:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.7.h:
+ * include/makeinclude/platform_vxworks6.7.GNU:
+ Initial files for VxWorks 6.7 which we expect soon
+
+Wed Nov 12 13:24:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Wrong macro used.
+
+Wed Nov 12 10:52:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a few tests for WinCE/Labview
+
+Wed Nov 12 09:35:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/tests/HTBP/ping/run_test.pl:
+ * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
+ * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
+ * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
+ Use 2 targets
+
+Wed Nov 12 09:31:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/Process.pm:
+ If ACE_RUNTEST_DELAY is not set, default the wait delay factor
+ to 1
+
+Wed Nov 12 09:01:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ And more path tweaks
+
+Wed Nov 12 08:48:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Fixed fuzz error in the fuzz script itself
+
+Wed Nov 12 08:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Added HOST_ROOT and more WinCE path tweaks
+
+Wed Nov 12 08:27:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/Process_Win32.pm:
+ Removed duplicate basename
+
+ * bin/fuzz.pl:
+ Extended the run_test.pl check and enabled it. Ignore TAO and
+ CIAO for the moment, we first need to update the existing
+ scripts to the new test framework
+
+Wed Nov 12 08:19:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Extended path handling for WinCE
+
+Wed Nov 12 07:47:30 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/README:
+ Updated
+
+Tue Nov 11 22:22:04 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_sys_mman.inl (mmap): Added a fix for a problem where
+ ACE_OS::mmap() failed when called with
+ file_handle=ACE_INVALID_HANDLE and file_mapping=0. Thanks to
+ Bill Rizzi <rizzi at softserv dot com> for this fix. This fixes
+ bugid 3500.
+
+Tue Nov 11 14:24:00 UTC 2008 Simon Massey<sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Another wchar issue.
+
+Tue Nov 11 13:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/config-lynxos.h:
+ Missed removal of ACE_HAS_SYSV_IPC for LynxOS5.0.
+
+Tue Nov 11 13:34:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Cached_Conn_Test.cpp:
+ Print a timestamp with each iteration
+
+Tue Nov 11 13:26:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Check the return value of thr_setprio
+
+ * ace/Process.cpp:
+ Always initialize process_name_
+
+ * ace/Process_Manager.cpp:
+ Use this->
+
+ * tests/OS_Test.cpp:
+ WinCE can't rename when the target already exists
+
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ Const change
+
+Tue Nov 11 10:43:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Fixed rename on WinCE
+
+Tue Nov 11 10:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ Just use the WaitForFileTimed from the base
+
+ * bin/tao_orb_tests.lst:
+ Enabled some tests for Labview/WinCE
+
+Mon Nov 10 23:28:36 UTC 2008 Trevor Fields <fields_t@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added regression test for bug 3495.
+
+Mon Nov 10 20:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled several TAO tests for Labview and WinCE, these are converted
+ to the new test framework
+
+Mon Nov 10 19:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Manager_Test.cpp:
+ Layout change
+
+ * tests/Process_Manual_Event_Test.cpp:
+ Use ACE_ERROR_RETURN instead of ACE_ASSERT
+
+Mon Nov 10 19:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Also use TEST_DIR when it is defined
+
+Mon Nov 10 19:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Enabling bsearch results in a linker error
+
+ * ace/OS_NS_Thread.inl:
+ Use ACE_TEXT_CreateSemaphe
+
+ * tests/Config_Test.cpp:
+ Use TEST_DIR as directory of the import file when it is defined.
+ Windows CE doesn't have a current directory but TEST_DIR is set
+ when building on CE
+
+ * tests/Dirent_Test.cpp:
+ Use different logging macros when ACE_HAS_TCHAR_DIRENT is defined
+
+ * tests/test_config.h:
+ Removed not needed semi colon
+
+Mon Nov 10 18:40:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ * ace/config-WinCE.h:
+ Enable a few more methods for WinCE
+
+Mon Nov 10 15:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Malloc_Test.cpp:
+ Fixed compile error
+
+Mon Nov 10 15:28:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Removed a lot of defines that are really not needed
+
+ * ace/OS_NS_stdlib.{h,cpp,inl}:
+ Removed ACE_HAS_WINCE checks with realpath
+
+ * ace/config-win32-common.h:
+ Latest wince versions do have missing defines
+
+Mon Nov 10 14:28:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Another wchar issue.
+
+Mon Nov 10 12:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ WinCE 5 and newer do have filelocks
+
+ * ace/OS_NS_stdio.inl (flock_unlock):
+ Use UnlockFileEx because this is also available on WinCE
+
+ * tests/Naming_Test.cpp:
+ Use ACE::get_temp_dir to get the real temp dir
+
+Mon Nov 10 11:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Malloc_Test.cpp:
+ Use argv[0]
+
+ * tests/TP_Reactor_Test.cpp:
+ Use ACE_TEXT
+
+Mon Nov 10 10:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_for_tao.mpc
+ * ace/config-win32-msvc-10.h
+ * ace/config-win32-msvc.h
+ * ace/Monitor_Control/Monitor_Control.mpc
+ * ace/QoS/qos.mpc
+ * bin/MakeProjectCreator/config/ace_fl.mpb
+ * bin/MakeProjectCreator/config/ace_gl.mpb
+ * bin/MakeProjectCreator/config/ace_qt.mpb
+ * bin/MakeProjectCreator/config/ace_x11.mpb
+ * bin/MakeProjectCreator/config/crosscompile.mpb
+ * bin/MakeProjectCreator/config/ipv6.mpb
+ * bin/MakeProjectCreator/config/vc_warnings.mpb
+ Added Visual Studio 2010 (vc10) support
+
+Mon Nov 10 09:50:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Set ACE_DEFAULT_THREAD_KEYS to TLS_MINIMUM_AVAILABLE when it is
+ not defined yet. This is the minimum number of TLS indexes always
+ available to a process
+
+Mon Nov 10 09:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Added Windows Mobile 6 projects
+
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/README:
+ Added HostName and added a few variables that are needed for
+ VxWorks in the near future. This fixes bugzilla 3496
+
+ * protocols/tests/HTBP/ping/run_test.pl:
+ * protocols/tests/HTBP/Reactor_Tests/run_test.pl:
+ * protocols/tests/HTBP/Send_Large_Msg/run_test.pl:
+ * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl:
+ * protocols/tests/RMCast/run_test.pl:
+ Updated to the new test framework
+
+ * protocols/tests/HTBP/README:
+ Location of the HTBP lib was old
+
+Sun Nov 9 11:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sched_Params.cpp:
+ Updated for WinCE priorities
+
+ * ace/OS_main.cpp:
+ Const change
+
+Sat Nov 8 07:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/MEM_Stream_Test.cpp:
+ use argv[0]
+
+ * tests/Malloc_Test.cpp:
+ Removed WinCE code
+
+Sat Nov 8 07:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/WFMO_Reactor/run_test.pl:
+ Convert to use the new test framework
+
+Fri Nov 7 20:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Dirent_Test.cpp:
+ Use the open method of ACE_Dirent instead of the constructor
+ so that we can check the return value and also use ACE_DEFAULT_TEST_DIR
+ when it is defined
+
+Fri Nov 7 19:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Disabled several DevGuidExamples in the ACE_FOR_TAO configuration
+
+Fri Nov 7 19:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/ProcessWinCE.pm:
+ Increased timeout so that we don't kill the ACE tests before
+ they had the change to finish
+
+Fri Nov 7 18:05:00 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added Bug_3481_Regression.
+
+Fri Nov 7 13:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Like an idiot I didn't invert the original ACE_ASSERT test when
+ I converted them to if () go_and_complain;
+ Also another attempt to correct for wide character ACE_TCHAR
+ versions.
+
+Fri Nov 7 12:02:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.pl:
+ Removed all specific VxWorks support, we are using the generic test
+ framework now
+
+Fri Nov 7 09:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.cpp:
+ Use ACE_TEXT_GetModuleFileName to get the executable name
+ on Windows CE
+
+Fri Nov 7 09:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Makefile.am:
+ Removed references to CE_fostream
+
+Thu Nov 6 19:26:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ CE doesn't have FILE_SHARE_DELETE like regular windows as default
+ file permissions
+
+ * tests/CDR_File_Test.cpp:
+ WinCE does have ostream, so removed CE_fostream and also removed the
+ code that tries to unlink the file directly after it has been created.
+ It really depends also on the file system whether this works or not.
+
+ * tests/CE_fostream.cpp:
+ * tests/CE_fostream.h:
+ Removed
+
+ * tests/tests.mpc:
+ Removed CE_fostream
+
+Thu Nov 6 18:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-openvms.h:
+ Added ACE_LACKS_ISBLANK/ACE_LACKS_ISCTYPE
+
+ * ace/config-qnx-rtp-62x.h:
+ Added ACE_LACKS_ISCTYPE
+
+ * ace/OS_NS_unistd.h:
+ Doxygen changes
+
+Wed Nov 5 15:11:17 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/SOCK_SEQPACK_Association.cpp (get_remote_addrs): Changed
+ ACE_USES_SOLARIS_SCTP to ACE_HAS_VOID_PTR_SCTP_GETPADDRS.
+ Thanks to Johnny for this suggestion.
+
+Thu Nov 6 14:33:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Use pid_t, ACE_HANDLE and ACE_INVALID_HANDLE;
+
+Thu Nov 6 14:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Don't use ACE_ASSERT();
+
+Thu Nov 6 13:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ Add a check if people are using a supported compiler
+
+Thu Nov 6 13:12:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/ProcessWinCE.pm:
+ Poweroff the target at the end of the run. If you want to keep
+ it on power, set ACE_RUN_VX_NO_SHUTDOWN as environment variable
+
+Thu Nov 6 13:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Buffer_Stream_Test.cpp:
+ * tests/MEM_Stream_Test.cpp:
+ * tests/MM_Shared_Memory_Test.cpp
+ * tests/Priority_Task_Test.cpp
+ Removed WinCE specific code
+
+ * tests/Bug_3432_Regression_Test.cpp:
+ This test needs strftime, if is not there, just print a message
+ and exit
+
+ * tests/Notify_Performance_Test.cpp:
+ * tests/Reactor_Performance_Test.cpp
+ WFMO_Reactor is dependent on winsock2
+
+Thu Nov 6 12:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Apply modified patch to correct for problems on scoreboard.
+
+Thu Nov 6 09:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm
+ * bin/PerlACE/README:
+ Added PROCESS_START_WAIT_INTERVAL and PROCESS_STOP_WAIT_INTERVAL
+ as environment variables so that we can configure a longer wait
+ time.
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Removed ProcessStartWaitInterval method, not needed
+
+Thu Nov 6 08:22:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3432_Regression_Test.cpp:
+ * tests/CDR_File_Test.cpp:
+ * tests/Message_Queue_Test.cpp:
+ * tests/OS_Test.cpp:
+ * tests/Process_Manager_Test.cpp:
+ * ace/Service_Repository.cpp:
+ * tests/TP_Reactor_Test.cpp:
+ Fixed unicode problems
+
+ * tests/run_test.pl:
+ Add the process startup time to the test time, improves the
+ test results on slow systems
+
+Wed Nov 5 19:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/ProcessWinCE.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Store a reference to the target in the process and set the
+ executable extension correct for windows ce
+
+Wed Nov 5 15:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_ctype.inl:
+ Don't emulate isblank with isctype(_ISBLANK), isctype only checks
+ for space, isblank should check space and tab
+
+Wed Nov 5 13:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Attempt to correct for wide character ACE_TCHAR versions.
+
+Wed Nov 5 09:36:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Test.cpp:
+ Removed Fuzz errors.
+
+Wed Nov 5 08:49:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h:
+ LynxOS5 has isblank
+
+ * ace/config-aix-5.x.h:
+ AIX lacks isctype
+
+Wed Nov 5 04:04:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * May the next president of the USA have the strength and courage
+ to lead the USA wisely and help it to achieve its promise as a
+ advocate for freedom and democracy.
+
+Tue Nov 4 22:45:20 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/SOCK_SEQPACK_Association.cpp: Added #ifdefs for
+ ACE_USES_SOLARIS_SCTP. Thanks to Steven Xie <steven dot xie at
+ mpathix dot com> for contributing this.
+
+Tue Nov 4 15:18:17 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Process_Test.cpp: Added a new test that exercises the new
+ handle inheritance mechanisms of ACE_Process. Thanks to
+ Christian Fromme <kaner at strace dot org> for contributing this
+ test.
+
+Tue Nov 4 14:15:07 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/tests.mpc:
+ * tests/run_test.lst (Process_Test): Added the new test for the
+ ACE_Process class.
+
+Tue Nov 4 13:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Added isblank test for space
+
+ * ace/OS_NS_ctype.inl:
+ Fixed bug in isblank for space
+
+Tue Nov 4 13:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Enabled a few tests for labview and add !WinCE to all
+ !LabVIEW_RT marked tests so that we can start testing
+ for wince
+
+Tue Nov 4 08:52:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_ctype.inl:
+ Added support for ACE_LACKS_ISASCII
+
+ * ace/config-vxworks6.2.h
+ * ace/config-vxworks6.3.h
+ * ace/config-vxworks6.4.h
+ Define for ACE_LACKS_ISASCII for rtp
+
+Tue Nov 4 07:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-sunos5.5.h:
+ Added ACE_LACKS_ISCTYPE/ACE_LACKS_ISBLANK
+
+ * ace/config-sunos5.10.h:
+ SunOS 10 has isblank
+
+Tue Nov 4 07:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Added ACE_LACKS_ISCTYPE
+
+Tue Nov 4 07:05:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-aix-5.x.h:
+ Added ACE_HAS_CTYPE_T
+
+Mon Nov 3 20:05:10 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-leopard.h:
+ Added ACE_ISCTYPE_EQUIVALENT.
+
+Mon Nov 3 17:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_ISBLANK/ACE_LACKS_ISCTYPE
+
+Mon Nov 3 14:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Disabled several tests with CORBA/e compact/micro
+
+Mon Nov 3 13:17:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ Added ACE_LACKS_ISBLANK for kernel mode
+
+Mon Nov 3 13:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ Added ACE_LACKS_ISCTYPE/ACE_LACKS_ISWCTYPE
+
+Mon Nov 3 12:35:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-all.h
+ * ace/OS_NS_ctype.inl
+ * ace/OS_NS_time.h
+ Including OS_NS_errno.h in config-all.h gives problems on linux
+
+Mon Nov 3 10:51:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.inl:
+ Use CeGetThreadPriority/CeSetThreadPriority when building
+ for Windows CE. This fixes bugzilla 3487. Thanks to Danial Lang
+ <danial dot lang at alphagate dot at> for reporting this.
+
+Mon Nov 3 10:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added bug 3486
+
+Mon Nov 3 10:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/svn/config:
+ * docs/svn/svn-prefs.reg:
+ bmak files shouldn't be in the repo so added them to the global
+ ignore list
+
+Mon Nov 3 09:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_ctype.inl:
+ Added support for ACE_LACKS_ISWASCII
+
+ * ace/config-linux-common.h:
+ Added ACE_LACKS_ISWASCII
+
+Mon Nov 3 09:07:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ Use PerlACE::Run_Test here, that way it is not needed in the
+ real scripts and we can use that to check if the script
+ is converted
+
+ * bin/tao_orb_tests.lst:
+ Enabled some test for labview, converted them to the new framework
+
+Mon Nov 3 09:03:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/Run_Test.pm:
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ Convert the filename to a local file in the TestTarget and
+ not in the main script. Fixes bugzilla 3477
+
+Mon Nov 3 09:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-all.h:
+ Include OS_NS_errno.h to get ENOTSUP
+
+ * ace/config-win32-borland.h:
+ CB lacks isblank/iswblank/icctype/iswctype
+
+ * ace/config-win32-msvc.h:
+ * ace/config-WinCE.h
+ Lacks isblank/iswblank
+
+ * ace/os_include/os_ctype.h:
+ Added typedef for ctype_t
+
+ * ace/OS_NS_ctype.h:
+ * ace/OS_NS_ctype.inl:
+ Added isblank/isascii/isctype/iswctype wrappers
+
+ * ace/OS_NS_time.h:
+ No need to include OS_NS_errno.h here
+
+ * bin/fuzz.pl:
+ Added isblank/isascii/isctype/iswctype to ACE_OS check
+
+ * tests/OS_Test.cpp:
+ Extended ctype tests
+
+Thu Oct 30 13:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Added a test for ace_isprint with a tab character. WinCE 6 and
+ earlier do have a bug that for tab they return true instead of
+ false
+
+ * ace/OS_NS_sys_utsname.cpp:
+ Initialise pointer with 0
+
+ * ace/OS_NS_ctype.inl (ace_isprint):
+ If we have WinCE 6 or earlier and get called for tab (0x9) then
+ return 0, WinCE stdlib has a bug that 1 is returned for tab.
+ This was found when investigating some TAO logs where we do
+ a hexdump of the received packets
+
+Thu Oct 30 12:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/tests/HTBP/Send_Recv_Tests/client.cpp
+ * protocols/tests/HTBP/Send_Recv_Tests/server.cpp
+ Use %C to log ascii strings instead of using %s with
+ ACE_TEXT_CHAR_TO_TCHAR
+
+Thu Oct 30 12:16:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/ARGV_Test.cpp
+ * tests/Bound_Ptr_Test.cpp
+ * tests/Enum_Interfaces_Test.cpp
+ * tests/IOStream_Test.cpp
+ * tests/Sendfile_Test.cpp
+ * tests/SOCK_Send_Recv_Test.cpp
+ * tests/SOCK_Send_Recv_Test_IPV6.cpp
+ * tests/SOCK_Test.cpp
+ * tests/SOCK_Test_IPv6.cpp
+ * tests/Svc_Handler_Test.cpp
+ Use %C to log ascii strings instead of using %s with
+ ACE_TEXT_CHAR_TO_TCHAR
+
+Thu Oct 30 11:31:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ Const change
+
+ * tests/test_config.h:
+ Set ACE_LOG_DIRECTORY_FOR_MKDIR for all platforms. Removed the
+ WinCE different test filename extension.
+
+ * tests/Test_Output.cpp:
+ Added ACE_DEFAULT_TEST_DIR which can be set in the config.h to
+ specify a different default testdir then "". This is useful
+ for WinCE which lacks the concept of a current working directory
+
+Thu Oct 30 10:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * NEWS
+ Updated.
+
+Thu Oct 30 07:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Disabled PMB test for VxWorks RTP, it hangs the test environment
+
+Wed Oct 29 15:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ New file for WinCE cross platform testing. This assumes at this
+ moment some other test framework changes which can't be committed yet.
+ I am storing this new file in svn so that it doesn't get lost and
+ can be used to discuss the changes
+
+Wed Oct 29 10:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Corrected WinCE version check
+
+ * ace/OS_NS_time.h:
+ The WinCE 6 SDK ships with a difftime that has __time32_t as type
+ of the arguments. ACE uses time_t which can be 64bit, that then
+ leads to conversion warnings. For WinCE 6 disable this warning
+ just for this file.
+
+Tue Oct 28 19:56:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ * bin/tao_orb_tests.lst:
+ InterfaceRepo example should be in the other file
+
+Tue Oct 28 19:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ Don't add a lib prefix and .so postfix, let the test scripts do that.
+ This way the output is also usable for WinCE testing
+
+ * bin/PerlACE/ProcessVX.pm:
+ Add lib prefix and .so postfix to the vxtest list
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ Extended this test for testing
+
+Tue Oct 28 16:40:10 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Disabled test for bug#3444 on LynxOS.
+
+Tue Oct 28 16:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ * bin/tao_orb_tests.lst:
+ Moved Notify ValueType test to other tests
+
+Tue Oct 28 10:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ New file for Windows CE cross testing. We are using the
+ VxWorks support and added an environment variable
+ ACE_TEST_WINCE. When this is set we are using WinCE instead
+ of VxWorks. This script is not ready yet, a first version
+ so that we can start resolving some small issues in our
+ real test environment
+
+ * bin/PerlACE/Run_Test.pm:
+ Check for ACE_TEST_WINCE
+
+Mon Oct 27 19:22:25 UTC 2008 Tim Pollock <pollockt@ociweb.com>
+
+ * bin/tao_other_tests.lst
+
+ Added new test for DOC bug 2415.
+
+Mon Oct 27 13:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added ACE_RUN_ACE_LD_SEARCH_PATH
+
+Mon Oct 27 13:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added ACE_RUN_VX_STARTUP_COMMAND
+
+Sun Oct 26 20:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.cpp:
+ * ace/OS_NS_stdio.h:
+ Removed scanf/fscanf/sscanf wrappers again. Microsoft
+ doesn't ship them with msvc so these would then be
+ a noop making them unusable
+
+ * ace/fuzz.pl:
+ Removed scanf/sscanf/fscanf from the ACE_OS check
+
+ * ace/Multicast_Test.cpp
+ * ace/Multicast_Test_IPV6.cpp
+ Use plain sscanf
+
+Sun Oct 26 18:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.cpp:
+ Removed not needed wchar conversion
+
+Sun Oct 26 08:02:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.{h,cpp}:
+ Fixed sscanf implementation and added also fscanf wrapper
+
+ * bin/fuzz.pl:
+ Added fscanf to the ACE_OS tests
+
+Thu Oct 23 20:06:02 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Process.cpp: Fixed a typo.
+
+Thu Oct 23 15:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Changed ACE_OS test to level 6 to temporarily get rid of this
+ check
+
+Thu Oct 23 12:52:21 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Process.cpp: Enhanced the support for enabling/disabling
+ handle inheritance on Linux. Thanks to Christian Fromme
+ <christian at ast.dfs dot de> for this fix.
+
+Thu Oct 23 11:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process.cpp:
+ Fixed duplicat initialisation
+
+Thu Oct 23 09:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process.cpp:
+ Added missing include
+
+Thu Oct 23 08:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/svn/config:
+ * docs/svn/svn-prefs.reg:
+ Added conf/pem extensions
+
+Thu Oct 23 08:06:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Updated because of move of DevGuide orbsvcs examples
+
+Thu Oct 23 06:46:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ciao_tests.lst:
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Added the new DevGuide examples
+
+Thu Oct 23 06:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process.cpp:
+ Initialise handle_inheritance_ on the right place
+
+ * ace/Process.h:
+ Doxygen change
+
+ * ace/Process.inl:
+ Always implement the handle_inheritance method
+
+Wed Oct 22 15:03:31 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Process.h (ACE_Process_Options): Fixed the duplicate
+ handle_inheritance_ member.
+
+Wed Oct 22 13:30:54 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Process.{h,cpp}: Added support for enabling/disabling handle
+ inheritance on Linux. Thanks to Christian Fromme <christian at
+ ast.dfs dot de> for this fix.
+
+ * ace/Process.{h,cpp}: Fixed the misspelling of
+ "handle_inheritence" to "handle_inheritance".
+
+Tue Oct 21 18:31:52 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * apps/gperf/src/Options.cpp:
+
+ Moved the instantiation of the static ACE_CString
+ members to appear before the global class instantiation,
+ so that the ACE_CString default constructor can in turn
+ initialize its ACE_Allocator member, needed in the
+ Options constructor.
+
+Tue Oct 21 17:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.{h,cpp}:
+ Buf argument of sscanf should be const
+
+Tue Oct 21 14:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Fixed fuzz errors (lack of ACE_OS::).
+
+Tue Oct 21 14:21:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Manager_Test.cpp:
+ * tests/Multicast_Test_IPV6.cpp:
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Fixed fuzz errors (lack of ACE_OS::).
+
+Tue Oct 21 14:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Manual_Event_Test.cpp:
+ * tests/Process_Env_Test.cpp:
+ * tests/Multicast_Test.cpp:
+ * tests/Proactor_UDP_Test.cpp:
+
+ Fixed fuzz errors (lack of ACE_OS::).
+
+Tue Oct 21 13:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-netbsd.h:
+ NetBSD lacks wscanf and swscanf
+
+Tue Oct 21 12:41:09 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * apps/gperf/src/Options.h:
+ * apps/gperf/src/Options.cpp:
+ * ACEXML/common/HttpCharStream.cpp:
+
+ Fixed incorrect use of ACE_TEXT_* conversion macros.
+
+Tue Oct 21 11:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Changed ACE_OS test to level 5
+
+Tue Oct 21 09:30:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h
+ * ace/config-win32-common.h
+ * ace/config-win32-msvc.h
+ * ace/OS_NS_stdlib.inl
+ WinCE doesn't have wtof, so reworked the defines. Set ACE_HAS_WTOF
+ when the platform has wtof, with ACE_WTOF_EQUIVALENT a different
+ method name could be used (like ::_wtof)
+
+Tue Oct 21 07:15:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.{h,cpp}:
+ Added wrappers for sscanf/scanf
+
+ * bin/fuzz.pl:
+ Extended ACE_OS check with scanf/sscanf
+
+Tue Oct 21 00:04:26 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Proactor_UDP_Test.cpp: Attempt to avoid lock-ups on non-Windows
+ targets. HP-UX, AIX, et al., can't cancel an in-progress UDP recv()
+ so stop the Master from trying more receives when all the expected
+ sessions are up.
+
+Mon Oct 20 13:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended ACE_OS check with atof/atol/raise
+
+ * apps/JAWS3/bench/rqfiles.cpp:
+ Use ACE_OS::atof
+
+Mon Oct 20 12:01:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.{h,inl}:
+ Added atof and atol wrappers
+
+Mon Oct 20 07:23:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contrib/FaCE/FaCENOACE.mpc:
+ Derive from vc_warnings to get rid of deprecated warnings
+
+Mon Oct 20 03:30:20 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/config-cygwin32.h (ACE_HAS_CUSTOM_EXPORT_MACROS): Changed this
+ macro definition to
+
+ #define ACE_HAS_CUSTOM_EXPORT_MACROS 1
+
+ Thanks to E Vahala <erkki.vahala@pp.inet.fi>
+
+Sun Oct 19 06:57:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ WinCE doesn't have control handler
+
+Sun Oct 19 06:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Service_Config_Test.cpp:
+ WinCE doesn't have _beginthreadex
+
+Sun Oct 19 06:53:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Logging_Strategy_Test.cpp:
+ Removed WinCE specific code which is not needed anymore
+
+Fri Oct 17 19:33:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ Set lzo2 to 0 as default
+
+Fri Oct 17 19:25:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_stat.inl:
+ Reapplied a change from yesterday, seems the repo has an issue
+
+Fri Oct 17 18:57:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OrdMultiSet_Test.cpp:
+ Use ACE_TEST_ASSERT instead of ACE_ASSERT
+
+ * tests/Vector_Test.cpp:
+ Removed BCB6/BCB2006 support
+
+ * tests/SOCK_Connector_Test.cpp:
+ Const change and initailise pointer with 0
+
+Fri Oct 17 12:14:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ * ace/config-win32-borland.h:
+ * ace/Guard_T.h:
+ * ace/Handle_Set.cpp:
+ * ace/Monitor_Control_Types.h:
+ * ace/os_include/os_string.h:
+ * ace/os_include/os_unistd.h:
+ * ace/os_include/sys/os_timeb.h:
+ * ace/OS_NS_stdio.inl:
+ * ace/Truncate.h:
+ Removed BCB6/BCB2006 support
+
+Wed Oct 15 19:57:38 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/SSL/SSL_Context.cpp (report_error): Updated the code to use
+ ::ERR_error_string_n() rather than ::ERR_error_string() when
+ it's available. Thanks to Paul Daugherty <paul@nextalk.com>
+ for this patch. This fixes bugid 3461.
+
+Thu Oct 16 19:03:02 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/Service_Config.inl:
+ * ace/Service_Config.cpp:
+
+ Fix for Bug #3386. The argument parsing for the service
+ configurator was separated into those that affect individual
+ gestalts, and some process wide arguments. The process wide
+ arguments were then placed in a new SC::parse_args_i() method,
+ but that was never called. Second, it appears that when
+ parse_args_i() was created it was anticipating calling the
+ associated gestalt's parse_args_i() but I believe that is not
+ correct, as the gestalt's open() gets a copy of the arguments
+ for parsing anyway. The service configurator's open() has a
+ guard against being evaluated more than once, so there should be
+ no side effects of calling the SC::parse_args_i() more than
+ once.
+
+ Thanks to Jack Lavender for reporting this problem.
+
+ * examples/Service_Configurator/Misc/main.cpp:
+
+ Modified this test so that command line arguments passed in to
+ main() are all added to the list supplied to
+ service_config::open().
+
+ * THANKS:
+ Updating contributors list.
+
+Thu Oct 16 18:39:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ Use ACE_OS::raise
+
+Thu Oct 16 18:13:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.{h,cpp}:
+ Always deliver strenvdup
+
+ * ace/config-win32-common.h:
+ Added new ACE_HAS_DIRECT_H, ACE_HAS_PROCESS_H, ACE_HAS_IO_H
+
+ * ace/config-WinCE.h:
+ Added new ACE_HAS_TYPES_H and ACE_LACKS_DEV_T
+
+ * ace/Log_Record.h:
+ Doxygen changes
+
+ * ace/os_include/os_unistd.h:
+ Use new ACE_HAS_PROCESS_H and ACE_HAS_IO_H
+
+ * ace/os_include/sys/os_stat.h:
+ Use new ACE_HAS_DIRECT_H and updated wince stat struct to match
+ other platforms to get TAO compiling.
+
+ * ace/os_include/sys/os_types.h:
+ Use ACE_HAS_TYPES_H and ACE_LACKS_DEV_T
+
+ * ace/OS_NS_sys_stat.inl:
+ Update setting of stat struct on ce and also set the
+ creation stamp
+
+Thu Oct 16 11:22:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-openvms.h:
+ Define ACE_LACKS_WCSTOLL.
+
+Thu Oct 16 09:51:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/Misc/test_demuxing.cpp:
+ Fixed compile error because SIGTERM is now always defined to 0
+ when it is not set by the system (like on CE)
+
+Thu Oct 16 09:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_signal.h:
+ * ace/OS_NS_signal.inl:
+ Added wrapper for raise, fixes bugzilla 3462
+
+ * ace/config-WinCE.h
+ WinCE lacks raise, so set ACE_LACKS_RAISE
+
+ * ace/Process.h:
+ Doxygen changes
+
+ * ace/Process.{cpp,inl}:
+ Moved some accessors to the inline file
+
+ * ace/Cleanup.cpp:
+ Layout change
+
+Wed Oct 15 19:40:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_signal.h:
+ Define SIGTERM to 0 when it is not defined
+
+Wed Oct 15 19:31:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_signal.h:
+ Define SIGABRT to 0 when it is not defined
+
+Wed Oct 15 15:15:42 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Since the test for bug 3444 uses TAO_PortableGroup it must
+ avoid MINIMUM and CORBA_E_COMACT configurations.
+
+Wed Oct 15 12:27:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.{h,cpp}:
+ Added ACE_DOESNT_DEFINE_MAIN which disabled the redefinition
+ of main when it is set. This is usefull for projects who have
+ methods with the name main which they can't change. Be aware
+ that users then have to call ACE::init()/fini() themselves.
+ This fixes bugzilla 3361/RT2331.
+
+Tue Oct 14 16:22:32 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * tests/Cached_Accept_Conn_Test.cpp:
+ * tests/Cached_Accept_Conn_Test.h:
+
+ Fixed a warning.
+
+ * bin/PerlACE/Process_Win32.pm:
+
+ Changed value of iflags in Win32::Process::Create (this flag
+ directs a spawned process to inherit handles from calling
+ process). It doesn't hurt if a new process is neither in
+ CREATE_NEW_CONSOLE nor in DETACHED_PROCESS state but it does
+ help if it's needed to hanle input from stdin supplied in
+ calling process.
+
+ * tests/SSL/Bug_2912_Regression_Test.cpp:
+
+ Fixed a warning on Solaris compilers.
+
+ * bin/tao_orb_tests.lst:
+
+ Adjusted configurations in which test Bug_1459 must run.
+
+ * examples/C++NPv2/AIO_Client_Logging_Daemon.h:
+ * examples/APG/ThreadManagement/Async_Cancel.cpp:
+
+ Fixed a warning on HP-UX compilers.
+
+Wed Oct 15 09:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_mpc_auto_compile.pl:
+ Add the -vc9 option to the usage message
+
+Tue Oct 14 22:27:30 UTC 2008 Tim Pollock <pollockt@ociweb.com>
+
+ * ace/Ping_Socket.cpp:
+
+ Removed tabs accidentally added in previous modification.
+
+Tue Oct 14 19:38:45 UTC 2008 Tim Pollock <pollockt@ociweb.com>
+
+ * ace/Ping_Socket.cpp:
+
+ Fixed WinCE 5 build error associated with call to getpid.
+
+Tue Oct 14 13:09:35 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-sunos5.10.h:
+
+ Undefine ACE_LACKS_WCSTOLL.
+
+ * ace/config-sunos5.5.h:
+
+ Define ACE_LACKS_WCSTOLL.
+
+Tue Oct 14 12:56:42 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-win32-msvc.h:
+
+ Define ACE_STRTOLL_EQUIVALENT and ACE_WCSTOLL_EQUIVALENT.
+
+Tue Oct 14 12:49:11 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ * ace/config-win32-borland.h:
+
+ Define ACE_LACKS_STRTOLL and ACE_LACKS_WCSTOLL.
+
+Tue Oct 14 12:49:13 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Disabled IPv6 tests for bug#3444 on non-IPv6 builds. And
+ disabled the same test on static builds since it loads
+ TAO_Strategies and TAO_PortableGroup dynamically.
+
+Tue Oct 14 12:44:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Define ACE_LACKS_STRTOLL and ACE_LACKS_WCSTOLL.
+
+Tue Oct 14 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/OS_NS_stdlib.cpp:
+ * ace/OS_NS_stdlib.h:
+
+ Un-tabify commit of J.T. Conklin.
+
+Mon Oct 13 17:21:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/fuzz.pl:
+
+ Add strtoll and strtoull to $OS_NS_stdlib_symbols regex in
+ check_for_lack_ACE_OS fuzz check. Thanks to Abdullah Sowayan
+ <abdullah dot sowayan at lmco dot com> for pointing this out.
+
+ * ace/OS_NS_stdlib.cpp:
+ * ace/OS_NS_stdlib.h:
+ * ace/OS_NS_stdlib.inl:
+
+ Add strtoll() wrapper. Fixes bugzilla issue #3456.
+
+ Add wcstol(), wcstoul(), wcstoll(), and wcstoull() emulations
+ for systems with wide characters, but without these functions.
+ Fixes bugzilla issue #3457.
+
+Mon Oct 13 14:23:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/config-linux-common.h:
+ * bin/tao_other_tests.lst:
+
+ Added 3 defines to reflect a difference of Linux in setting
+ IP_MULTICAST_TTL and IP(V6)_MULTICAST_LOOP. This is required by
+ Bug#3444. Added a test for Bug#3444.
+
+Mon Oct 13 13:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ * rpmbuild/ace-tao.spec:
+ Incremented already version number, release script doesn't do this
+ yet
+
+ * rpmbuild/ace-tao-ciao.txt:
+ icmp is now enabled by default on linux
+
+Mon Oct 13 11:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Problems with Lynxos5.0 due to -mshared being passed to compiler
+ (inaddition to linker)
+
+Mon Oct 13 07:21:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Local_Name_Space_T.cpp:
+ * ace/MEM_Connector.cpp:
+ * ace/Multihomed_INET_Addr.cpp:
+ * ace/Sock_Connect.cpp:
+ ACE_TCHAR fixes
+
+Fri Oct 10 08:57:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Stack_Trace.cpp:
+ Disable MSVC warning 4748 "/GS can not protect parameters
+ and local variables from local buffer overrun because
+ optimizations are disabled in function"
+
+Thu Oct 9 21:52:18 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/config-win32-common.h: Add ACE_HAS_ICMP_SUPPORT if Winsock 2
+ is available.
+
+ * tests/Network_Adapters_Test.{h cpp}: Removed extraneous ACE::init.
+ Compare IP addresses using ACE_INET_Addr::is_ip_equal() instead of
+ comparing get_ip_address() returns - this allows it to work with
+ either IPv4 or IPv6.
+
+Thu Oct 9 17:54:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Added more WinCE6 support by integrating some changes from OCI.
+ Mon Aug 11 15:40:37 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+ * ace/config-win32-msvc-8.h:
+ * ace/config-WinCE.h:
+ WinCE 6.0 supports TSS and still does not support sig_atomic_t.
+
+Wed Oct 8 21:06:42 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Network_Adapters_Test.cpp: Extend the errno checks to correctly
+ sense insufficient privs on AIX (EACCESS).
+
+Wed Oct 8 20:57:24 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Ping_Socket.cpp (send_echo_check): Fixed problem introduced in
+ Tue Oct 7 23:04:50 UTC 2008 Steve Huston <shuston@riverace.com>
+ while setting the ICMP id.
+
+ * tests/Network_Adapters_Test.cpp: If the test can't run due to
+ insufficient privs, do ACE_END_TEST and return; don't exit. Want
+ to avoid triggering a test fail in the scoreboard when the test
+ can't be run.
+
+Wed Oct 8 18:29:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/Options.cpp
+ * apps/gperf/src/Options.h
+ Fixed ACE_TCHAR problems
+
+ * apps/gperf/src/gperf.mpc
+ * apps/gperf/tests/gperf_test.mpb
+ Build and test gperf when uses_wchar is set
+
+Wed Oct 8 18:11:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Dirent_Test.cpp:
+ Use the new ACE_HAS_TCHAR_DIRENT. Fixes bugzilla 3130
+
+Wed Oct 8 18:08:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_dirent.h:
+ Set ACE_HAS_TCHAR_DIRENT when the dirent struct has a tchar
+ filename. This is currently with CodeGear C++ with
+ uses wchar enabled or with dirent emulation. This fixes bugzilla
+ 3438
+
+Wed Oct 8 09:44:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-borland-common.h:
+ Moved the contents to config-win32-borland.h and removed
+ this file
+
+ * ace/config-win32-borland.h:
+ Added contents of config-borland-common.h
+
+Tue Oct 7 23:04:50 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-5.x.h: Added ACE_HAS_ICMP_SUPPORT
+
+ * ace/Ping_Socket.cpp: When setting or checking the ICMP id field,
+ it's 16 bits, so restrict values to that range. AIX pids are 32 bits,
+ and the ID checks failed; this fixes it.
+
+Tue Oct 7 23:01:44 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Network_Adapters_Test.cpp: If the ping/raw socket open fails
+ because of a lack of privilege, issue a warning that the test can't
+ run, not an error.
+
+Mon Oct 6 22:27:54 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.inl (suspend_handlers): Never suspend the notify
+ or the wakeup_all_threads handles - these are specially set up by
+ ACE_WFMO_Reactor::open(), not by users, and are critical to the
+ proper functioning of the event loop.
+ Fixes Bugzilla #3267.
+
+ * tests/Reactor_Dispatch_Order_Test.cpp: Added some additional
+ sanity checks and fixed some logging.
+
+Fri Oct 3 19:05:39 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Reactor_Token_T.cpp:
+
+ Made reactor notify with zero timeout and ignore timeout case in
+ sleep_hook(). This would fix bugzilla 2465 reactor deadlock
+ problem.
+
+Thu Oct 2 16:41:57 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h: Adjust the byte order decision for Itanium
+ hardware. Itanium can run either byte order - the OS selects it
+ at boot. The checks were correct for Windows (and maybe Linux)
+ but not for HP-UX. Apparantly something in the predefined macros
+ at aC++ 06.20 changed enough to fool this check.
+
+Mon Sep 29 18:04:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/CDR_File_Test.cpp:
+ * tests/Log_Msg_Test.cpp:
+ VxWorks 6.6 can't unlink in advance on NFS
+
+Mon Sep 29 13:36:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ * tests/unload_libace.mpb:
+ Use unicode lib modifier
+
+Sun Sep 28 18:16:53 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3432_Regression_Test.cpp:
+ * tests/OS_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Moved strptime test to its own file because ACE_OS::strptime() seems to
+ behave differently on HPUX and no time to sort that out at this moment
+
+ * tests/Pipe_Test.cpp:
+ Renamed a few methods so that we don't have to disable the ACE_OS check
+
+Sun Sep 28 10:28:53 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_rel_manpages:
+ We are using doxygen 1.5.6 from now
+
+Thu Sep 25 18:27:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_LACKS_STRPTIME and ACE_LACKS_SI_ADDR autoheader
+ templates. We already use the AC_DEFINE macros third argument
+ for the descriptive text in the cooresponding feature tests.
+
+Thu Sep 25 17:37:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Add comment explaining why I'm bothering replacing autoheader
+ templates in this file.
+
+ * m4/acinclude.m4:
+ * m4/config_h.m4:
+
+ Move ACE_HAS_LLSEEK, ACE_HAS_LSEEK64,
+ ACE_LACKS_LLSEEK_PROTOTYPE, and ACE_LACKS_LSEEK64_PROTOTYPE
+ autoheader templates to ACE_CHECK_LSEEK64 feature test macro.
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Replace use of autoheader templates with AC_DEFINE macro's third
+ argument for ACE_LACKS_CONDATTR_PSHARED,
+ ACE_LACKS_MUTEXATTR_PSHARED, and ACE_LACKS_RWLOCKATTR_PSHARED
+ feature tests.
+
+Thu Sep 25 16:45:16 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_LACKS_PLACEMENT_OPERATOR_NEW, as it is no longer used.
+
+Thu Sep 25 16:23:26 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Replace ~50 lines of open code with simple call to AC_CHECK_TYPE
+ with ACE_DEFINE with a third argument for the ACE_LACKS_SEMBUF_T
+ feature test.
+
+ Move feature test for ACE_HAS_BYTESEX_H so it's adjacent to the
+ test for ACE_HAS_BYTESWAP_H.
+
+Thu Sep 25 13:58:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/acinclude.m4:
+
+ Remove ACE_CHECK_STRUCT and ACE_TRY_COMPILE_STRUCT autoconf
+ macros. All use has been replaced by the standard autoconf
+ AC_CHECK_TYPE macro.
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Replace use of ACE_CHECK_STRUCT with AC_CHECK_TYPE, and the use
+ of AH_TEMPLATE with AC_DEFINE with a third argument for the
+ ACE_HAS_PRUSAGE_T, ACE_LACKS_STRRECVFD, ACE_LACKS_SIGACTION,
+ ACE_LACKS_SIGSET, and ACE_LACKS_UTSNAME_T feature tests.
+
+ Replace use of ACE_TRY_COMPILE_STRUCT with AC_CHECK_TYPE in
+ internal feature tests (no feature test macros are defined)
+ for pthread_rwlock_t and pthread_rwlockattr_t.
+
+ Remove duplicate ACE_LACKS_SI_ADDR feature test.
+
+ Replace use of "test xxx == yyy" with "test xxx = yyy", the
+ former is a GNU extension.
+
+Thu Sep 25 11:49:45 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/acinclude.m4:
+
+ Remove ACE_CHECK_TYPE autoconf macro. All use of it has been
+ replaced by the standard autoconf AC_CHECK_TYPE macro.
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Replace use of ACE_CHECK_TYPE with AC_CHECK_TYPE and the use
+ of AH_TEMPLATE with AC_DEFINE with a third argument for the
+ ACE_HAS_HI_RES_TIMER feature test.
+
+Thu Sep 25 00:28:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Replace use of ACE_CHECK_STRUCT with AC_CHECK_TYPE, and the use
+ of AH_TEMPLATE with AC_DEFINE with a third argument for the
+ ACE_LACKS_STRUCT_DIR, ACE_LACKS_FILELOCKS, ACE_LACKS_RWLOCK_T,
+ and ACE_HAS_STRBUF_T feature tests.
+
+Wed Sep 24 17:43:22 UTC 2008 Rich Seibel <seibel_r@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added test for Bug 3387.
+
+Wed Sep 24 14:16:50 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ACE-INSTALL.html:
+
+ Updated info on Visual Studio 2008 / VC9 and 64-bit Windows.
+
+Tue Sep 23 21:55:28 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Bug 3431 was fixed, so I'm making this test part of the nightly
+ build.
+
+Tue Sep 23 19:32:38 2008 Steve Huston <shuston@riverace.com>
+
+ Brought in from ACE 5.6a:
+ Tue Aug 26 17:11:10 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Test.cpp: Add a test for looking up services
+ from a thread started outside ACE's control. This has code for
+ Pthreads and Windows; other platforms will require additions if
+ desired.
+
+Tue Sep 23 16:49:12 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Bug_2980_Regression_Test.cpp: Adjust to shared lib suffix
+ that differs from ".so". Fixes HP-UX 11iv2 on PA-RISC. Generalizes
+ (and reverts) the platform tests made in
+ Mon Sep 22 13:17:19 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+Tue Sep 23 15:41:43 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl: Don't delete Service_Config_Test.conf from the
+ target; on local builds, it deletes it from the working dir and
+ svn needs to restore it. Fixes Bugzilla #3409. Thanks to Johnny
+ Willemsen for noticing this.
+
+ * ace/os_include/sys/os_types.h:
+ * ace/OS_NS_sys_stat.inl (umask): Changed mode_t from an int back to
+ u_short. int conflicts with other packages' defs of mode_t (in
+ particular, Perl). Of all the places mode_t is used, the only place
+ int made a real difference was in calling _umask_s() on Windows
+ VC8+. This change reverts the affected piece of
+ Fri Mar 9 00:53:43 UTC 2007 Steve Huston <shuston@riverace.com>
+
+Tue Sep 23 15:32:57 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added new test for bug #3431. This test will definitely fail
+ until the underlying problem in the IFR is addressed. There is
+ no immediate plan to fix bug 3431.
+
+Tue Sep 23 11:25:58 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * ace/Assert.h:
+
+ Add new macro: ACE_TEST_ASSERT. Behaves just like ACE_ASSERT but it
+ doesn't boil away to nothing on non debug platforms.
+
+Mon Sep 22 23:18:36 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ * ace/OS_NS_time.inl:
+ Fixed WinCE link error
+
+ * ace/OS_NS_unistd.cpp:
+ Initialise variable with 0
+
+ * ace/config-vxworks6.4.h:
+ Extended the check for lacking log2
+
+Mon Sep 22 14:54:36 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/ETCL_Constraint.cpp:
+
+ Fix fuzz errors.
+
+Mon Sep 22 13:17:19 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Make this test portable for MacOS and HP-UX.
+
+Mon Sep 22 11:25:53 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Use variable CURDIR instead of PWD where possible to identify the
+ current working directory. Fixes bug #3393.
+
+Sat Sep 20 13:13:29 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_HAS_SYSV_SYSINFO autoheader template. This is now
+ handled within the ACE_CHECK_FUNC_SYSINFO macro.
+
+ * configure.ac:
+
+ Remove checks for ACE_HAS_SYS_SYSINFO_H, ACE_HAS_SYSTEMINFO_H,
+ and ACE_HAS_SYSV_SYSINFO, and replace them with a single call
+ to the new ACE_CHECK_FUNC_SYSINFO macro, which handles all the
+ details. Fixes bugzilla issue #3325.
+
+ * m4/ace_func.m4:
+
+ New autoconf macro ACE_CHECK_FUNC_SYSINFO, which sets the
+ ACE_HAS_SYS_SYSINFO_H, ACE_HAS_SYS_SYSTEMINFO_H,
+ ACE_HAS_SYSV_SYSINFO, and/or ACE_HAS_LINUX_SYSINFO feature
+ test macros as appropriate for the system.
+
+Sat Sep 20 12:23:10 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_unistd.inl:
+ * ace/README:
+ * ace/config-irix6.x-common.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Rename ACE_HAS_SYSINFO feature test macro to ACE_HAS_SYSV_SYSINFO,
+ to further distinguish it from ACE_HAS_LINUX_SYSINFO.
+
+Fri Sep 19 19:26:18 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/PerlACE/Process_Win32.pm:
+
+ If the executable contains whitespace, quote it when composing the
+ command line.
+
+Fri Sep 19 17:51:12 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/ETCL_Constraint.cpp:
+
+ Avoid core dump by returning 0 when evaluating division by zero.
+ Partial fix for bugzilla issue #3429.
+
+Fri Sep 19 13:57:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Test_Outpot.cpp:
+ Use ostream->good() to check if the stream is ok or not. bad() only
+ checks for a corrupt stream, not if it could be created. This way the
+ test doesn't run when we can't create the logfile on disk
+
+ * tests/Cached_Accept_Conn_Test.cpp
+ Removed check for deprecated compiler
+
+Fri Sep 19 09:41:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ Unicode fix
+
+Fri Sep 19 09:32:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/unload_libace.mpb:
+ This project doesn't use acedefaults which then results in some
+ borland required flags not being set
+
+Thu Sep 18 21:15:57 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace_defines.m4:
+ * m4/ace_functions.m4:
+ * m4/ace_headers.m4:
+
+ Update m4 quoting so that macros work with both old and current
+ versions of autoconf. Tested with both autoconf 2.58 (which is
+ the earliest version we support) and the recently released 2.63.
+ Fixes bugzilla issue #3396.
+
+Thu Sep 18 18:54:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.{h,cpp}:
+ Use bool and several doxygen changes
+
+Thu Sep 18 10:30:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+
+ Provide no test revision grouping results as well.
+
+Thu Sep 18 06:33:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Time.{h,cpp,inl} (strptime):
+ Always clear struct tm to zero
+
+ * tests/OS_Test.cpp:
+ Updated for change above
+
+ * tests/Cached_Conn_Test.cpp:
+ Removed check for deprecated compiler
+
+Wed Sep 17 18:47:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Cached_Connect_Strategy_T.{h,cpp}:
+ reuse_addr is a bool
+
+Wed Sep 17 18:11:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/checked_iterator.h:
+ Reverted change below for the moment, causes a lot of warnings in some
+ builds.
+
+ Tue Sep 16 12:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/checked_iterator.h:
+ Check for dinkum stl. Thanks to Mark Hebbel
+ <Mark dot Hebbel at baslerweb dot com> for reporting this. This
+ fixes bugzilla 3420
+
+Wed Sep 17 14:13:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_time.cpp (strptime_emulation):
+ Don't set struct tm to zero
+
+ * ace/OS_Test.cpp:
+ Set struct tm to zero before calling strptime
+
+Wed Sep 17 13:23:56 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/ETCL_Constraint.cpp:
+
+ Explicitly initialize base class in ETCL_Literal_Constraint copy
+ constructor.
+
+Wed Sep 17 12:24:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ Unicode fix
+
+Wed Sep 17 12:19:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Thread_Manager.cpp:
+ Found that the revert for bugzilla 3391 was not perfect. Thanks to
+ Yauheni Akhotnikau <eao197 at intervale dot ru> for reporting
+ this.
+
+Wed Sep 17 09:15:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ Network_Adapters_Test shouldn't build/run with ace_for_tao
+
+Wed Sep 17 08:45:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Improved error handling when we can't connect with telnet
+
+Wed Sep 17 06:48:59 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ VxWorks doens't have tzset
+
+ * ace/OS_NS_time.inl:
+ Simplified tzset
+
+Tue Sep 16 21:58:59 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/ETCL_Constraint.cpp:
+
+ Changed ETCL_Literal_Constraint::copy(), so that the string
+ associated with a constraint object of type ACE_ETCL_STRING is
+ freed before the constraint is overwritten by the new value.
+ This avoids a memory leak.
+
+ * ace/ETCL/ETCL_Constraint.cpp:
+ * ace/ETCL/ETCL_Constraint.inl:
+
+ Implement ETCL_Literal_Constraint::operator!=, operator<=, and
+ operator>= in terms of operator==, operator>, and operator< and
+ make them inline. Removes a lot of boilerplate code and reduces
+ static footprint.
+
+Tue Sep 16 21:12:21 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/MakeProjectCreator/config/crosscompile.mpb:
+
+ Add a new flag to support crosscompiliation on Win32 platforms.
+ This is initially needed to improve support for WinCE targets
+ built using Visual Studio. See companion changes in the MPC
+ tree for more details.
+
+Tue Sep 16 17:54:56 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ Reverted the exceptions=0 part of the previous commit. exceptions=0
+ is still supported for ACE, but not for TAO.
+
+Tue Sep 16 14:53:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ When using the Sun std library (not stlport), explicitly link -lCrun
+ and -lCstd. The linker will not include these when building shared
+ libraries. Also removed code that was only used for exceptions=0.
+
+Tue Sep 16 13:10:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Bounded_Packet_Relay/bpr_thread.cpp:
+ Removed msvc6 workaround and initialise some pointers with 0
+
+ * examples/Reactor/Multicast/server.cpp:
+ Corrected error message
+
+ * examples/Web_Crawler/Web_Crawler.mpc:
+ Removed borland
+
+Tue Sep 16 12:59:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Reverted some wince changes which shouldn't have been committed
+
+Tue Sep 16 12:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ Reverted some wince changes which shouldn't have been committed
+
+Tue Sep 16 12:48:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/checked_iterator.h:
+ Check for dinkum stl. Thanks to Mark Hebbel
+ <Mark dot Hebbel at baslerweb dot com> for reporting this. This
+ fixes bugzilla 3420
+
+Tue Sep 16 12:19:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/Gateway/Gateway/Event_Channel.h
+ * apps/gperf/src/Options.cpp
+ * apps/gperf/src/Options.h
+ * apps/JAWS2/JAWS/Server.cpp
+ * apps/JAWS2/JAWS/Server.h
+ * apps/JAWS3/bench/mkfiles.cpp
+ * apps/JAWS3/bench/rqfiles.cpp
+ * apps/JAWS3/http/HTTP_Service_Handler.cpp
+ * apps/JAWS3/small/SS_Service_Handler.cpp
+ * apps/JAWS/stress_testing/benchd.cpp
+ * netsvcs/clients/Tokens/collection/collection.cpp
+ * netsvcs/clients/Tokens/collection/rw_locks.cpp
+ * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp
+ * netsvcs/clients/Tokens/manual/manual.cpp
+ * netsvcs/clients/Tokens/mutex/test_mutex.cpp
+ * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp
+ * performance-tests/Misc/test_guard.cpp
+ * performance-tests/RPC/client.cpp
+ ACE_TCHAR changes
+
+Tue Sep 16 10:52:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/*.bor:
+ * bin/MakeProjectCreator/templates/bor.mpd
+ * bin/MakeProjectCreator/templates/bordll.mpt
+ * bin/MakeProjectCreator/templates/borexe.mpt
+ * bin/MakeProjectCreator/config/borland.features
+ * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm
+ * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm
+ Removed, use the bmake mpc template from now
+
+ * bin/MakeProjectCreator/config/ipv6.mpb:
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ * bin/MakeProjectCreator/README:
+ Removed borland usage
+
+Tue Sep 16 09:09:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Acceptor.{h,cpp}:
+ * ace/ACE.{h,cpp}:
+ * ace/ATM_Acceptor.{h,inl}:
+ * ace/Connector.cpp:
+ * ace/DEV_Connector.{h,inl}:
+ * ace/FILE_Connector.{h,inl}:
+ * ace/FlReactor/FlReactor.{h,cpp}:
+ * ace/FoxReactor/FoxReactor.{h,cpp}:
+ * ace/LOCK_SOCK_Acceptor.{h,cpp}:
+ * ace/LSOCK_Acceptor.{h,cpp}:
+ * ace/MEM_Acceptor.{h,cpp}:
+ * ace/Priority_Reactor.{h,cpp}:
+ * ace/QtReactor/QtReactor.{h,cpp}:
+ * ace/Reactor.{h,inl}:
+ * ace/Reactor_Impl.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_T.{h,cpp,inl}:
+ * ace/Service_Manager.cpp:
+ * ace/SOCK_Acceptor.cpp
+ * ace/SOCK_Acceptor.h
+ * ace/SOCK_Connector.h
+ * ace/SOCK_Connector.inl
+ * ace/SOCK_SEQPACK_Acceptor.cpp
+ * ace/SOCK_SEQPACK_Acceptor.h
+ * ace/SOCK_SEQPACK_Connector.h
+ * ace/SOCK_SEQPACK_Connector.inl
+ * ace/SPIPE_Acceptor.cpp
+ * ace/SPIPE_Acceptor.h
+ * ace/SPIPE_Connector.h
+ * ace/SPIPE_Connector.inl
+ * ace/SSL/SSL_SOCK_Acceptor.cpp
+ * ace/SSL/SSL_SOCK_Acceptor.h
+ * ace/SSL/SSL_SOCK_Connector.h
+ * ace/Strategies_T.cpp
+ * ace/Strategies_T.h
+ * ace/TkReactor/TkReactor.cpp
+ * ace/TkReactor/TkReactor.h
+ * ace/TLI_Acceptor.cpp
+ * ace/TLI_Acceptor.h
+ * ace/TLI_Connector.h
+ * ace/TLI_Connector.inl
+ * ace/TP_Reactor.cpp
+ * ace/TP_Reactor.h
+ * ace/UPIPE_Acceptor.cpp
+ * ace/UPIPE_Acceptor.h
+ * ace/UPIPE_Connector.h
+ * ace/UPIPE_Connector.inl
+ * ace/WFMO_Reactor.cpp
+ * ace/WFMO_Reactor.h
+ * ace/WFMO_Reactor.inl
+ * ace/XtReactor/XtReactor.cpp
+ * ace/XtReactor/XtReactor.h
+ Changed restart and reset_new_handles from int to bool
+
+ * ace/ace_for_tao.mpc:
+ * ace/QoS/qos.mpc:
+ Zap borland as project type
+
+ * ace/ace_qt3reactor.mpc:
+ Removed empty line
+
+ * ace/Bound_Ptr.{h,inl}:
+ Let the null methods return bool
+
+ * ace/config-borland-common.h:
+ Borland has strptime
+
+ * ace/config-linux-common.h:
+ Enable icmp support by default on linux
+
+ * ace/config-mvs.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ Removed fd_mask as define and added ACE_LACKS_FD_MASK
+
+ * ace/config-rtems.h:
+ Added ACE_LACKS_TZSTE
+
+ * ace/config-WinCE.h:
+ Updated some defines
+
+ * ace/Dev_Poll_Reactor.{h,cpp}:
+ Use more bool
+
+ * ace/File_Lock.h:
+ * ace/Message_Block.h:
+ Doxygen changes
+
+ * ace/Guard_T.{h,inl}:
+ * ace/Service_Object.h:
+ Bool changes and doxygen changes
+
+ * ace/Handle_Set.h:
+ Removed QNX workaround
+
+ * ace/Log_Msg.{h,cpp,inl}:
+ Bool changes, doxygen changes
+
+ * ace/Message_Queue.h:
+ Removed not needed includes
+
+ * ace/Message_Queue_NT.h:
+ Doxygen changes
+
+ * ace/Notification_Queue.cpp:
+ Layout changes
+
+ * ace/os_include/sys/os_select.h:
+ Added ACE_LACKS_FD_MASK
+
+ * ace/OS_Log_Msg_Attributes.h:
+ Use bool
+
+ * ace/OS_NS_dirent.cpp:
+ Const changes
+
+ * ace/OS_NS_netdb.cpp:
+ Initialise pointers with 0
+
+ * ace/OS_NS_stdio.inl:
+ WinCE changes
+
+ * ace/OS_NS_stropts.h:
+ Doxygen changes
+
+ * ace/OS_NS_time.inl:
+ Use more defines
+
+ * ace/OS_NS_unistd.{h,inl}:
+ Always have chdir available as method
+
+Tue Sep 16 08:47:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Added test for strptime
+
+ * tests/Service_Config_Test.cpp:
+ Don't use ACE_ASSERT and always update the error_count. Fixes the failing
+ of this test in release builds
+
+ * tests/Test_Output.cpp:
+ Initialise pointer with 0
+
+Tue Sep 16 08:45:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added bug 2543
+
+ * bin/make_release.py:
+ Generate bmake files
+
+ * bin/fuzz.pl:
+ bor files shouldn't be in the repo anymore
+
+Tue Sep 16 08:42:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Updated Borland/CodeGear support
+
+ * Release:
+ Package debianbuild, no generatin of ACE-INSTALL, use bmak files
+
+Tue Sep 16 08:38:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild:
+ New directory to store packaging files for debian
+
+ * docs/Download.html:
+ Updated for CodeGear
+
+ * include/makeinclude/wrapper_macros.GNU:
+ No need to add $ACE_ROOT/ace to libpath
+
+Tue Sep 16 08:32:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * ace/config-lynxos.h:
+ * ace/os_include/os_signal.h:
+ * include/makeinclude/platform_lynxos.GNU:
+
+ Updated for LynxOS 5.0.
+
+Tue Sep 16 08:27:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * ace/Object_Manager.cpp:
+
+ The following fixes stop our automated scoreboard from locking up during
+ automated window VC8 builds and test runs. The enhance the original
+ ACE_DISABLE_WIN32_ERROR_WINDOWS builds but only on VC8 and above INTEL
+ machines.
+
+ Starting with VC8 (VS2005), it is necessary to add the call to
+ _set_abort_behavior( 0, _CALL_REPORTFAULT); to ensure that calls to
+ abort() do not bypass any declared unhandled exception handler and directly
+ call the default debugger or "report this problem to microsoft" dialogue.
+ This does NOT stop the standard message from being logged to the error stream.
+
+ Also starting with VC8 (VS2005), Microsoft changed the behaviour of the CRT
+ in some security related and special situations. The are many situations in
+ which our ACE_UnhandledExceptionFilter will never be called. This is a major
+ change to the previous versions of the CRT and is not very well documented.
+ See:
+ http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101337
+
+ Basically the CRT simply uninstalls the registered unhandled exception filter
+ and then forces a call to the default-debugger. Jochen's solution is to stop
+ the CRT from calling SetUnhandledExceptionFilter() after we have setup our own
+ handler. NOTE this fix only works for intel based windows builds.
+
+ This fix was derived from that proposed by Jochen Kalmbach here:
+ http://blog.kalmbachnet.de/?postid=75
+
+Tue Sep 16 08:12:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+
+ Change default date to last release date.
+
+Mon Sep 15 16:34:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * NEWS:
+ * docs/Download.html:
+ * etc/index.html:
+
+ Updated for x.6.6
+
+Mon Sep 15 11:08:04 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * ACE version 5.6.6 released.
+
+Fri Sep 12 21:13:04 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/config/MPC.cfg:
+
+ Changed how DDS_ROOT is referenced (for OpenDDS support).
+
+Fri Sep 12 12:56:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted change below, brakes VMS support
+
+ Tue Sep 9 18:46:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * bin/mwc.pl:
+ * bin/mpc.pl:
+ Use FindBin::RealScript to get the real script name, that also
+ works when we have a symbolic link with a different name to
+ one of these scripts. This fixes bugzilla 3407
+
+Thu Sep 11 14:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds.pl
+ * bin/diff-builds-and-group-fixed-tests-only.sh
+
+ Make revision number appending to new test failures optional.
+
+Tue Sep 9 18:46:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mwc.pl:
+ * bin/mpc.pl:
+ Use FindBin::RealScript to get the real script name, that also
+ works when we have a symbolic link with a different name to
+ one of these scripts. This fixes bugzilla 3407
+
+Tue Sep 9 14:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh
+ Change the sort to cater from revision numbers.
+
+Tue Sep 9 13:39:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds.pl
+ typo vi / non-vi edit
+
+Tue Sep 9 13:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds.pl
+ Adjust for revision numbers.
+
+Tue Sep 9 11:36:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_time.cpp (strptime_emulation):
+ Clear the struct tm before filling it. Without we get a random
+ value back if the user doesn't use a full date.
+
+Tue Sep 9 11:31:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ Also generate a vxtest file for libraries
+
+Thu Sep 4 14:39:33 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ '-P' isn't a valid option on Ubantu linux (Bug 15051). Replacing
+ with Perl alternate.
+
+Wed Sep 3 10:23:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Don't run OBV Typed events with micro and compact configurations
+
+Wed Sep 3 07:31:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added support for ACE_RUN_VX_TGTSRV_WORKINGDIR. Before starting
+ the executable we will do a chdir to this directory when it
+ is specified
+
+Wed Sep 3 07:10:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bound_Ptr_Test.cpp:
+ Don't use ACE_ASSERT, it is disabled in release mode and this test
+ had some real functionality placed within an ACE_ASSERT. This fixes
+ bugzilla 3415
+
+Tue Sep 2 14:11:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Don't use ACE_LIB_TEXT but ACE_TEXT, the former has been deprecated
+ a long time ago
+
+Thu Aug 28 21:18:11 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+
+ Removed "Exceptions" and "NO_EXCEPTIONS" as -Config options.
+
+Thu Aug 28 18:33:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Improved prompt matching
+
+Thu Aug 28 13:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/auto_run_tests.pl:
+ The error when we can't chdir to a directory was confusing
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Reduced duplicate code and added support for ACE_RUN_VX_STARTUP_SCRIPT
+ and ACE_RUN_VX_STARTUP_SCRIPT_ROOT with which we can specify a
+ startup script that is executed before the real application is started
+
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ A VxWorks target has to be rebooted between tests
+
+Mon Aug 25 11:15:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added missing run_test.pl to the OBV/Typed_Events test
+
+Thu Aug 21 09:38:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Download.html:
+ Added OpenSuSE build services as new rpm download location.
+ Removed ACE-install.sh reference, it is not part of the
+ archive anymore
+
+Thu Aug 21 06:54:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Also check /usr/lib64 for the libs
+
+ * bin/depgen.pl:
+ * bin/mpc.pl:
+ * bin/mwc.pl:
+ * bin/PerlACE/ConfigList.pm:
+ * bin/PerlACE/MSProject.pm:
+ * bin/PerlACE/Process.pm:
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/Process_VMS.pm:
+ * bin/PerlACE/Process_Win32.pm:
+ * bin/PerlACE/ProcessLVRT.pm:
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/Run_Test.pm:
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ * bin/Uniqueid.pm:
+ Added missing shebang lines to fix rpm packaging warnings
+
+Wed Aug 20 09:38:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
+ * bin/MMakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
+ Fixed bugzilla 3403. Migrated parts of the bmake type to this
+ generator, fixes issues when we need to go a directory up
+ in the workspace. As side effect the resulting Makefile.bor
+ is smaller in size which reduces the full size of the
+ distribution. In the near future I want to remove the borland
+ MPC generator and only use bmake.
+
+Wed Aug 20 09:08:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Fixed a bug with putenv with rtp mode
+
+Tue Aug 19 19:06:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Don't use cmd to send commands through telnet. The disadvantage
+ of the cmd method is that it only returns when the prompt
+ appears again. When this doesn't happen we don't get the output
+ of the last command into our build log or on the telnet client
+
+Tue Aug 19 14:01:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ * ace/OS_NS_stdlib.inl:
+ * ace/config-win32-msvc.h:
+ CodeGear C++ Builder 2009 has wcstoull and strtoull
+
+Mon Aug 18 11:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ CodeGear C++ Builder 2009 doesn't support inline assembly
+
+Mon Aug 18 10:17:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Improved BCB instructions
+
+Sun Aug 17 18:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ * include/makeinclude/compiler.bor:
+ Added BCBVER 10/11/12
+
+Sun Aug 17 07:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mwc.pl:
+ * bin/mpc.pl:
+ Use RealBin to get the location of this script, that gives the
+ real location also in case we use a symbolic link to these
+ scripts. Thanks to Adam Mitz for pointing me to RealBin
+
+Fri Aug 15 11:07:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * make/makeinclude/platform_aix_ibm.GNU:
+ Added missing AIX compiler version 0800.
+
+Wed Aug 13 14:40:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Truncate.h:
+ Added missing specializations for Borland C++.
+
+Wed Aug 13 14:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace_defines.m4:
+ * m4/ace_functions.m4:
+ * m4/ace_headers.m4:
+ Reverted change below, doesn't work on suse 11.1 yet
+
+Wed Aug 13 13:22:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace_defines.m4:
+ * m4/ace_functions.m4:
+ * m4/ace_headers.m4:
+ Updated these files to work with autoconf 2.62. Thanks to
+ Philipp Thomas <pth at suse dot de> for these patches. These
+ are needed to use autoconf on OpenSuSE Factory (11.1 beta).
+ This fixes bugzilla 3396.
+
+Wed Aug 13 11:55:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Truncate.h:
+ Added missing specializations for Borland C++.
+
+Wed Aug 13 11:44:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ Made several improvements to this new spec file. Thanks to
+ Philipp Thomas <pth at suse dot de> for assisting with this
+
+Tue Aug 12 19:45:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Time_Value.inl:
+ * examples/OS/Process/process.cpp:
+ * examples/Misc/test_dump.h:
+ * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
+ * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
+ * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
+ * examples/ASX/Message_Queue/buffer_stream.cpp:
+ * examples/ASX/Message_Queue/bounded_buffer.cpp:
+ * examples/ASX/Message_Queue/priority_buffer.cpp:
+ * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp:
+ * examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp:
+ * examples/ASX/UPIPE_Event_Server/event_server.cpp:
+ * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp:
+ * examples/Web_Crawler/Iterators.cpp:
+ * examples/Web_Crawler/URL_Visitor.cpp:
+ * examples/Web_Crawler/Mem_Map_Stream.cpp:
+ * examples/Shared_Malloc/test_malloc.cpp:
+ * examples/QOS/Simple/Sender_QoS_Event_Handler.cpp:
+ * examples/APG/ThreadPools/TP_Reactor.cpp:
+ * examples/IPC_SAP/FILE_SAP/client.cpp:
+ * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
+ * examples/IPC_SAP/SPIPE_SAP/NPClient.cpp:
+ * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
+ * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp:
+ * examples/IPC_SAP/SSL_SAP/SSL-client.cpp:
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
+ * examples/Logger/client/logging_app.cpp:
+ * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
+ * examples/Threads/thread_pool.cpp:
+ * examples/Threads/thread_specific.cpp:
+ * examples/Threads/task_four.cpp:
+ * examples/Reactor/Multicast/Log_Wrapper.cpp:
+ * examples/Reactor/WFMO_Reactor/Window_Messages.cpp:
+ * examples/Reactor/Proactor/test_cancel.cpp:
+ * examples/Reactor/Proactor/test_proactor.cpp:
+ * examples/Reactor/Misc/notification.cpp:
+ * examples/Connection/blocking/SPIPE-connector.cpp:
+ * examples/Mem_Map/file-reverse/file-reverse.cpp:
+ * examples/C++NPv1/Logging_Handler.cpp:
+ * examples/C++NPv1/Logging_Client.cpp:
+ * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
+ * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp:
+ * examples/C++NPv2/Client_Logging_Daemon.cpp:
+ * examples/C++NPv2/Service_Reporter.cpp:
+ * examples/C++NPv2/Logging_Handler.cpp:
+
+ More truncation warning fixes.
+
+Tue Aug 12 18:15:08 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ace_guidelines.vsmacros:
+
+ Update the macros file to ingore .xsd files.
+
+ * docs/svn/config:
+ * docs/svn/svn-prefs.reg:
+
+ Added .aspx files to the configuration preferences.
+
+Tue Aug 12 08:00:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Thread_Manager.cpp:
+ Revert changes of bugzilla 3391, Thread_Pool_Test does fail
+ with the change
+
+Mon Aug 11 18:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Log_Msg_Test.cpp:
+ Fixed unicode compile error
+
+Mon Aug 11 16:09:20 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Exclude TAO/tests/Bug_3068_Regression from single-threaded builds.
+
+Mon Aug 11 13:49:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/tests.mpc:
+ There were still some tests that produce test libraries that were
+ not updated when acelib was devorced from ace_output project. Such
+ tests need to either add the dependancy (to place their output in
+ the standard lib directory) or have "libout = ." to specify the
+ library to be placed locally in the test directory.
+
+Mon Aug 11 13:37:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Thread_Manager.{h,cpp,inl}:
+ Make sure we don't miss any already terminated threads when doing
+ a join. Also made some code more readable, removed ancient AIX
+ workarounds. This fixes bugzilla 3391. Thanks to
+ <giovanni dot mele at nagra dot com> for reporting this
+
+ * ace/Containers_T.{h,cpp}:
+ Changed dont_remove to a bool
+
+Mon Aug 11 12:45:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.cpp:
+ Simplified some methods
+
+Mon Aug 11 08:56:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Log_Msg_Test.cpp:
+ Extending testing of ACE_Log_Msg by enabling the format specifiers
+ tests and add a test for %T. Also removed the check for vsnprintf
+ to see that VxWorks 5.5.x still has a problem with buffer overflows.
+ In that case we have to fix that in ACE_Log_Msg.
+
+ * ace/Log_Msg.cpp:
+ Fixed some buffer size calculations when ACE_TCHAR != char. Fixed
+ %T when wchar is used, thanks to Nathalie D'Amours
+ <nathalie at bearsontheloose dot com> for reporting this. This fixes
+ bugzilla 3388
+
+ * ace/ACE.{h,cpp} (timestamp):
+ Use bool and sizes of buffers should have size_t as type
+
+ * ace/MEM_Stream_Test.cpp:
+ Removed incorrect comment
+
+Mon Aug 11 07:36:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.am:
+ Added missing header files. Thanks to haibin zhang
+ <dragzhb at yahoo dot com dot cn> for reporting this
+
+Sun Aug 10 23:02:15 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/SSL/SSL_SOCK_Stream.inl (set_handle):
+
+ Reverted back to the C-style cast that was there before Jeff's commit
+ because many compilers didn't like a reinterpret_cast<int> here.
+
+Sat Aug 9 17:42:10 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp:
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+ * ace/SSL/SSL_SOCK_Stream.inl:
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.inl:
+
+ Fixed compile errors in inline=0 and Win32-ssl builds.
+ ACE_Utils::truncate_cast can't cast ACE_HANDLE to int on Win32.
+
+Fri Aug 8 20:35:37 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Glibc implementation: fixed whitespace
+ VxWorks (both kernel and RTP): VxWorks can return -1 for the number
+ of arguments when the actual number is unknown.
+
+Fri Aug 8 19:33:42 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_SOCK_Acceptor.cpp:
+ * ace/SSL/SSL_Context.cpp:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+ * ace/SSL/SSL_SOCK_Stream.inl:
+ * Kokyu/DSRT_Sched_Queue_T.cpp:
+ * Kokyu/Default_Dispatcher_Impl.cpp:
+ * ACEXML/common/Transcode.cpp:
+ * ACEXML/common/HttpCharStream.cpp:
+ * ACEXML/common/Mem_Map_Stream.cpp:
+ * examples/Monitor/MC_Test_Utilities.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.inl:
+
+ Fixes for VC 7.1 warnings, mostly truncation.
+
+Fri Aug 8 17:58:28 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed the ACE_NEW_THROWS_EXCEPTION feature test to use
+ setrlimit() (on systems that have it) to reduce the RLIMIT_DATA
+ limit so the test, which continuously allocates memory in order
+ to observe the behavior of out-of-memory conditions, will "fail"
+ quickly without unnecessarily consuming a lot of system
+ resources. Fixes bugzilla #3090.
+
+Fri Aug 8 14:42:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Also check cpp/inl files for RefCountServantBase
+
+Fri Aug 8 08:36:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Truncate.h:
+ Added missing specializations for Borland C++.
+
+Fri Aug 8 08:17:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.am:
+ Added missing Svc_Conf_Token_Table.h which was already in the MPC
+ file. Thanks to haibin zhang <dragzhb at yahoo dot com dot cn>
+ for reporting this
+
+Thu Aug 7 21:59:58 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added the new test TAO/tests/Bug_3068_Regression.
+
+Thu Aug 7 20:21:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Process_Manager.cpp:
+ * ace/Asynch_IO.cpp:
+ * ace/Pagefile_Memory_Pool.cpp:
+ * ace/MEM_IO.cpp:
+ * ace/Time_Value.inl:
+ * ace/SV_Semaphore_Simple.cpp:
+ * ace/Thread_Manager.cpp:
+ * ace/MEM_IO.inl:
+ * ace/ETCL/ETCL_Interpreter.cpp:
+ * ace/UPIPE_Stream.cpp:
+ * ace/SOCK_Dgram.cpp:
+ * ace/FILE_IO.cpp:
+ * ace/OS_NS_unistd.cpp:
+ * ace/FIFO_Recv_Msg.inl:
+ * ace/CDR_Size.cpp:
+ * ace/ACE.cpp:
+ * ace/CDR_Stream.cpp:
+
+ Added usage of ACE_Utils::truncate_cast<>
+ to get rid of conversion warnings, mostly from size_t
+ to ssize_t.
+
+Thu Aug 7 18:02:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * NEWS:
+ ACE/TAO/CIAO now supports CodeGear C++ Builder 2009
+
+Thu Aug 7 15:28:13 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Makefile.am:
+
+ Added source file Null_Network_Interface_Monitor.cpp that
+ was overlooked until now.
+
+Wed Aug 6 18:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mpc:
+ Added a few missing header files
+
+Wed Aug 6 18:17:32 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * protocols/ace/HTBP/HTBP_Channel.cpp:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * performance-tests/TCP/tcp_test.cpp:
+ * performance-tests/UDP/udp_test.cpp:
+ * tests/Upgradable_RW_Test.cpp:
+ * tests/ARGV_Test.cpp:
+ * tests/OrdMultiSet_Test.cpp:
+ * apps/JAWS/server/HTTP_Server.cpp:
+ * apps/soreduce/Obj_Module.cpp:
+ * apps/soreduce/Library.cpp:
+ * apps/soreduce/soreduce.cpp:
+ * apps/soreduce/SO_Group.cpp:
+ * websvcs/lib/URL_Addr.cpp:
+ * examples/OS/Process/imore.cpp:
+ * examples/Connection/blocking/SPIPE-connector.cpp:
+ * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
+ * examples/C++NPv2/Client_Logging_Daemon.cpp:
+
+ Cosmetic changes to eliminate warnings from
+ some Linux compilers.
+
+Wed Aug 6 13:40:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * docs/bczar/bczar.html:
+ Updated the "Bugzilla" section to match the current version
+ of bugzilla's interface.
+
+Wed Aug 6 13:01:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_CODgram.cpp:
+ Fixed gcc 4.3 warnings
+
+Wed Aug 6 08:49:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Connection/blocking/SPIPE-connector.cpp:
+ * examples/OS/Process/imore.cpp:
+ Fixed gcc 4.3 warnings
+
+Wed Aug 6 08:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
+ * examples/C++NPv2/Client_Logging_Daemon.cpp:
+ Fixed gcc 4.3 warnings
+
+Wed Aug 6 08:12:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ * m4/ace.m4:
+ Use more cached values, improved detection of tcl. Add bzip2
+ support
+
+Wed Aug 6 08:01:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACEXML/common/ZipCharStream.cpp:
+ Fixed compile error in some builds
+
+ * ACEXML/parser/parser/Parser.cpp:
+ Check for the dtd file using a / and \ path specifier. This
+ makes it possible to also use a / on windows to specify
+ the path. This fixes bugzilla 3352
+
+ * ACEXML/common/FileCharStream.h:
+ Doxygen fix
+
+ * ACEXML/common/FileCharStream.cpp:
+ No need to check for a valid pointer before calling delete
+
+Tue Aug 5 19:33:26 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp: Fixed tab characters.
+
+ * ace/config-posix.h: Only set ACE_HAS_POSIX_SEM_TIMEOUT if the
+ _POSIX_TIMEOUTS feature test is not -1 (disabled). Fixes build
+ on HP-UX 11iv3.
+
+ * examples/APG/ThreadPools/LF_ThreadPool.cpp (elect_new_leader): Log
+ the "Resiging and Electing" message at LM_DEBUG severity, not
+ LM_ERROR. This is on APG page 342. Thanks to Julien Vintrou for
+ pointing this out.
+
+ * THANKS: Added Julien Vintrou.
+
+Tue Aug 5 20:19:28 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/config-linux-common.h: Removed ACE_HAS_BROKEN_THREAD_KEYFREE.
+ Reverts change from
+ Thu Aug 9 13:39:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+ which is no longer needed.
+
+Tue Aug 5 18:51:02 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/MMAP_Memory_Pool.cpp:
+ * ace/Service_Manager.cpp:
+ * ace/Stream.cpp:
+ * Kokyu/Dispatcher_Task.cpp:
+ * apps/gperf/src/List_Node.cpp:
+ * apps/gperf/src/Key_List.cpp:
+ * apps/gperf/src/Gen_Perf.cpp:
+ * apps/gperf/src/Iterator.cpp:
+ * apps/gperf/src/Hash_Table.cpp:
+ * ACEXML/common/ZipCharStream.cpp:
+ * ACEXML/common/HttpCharStream.cpp:
+ * ACEXML/parser/parser/Parser.inl:
+ * ASNMP/asnmp/asn1.cpp:
+ * ASNMP/asnmp/address.cpp:
+
+ Cosmetic changes to eliminate warnings on
+ Fedora Rawhide.
+
+Tue Aug 5 18:37:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-init-fedora.tar.bz2:
+ * rpmbuild/ace-tao-init-suse.tar.bz2:
+ Seperated distribution specific files in two bz2 archives,
+ the rpm spec file will use one of them
+
+Tue Aug 5 16:41:03 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Changed key_created_ from int to bool.
+
+ * ace/Log_Msg.cpp (close): Two changes related to Bugzilla 2980:
+ - Remove the #if ACE_HAS_BROKEN_THREAD_KEYFREE - the code inside
+ that block was what should always be done - delete the ACE_Log_Msg
+ instance and reset the TSS value to 0 so it's not cleaned up again
+ later when the thread runs down. The whole idea of the
+ ACE_HAS_BROKEN_THREAD_KEYFREE seems dubious and should probably be
+ removed, but I haven't gone that far - there's one more use in
+ OS_NS_Thread which seems pertinent for LynxOS and I can't test
+ it, so it's still there - but should be reviewed and probably
+ removed.
+ - Free the TSS key - if setting key_created_ to 0, what's the point
+ of leaving the key? Any future attempt to get the per-thread value
+ would result in a new key being created. Again, freeing the key
+ has no affect on already-allocated instances.
+ This should resolve Bugzilla 2980 again.
+
+Tue Aug 5 14:33:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.txt:
+ Spec file that is work in progress. Didn't use spec as extension
+ because that gives problems with rpmbuild.
+
+Tue Aug 5 13:52:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Guard_T.h:
+ * ace/Guard_T.inl:
+ * ace/TSS_T.cpp:
+ Changed block to a bool
+
+ * ace/Guard_T.h:
+ Initialise owner_ to solve gcc 4.3 warnings
+
+Tue Aug 05 10:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp:
+
+ I don't know why removing "TP_Reactor.h" stopped ACE.h from
+ being included; but is seems it was incidently included in
+ the previous (non-Dev_Poll) test.
+
+Tue Aug 5 08:02:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACEXML/common/HttpCharStream.cpp:
+ Fixed gcc4.3 warning
+
+Tue Aug 5 07:53:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Queue_Test.cpp:
+ * tests/Message_Queue_Test_Ex.cpp:
+ Fixed gcc4.3 warning
+
+Tue Aug 5 07:11:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/IPC_SAP/SOCK_SAP/run_test
+ * examples/IPC_SAP/SOCK_SAP/summarize
+ * examples/IPC_SAP/SSL_SAP/summarize
+ * examples/IPC_SAP/SOCK_SAP/run_test.sh
+ * examples/IPC_SAP/SOCK_SAP/summarize.pl
+ * examples/IPC_SAP/SSL_SAP/summarize.pl
+ Renamed files to have an extension that matches the type of file
+
+Tue Aug 5 06:45:11 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/add_rel_link.sh:
+ Added missing path
+
+Mon Aug 4 19:58:20 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (inherit_environment): Re using Unicode from
+ Thu Jul 31 15:10:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
+ only do it for systems that have ACE_HAS_WCHAR. Fixes a LabVIEW
+ Pharlap ETS build issue.
+
+Mon Aug 04 13:08:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Reactor_Remove_Resume_Test.cpp:
+ * tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Split out the ACE_Dev_Poll_Reactor part of this test since
+ this is excersing a known problem with ACE_Dev_Poll_Reactor
+ (see Bugzilla 3178).
+
+Mon Aug 4 07:20:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-g++-common.h:
+ * ace/config-macros.h:
+ Moved definition of ACE_UNUSED_ARG for GC back to config-macros.h else
+ it isn't available when doing an autoconf build
+
+Fri Aug 1 10:59:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * tests/Process_Env_Test.cpp:
+
+ #ifdef-out the helper functions in the cases where the body of
+ run_main is also #ifdef'ed-out.
+
+Thu Jul 31 15:10:16 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Process.cpp (inherit_environment):
+
+ When "use_unicode_environment" is in effect, use the unicode env
+ block (GetEnvironmentStringsW) when copying the current environment
+ in order to inherit it (Win32 only).
+
+ * tests/Process_Env_Test.cpp:
+
+ Extended this test to verify that a large environment block is indeed
+ inherited by the spawned process.
+
+Thu Jul 31 13:16:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/tao_orb_tests.lst:
+
+ The QUICK test alternatives should have the same configs as
+ their non-quick alternative tests. This has been playing havok
+ with !Win32 tests on windows platforms that are using QUICK.
+
+Thu Jul 31 12:35:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * tests/Refcounted_Event_Handler_Test_DevPoll.cpp:
+ * tests/Reference_Counted_Event_Handler_Test_Dev_Poll.cpp:
+
+ Test renamed (has to be less than 38 characters).
+
+Thu Jul 31 10:25:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-g++-common.h:
+ Use a different ACE_UNUSED_ARG macro for GCC 4.2 and newer. Moved
+ also the definition for gcc to this file instead of config-macros.h.
+ Thanks to Jules Colding <colding at 42tools dot com>, Jonathan Brannan
+ <jbrannan at atdesk dot com>, and Ken Sedgwick <ken at bonsai dot com>
+ for providing the patches. This fixes bugzilla 3270
+
+ * ace/config-macros.h:
+ Don't define ACE_UNUSED_ARG for GCC
+
+ * rpmbuild/ace-tao.spec:
+ Removed unused arg patch
+
+ * rpmbuild/ace-tao-unusedarg.patch:
+ Removed, not needed anymore
+
+Thu Jul 31 10:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
+
+ To avoid warnings on platforms where:
+ #if defined (ACE_HAS_DEV_POLL) || defined (ACE_HAS_EVENT_POLL)
+ is false, this test has now been fully guarded and an alternate
+ main provided.
+
+ * tests/Reference_Counted_Event_Handler_Test_Dev_Poll.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Since the collated test scores are actually grouping both runs
+ of the original test together (they ignore parameters apparently),
+ a newly named test was needed.
+
+Thu Jul 31 10:05:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ Only define ACE_UNUSED_ARG when it is not defined yet. Makes it
+ easier to test how to resolve warnings with gcc 4.3
+
+Wed Jul 30 14:03:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Also convert slashes in HOST_ROOT
+
+Wed Jul 30 09:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/tests.mpc:
+
+ Missed adding the new Reactor_Dispatch_Order_Test_Dev_Poll
+ entry.
+
+Tue Jul 29 22:23:08 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Add ACE_PATH_BZIP2 feature test, sets ACE_BZIP2_CPPFLAGS,
+ ACE_BZIP2_LDFLAGS, and ACE_BZIP2_LIBS as needed when
+ --with-bzip2 is specified on the command line.
+
+Tue Jul 29 21:33:14 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/automake.features:
+
+ Add bzip2=1
+
+Tue Jul 29 21:29:43 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ace_bzip2.mpb:
+
+ New file, overrides definitions from MPC's bzip2.mpb for
+ automake build.
+
+Tue Jul 29 19:58:22 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Reverted Tue Jul 29 14:21:32 UTC 2008 Adam Mitz <mitza@ociweb.com>
+ because the bug should now be fixed in TAO.
+
+Tue Jul 29 18:11:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ TAO/tests/Bug_3000_Regression fails because that issue remains
+ unresolved, added !FIXED_BUGS_ONLY.
+
+Tue Jul 29 14:21:32 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ TAO/tests/Bug_3163_Regression fails because that issue remains
+ unresolved, added !FIXED_BUGS_ONLY.
+
+Tue Jul 29 12:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/run_test.lst:
+ * tests/Reference_Counted_Event_Handler_Test.cpp:
+
+ Corrected the disabling of ACE_Dev_Poll_Reactor test and split
+ the test into two runs once with this reactor test disabled
+ and once with just this reactor test enabled (marked with
+ !FIXED_BUGS_ONLY) due to internal problems with
+ ACE_Dev_Poll_Reactor.
+
+Tue Jul 29 12:14:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/run_test.lst:
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
+
+ These tests now actually return a failure if the test failed
+ instead of always returning 0. I have also split out the
+ problematic part of this test re-enabled by:
+ Wed Jul 9 19:07:24 2008 Steve Huston which itself reversed:
+ Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen that originally
+ disabled testing for ACE_Dev_Poll_Reactor due to internal
+ problems with ACE_Dev_Poll_Reactor.
+
+Mon Jul 28 13:39:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ * ace/streams.h:
+ Removed workarounds for ancient Borland C++ versions
+
+Mon Jul 28 13:32:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Asynch_Acceptor.cpp:
+ * ace/WIN32_Asynch_IO.cpp:
+ Removed compiler checks
+
+ * ace/OS_NS_stdio.cpp:
+ Don't check for Borland C++ but for ACE_HAS_NONCONST_FDOPEN
+
+ * ace/OS_NS_stdio.inl:
+ Removed workaround for Borland C++
+
+Mon Jul 28 13:10:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Global_Macros.h:
+ Removed obsolete workaround for Borland C++
+
+Mon Jul 28 13:03:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_wchar.h:
+ Removed obsolete workaround for Borland C++
+
+Mon Jul 28 11:52:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Registry.cpp:
+ Don't declare a static object within a method because that
+ could lead to race conditions in a multi threaded program
+
+ * ace/ace_qt4reactor.mpc:
+ Fixed bug in this file
+
+Mon Jul 28 11:40:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ETCL/ETCL_Interpreter.h:
+ Doxygen fixes and made destructor virtual, this is a base class
+
+ * ace/INET_Addr.cpp:
+ Const change
+
+Fri Jul 25 14:21:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_qtreactor.mpc:
+ * ace/ace_qt3reactor.mpc:
+ Renamed qt to qt3, this builds and links the qtreactor
+ with qt3
+
+ * ace/ace_qt4reactor.mpc:
+ New project for qt4
+
+ You can set qt=1 and qt3=1 together or set qt4=1, but not
+ both at the same time. Thanks to Kees van Marle
+ <kvmarle at remedy dot nl> for testing qt4
+
+Fri Jul 25 14:13:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/QtReactor/QtReactor.cpp:
+ * ace/QtReactor/QtReactor.h:
+ Improved qt4 support
+
+Fri Jul 25 14:09:13 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ace_qt3.mpb
+ * bin/MakeProjectCreator/config/ace_qt4.mpb
+ * bin/MakeProjectCreator/config/global.features:
+ Set qt3 and qt4 default to 0. qt4 has different libs
+ that we need to link with but also the qglobal.h is
+ located on a different location, so added ACE_HAS_QT4
+ which is then used to select which qglobal.h we include.
+
+ * bin/MakeProjectCreator/config/ace_qtreactor.mpb:
+ This is for qt3 so derive from ace_qt3
+
+Thu Jul 24 19:04:13 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Containers_T.h: Improved documentation for ACE_DLList, noting
+ especially that T pointers inserted into the list are not deleted
+ when removed. Thank you to Bob Fiske for this improvement and sample
+ code to illustrate.
+
+ * THANKS: Added Bob Fiske.
+
+Thu Jul 24 12:50:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ This shell script runs the perl diff-builds.pl script between
+ the date given as the first parameter and the current utc date.
+ The output is tidied up and any !FIXED_BUGS_ONLY bugs are
+ removed before being grouped and the failed tests counted.
+
+Thu Jul 24 08:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Added config item !FIXED_BUGS_ONLY to tests that highlight
+ problems that have not yet been fixed. Please remove this
+ config item once the bugs have actually been fixed, and
+ include this config item with any newly added tests in the
+ future that fall into this category.
+
+Wed Jul 23 13:30:28 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/PerlACE/Process_Win32.pm:
+ Allow named .bat files for windows.
+
+Wed Jul 23 13:08:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_doxygen.pl:
+ * etc/tao_ziop.doxygen:
+ * html/index.html:
+ Added TAO ZIOP to the documentation
+
+Wed Jul 23 10:51:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.h:
+ Doxygen change
+
+ * ace/Select_Reactor_T.cpp:
+ * ace/Select_Reactor_T.h:
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h:
+ mask_signals should be a bool like in the base class
+
+Wed Jul 23 08:11:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Use reentrant get_host_addr. This fixes bugzilla 3368. Thanks to
+ Yongming Wang <wangym at gmail dot com> for reporting this
+
+Tue Jul 22 15:02:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/group_test_stats.sh:
+ Reverse and sort numerically so that highest number of
+ failures are listed first.
+
+Tue Jul 22 13:09:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added ZIOP test
+
+Tue Jul 22 11:52:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't convert line ending for pdf files
+
+Tue Jul 22 09:55:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ bzip2 is default disabled
+
+Tue Jul 22 07:36:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Stream.{h,cpp,inl}:
+ Added setting for alignment which is needed for ZIOP where we want
+ to place back the wr_ptr to a previous location. Few const and layout
+ changes
+
+Mon Jul 21 13:09:28 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Run nslist tests under vxworks
+
+Sat Jul 19 19:58:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macosx-tiger.h:
+ Make sure we set the correct ACE_SIZEOF_LONG_DOUBLE value. Thanks
+ to Frank F�rster <F dot Forster at herts dot ac dot uk> for reporting this
+
+Thu Jul 17 20:24:11 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_sys_socket.inl (recvfrom): For Pharlap ETS, correct for
+ a situation where recvfrom() returns a good address but an
+ unexpectedly short length.
+
+Tue Jul 15 17:29:22 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
+ * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
+ * examples/Monitor/Constraint/constraint.cpp:
+ * examples/Monitor/CPU_Load/cpu_load.cpp:
+ * examples/Monitor/Num_Threads/num_threads.cpp:
+ * examples/Monitor/Group/group.cpp:
+ * examples/Monitor/Memory_Usage/memory_usage.cpp:
+
+ Changes corresponding to the relocation in
+
+ Tue Jul 15 17:19:14 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Tue Jul 15 17:19:14 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Size.cpp:
+ * ace/Monitor_Control_Types.cpp:
+ * ace/Monitor_Control_Types.h:
+ * ace/Monitor_Base.cpp:
+ * ace/Monitor_Base.h:
+ * ace/Monitor_Base.inl:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Monitor_Group.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Monitor_Query.cpp:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ Relocated the statistics-related values from
+ Monitor_Base to Monitor_Control_Types. Also
+ inlined the information type accessor, the
+ constraint list accessor and the refcounting
+ methods.
+
+Tue Jul 15 01:27:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Added pragma comment for iphlpapi.lib. Thanks to Yongming Wang
+ <wangym at gmail dot com> for reporting this
+
+Mon Jul 14 12:50:34 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * NEWS:
+
+ Added an entry for my change from Mon Jun 30 12:41:00 UTC 2008.
+
+Mon Jul 14 12:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Message_Queue_T.cpp:
+
+ Correct void function dump returns from previous commit of:
+ Fri Jul 11 08:06:40 UTC 2008 James H. Hill
+
+Sat Jul 12 12:59:19 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-borland-common.h:
+ Removed BCB4 support
+
+ * ace/ACE.cpp:
+ Const/layout changes
+
+ * ace/Configuration.h:
+ Doxygen changes
+
+ * ace/Monitor_Base.cpp (retrieve_and_clear):
+ Use clear_i to prevent deadlocks
+
+ * ace/SOCK_IO.cpp:
+ Const changes
+
+ * ace/Strategies_T.cpp:
+ layout changes
+
+Fri Jul 11 23:48:19 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't exclude the mwc files for vc8. Thanks to Michael Guntli
+ <michael dot guntli at leica-geosystems dot com> for reporting
+ this. This fixes bugzilla 3364
+
+Fri Jul 11 14:41:19 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * NEWS:
+
+ Updated the NEW file to reflect previous ChangeLog entry.
+
+Fri Jul 11 08:06:40 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/Message_Queue_T.h:
+ * ace/Message_Queue_T.cpp:
+
+ Implemented the iterator and reverse iterator for the
+ ACE_Message_Queue_Ex class.
+
+Wed Jul 9 21:20:13 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/README:
+ Added basic rpmbuild instructions.
+
+Wed Jul 9 19:07:24 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Reactor_Dispatch_Order_Test.cpp: Reversed this change:
+ Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ which disabled testing for ACE_Dev_Poll_Reactor. Let's see what the
+ issues are then address and/or disable as needed.
+ Also fixed a cut/paste error.
+
+Wed Jul 9 18:37:57 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Reference_Counted_Event_Handler_Test.cpp: Enabled test for
+ Winsock 2 systems; previously only ran the ACE_WFMO_Reactor-based
+ test for non-Winsock 2 systems, where it is not supported.
+
+Wed Jul 9 17:45:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_NON_BLOCKING_CONNECTS.
+
+ * tests/MT_SOCK_Test.cpp:
+
+ Remove use of ACE_HAS_NON_BLOCKING_CONNECTS feature test macro.
+ It was removed since ACE no longer supports any systems that
+ required it.
+
+Wed Jul 9 16:09:30 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Remove feature test and autoheader template for
+ ACE_LACKS_WILDCARD_BIND.
+
+ * ace/Sock_Connect.cpp:
+
+ Remove use of ACE_LACKS_WILDCARD_BIND feature test macro.
+
+ * ace/README:
+
+ Remove ACE_LACKS_WILDCARD_BIND from the list of feature test
+ macros. It was removed since ACE no longer supports any systems
+ that required it.
+
+Wed Jul 9 16:02:32 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed ACE_HAS_SIGVAL_SIGVAL_INT and ACE_HAS_SIGVAL_SIGVAL_PTR
+ feature tests to use "union sigval" instead of "sigval_t". The
+ former is what ACE uses; while the latter is a common extension,
+ it is not in the XPG3 specification. Thanks to Olli Savia.
+
+Wed Jul 9 14:23:00 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/README:
+
+ Remove ACE_HAS_TEMPLATE_SPECIALIZATION from list of feature
+ test macros.
+
+Wed Jul 9 14:18:26 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_DLFCN_H_BROKEN_EXTERN_C.
+
+ * ace/os_include/os_dlfcn.h:
+
+ Remove use of ACE_HAS_DLFCN_H_BROKEN_EXTERN_C feature test
+ macro.
+
+ * ace/README:
+
+ Remove ACE_HAS_DLFCN_H_BROKEN_EXTERN_C from the list of feature
+ test macros. It was removed since ACE no longer supports any
+ systems that required it.
+
+Wed Jul 9 09:20:03 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.h:
+ * ace/TTY_IO.cpp:
+ Removed deprecated 'parityenb' member from ACE_TTY_IO::Serial_Params
+ structure.
+
+ * NEWS:
+ Added a note about change above.
+
+Tue Jul 8 21:53:31 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Service_Manager.cpp (process_request): Ensure that requests
+ are processed using the global context, rather than the current
+ one. Thanks to Michael Doubez <michael dot doubez at gmail dot
+ com> for suggesting this fix.
+
+Tue Jul 8 16:44:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_BROKEN_HPUX_TEMPLATES.
+
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.h:
+
+ Remove use of ACE_HAS_BROKEN_HPUX_TEMPLATES feature test macro.
+
+ * ace/README:
+
+ Remove ACE_HAS_BROKEN_HPUX_TEMPLATES from the list of feature
+ test macros. It was removed since ACE no longer supports any
+ systems that required it.
+
+Tue Jul 8 16:41:26 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/WIN32_Asynch_IO.cpp (ACE_WIN32_Asynch_Write_Stream::write): For
+ Winsock 2-capable platforms, use WSASend() instead of WriteFile().
+ The former performs an order of magnitude faster. Thanks to
+ Namrata Gandhi for running the Win32 native performance tests.
+
+Tue Jul 8 16:35:57 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Remove feature test and autoheader template for
+ ACE_NEEDS_REGEXPR_H. It is no longer used by ACE.
+
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+
+ Remove the ACE_NEEDS_REGEXPR_H feature test macro definition.
+ It is no longer used by ACE.
+
+Tue Jul 8 16:06:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * NEWS:
+
+ Document new --enable-rcsid option for autoconf build.
+
+ * m4/ace.m4:
+ * m4/config_h.m4:
+ * m4/platform.m4:
+
+ Add support of a new --enable-rcsid option for the autoconf
+ build. Previously, compiling RCS IDs into object files was
+ tightly coupled with the --enable-debug option and was always
+ disabled for certain operating systems. A separate option allows
+ the user to select this behavior independently.
+
+Tue Jul 8 14:41:08 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Reference_Counted_Event_Handler_Test.cpp: Fixed test cases
+ that I accidentally reversed in
+ Fri Jul 4 20:11:02 UTC 2008 Steve Huston <shuston@riverace.com>
+
+Tue Jul 08 06:44:09 MST 2008 Trevor Fields <fields_t@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Added waitforfileoutput and waitforfileoutput_timed
+ methods that wait for output to appear in a file.
+
+Sun Jul 6 19:47:27 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ Added idl and pidl include files to tao-devel package.
+
+Sun Jul 6 18:28:58 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ * rpmbuild/ace-tao-orbsvcs-daemon.patch:
+ * rpmbuild/ace-tao-config.patch:
+ Updated for latest DOC Group release (x.6.6).
+ Tracked libACE_Monitor_Control name change.
+ Fixed broken patches.
+
+Fri Jul 4 20:11:02 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/config-macros.h: Don't set ACE_HAS_PROCESS_SPAWN for
+ ACE_HAS_PHARLAP - there's only one process available.
+
+ * ace/Recursive_Thread_Mutex.cpp (get_nesting_level): Add Pharlap ETS
+ to those platforms without access to the recursion count on a
+ recursive mutex.
+
+ * tests/run_test.lst: Disable Sendfile_Test on LABVIEW_RT - it lacks
+ sendfile support.
+
+ * tests/Reference_Counted_Event_Handler_Test.cpp: Replaced ACE_ASSERT
+ with ACE_ERROR; surrounded naked strings with ACE_TEXT; added a test
+ option for using ACE_Dev_Poll_Reactor where available.
+
+ * tests/Service_Config_Test.cpp: Replaced ACE_ASSERT with ACE_ERROR.
+
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp:
+ * tests/Thread_Pool_Reactor_Test.cpp: Add ACE_HAS_PHARLAP to those
+ platforms that need to scale back the max number of connections
+ due to limited capacity.
+
+Thu Jul 3 21:42:54 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed the feature test used for the existance of the sigval_t
+ type not to define ACE_LACKS_SIGVAL_T if it does not exist.
+
+ However, it is still needed to set the ac_cv_type_sigval_t shell
+ variable, which is used to decide whether to perform the
+ ACE_HAS_SIGVAL_SIGVAL_INT and ACE_HAS_SIGVAL_SIGVAL_PTR feature
+ tests.
+
+ This fixes (the newly reopened) bugzilla #2794. Thanks to Olli
+ Savi for suggesting taking another look.
+
+Thu Jul 3 16:38:35 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Added the use of 'postclean' to be used during the realclean
+ target.
+
+Wed Jul 2 18:30:15 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Base.cpp (clear_i):
+
+ Added resize of string array (if applicable) to 0.
+
+ * ace/Monitor_Control/CPU_Load_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.h:
+ * ace/Monitor_Control/Num_Threads_Monitor.h:
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ Finished implementation of clear_i() method for all
+ platforms.
+
+Wed Jul 2 12:45:53 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Updated the COPYING file to make it consistent with what's on the website.
+
+Wed Jul 02 12:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
+
+ ACE_TEXT () and ACE_TEXT_ALWAYS_CHAR () required here.
+
+Wed Jul 02 12:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Framework_Component.cpp:
+
+ Annoying text constant problem in a build. No need for ACE_TEXT()
+ here.
+
+Wed Jul 2 11:51:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Makefile.am:
+
+ Added the Process_Env_Test.
+
+Wed Jul 02 11:40:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Process_Env_Test.cpp:
+
+ Annoyingly the ACE_RCSID() macro provides it's own ;
+ This fixes the "Process_Env_Test.cpp:23: error: extra ';'" error.
+
+Tue Jul 1 22:47:17 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.{h cpp}: Can't define or use the new convert_env_buffer()
+ method unless ACE_HAS_WCHAR is defined. This extra check is needed
+ for LabVIEW RT / Pharlap ETS because it purports to be Win32 but
+ does not have wide-char support.
+
+Tue Jul 1 14:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/PythonACE/fuzz/check_no_tabs.py:
+
+ Attempt to provide tabs check.
+
+Tue Jul 1 12:29:34 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ Cosmetic changes.
+
+Mon Jun 30 16:50:05 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Process.h:
+
+ Fixed a misplaced bit of code.
+
+Mon Jun 30 12:41:00 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Process.h:
+ * ace/Process.cpp:
+
+ Added an option to ACE_Process_Options to use a wchar_t environment
+ buffer instead of char. This is useful only on Windows with
+ ACE_USES_WCHAR undefined. The benefit of using a wchar_t
+ environment buffer is that it is not limited to 32kb as a char
+ environment buffer is.
+
+ In ACE_Process::spawn(), convert the char environment buffer to a
+ wchar_t environment buffer if specified to do so in the process
+ options.
+
+ * tests/Process_Env_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Added a test for the above feature.
+
+Fri Jun 27 18:04:52 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/rules.local.GNU: Removed the first setting of
+ CLEANUP_OBJS by itself - it was a duplicate of what's done in
+ CLEANUP_BIN's case, but with possibly an incorrect objext. Prevents
+ a main executable's object file from being deleted twice and ensures
+ only valid object file extension is used. Thanks to Howard Finer
+ for pointing this out.
+
+Fri Jun 27 16:08:27 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/rules.local.GNU: Add $(VOBJS) to CLEANUP_OBJS to
+ be sure all objects that go into a binary are cleaned up.
+
+Fri Jun 27 15:35:58 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Changed TAO_IDLFLAGS to Rename executable from gperf to
+ ace_gperf.
+
+Fri Jun 27 14:58:17 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
+
+ Changed ACE_CString member to ACE_TString, to accommodate
+ wchar builds.
+
+Thu Jun 26 20:41:20 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Profile_Timer.cpp:
+
+ Explictly #include "ace/OS_NS_fcntl.h" and "ace/OS_NS_unistd.h"
+ if ACE_HAS_PRUSAGE_T is defined. These headers are implicitly
+ #included with inline builds, but are required for builds
+ where inline has been disabled.
+
+Thu Jun 26 13:13:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control_Types.h:
+ * ace/Monitor_Base.cpp:
+ * ace/Monitor_Base.h:
+ * ace/Monitor_Control/Monitor_Group.h:
+ * ace/Monitor_Control/Monitor_Group.cpp:
+
+ Restored support for string data type in
+ monitor storage, by moving data types,
+ members and methods from their original
+ location in an earlier version of the
+ Notification Service monitor classes,
+ to the appropriate locations in ACE.
+
+Thu Jun 26 02:45:21 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * THANKS: added Ittehad Shaikh
+
+Wed Jun 25 15:05:29 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * apps/gperf/src/Makefile.am:
+
+ Rename executable from gperf to ace_gperf.
+
+Wed Jun 25 14:59:13 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * apps/gperf/tests/Makefile.am:
+
+ Re-tabify.
+
+Wed Jun 25 14:09:52 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-config.patch
+ Removed ACE_GPERF
+
+ * rpmbuild/ace-tao.spec:
+ Document changes
+
+ * rpmbuild/ace-tao-gperf-info.patch:
+ Removed, not needed anymore
+
+Wed Jun 25 13:29:13 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_NETBSD_MSYNC.
+
+ * ace/OS_NS_sys_mman.inl:
+
+ Remove the use of the ACE_HAS_BROKEN_NETBSD_MSYNC feature test
+ macro. It was removed since ACE no longer supports the systems
+ that required it.
+
+Wed Jun 25 11:23:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+
+ Tue Jun 24 11:46:41 UTC 2008 Jeff Parsons committed
+ Miss-cased ACE_TEXT.
+
+Wed Jun 25 10:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Enhance ACE_TMAIN and ORB_init checks for /* .. */ comments.
+
+Wed Jun 25 06:58:52 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/gperf.1:
+ * apps/gperf/gperf.info:
+ * apps/gperf/gperf.mpc:
+ * apps/gperf/gperf.texi:
+ * apps/gperf/ace_gperf.1:
+ * apps/gperf/ace_gperf.info:
+ * apps/gperf/ace_gperf.mpc:
+ * apps/gperf/ace_gperf.texi:
+ * apps/gperf/gperf/src/gperf.mpc:
+ * apps/gperf/gperf/tests/gperf_test.mpb:
+ * apps/gperf/gperf/tests/Makefile.am:
+ Renamed gperf to ace_gperf to make sure we always get the gperf
+ from ace, fedora also has a regular gperf package
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Updated for gperf rename
+
+ * rpmbuild/ace-tao.spec:
+ Removed gperf rename which only was done in the rpm package.
+ This fixes bugzilla 3342
+
+Wed Jun 25 05:59:52 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * include/makeinclude/platform_netbsd.GNU:
+
+ Conditionally set no_hidden_visibility to 1.
+
+Tue Jun 24 13:52:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/tests.mpc:
+
+ Remove ACE_TMAIN from this test and stop it building on
+ wide systems (as per original test). The test can not use
+ ace directly.
+
+Tue Jun 24 13:30:31 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/CDR_Stream.h: For ACE_OutputCDR, note that attempting to set a
+ specific byte order requires ACE_ENABLE_SWAP_ON_WRITE to have any
+ affect. Thanks to Howard Finer for pointing this out.
+
+Tue Jun 24 11:46:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ For Solaris and *BSD WChar builds, ACE_TEXT-ified the argument
+ in the call to the platform-specific base class
+ constructor.
+
+Tue Jun 24 11:02:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Svc_Conf_Token_Table.h:
+
+ commit generated 3rd file.
+ Fix the dependancies for FC6_Compact_NoInline build.
+
+Tue Jun 24 09:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/tests.mpc:
+
+ Manually add the ACE_TMAIN code to this test.
+
+Tue Jun 24 00:03:27 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
+
+ Changed to fetch current value in constructor, and subtract
+ that from subsequent values in each update() call.
+
+Mon Jun 23 15:28:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Svc_Conf_y.cpp:
+
+ Fix fuzz errors incorrect ACE_TMAIN/main use; commit generated 2nd.
+
+Mon Jun 23 15:27:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Svc_Conf.y:
+
+ Fix fuzz errors incorrect ACE_TMAIN/main use; commit source 1st.
+
+Mon Jun 23 13:51:23 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Windows_Monitor.h:
+
+ Changed class member type from ACE_CString to ACE_TString
+ to accomondate Unicode builds.
+
+ * ace/Monitor_Control/Windows_Monitor.cpp:
+
+ Removed incorrect use of ACE_TEXT wrapper on a non-literal.
+
+Mon Jun 23 12:34:35 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added the new Notify Timeout test.
+
+Mon Jun 23 12:09:26 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * examples/C++NPv2/display_logfile.cpp: Divided an ACE_TCHAR
+ string by sizeof (ACE_TCHAR) to get the appropriate size.
+ Thanks to J.T. <jtc at acorntoolworks dot com> for reporting
+ this.
+
+Mon Jun 23 11:12:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Svc_Conf_y.cpp:
+ * bin/LabVIEW_RT/labview_test_controller/test.cpp:
+ * ASNMP/examples/trap/trap.cpp:
+ * ASNMP/examples/get/get.cpp:
+ * ASNMP/examples/get/get_async.cpp:
+ * ASNMP/examples/set/set.cpp:
+ * ASNMP/examples/next/next.cpp:
+ * ASNMP/examples/walk/walk.cpp:
+ * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
+ * performance-tests/RPC/client.cpp:
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Fix fuzz errors incorrect ACE_TMAIN/main use.
+
+Sun Jun 22 17:23:08 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+
+ Fix to clear_i() implementation for these monitors that
+ compiled only on Windows.
+
+Fri Jun 20 20:40:50 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Size.cpp:
+ * ace/Monitor_Base.cpp:
+ * ace/Monitor_Base.h:
+
+ Moved stats features from the Notification Service monitor
+ class to the ACE base class.
+
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/CPU_Load_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Windows_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.h:
+ * ace/Monitor_Control/Monitor_Group.h:
+ * ace/Monitor_Control/Null_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Num_Threads_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Windows_Monitor.cpp:
+ * ace/Monitor_Control/Monitor_Group.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.h:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Null_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ Implemented overrides of clear_i() for all the OS
+ monitors.
+
+Fri Jun 20 20:25:12 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/README: Edited to reflect the change in process for
+ referring to test components. Components are now referred to with
+ numbers instead of names.
+
+ * bin/PerlACE/TestTarget.pm: In create_target(), warn if the component
+ is not a number.
+
+ * bin/PerlACE/ProcessLVRT.pm: Don't try to close an undefined Telnet.
+
+ * bin/tao_orb_tests.lst: Removed the LabVIEW_RT disabling on
+ Bug_2702_Regression, Oneway_Send_Timeouts, and Abstract_Interface.
+
+ * tests/run_test.pl: Changed the target component from "ace" to 1 per
+ new component referring convention.
+
+Fri Jun 20 18:40:10 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Removed references to HostProcess and TargetProcess.
+
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+
+ Added a new test target for VxWorks. It currently has no reboot
+ related functionality.
+
+ * bin/PerlACE/TestTarget_LVRT.pm:
+
+ Added the ability to accept multiple files for the DeleteFile
+ method as unlink does.
+
+ * bin/PerlACE/HostProcess.pm:
+ * bin/PerlACE/TargetProcess.pm:
+
+ Removed these files.
+
+Fri Jun 20 15:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Small bug in white space compaction.
+
+Fri Jun 20 14:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Enhance ACE_TMAIN check for multi-line detection and remove
+ detection level for this check.
+
+Fri Jun 20 12:09:53 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp:
+ * examples/IPC_SAP/SSL_SAP/SSL-client.cpp:
+
+ Added static_cast's to avoid warnings from vc8.
+
+Thu Jun 19 16:21:07 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/CDR_Base.h:
+ * ace/CDR_Stream.h: Added a enum to ACE_CDR with the values for
+ byte ordering specifier. Moved the setting of ACE_CDR_BYTE_ORDER
+ from CDR_Stream.h to CDR_Base.h so it can be used in the enum.
+ These make it easier for users to figure out what to do when they
+ want to force a specific byte ordering.
+ Also did a little more doxygen cleanup.
+
+Thu Jun 19 15:11:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Enable ORB_init() 3rd parameter null string check.
+
+Thu Jun 19 14:11:04 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+
+ Explicitly #include <sys/ioctl.h> and <net/if.h> for non-inline
+ builds.
+
+Wed Jun 18 17:36:34 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Moved pragma disable warning directives from inside of function to
+ outside to take effect.
+
+Wed Jun 18 17:27:51 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/CDR_Stream.h: Some doxygen improvements.
+
+Wed Jun 18 15:36:11 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added new run_test scripts for the special variants of the TAO
+ POA EndpointPolicy test.
+
+Wed Jun 18 13:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Redo check for wide character incompatabilty ORB_init() miss-use.
+ Caters for multi-line ORB_init.
+
+Wed Jun 18 12:16:48 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Increase the process start wait time for QNX.
+
+Wed Jun 18 10:43:20 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Don't use deprecated options
+
+Wed Jun 18 09:50:20 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * README:
+ * ACE-INSTALL.html:
+ Updated
+
+Tue Jun 17 22:43:20 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Reactor.h: Clarify that calling remove_handler() for a signal
+ handler does not invoke the handler's handle_close() callback. Also
+ note that this behavior is under debate in Bugzilla #2368. Thanks to
+ Bill Kendall <wkendall at sgi dot com> for calling this to attention.
+
+ * THANKS: Added Bill Kendall.
+
+Tue Jun 17 15:36:49 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Disabled warning C4706 in load_dbghelp_library_if_needed()
+ and enabled afterwards on windows.
+
+Tue Jun 17 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/fuzz.pl:
+
+ Add check for wide character incompatabilty ORB_init() miss-use.
+
+Tue Jun 17 12:40:03 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+
+ Explicitly #include <sys/sockio.h> for non-inline builds.
+
+Tue Jun 17 09:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * apps/JAWS/clients/WebSTONE/src/bench.c:
+ * apps/JAWS/clients/WebSTONE/src/errexit.c:
+ * apps/JAWS/clients/WebSTONE/src/genrand.c:
+ * apps/JAWS/clients/WebSTONE/src/timefunc.c:
+ * apps/JAWS/clients/WebSTONE/src/webclient.c:
+ * apps/JAWS/clients/WebSTONE/src/webmaster.c:
+
+ Fuzz errors, Untabify.
+
+Tue Jun 17 08:13:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * include/make_include/platform_sunos5_common.GNU:
+
+ Changed default "kstat ?= 1" at Johnny Willemsens request.
+
+Tue Jun 17 06:42:51 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Fixed declared method (determine_starting_frame) never referenced
+ warning on HP aCC build.
+
+Mon Jun 16 21:26:05 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/fuzz.pl:
+
+ Enable check_for_tab for all files in the repository.
+
+Mon Jun 16 21:22:03 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * apps/JAWS/clients/Caching/Local_Locator.cpp:
+ * apps/JAWS/clients/WebSTONE/src/bench.c:
+ * apps/JAWS/clients/WebSTONE/src/errexit.c:
+ * apps/JAWS/clients/WebSTONE/src/genrand.c:
+ * apps/JAWS/clients/WebSTONE/src/get.c:
+ * apps/JAWS/clients/WebSTONE/src/gettimeofday.c:
+ * apps/JAWS/clients/WebSTONE/src/parse_file_list.c:
+ * apps/JAWS/clients/WebSTONE/src/rexec.c:
+ * apps/JAWS/clients/WebSTONE/src/statistics.c:
+ * apps/JAWS/clients/WebSTONE/src/sysdep.c:
+ * apps/JAWS/clients/WebSTONE/src/timefunc.c:
+ * apps/drwho/Hash_Table.cpp:
+
+ Untabify.
+
+Mon Jun 16 20:24:45 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * apps/Gateway/Gateway/Connection_Handler.cpp:
+ * apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp:
+ * apps/Gateway/Peer/Options.cpp:
+ * apps/JAWS/clients/Blobby/Options.cpp:
+ * apps/JAWS/clients/Blobby/blobby.cpp:
+ * apps/JAWS/clients/Caching/ID_Generator.cpp:
+ * apps/JAWS/clients/Caching/Local_Locator.cpp:
+ * apps/JAWS/clients/Caching/Locator_Request_Reply.cpp:
+ * apps/JAWS/clients/Caching/URL_Properties.inl:
+ * apps/JAWS/clients/WebSTONE/src/bench.c:
+ * apps/JAWS/clients/WebSTONE/src/cgi-send.c:
+ * apps/JAWS/clients/WebSTONE/src/get.c:
+ * apps/JAWS/clients/WebSTONE/src/getopt.c:
+ * apps/JAWS/clients/WebSTONE/src/nsapi-send.c:
+ * apps/JAWS/server/HTTP_Config.cpp:
+ * apps/JAWS/server/HTTP_Handler.cpp:
+ * apps/JAWS/server/HTTP_Helpers.cpp:
+ * apps/JAWS/server/HTTP_Response.cpp:
+ * apps/JAWS/server/HTTP_Server.h:
+ * apps/JAWS/server/HTTP_Server.cpp:
+ * apps/JAWS/stress_testing/benchd.cpp:
+ * apps/JAWS/stress_testing/connection.cpp:
+ * apps/JAWS/stress_testing/http_tester.cpp:
+ * apps/JAWS2/JAWS/Cache_Hash_T.h:
+ * apps/JAWS2/JAWS/Hash_Bucket_T.h:
+ * apps/drwho/File_Manager.cpp:
+ * apps/drwho/Hash_Table.cpp:
+ * apps/drwho/PMC_All.cpp:
+ * apps/drwho/PMC_Flo.cpp:
+ * apps/drwho/PMC_Ruser.cpp:
+ * apps/drwho/PMC_Usr.cpp:
+ * apps/drwho/PMS_Ruser.cpp:
+ * apps/drwho/PM_Client.cpp:
+ * apps/drwho/Rwho_DB_Manager.cpp:
+ * apps/gperf/src/Gen_Perf.cpp:
+
+ Untabify.
+
+Mon Jun 16 19:06:38 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-borland-common.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-mvs.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-msvc.h:
+
+ Fixes for MCPP preprocessing on Windows.
+
+Mon Jun 16 19:06:44 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Acceptor.cpp:
+ * ace/Connector.cpp:
+ * ace/Strategies_T.cpp:
+
+ Use the NORMAL_CLOSE_OPERATION enum value when closing the service
+ handler during activation.
+
+Mon Jun 16 18:33:34 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
+ * examples/OS/Process/imore.cpp:
+ * examples/Reactor/Proactor/test_proactor3.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp:
+
+ Untabify.
+
+Mon Jun 16 18:00:26 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * ASNMP/examples/get/get.cpp:
+ * ASNMP/examples/get/get_async.cpp:
+ * ASNMP/examples/next/next.cpp:
+ * ASNMP/examples/set/set.cpp:
+
+ Untabify.
+
+Mon Jun 16 17:53:00 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp:
+ * examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp:
+ * examples/IPC_SAP/TLI_SAP/db-client.cpp:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.h:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.h:
+ * examples/Log_Msg/Log_Msg_MFC/StdAfx.h:
+ * examples/Log_Msg/Log_Msg_MFC/StdAfx.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.inl:
+
+ Untabify.
+
+Mon Jun 16 17:27:36 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/TargetProcess.pm:
+
+ Remove the "use" of PerlACE::ProcessVX. It is already used in
+ PerlACE::Process and using it in this module causes things to be
+ evaluated incorrectly with respect to @ARGV.
+
+Mon Jun 16 17:01:19 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/fuzz.pl:
+
+ Enable check_for_tab check for ACE_ROOT/examples
+
+Mon Jun 16 16:54:25 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * examples/APG/Logging/Callback-2.h:
+ * examples/APG/Logging/Callback-3.h:
+ * examples/APG/Logging/Use_Logger.cpp:
+ * examples/APG/Threads/Message_Queue.cpp:
+ * examples/APG/Timers/CB.h:
+ * examples/APG/Timers/PCB.cpp:
+ * examples/ASX/CCM_App/SC_Server.cpp:
+ * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
+ * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp:
+ * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
+ * examples/ASX/Message_Queue/bounded_buffer.cpp:
+ * examples/ASX/Message_Queue/priority_buffer.cpp:
+ * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
+ * examples/Bounded_Packet_Relay/BPR_Drivers.cpp:
+ * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.cpp:
+ * examples/Bounded_Packet_Relay/bpr_thread.cpp:
+ * examples/C++NPv2/display_logfile.cpp:
+ * examples/Connection/misc/Connection_Handler.h:
+ * examples/IPC_SAP/ATM_SAP/CPP-client.cpp:
+ * examples/IPC_SAP/ATM_SAP/CPP-server.cpp:
+ * examples/IPC_SAP/DEV_SAP/writer/writer.cpp:
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp:
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
+ * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp:
+ * examples/IPC_SAP/FILE_SAP/client.cpp:
+ * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
+ * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp:
+ * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp:
+ * examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp:
+ * examples/IPC_SAP/TLI_SAP/CPP-ATM-client.cpp:
+ * examples/IPC_SAP/TLI_SAP/CPP-ATM-server.cpp:
+ * examples/IPC_SAP/TLI_SAP/CPP-client.cpp:
+ * examples/IPC_SAP/TLI_SAP/CPP-server.cpp:
+ * examples/IPC_SAP/TLI_SAP/db-client.cpp:
+ * examples/IPC_SAP/TLI_SAP/ftp-client.cpp:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.h:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.cpp:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.h:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFCDlg.cpp:
+ * examples/Logger/Acceptor-server/server_loggerd.h:
+ * examples/Logger/Acceptor-server/server_loggerd.cpp:
+ * examples/Logger/simple-server/Logging_Handler.cpp:
+ * examples/Logger/simple-server/server_loggerd.cpp:
+ * examples/Mem_Map/IO-tests/test_io.cpp:
+ * examples/Misc/test_get_opt.cpp:
+ * examples/Misc/test_profile_timer.cpp:
+ * examples/OS/Process/imore.cpp:
+ * examples/QOS/Change_Receiver_FlowSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/Reactor/FIFO/client.cpp:
+ * examples/Reactor/FIFO/server.cpp:
+ * examples/Reactor/Misc/notification.cpp:
+ * examples/Reactor/Misc/test_signals_1.cpp:
+ * examples/Reactor/Misc/test_signals_2.cpp:
+ * examples/Reactor/Ntalker/ntalker.cpp:
+ * examples/Reactor/Proactor/test_cancel.h:
+ * examples/Reactor/Proactor/test_cancel.cpp:
+ * examples/Reactor/Proactor/test_multiple_loops.cpp:
+ * examples/Reactor/Proactor/test_proactor3.cpp:
+ * examples/Reactor/Proactor/test_timeout.cpp:
+ * examples/Reactor/Proactor/test_timeout_st.cpp:
+ * examples/Registry/test_registry_update.cpp:
+ * examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.inl:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ * examples/Service_Configurator/Misc/Timer_Service.cpp:
+ * examples/Shared_Memory/test_SV.cpp:
+ * examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp:
+ * examples/Threads/recursive_mutex.cpp:
+ * examples/Threads/task_one.cpp:
+ * examples/Threads/thread_manager.cpp:
+ * examples/Threads/token.cpp:
+
+ Untabify.
+
+Mon Jun 16 16:04:40 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/TestTarget.pm: When getting the exe subdir for a
+ target, pick up the command line setting if the "default" target
+ is in use. This should fix the broken exesubdir TAO builds.
+
+Mon Jun 16 15:45:45 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Null_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Null_Network_Interface_Monitor.h:
+
+ New files, defining a base class for tne network interface OS
+ monitors when the monitor framework itself is enabled but no
+ platform-specific OS monitor flags are defined, whether because
+ the platform itself does not support native system-level
+ monitoring, or because the Linux, Windows or Solaris OS
+ monitor flags has been turned off for some reason.
+
+ * ace/Monitor_Control/Monitor_Control.mpc:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+
+ Incorporated the new no-op network interface monitor base class
+ into the existing network interface monitor classes. If this
+ new base class is used, the monitor's value will always be 0,
+ and its update() method will be a no-op.
+
+Mon Jun 16 12:12:16 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/config-sunos5.5.h:
+
+ Reverted addition of ACE_HAS_KSTAT flag in
+
+ Fri Jun 13 14:00:00 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ Thanks to Johnny Willemsen <jwillemsen@remedy.nl>, we now
+ know that the correct way to do this is to set kstat=1
+ in platform_macros.GNU.
+
+Mon Jun 16 11:28:11 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/fuzz.pl:
+
+ Enable check_for_tab check for TAO/tests/examples and TAO/performance-tests
+
+Mon Jun 16 10:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Max_Default_Port_Test.cpp:
+
+ Un-tabify.
+
+Mon Jun 16 10:20:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Moinitor.cpp:
+
+ Correct Fuzz errors (removed NULL).
+
+Mon Jun 16 01:01:27 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/fuzz.pl:
+
+ Enable check_for_tab check for TAO/tests
+
+Sun Jun 15 16:03:29 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/fuzz.pl:
+
+ Enable check_for_tab check for TAO/orbsvcs
+
+Sun Jun 15 13:23:13 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Added ACE_LACKS_STRRECVFD when no streams are available (like fc9)
+
+ * rpmbuild/ace-tao-strrecvfd.patch:
+ Deleted
+
+ * rpmbuild/ace-tao.spec:
+ Patch 6 is not needed anymore
+
+ * ace/Strategies_T.h:
+ Doxygen change
+
+Sun Jun 15 03:08:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Monitor_Control/Monitor_Control.mpc:
+
+ Add BSD_Network_Interface_Monitor.cpp to Source_Files section.
+
+Fri Jun 13 14:50:28 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ Add BSD_Network_Interface_Monitor.cpp and
+
+ untab-ified to remove fuzz errors.
+
+Fri Jun 13 14:45:28 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
+
+ Removed unused local variable.
+
+Fri Jun 13 14:31:35 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Stack_Trace.cpp (Solaris section):
+
+ Yesterday's addition of support for 64-bit SPARC broke on x86.
+
+Fri Jun 13 14:00:00 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/config-sunos5.5.h:
+
+ Added #define of ACE_HAS_KSTAT, used by the OS monitors in
+ ace/Monitor_Control on Solaris platforms to guard the
+ visibility of Solaris-specific code and base classes.
+
+Fri Jun 13 13:40:39 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Monitor_Control/Makefile.am:
+
+ Add BSD_Network_Interface_Monitor.cpp and
+ Solaris_Network_Interface_Monitor.cpp to Headers_File section.
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+
+ Inherit from BSD_Network_Interface_Monitor on FreeBSD,
+ NetBSD, and OpenBSD systems.
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
+
+ New files, network interface monitor for systems with 4.4BSD
+ derived network stack.
+
+Fri Jun 13 13:24:11 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ Added '|| defined (AIX)' to every occurrence of
+ '#if defined (linux)' to eliminate build errors on the
+ latter platform.
+
+Thu Jun 12 21:57:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Remove feature test for ACE_HAS_TEMPLATE_SPECIALIZATION.
+
+ * ace/config-borland-common.h:
+ * ace/config-cray.h:
+ * ace/config-cxx-common.h:
+ * ace/config-g++-common.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-icc-common.h:
+ * ace/config-integritySCA.h:
+ * ace/config-irix6.x-sgic++.h:
+ * ace/config-mvs.h:
+ * ace/config-openvms.h:
+ * ace/config-suncc-common.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-sunos5.6.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/config-tru64.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-msvc-9.h:
+ * ace/config-win32-msvc-7.h:
+
+ Remove unused #define of ACE_HAS_TEMPLATE_SPECIALIZATION. This
+ feature test macro is no longer used.
+
+Thu Jun 12 18:47:54 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Solaris_Network_Interface_Monitor.cpp:
+
+ New files, containing a base class used with
+ Bytes_Received_Monitor, Bytes_Sent_Monitor,
+ Packets_Received_Monitor and Packets_Sent_Monitor
+ when they are compiled on Solaris platforms.
+
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/CPU_Load_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Windows_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.h:
+ * ace/Monitor_Control/Monitor_Control.mpc:
+ * ace/Monitor_Control/Num_Threads_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Windows_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Linux_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Windows_Multi_Instance_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ - Changed required to complete the support of
+ network interface monitors on Solaris.
+
+ - Changed guards for Windows-specific header file
+ inclusion to use the recently added ACE_HAS_PDH_H,
+ which in turn guards the definition of the
+ ACE_HAS_WIN32_PDH flag used in source code.
+
+ - Changed the names of the platform-specific monitor
+ update methods to update_i(), from the distinct
+ names they had before. This changed allowed the
+ elimination of many #ifdef guards in source code.
+
+Thu Jun 12 17:42:47 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/Process.pm:
+ * bin/PerlACE/Process_Win32.pm: Moved the Target sub from Process_Win32
+ to Process so everybody can see it. Thanks to Chad Elliott for
+ finding and suggesting the correction for it.
+
+Thu Jun 12 16:04:33 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/tao_orb_tests.lst: Disabled newly added tests on LabVIEW_RT.
+
+ * bin/PerlACE/README: Describes how the ACE+TAO test procedures work.
+ Includes a description of how to drive the generalized ability to
+ redirect execution of tests off of the build host.
+
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm:
+ * bin/PerlACE/ProcessLVRT.pm:
+ * bin/PerlACE/Process_Win32.pm: Add the ability to configure various
+ aspects of ACE+TAO (+CIAO I guess, but haven't tried that) to run
+ on machines other than the build host and with alternate roots
+ (ACE_ROOT, TAO_ROOT). This is an effort to generalize the ability
+ to run off of the build host without adding more switches and options
+ and convoluted settings and platform-specific code in the main
+ scripts. The README file explains how to set up modules to extend
+ testing to other platforms. LabVIEW_RT is the only one there now;
+ VxWorks is an obvious addition and would allow a bunch of special-case
+ code to be removed from the main scripts. The test-driving script
+ does require some change to take advantage of this capability. ACE
+ tests in ACE_wrappers/tests have the change. A few TAO tests do
+ (see TAO ChangeLog). Without the changes to the test-driving script
+ everything behaves as it always did.
+
+ * tests/run_test.pl: Uses the new TestTarget capability, naming the
+ test target "ace". Thus, to redirect these tests to another machine,
+ set the DOC_TEST_ACE environment variable with a configuration name
+ and set configuration variables accordingly.
+
+Thu Jun 12 14:38:19 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Stack_Trace.h:
+ * ace/Stack_Trace.cpp:
+
+ Added support for SPARCv9 (64-bit).
+ Reverted the Win32 assembly back to the simplest form, we had tried
+ to make it compatible with Borland but it still didn't work. As of
+ now ACE compiled by Borland will not generate stack traces.
+
+Thu Jun 12 12:17:52 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Corrected Win32 assembler compilation error.
+
+Wed Jun 11 16:24:00 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added new test case.
+
+Wed Jun 11 13:55:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Time_Value.inl:
+ * ace/Time_Value.h:
+
+ Add extra inline void msec(int) that calls void msec(long)
+ to avoid amiguity between void msec(long) and void msec(_int64 &)
+ when natual sized integers are given (which seems to be
+ quite often).
+
+Wed Jun 11 13:02:22 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Replaced the "use PerlACE::Process". It is necessary to be loaded
+ inside this module to ensure that all of the command line options
+ can be processed.
+
+Wed Jun 11 04:17:42 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/platform.m4:
+
+ Remove ACE_HAS_AIX_BROKEN_SOCKET_HEADER definitions.
+
+Wed Jun 11 03:51:32 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_CHARPTR_SPRINTF. This feature test macro is no longer
+ used.
+
+Wed Jun 11 03:39:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_LACKS_FLOATING_POINT. This feature test macro is no longer
+ used.
+
+Wed Jun 11 03:33:31 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_TYPENAME_KEYWORD. This feature test macro is no longer
+ used.
+
+Wed Jun 11 03:31:02 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_SPARCWORKS_401_SIGNALS. This feature test macro is no
+ longer used.
+
+Wed Jun 11 02:57:12 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_AIX_BROKEN_SOCKET_HEADER.
+ This feature test macro is no longer used.
+
+Wed Jun 11 02:52:16 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_SELECT_USES_INT. This feature test macro is no longer used.
+
+Wed Jun 11 02:48:07 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for HAVE_RESTARTABLE_SYSCALLS.
+ This feature test macro is no longer used.
+
+Wed Jun 11 00:17:01 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_IRIX_53_SIGNALS. This feature test macro is no longer
+ used.
+
+Tue Jun 10 23:57:53 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature tests and autoheader templates for
+ ACE_HAS_STD_TEMPLATE_SPECIALIZATION and
+ ACE_HAS_STD_TEMPLATE_CLASS_MEMBER_SPECIALIZATION.
+ These feature test macros are no longer used.
+
+Tue Jun 10 23:52:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_SAP_ANY. This feature test macro is no longer
+ used.
+
+Tue Jun 10 23:49:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_BROKEN_NESTED_TEMPLATES.
+ This feature test macro is no longer used.
+
+Tue Jun 10 23:47:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_SUNOS4_SIGNAL_T.
+ This feature test macro is no longer used.
+
+Tue Jun 10 23:45:34 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_CONDITIONAL_STRING_CAST. This feature test macro
+ is no longer used.
+
+Tue Jun 10 23:43:19 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_CONVERSIONS. This feature test macro is no
+ longer used.
+
+Tue Jun 10 23:41:11 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_NAMESPACES. This feature test macro is no longer
+ used.
+
+Tue Jun 10 23:39:09 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove autoheader template for ACE_HAS_SYSCALL_GETRUSAGE. This
+ feature test macro is no longer used.
+
+Tue Jun 10 23:16:31 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/config_h.m4:
+
+ Remove feature test and autoheader template for
+ ACE_HAS_BROKEN_TIMESPEC_MEMBERS. This feature test macro is no
+ longer used.
+
+Tue Jun 10 21:28:23 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/platform.m4:
+
+ Add ACE_CHECK_GETNAME_RETURNS_RANDOM_SIN_ZERO feature check,
+ which sets the ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO feature test
+ macro on Linux systems running kernels older than 2.5.47. This
+ is a compile time check, like was done in config-linux-common.h,
+ based on the value of LINUX_VERSION_CODE from <linux/version.h>.
+ This means ACE compiled on a newer Linux system but deployed on
+ an older one could result in run-time failures.
+
+ Fixes Bugzilla #3132.
+
+Tue Jun 10 21:33:25 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.cpp:
+
+ Replaced a Monitor class forward declaration with the full file
+ include, moved from the source file to the header file. This
+ move enables ACE monitor points to compile when inlining is
+ turned on.
+
+Tue Jun 10 18:46:24 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.h:
+
+ Updated comments to not exclude Borland from supported platforms.
+
+ * ace/Stack_Trace.cpp:
+
+ - Moved the label "x" from inside of asm to be outside. Some compiler
+ does not like it.
+ - Enabled LynxOS support and excluded support for gcc old versions before 3.3.
+
+Tue Jun 10 13:56:17 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ One more fix for Win32 wchar.
+
+Tue Jun 10 13:32:57 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Avoid pointer-to-function and pointer-to-object warnings from g++.
+
+Tue Jun 10 12:53:05 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+
+ Modified to avoid virtual method hiding.
+
+Tue Jun 10 11:37:09 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Time_Value_Test.cpp:
+
+ Added a static cast to avoid warnings on QNX.
+
+Tue Jun 10 10:57:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/ACE.cpp:
+
+ Correct presidence bug highlighted by FC9_GCC_430 build:
+ ACE.cpp:1429: warning: suggest parentheses around && within ||
+ ACE.cpp:1665: warning: suggest parentheses around && within ||
+ ACE.cpp:1853: warning: suggest parentheses around && within ||
+ The default precidence is && before ||, but the way the ||
+ statements were grouped, it was clear that was not the intended
+ resolution.
+
+ Correct empty if statement bug highlighted by FC9_GCC_430 build:
+ ACE.cpp:2773: warning: suggest braces around empty body in an 'if' statement
+
+ Also removed warnings by using empty braces:
+ ACE.cpp:3389: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement
+ ACE.cpp:3414: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement
+
+
+Mon Jun 9 21:38:04 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.cpp:
+
+ Passed string literals instead of ACE_TEXT string to GetProcAddress as it
+ accepts LPCSTR which is defined as char*. This should fix wchar (Win32)
+ build errors.
+
+Mon Jun 9 20:52:52 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Asynch_IO.h: Doxygen improvements.
+
+Mon Jun 9 19:40:56 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Stack_Trace.h:
+ * ace/Stack_Trace.cpp:
+
+ Excluded LynxOS, MinGW and Borland builds from stack trace supported
+ platforms.
+
+Mon Jun 09 14:46:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Stack_Trace.cpp:
+ * ace/Stack_Trace.h:
+
+ Remove TEXT() and TCHAR Fuzz errors.
+
+Mon Jun 9 11:26:36 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ace_for_tao.mpc:
+
+ Added Stack_Trace.cpp since Log_Msg.cpp needs it.
+
+Mon Jun 09 10:42:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/NT_Service.cpp:
+
+ unambiguated call to time_value msec(long) at line 437
+ caused by new uint64 non-const setter provided by:
+ Thu Jun 5 14:52:43 UTC 2008 Steve Huston
+
+Sun Jun 8 18:09:22 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/platform.m4:
+
+ Add ACE_CHECK_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE feature
+ check, which sets the ACE_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE
+ feature test macro on Linux and OpenBSD systems (as is done in
+ the canned config-*.h files). Fixes Bugzilla #3141.
+
+Sat Jun 7 13:56:56 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Log_Msg.cpp:
+
+ Use ACE_TEXT instead of ACE_LIB_TEXT.
+
+Sat Jun 7 03:28:01 UTC 2008 Yan Dai <dai_y@ociweb.com>
+
+ Merged in stack_trace_branch that added stack trace support.
+
+ * NEWS:
+
+ Add an entry for stack trace support.
+
+ * ace/Log_Msg.h:
+
+ Added comments for "%?".
+
+ * ace/Log_Msg.cpp:
+
+ Added new conversion character, the question mark, which gets
+ replaced by a stack trace on supported platforms.
+
+ * ace/Stack_Trace.h:
+ * ace/Stack_Trace.cpp:
+
+ Added new class that, on supported platforms, will take a
+ snapshot of the current stack when instantiated.
+
+ * ace/ace.mpc:
+
+ Added Stack_Trace in as source.
+
+ * ace/config-macosx-leopard.h:
+
+ Added ACE_HAS_EXECINFO_H define.
+
+ * ace/Makefile.am:
+
+ Added Stack_Trace.h and Stack_Trace.cpp.
+
+ * configure.ac:
+
+ Added checks for execinfo.h header.
+
+ * tests/Stack_Trace_Test.cpp:
+
+ New test.
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Added Stack_Trace_Test in.
+
+Fri Jun 6 19:05:14 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+
+ Put an eval around the require of Net::Telnet so that these
+ modules can always be "used", but not necessarily employed.
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Use PerlACE::TargetProcess and PerlACE::HostProcess so that all
+ test scripts may use them.
+
+ * bin/PerlACE/TargetProcess.pm:
+ * bin/PerlACE/HostProcess.pm:
+
+ Added modules to simplify the writing of test scripts so that
+ VxWorks testing can be transparent to the script itself. Having
+ two packages allows for role reversal (using the -reverse_roles
+ option to run_test.pl). For example, if you have a test that
+ consists of a server and a client, the script will look like this:
+
+ $SV = new PerlACE::TargetProcess("server", "-o $iorfile");
+ $CL = new PerlACE::HostProcess("client", "-k file://$iorfile");
+
+ If testing for VxWorks, the server process will be run on the
+ target and the client process will be run on the host. If the
+ -reverse_roles option is provided to run_test.pl, the server
+ process will run on the host and the client process will run on
+ the target.
+
+Fri Jun 06 13:00:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/ACE.cpp:
+
+ untabified.
+
+Fri Jun 06 11:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/ACE.cpp:
+
+ Added #include ace/OS_NS_fcntl.h to previous commit of
+ Thu Jun 5 23:46:14 UTC 2008 J.T. Conklin.
+
+Fri Jun 6 08:31:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/config-hpux-11.00.h:
+ According to Steve Huston HP-UX does provide strtoull and
+ wcstoull but they can be used not as straight forward as
+ in other compilers. I have no access to HP-UX so I added
+ corresponding TODO comment about ACE_LACKS_STRTOULL and
+ ACE_LACKS_WCSTOULL that I added previously.
+
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.4.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.3.h:
+ VxWorks doesn't provide wcstoull as well.
+ Added ACE_LACKS_WCSTOULL.
+
+Thu Jun 5 23:46:14 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ACE.cpp:
+
+ Changed daemonize() to open /dev/null and duplicate the file
+ descriptor as descriptors 0, 1, and 2 if it is invoked with the
+ closed_all_handles flag set. This avoids problems with I/O
+ to/from stdin, stdout, and stderr; cin, cout, and cerr;
+ etc. being written to/read from whatever files/sockets/devices
+ associated with descriptors 0, 1, and 2 when they are reopened.
+ This fixes Bugzilla #3338.
+
+Thu Jun 5 16:30:58 2008 Steve Huston <shuston@riverace.com>
+
+ * NEWS: Added note concerning ACE_Time_Value changes from
+ Thu Jun 5 14:52:43 UTC 2008 Steve Huston <shuston@riverace.com>
+
+Tue Jun 3 13:09:27 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_main.h (wmain): Added
+
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+ ACE_END_VERSIONED_NAMESPACE_DECL
+
+ to the ace_wmain_i macro. Thanks to June Fang <june dot fang at
+ gmail dot com> for reporting this.
+
+Thu Jun 5 14:52:43 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Time_Value.{h inl}: Added a non-const variant of
+ void msec(ACE_UINT64&) - this allows the msec(ACE_UINT64&) accessor
+ to be called on both const and non-const objects without error.
+ Fixes Bugzilla #3336. Thanks to Simon Massey for this idea.
+
+ * tests/Time_Value_Test.cpp: Added a const-checking msec() call and
+ corrected the test case.
+
+Thu Jun 05 13:45:00 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * ace/Get_Opt.cpp:
+ * ace/Get_Opt.h:
+ * ace/Get_Opt.inl:
+
+ As a conveniance in wide character builds allow the
+ options string to be specified as a standard narrow
+ string (that is converted internally). This type of
+ use is littered throughout the TAO code.
+
+ * ace/OS_NS_stdio.cpp:
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+
+ As a conveniance in wide character builds allow the
+ fopen() call to have parameters of mixed wide/narrow
+ type. This type of use is littered throughout the TAO
+ code.
+
+ * ace/OS_NS_stdlib.inl:
+
+ Correct the mkstemp facades, they were not returning
+ the modified template string under wide character builds,
+ this caused the tao_idl compiler to be unable to find
+ the pre-processed files to rename that it had just created.
+
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.mpc:
+ * examples/Log_Msg/Log_Msg_MFC/Log_Msg_Unicode_MFC.mpc:
+
+ Deleted the Unicode specific version, normal one suffices
+ after all.
+
+ * bin/tao_orb_tests.lst:
+
+ Disabled problematic LynxOS test.
+
+Wed Jun 4 22:45:20 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/config-pharlap.h: Added ACE_LACKS_FILELLOCKS. My changes from
+ Mon Apr 28 21:53:23 UTC 2008 Steve Huston <shuston@riverace.com>
+ exposed a call to LockFileEx, which is not present on Pharlap
+ (and, therefore, not present in LabVIEW RT). The alternate API,
+ LockFile, is present on Pharlap but documented as unsupported.
+ Since the OS doesn't do multiple processes, there are more effective
+ ways to synchronize that file locks anyway.
+
+Wed Jun 4 20:59:16 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * ace/SSL/SSL_Context.cpp:
+ Fix for Bug 3337. ::SSL_add_dir_cert_subjects_to_stack() isn't
+ ready for Windows.
+
+Wed Jun 4 17:12:10 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ACE.cpp (timestamp):
+
+ Make sure to divide sizeof timebuf by sizeof (ACE_TCHAR) to
+ avoid buffer overflow. This is another instance of the same
+ problem fixed in:
+
+ Mon Jun 2 15:26:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+Wed Jun 4 16:05:54 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Time_Value_Test.cpp: Added a test case for Bugzilla #3336
+ as reported by Aaron Scamehorn.
+
+Wed Jun 4 14:36:55 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Point_Registry.cpp:
+ * ace/Monitor_Base.cpp:
+
+ Disabled warning messages reporting an unsuccessful unbind
+ of a monitor from the monitor point registry. In some
+ cases, it appears that the default process reactor singleton
+ is destroyed before the monitor point registry. The reactor
+ has an associated ACE_Message_Queue, which in turn has an
+ associated monitor. Somehow in the destruction of the
+ singleton, the normal chain of destructor calls, which
+ would remove the monitor from the registry, is bypassed,
+ leaving the removal to happen when the registry's
+ destructor is called and the entry in question is no longer
+ valid. In any case, this happens only at process shutdown,
+ and there is no memory leak. Ways to make this happen in
+ a more friendly fashion are being looked into.
+
+Tue Jun 3 16:14:39 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ * rpmbuild/ace-tao-unusedarg.patch:
+ * rpmbuild/ace-tao-strrecvfd.patch:
+
+ Added ace-tao-strrecvfd.patch (related to bug #3291).
+ Changed make loop construct to abort when subcomponent fails.
+ Removed PSS from TAO build list.
+ Added ace-tao-unusedarg.patch (related to bug #3270).
+ Made qt3 BuildRequires conditional on Fedora version.
+
+Mon Jun 2 15:26:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Log_Record.cpp (format_msg): Make sure to divide sizeof ctp
+ by sizeof (ACE_TCHAR) to avoid buffer overflow. Thanks to June
+ Fang <june dot fang at gmail dot com> for reporting this.
+
+Sun Jun 1 02:01:38 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ * rpmbuild/ace-tao-etc.tar.gz:
+ * rpmbuild/ace-tao-orbsvcs-daemon.patch:
+
+ Added ace-tao-orbsvcs-daemon.patch to workaround
+ daemonization problems in rpm installed services.
+ Fixed tao-cosconcurrency command line arguments.
+
+Fri May 30 13:57:06 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.4.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.3.h:
+ VxWorks doesn't provide strtoull().
+
+Fri May 30 13:48:48 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/config-openvms.h:
+ OpenVMS doesn't provide wcstoull() function.
+
+Fri May 30 13:37:13 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/OS_NS_stdlib.inl:
+ Fixed MinGW builds.
+
+ * ace/config-cygwin32.h:
+ Disabled wcstoull() on cygwin since it doesn't provide
+ such function.
+
+Fri May 30 13:17:55 UTC 2008 Simon Massey <sma@prismtech.com>
+
+ * test/INET_Addr_Test_IPV6.cpp:
+ Resolve Conflict #define INTERFACE with MFC under VC8.
+
+Fri May 30 10:07:55 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/config-win32-borland.h:
+ Borland compilers doesn't provide strtoull() and wcstoull().
+
+ * ace/config-sunos5.5.h:
+ * ace/config-sunos5.10.h:
+ wcstoull() didn't exist on Solaris until version 10.
+
+ * ace/config-hpux-11.00.h:
+ HP-UX doesn't provide strtoull() and wcstoull().
+
+Thu May 29 16:08:01 UTC 2008 Vladimir Zykov <vzykov@prismtech.com>
+
+ * ace/OS_NS_stdlib.cpp:
+ * ace/OS_NS_stdlib.inl:
+ * ace/OS_NS_stdlib.h:
+
+ Added strtoull() function to ACE_OS.
+
+ * configure.ac:
+
+ Added a check for presence of strtoull() and wcstoull()
+ in the build environment.
+
+Thu May 29 15:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/INET_Addr.cpp:
+
+ Remove tabs to avoid fuzz warning.
+
+Thu May 29 10:15:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Bug_3332_Regression_Test.cpp:
+
+ Remove signed/unsigned comparison warnings.
+
+Wed May 28 18:13:15 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.h:
+
+ Changed ACE_INET_Addr::get_host_addr(char *, int) to be thread
+ safe by calling ACE_OS::inet_ntop() instead of
+ ACE_OS::inet_ntoa().
+
+ Changed ACE_INET_Addr::get_host_addr(void) to call
+ INET_Addr::get_host_addr(char *, size) with a static buffer.
+
+ Removed the special cases for VxWorks in both of the above
+ methods which called inet_ntoa_b() which, according to comments,
+ was for efficency and thread safety. These are are now as
+ efficent and thread safe (or not, in the case of ACE_INET_Addr::
+ get_host_addr(void)) as any other target platform, but no longer
+ need a string buffer member in every ACE_INET_Addr instance.
+
+Wed May 28 13:46:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/Malloc.h:
+ Eliminate a warning from some fanicaly builds.
+
+Wed May 28 08:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * tests/Bug_3332_Regression_Test.cpp:
+ * tests/Bug_3332_Regression_Test.txt:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Regression test for the change of:
+ Fri May 23 12:45:00 UTC 2008 * ace/RB_Tree.cpp.
+
+Tue May 27 23:10:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+
+ Adding missing template and header files.
+
+Tue May 27 12:11:07 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ace.mpc:
+
+ Added missing template and header files.
+
+Mon May 26 13:54:38 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Defined ACE_LACKS_POLL_H.
+
+Mon May 26 07:28:23 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ Clarified the tao-cosevent and tao-rtevent "Summary" tags.
+
+Mon May 26 00:31:51 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ Fixed rpm build error: bad tar extraction command.
+
+Sun May 25 17:18:20 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/ace.mwc:
+
+ s/MonitorControl/Monitor_Control/
+
+Sun May 25 04:11:37 UTC 2008 Ken Sedgwick <ken+5a4@bonsai.com>
+
+ * rpmbuild/ace-tao.spec:
+ * rpmbuild/ace-tao-rnq.patch:
+ * rpmbuild/ace-tao-config-tmplvis.patch:
+ * rpmbuild/ace-tao-hasicmp.patch:
+ * rpmbuild/ace-tao-obstack.patch:
+ * rpmbuild/ace-tao-config-ipv6.patch:
+ Removed ace-tao-obstack.patch, no longer needed.
+ Converted ace-tao-config-ipv6.patch into conditional rpm script.
+ Converted ace-tao-rnq.patch into conditional rpm script.
+ Converted ace-tao-config-tmplvis.patch and ace-tao-hasicmp.patch
+ into rpm script.
+
+Sat May 24 19:50:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Adjust libpaths now that ACE_MonitorControl library has been
+ renamed to just ACE_Monitor_Control.
+
+Fri May 23 14:20:48 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/platform.m4:
+
+ Added *mingw64* case in ACE_SET_PLATFORM_MACROS and
+ ACE_CHECK_FORMAT_SPECIFIERS feature test macros.
+
+Fri May 23 12:45:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * ace/RB_Tree.cpp:
+
+ Enhancement to stop external pointers to retained items being
+ invalidated upon key deletion.
+
+Fri May 23 12:14:54 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Auto_Update_Starter.h:
+
+ Updated filename (which was recently changed) in a comment.
+ Thanks to Simon Massey <simon.massey@prismtech.com> for
+ reporting the fuzz warning.
+
+Fri May 23 08:14:38 UTC 2008 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+
+ Run Bug_2980_Regression_Test on LynxOS.
+
+Fri May 23 00:18:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+
+ Rename MonitorControl subdirectory to Monitor_Control, to
+ adapt to this change:
+
+ Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Thu May 22 23:04:38 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Rename MonitorControl subdirectory to Monitor_Control, to
+ adapt to this change:
+
+ Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Thu May 22 19:29:35 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Base.h (clear):
+
+ Made the method virtual, since it's overridden in the
+ TAO Notification Service monitors and we are now using
+ the ACE monitor registry which stores everyhing as the
+ ACE base class monitor.
+
+Thu May 22 14:56:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added support for ACE_RUN_VX_EXE_SUBDIR which can be used when
+ the vxworks executables are build in a subdirectory
+
+Thu May 22 09:47:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-codeset.patch:
+ * ace/Codeset_Registry_db.cpp:
+ Merged patch into the regular registry
+
+ * ace/OS_NS_sys_uio.cpp:
+ Const change
+
+ * ace/Service_Config.cpp:
+ Layout change
+
+ * rpmbuild/ace-tao.spec:
+ Removed codeset patch
+
+Thu May 22 09:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/*
+ New directory with files needed to create rpm's for ACE/TAO.
+ These files will be improved and we will check whether the
+ rpm patches can be integrated into the real config files.
+ Thanks to Ken Sedgwick <ksedgwick at bonsai dot com> for
+ delivering these files.
+
+Wed May 21 19:01:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/MonitorControl/*:
+
+ Changed directory name to Monitor_Control and renamed all
+ contained files, classes, libs, MPC projects, ifdef guards,
+ and macros similarly, to better conform to the ACE style.
+
+ * ace/Monitor_Point_Registry.cpp:
+ * ace/Monitor_Admin.h:
+ * ace/Monitor_Admin.cpp:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+ * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
+ * examples/Monitor/Bytes_Sent/Makefile.am:
+ * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
+ * examples/Monitor/Message_Queue_Size/Makefile.am:
+ * examples/Monitor/Constraint/constraint.cpp:
+ * examples/Monitor/Constraint/Makefile.am:
+ * examples/Monitor/CPU_Load/cpu_load.cpp:
+ * examples/Monitor/CPU_Load/Makefile.am:
+ * examples/Monitor/Num_Threads/Makefile.am:
+ * examples/Monitor/Num_Threads/num_threads.cpp:
+ * examples/Monitor/Group/Makefile.am:
+ * examples/Monitor/Group/group.cpp:
+ * examples/Monitor/Memory_Usage/Makefile.am:
+ * examples/Monitor/Memory_Usage/memory_usage.cpp:
+
+ Changes corresponding to the renaming above.
+
+Wed May 21 14:06:13 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Base.h:
+ * ace/Monitor_Base.cpp:
+
+ Made the update() method non pure virtual.
+
+Tue May 20 19:33:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp:
+
+ Added the stringified process id to the construction of
+ the message queue size monitor's name, since some tests
+ were showing that message queues were being created with
+ the same hex address in different processes.
+
+Tue May 20 17:55:39 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Svc_Handler.h:
+
+ Added an enum to be used as flags parameter for close().
+
+ * ace/Acceptor.cpp:
+ * ace/Connector.cpp:
+ * ace/Strategies_T.cpp:
+
+ Use the new enum during the call to close() on the service handler
+ to indicate the circumstances behind the closure.
+
+ This is part of a set of commits for Bug 2935.
+
+Tue May 20 09:45:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Ping_Socket.{h,cpp}:
+ Use bool
+
+Mon May 19 19:26:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Log_Msg_Test.cpp:
+ On VxWorks/LynxOS we didn't test the buffer overflow, but we
+ shouldn't test this when ACE_LACKS_VSNPRINTF is defined
+ because it will then fail
+
+Mon May 19 19:13:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Hash_Map_Manager_T.h:
+ Doxygen change
+
+ * ace/Hash_Map_Manager_T.cpp (shared_find)
+ Set errno to ENOENT when the size is zero
+
+Mon May 19 19:08:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added 2085 and 2243
+
+Mon May 19 14:19:21 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ Updated mailing lists
+
+ * docs/Download.html:
+ * etc/index.html:
+ Updated for x.6.5
+
+ * ace/config-openvms.h:
+ Removed sock max of 64kb
+
+Mon May 19 02:53:21 CDT 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.6.5 released.
+
+Fri May 16 10:13:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted change below, causes problems in the builds
+ * include/makeinclude/platform_linux.GNU:
+ Only set DLD and LD when they are not set yet
+
+Fri May 16 07:50:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Also define a public destructor to silence the gnu warning that
+ we only have private
+
+Fri May 16 07:49:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Monitor/Num_Threads/num_threads.cpp:
+ Fixed compile errors when monitoring framework is disabled
+
+Fri May 16 07:41:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Streams/Answerer.cpp:
+ * examples/APG/Streams/EndTask.h:
+ Replaced EndTask with TheEndTask to resolve a name conflict
+ when using MinGW
+
+Fri May 16 07:18:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ * include/makeinclude/platform_linux_common.GNU:
+ Support lib64 paths to detect certain features. Thanks to Ken
+ Sedgwick <ksedgwick at bonsai dot com> for reporting this
+
+ * include/makeinclude/platform_linux.GNU:
+ Only set DLD and LD when they are not set yet
+
+Thu May 15 14:00:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Based_Pointer_T.{h,inl}:
+ * tests/Based_Pointer_Test.cpp:
+ Fixed bugzilla 3285, make it possible to use
+ ACE_Based_Pointer<void>. Thanks to Thomas Brownridge
+ <thomas dot brownridge at lmco dot com> for reporting this.
+
+Thu May 15 12:36:42 UTC 2008 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/MMAP_Memory_Pool.cpp:
+ When using a default base address of 0x0 and otherwise wanting
+ a fixed address, a special flag was used to imply that after the
+ first address is selected the system in a call to ::mmap()
+ subsequent calls to ::mmap() reuse the selected base address
+ as a fixed address. This may cause problems with reloading
+ persistent data if the stored data contains pointers and the
+ system selected base address changes from run to run.
+
+ * ace/config-linux-common.h:
+ The default base address for the x86-64 platform cannot be 0x0.
+ Doing so causes the system to choose an address which for some
+ unknown reason causes SEGV errors in Malloc_T. The linux-specific
+ mmap flag, MAP_32BIT, resolves those segv errors, but on x86-64
+ using 0x0 as the default base address on subsequent runs cause
+ a different assigned base address to be selected. If the data
+ in the mapped memory contains pointers to mapped memory, those
+ are then wrong and cause SEGV crashs. By experimentation, it
+ seems the default base address for powerpc is appropriate for
+ x86-64.
+
+Thu May 15 10:19:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/rules.lib.GNU:
+ Fixed OpenVMS specific part
+
+Thu May 15 10:17:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Unbounded_Set_Ex.cpp:
+ Fixed bug in the insert method
+
+ * ace/Unbounded_Set_Test.cpp:
+ Extended this test to reproduce the bug above and replaced all
+ ACE_ASSERTS with if checks
+
+Thu May 15 10:05:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * bin/msvc_mpc_auto_compile.pl:
+ Split orbsvcs out from ciao build.
+
+Thu May 15 07:09:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mpc:
+ Added config-win32-msvc9.h, thanks to <tim at burmair dot com> for
+ reporting this
+
+Wed May 14 20:41:17 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Thread_Manager.h: Expanded the documentation, particularly for
+ spawn[_n].
+
+Wed May 14 18:30:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/MonitorControl/MemoryUsageMonitor.cpp:
+ * ace/MonitorControl/MemoryUsageMonitor.h:
+ * ace/OS.inl:
+ * ace/os_include/os_unistd.h:
+ * ace/os_include/sys/os_resource.h:
+ * ace/POSIX_Proactor.cpp:
+ * ace/configure.ac:
+ Seems we already had a ACE_HAS_SYSINFO but this is a different
+ method but with the same name as we use in the monitoring code.
+ Added ACE_HAS_SYS_SYSTEMINFO_H as new define, renamed the
+ linux define to ACE_HAS_LINUX_SYSINFO
+
+Wed May 14 18:14:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ Layout changes
+
+ * ace/config-vxworks5.x.h:
+ * ace/OS_NS_unistd.inl:
+ * ace/Sock_Connect.cpp:
+ Extended for VxWorks Medusa
+
+ * ace/Logging_Strategy.cpp:
+ Initialise pointer with 0
+
+Wed May 14 14:26:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ Detect medusa pid/pcd/pne
+
+Wed May 14 12:34:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_pdhmsg.h:
+ New file
+
+ * ace/config-win32-common.h:
+ Added ACE_HAS_PDHMSG_H
+
+ * ace/config-win32-mingw.h:
+ * ace/config-WinCE.h:
+ Added ACE_LACKS_PDHMSG_H
+
+ * ace/Makefile.am:
+ Added new file
+
+ * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ Use new os_pdhmsg.h
+
+Wed May 14 12:24:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_kstat.h:
+ * ace/os_include/sys/os_sysinfo.h:
+ New header files
+
+ * ace/os_include/os_glob.h:
+ * ace/os_include/sys/os_statvfs.h:
+ Removed not needed includes
+
+ * configure.ac:
+ Added check for sysinfo.h
+
+ * ace/config-linux-common.h:
+ Added ACE_HAS_SYSINFO and ACE_HAS_SYSINFO_H
+
+ * ace/Makefile.am:
+ Added new files
+
+ * ace/MonitorControl/CPULoadMonitor.h:
+ * ace/MonitorControl/MemoryUsageMonitor.cpp:
+ * ace/MonitorControl/MemoryUsageMonitor.h:
+ Use the new defines and header files
+
+Wed May 14 10:41:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/*:
+ * examples/Monitor/*:
+ Renamed MonitorControl namespace to Monitor_Control to comply
+ to ACE coding guidelines
+
+Wed May 14 09:48:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Enabled some more tests on vxworks
+
+Tue May 13 19:20:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds.pl:
+ Updated for move of test stats
+
+Mon May 12 12:19:15 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/Monitor/MC_Test_Utilities.h:
+ * examples/Monitor/Bytes_Sent/bytes_sent.cpp:
+ * examples/Monitor/Message_Queue_Size/message_queue_size.cpp:
+ * examples/Monitor/Constraint/constraint.cpp:
+ * examples/Monitor/CPU_Load/cpu_load.cpp:
+ * examples/Monitor/MC_Test_Utilities.cpp:
+ * examples/Monitor/Group/group.cpp:
+ * examples/Monitor/Memory_Usage/memory_usage.cpp:
+
+ Added appropriate preprocessor guards to ensure a
+ successful build when ACE_HAS_MONITOR_FRAMEWORK is
+ defined as 0.
+
+ * examples/Monitor/Message_Queue_Size/Message_Queue_Size.mpc:
+
+ Removed outdated macro additions from project.
+
+Fri May 9 18:58:52 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.h:
+ * ace/Service_Config.inl:
+ * ace/Service_Config.cpp:
+ * ace/Service_Gestalt.cpp:
+
+ Calling ACE_Service_Config::open() does not correctly initialize
+ the SC global state (process name, in particular but others
+ too). Fixing bug#3319.
+
+Fri May 9 17:58:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Revert changes of:
+ Thu May 8 22:13:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ Now that ETCL Parser library has been renamed back to
+ ACE_ETCL_Parser.
+
+Fri May 9 17:55:39 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Monitor/Bytes_Sent/Makefile.am:
+ * examples/Monitor/Message_Queue_Size/Makefile.am:
+ * examples/Monitor/Constraint/Makefile.am:
+ * examples/Monitor/CPU_Load/Makefile.am:
+ * examples/Monitor/Num_Threads/Makefile.am:
+ * examples/Monitor/Group/Makefile.am:
+ * examples/Monitor/Memory_Usage/Makefile.am:
+ * ace/ETCL/Makefile.am:
+ * ace/MonitorControl/Makefile.am:
+
+ Regenerated.
+
+Fri May 9 14:17:11 UTC 2008 William R. Otte <wotte@william-r-ottes-macbook-pro.local>
+
+ * include/makeinclude/platform_macosx_icc.GNU:
+
+ Support for ICC on Intel Macs.
+
+Fri May 9 12:04:15 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-all.h:
+ Added ACE_HAS_MONITOR_POINTS which currently is set to 0. We will
+ enable this in a few builds to test them in detail. This way the
+ user can decide to enable the monitor framework but not get the
+ ACE builtin monitor points
+
+ * ace/CDR_Stream.cpp:
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.inl:
+ * ace/Message_Queue_T.cpp:
+ * ace/Message_Queue_T.h:
+ Added monitor points
+
+ * ace/Codeset_IBM1047.cpp:
+ Removed code to silence the hp compiler, this is not needed in other
+ files
+
+Fri May 9 11:44:59 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
+
+ Changed the filename etcl_parser.mpb to the one
+ above, for consistency in the names of ACE-related
+ files. Also changed the corresponding library name
+ to ACE_ETCL_Parser.
+
+ * ace/ETCL/ACE_ETCL_Parser.pc.in:
+
+ Changed the name of ETCL_Parser.pc.in likewise.
+ Also changed the contents of this file accordingly.
+
+ * ace/ETCL/ETCL.mpc:
+ * ace/MonitorControl/MonitorControl.mpc:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+
+ Changes corresponding to the name changes above.
+
+Thu May 8 23:03:15 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ace_zlib.mpb:
+
+ ACE-specific zlib base project that overrides library settings
+ in MPC's own zlib base project for the automake build.
+
+Thu May 8 22:13:24 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Adjust libpaths now that ACE_ETCL_Parser library has been
+ renamed to just ETCL_Parser.
+
+Thu May 8 22:07:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/Makefile.am:
+
+ Regenerated.
+
+ * ace/ETCL/ACE_ETCL.pc.in:
+ * ace/ETCL/ETCL_Parser.pc.in:
+
+ New pkg-config template files.
+
+ * ace/ETCL/ETCL.mpc:
+
+ Add Pkgconfig_Files sections for ACE_ETCL and ETCL_Parser
+ projects.
+
+Thu May 8 21:06:29 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/ETCL/ETCL_Constraint_Visitor.h:
+ * ace/ETCL/ETCL_Constraint_Visitor.cpp:
+
+ Removed a no-op method mean to be overridden
+ in derived visitors, but then abandoned.
+
+Fri May 2 17:45:13 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * docs/ACE-guidelines.html: Updated the style guide to discuss the
+ use of '_' vs intercaps.
+
+Thu May 8 10:51:29 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU: Ensure -pipe is not
+ inserted into CCFLAGS twice. Similar to earlier change from
+ Wed Jan 23 17:23:31 UTC 2008 Steve Huston <shuston@riverace.com>
+ Fixes Bugzilla #3232.
+
+Thu May 8 08:06:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ETCL/ETCL_l.cpp:
+ * ace/ETCL/ETCL_y.cpp:
+ Fixed casing of include
+
+Wed May 7 19:28:35 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Unbounded_Set.{h inl}: Replaced typedef BASE with base_type.
+ Avoids a BASE macro on AIX.
+
+Wed May 7 19:02:51 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/ETCL/ETCL_include:
+
+ Removed this directory.
+
+ * ace/ETCL/etcl_parser_export.h:
+
+ Relocated here from ace/ETCL/ETCL_include.
+
+ * bin/MakeProjectCreator/config/etcl_parser.mpb:
+
+ Renamed this file from ace_etcl_parser.mpb.
+
+ * ace/ETCL/ETCL_l.cpp:
+ * ace/ETCL/ETCL.yy
+ * ace/ETCL/ETCL_Interpreter.cpp:
+ * ace/ETCL/ETCL.ll:
+ * ace/ETCL/ETCL_y.cpp:
+ * ace/ETCL/ETCL_Interpreter.h:
+ * ace/ETCL/ETCL.mpc:
+ * ace/MonitorControl/MonitorControl.mpc:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+
+ All changes in this checkin are to remove
+ unnecessary things as a result of making the
+ ETCL parser the only one used. The corresponding
+ parser in TAO is eliminated.
+
+Wed May 7 17:11:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Added ICC 11.0
+
+Wed May 7 14:28:54 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/ChangeLogEditor/FileLocatorFactory.pm:
+
+ Changed to detect Subversion before CVS.
+
+Wed May 7 14:12:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3319_Regression_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Added regression for bugzilla 3319
+
+Wed May 7 10:52:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Hash_Map_Manager_T.cpp:
+ Fixed GCC warning about maybe unitialised use and also
+ use prefix decrement and no need for some intermediate variables
+
+Wed May 7 08:42:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ Added ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+
+Wed May 7 07:03:29 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/Unbounded_Set.h
+
+ Fuzz fix.
+
+Wed May 7 06:33:30 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/Unbounded_Set.inl
+
+ Fix unused argument warning.
+
+Tue May 6 17:03:17 UTC 2008 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/Hash_Map_Manager_T.cpp:
+ Fixed segfault if shared_find is called on a map of size zero.
+
+ * ace/Log_Msg.h:
+
+ Comments for trace_active were swapped.
+
+ * ace/Node.h:
+ * ace/Node.cpp:
+ * ace/Unbounded_Set.h:
+ * ace/Unbounded_Set.inl:
+ * ace/Unbounded_Set.cpp:
+ * ace/Unbounded_Set_Ex.h:
+ * ace/Unbounded_Set_Ex.inl:
+ * ace/Unbounded_Set_Ex.cpp:
+
+ Extended the Unbounded_Set to include a comparator template parameter,
+ which must implement operator (), which returns true if the items are
+ equivalent. This class has been renamed Unbounded_Set_Ex.
+
+ Unbounded_Set is now implemented in terms of Unbounded_Set_Ex with a
+ comparator that uses operator== to compare the items.
+
+ * ace/Service_Gestalt.h:
+ * tests/Unbounded_Set_Test.cpp:
+
+ Slight updates to conform with new implementation.
+
+ * NEWS
+
+ Added description for above.
+
+Tue May 6 12:37:43 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/ETCL/ETCL_Constraint.h:
+ * ace/ETCL/ETCL_Constraint_Visitor.cpp:
+ * ace/ETCL/ETCL_Constraint_Visitor.h:
+ * ace/ETCL/ETCL_Constraint.inl:
+ * ace/ETCL/ETCL_Constraint.cpp:
+
+ Moved code from the TAO ETCL classes to base classes
+ here.
+
+Tue May 6 08:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added support for ACE_RUN_VX_TGT_TELNET_HOST and
+ ACE_RUN_VX_TGT_TELNET_PORT so that an explicit telnet server
+ can be configured. If not specified we use ACE_RUN_VX_TGTHOST
+ which also specifies the ip address that is used as endpoint
+ for the corba servers
+
+Mon May 5 17:09:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/build_dll.bor:
+ * include/makeinclude/build_exe.bor:
+ * include/makeinclude/build_lib.bor:
+ Handle files with cxx extension just as we could handle cpp files
+
+Mon May 5 07:53:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_pdh.h:
+ New os_include file for pdh.h
+
+ * ace/configure.ac:
+ Added check for pdh.h
+
+ * ace/Makefile.am:
+ Added new file
+
+ * ace/config-win32-common.h:
+ * ace/config-win32-mingw.h:
+ * ace/config-WinCE.h:
+ Windows has pdh.h, but not MinGW and not WinCE
+
+ * ace/MonitorControl/BytesReceivedMonitor.cpp:
+ * ace/MonitorControl/BytesReceivedMonitor.h:
+ * ace/MonitorControl/BytesSentMonitor.cpp:
+ * ace/MonitorControl/BytesSentMonitor.h:
+ * ace/MonitorControl/CPULoadMonitor.cpp:
+ * ace/MonitorControl/CPULoadMonitor.h:
+ * ace/MonitorControl/MemoryUsageMonitor.cpp:
+ * ace/MonitorControl/MemoryUsageMonitor.h:
+ * ace/MonitorControl/NumThreadsMonitor.cpp:
+ * ace/MonitorControl/NumThreadsMonitor.h:
+ * ace/MonitorControl/PacketsReceivedMonitor.cpp:
+ * ace/MonitorControl/PacketsReceivedMonitor.h:
+ * ace/MonitorControl/PacketsSentMonitor.cpp:
+ * ace/MonitorControl/PacketsSentMonitor.h:
+ * ace/MonitorControl/WindowsMonitor.cpp:
+ * ace/MonitorControl/WindowsMonitor.h:
+ * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ * ace/MonitorControl/WindowsMultiInstanceMonitor.h:
+ Use ACE_HAS_WIN32_PDH instead of ACE_WIN32 because with WinCE and
+ MinGW we don't have pdh on windows
+
+Mon May 5 07:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Monitor/CPU_Load/cpu_load.cpp:
+ * examples/Monitor/Group/group.cpp:
+ Fixed C90 warnings
+
+Mon May 5 07:30:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Monitor/MC_Test_Utilities.mpc:
+ Don't build with ace_for_tao enabled
+
+Sat May 3 17:00:07 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Add relative libdirs for new ACE_ETCL, ACE_ETCL_Parser, and
+ ACE_MonitorControl libraries.
+
+Sat May 3 13:47:21 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Makefile.am:
+
+ Regenerated.
+
+Fri May 2 23:58:38 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Build new example directories.
+
+ * examples/Monitor/Bytes_Sent/Makefile.am:
+ * examples/Monitor/Message_Queue_Size/Makefile.am:
+ * examples/Monitor/Constraint/Makefile.am:
+ * examples/Monitor/CPU_Load/Makefile.am:
+ * examples/Monitor/Num_Threads/Makefile.am:
+ * examples/Monitor/Group/Makefile.am:
+ * examples/Monitor/Memory_Usage/Makefile.am:
+ * examples/Monitor/Makefile.am:
+ * examples/Semaphores/Makefile.am:
+
+ New Makefile.am's.
+
+Fri May 2 23:29:06 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/Makefile.am:
+
+ Regenerated.
+
+ * ace/ETCL/ETCL.mpc:
+
+ Add automake specific rule for includes.
+
+Fri May 2 22:53:46 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Build ace/ETCL and ace/MonitorControl.
+
+Fri May 2 21:54:40 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ETCL/Makefile.am:
+ * ace/MonitorControl/Makefile.am:
+
+ New Makefile.am's.
+
+ * ace/Makefile.am:
+
+ Regenerated.
+
+Fri May 2 18:36:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/ETCL/ETCL_Interpreter.h:
+
+ Fix for build problems with versioned namespaces turned on.
+
+Fri May 2 17:50:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ Only define _C99 when it is not defined yet
+
+Fri May 2 17:20:37 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Message_Queue_Test.cpp: Removed the delay sleep between loop
+ iterations - it causes the test to time out too often. Increased
+ the message count back to multiples of 100,000.
+
+Fri May 2 15:34:55 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/RW_Process_Mutex_Test.cpp: Fixed compile warning about
+ redundant variable.
+
+Fri May 2 11:07:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MMAP_Memory_Pool.{h,cpp}:
+ Doxygen improvements and moved the documentation about the
+ handle_signal method from the cpp to the header file so that
+ it appears in the doxygen documentation
+
+Fri May 2 09:36:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_3315_Regression
+
+Fri May 2 08:25:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Added new libs
+
+Fri May 2 08:15:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_for_tao.mpc:
+ Added new monitor files
+
+Fri May 2 08:04:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Monitor_Admin.cpp
+ * ace/Monitor_Admin.h
+ * ace/MonitorControl/AutoUpdateStarter.cpp
+ * ace/MonitorControl/AutoUpdateStarter.h
+ * ace/MonitorControl/MonitorControl_utils.h
+ Updated for naming conventions
+
+Fri May 2 07:47:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Monitor/Bytes_Sent/bytes_sent.cpp
+ * examples/Monitor/Constraint/constraint.cpp
+ * examples/Monitor/CPU_Load/cpu_load.cpp
+ * examples/Monitor/Group/group.cpp
+ * examples/Monitor/Memory_Usage/memory_usage.cpp
+ * examples/Monitor/Message_Queue_Size/message_queue_size.cpp
+ * examples/Monitor/Num_Threads/num_threads.cpp
+ Updated include
+
+ * examples/Monitor/Bytes_Sent/Bytes_Sent.mpc
+ * examples/Monitor/Constraint/Constraint.mpc
+ * examples/Monitor/Num_Threads/Num_Threads.mpc
+ * examples/Monitor/Group/Group.mpc
+ * examples/Monitor/CPU_Load/CPU_Load.mpc
+ * examples/Monitor/Message_Queue_Size/Message_Queue_Size.mpc
+ Don't build with ace_for_tao
+
+Thu May 1 22:35:17 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/MonitorControl/MonitorControl.mpc:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+ Avoid wince - it lacks the needed PDH capability.
+
+Thu May 1 18:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MonitorControl/MonitorControl.mpc:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+ Use ACE_MonitorControl as shared library name
+
+Thu May 1 17:31:01 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.cpp: Removed an assert guarding the case when
+ the current thread has no associated configuration context. Added
+ code that would initialize the thread's configuration context with
+ the global, instead. This addresses bug# 3315.
+
+Thu May 1 17:11:48 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/ace.mwc:
+
+ Added MonitorControl directory to the workspace.
+
+Thu May 1 17:05:37 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/MonitorControl/PacketsSentMonitor.h:
+ * ace/MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ * ace/MonitorControl/WindowsMonitor.cpp:
+ * ace/MonitorControl/PacketsReceivedMonitor.cpp:
+ * ace/MonitorControl/MonitorGroup.h:
+ * ace/MonitorControl/MonitorQuery.h:
+ * ace/MonitorControl/NumThreadsMonitor.cpp:
+ * ace/MonitorControl/PacketsSentMonitor.cpp:
+ * ace/MonitorControl/MonitorGroup.cpp:
+ * ace/MonitorControl/WindowsMultiInstanceMonitor.h:
+ * ace/MonitorControl/WindowsMonitor.h:
+ * ace/MonitorControl/MonitorControl_utils.h:
+ * ace/MonitorControl/MonitorQuery.cpp:
+ * ace/MonitorControl/PacketsReceivedMonitor.h:
+ * ace/MonitorControl/NumThreadsMonitor.h:
+
+ Changed header includes to be consistently relative
+ to $ACE_ROOT.
+
+Thu May 1 16:11:12 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * MonitorControl/*:
+
+ Moved this directory to $ACE_ROOT/ace.
+
+Thu May 1 15:56:58 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Change Bug_2980_Regression_Test's !MSVC to
+ !Win32. The test won't run on Windows per its comments, but no
+ XML configs set MSVC - they set Win32.
+
+Thu May 1 15:27:25 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Message_Queue_Test.cpp: In the counting test, run multiples
+ of 50,000 instead of 100,000, blocks. The test is timing out on a
+ number of platforms.
+
+ * tests/RW_Process_Mutex_Test.cpp: Fix signed/unsigned warnings and
+ wchar build error. Changed the default lock name to something other
+ than the program's name. Using the program name produces "text
+ file busy" when attempting a file lock on it... doh...
+
+Thu May 1 14:47:33 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * MonitorControl/examples/*:
+
+ Removed this directory and moved its contents to
+ $ACE_ROOT/examples/Monitor.
+
+ * bin/MakeProjectCreator/config/acelib.mpb:
+
+ Cosmetic changes.
+
+Thu May 1 14:37:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
+
+ Override the warn_useless_project() method so that we are no
+ longer warned about "no useful targets" for this project type.
+
+Wed Apr 30 22:01:10 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/RW_Process_Mutex_Test.cpp: New test for proper functioning
+ of ACE_RW_Process_Mutex.
+
+ * tests/tests.mpc:
+ * tests/run_test.lst: Add RW_Process_Mutex_Test.
+
+Wed Apr 30 21:14:45 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/Hash_Map_Manager_T.h:
+
+ Two of the backwards compatible iterators for
+ ACE_Hash_Map_Manager incorrectly defined the iterator_category
+ trait based on the container_type, which does not have an
+ iterator_category. Now the trait is defined in terms of its
+ base class. This resolved Bugzilla Bug #3314.
+
+Wed Apr 30 16:49:27 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * MonitorControl/PacketsSentMonitor.h:
+ * MonitorControl/BytesReceivedMonitor.h:
+ * MonitorControl/PacketsReceivedMonitor.h:
+ * MonitorControl/BytesSentMonitor.h:
+
+ Added include of export header file, since it's not
+ pulled in indirectly on Solaris builds.
+
+ * MonitorControl/WindowsMultiInstanceMonitor.cpp:
+
+ Fixed signed/unsigned comparison warnings on wchar builds.
+
+Wed Apr 30 16:24:41 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * MonitorControl/CPULoadMonitor.cpp:
+ * MonitorControl/WindowsMonitor.cpp:
+ * MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ * MonitorControl/MemoryUsageMonitor.cpp:
+ * MonitorControl/NumThreadsMonitor.cpp:
+ * MonitorControl/LinuxNetworkInterfaceMonitor.cpp:
+
+ Fixed wchar build errors.
+
+Wed Apr 30 13:49:52 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/UUID.cpp (get_timestamp_and_clocksequence): Case clock sequence
+ value using ACE_UINT16 instead of u_char to prevent duplicates
+ when many UUIDs are generated quickly. Thanks to Wim van den Boogaard
+ for this fix. Resolves Bugzilla #3313.
+
+Tue Apr 29 19:52:48 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Proactor.cpp: Simplify the timer_handler_ task spawn and
+ shutdown. Also, if close() sees an error from the implementation's
+ close, don't stop closing. Things are most likely already ripped
+ apart too far to recover from, and it's likely to cause a hang to
+ just try to stop closing now.
+
+ * ace/POSIX_Asynch_IO.cpp: Correctly handle the ACE_Message_Block
+ pointers passed to operations and later updating when complete.
+ Thanks to Fernando C. Jeronymo <fernando dot fcavalcanti at
+ gmail.com> for diagnosing this problem.
+
+ * THANKS: Added Fernando C. Jeronymo to the Hall of Fame.
+
+ * tests/Proactor_UDP_Test.cpp: Fix to close down correctly in
+ half-duplex mode.
+
+Tue Apr 29 19:12:53 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
+
+ Changed the path of the 'includes' line to match
+ the new location of ETCL.
+
+ * MonitorControl/Constraint_Interpreter.cpp:
+ * MonitorControl/Constraint_Visitor.h:
+ * MonitorControl/Constraint_Visitor.cpp:
+ * MonitorControl/Constraint_Interpreter.h:
+
+ Updated #includes to match the new location of ETCL.
+
+ * MonitorControl/AutoUpdateStarter.h:
+
+ Moved location of enabled monitors check, it was
+ previous to any place it could see the #define in
+ an included file.
+
+ * MonitorControl/examples/Constraint/constraint.cpp:
+ * MonitorControl/examples/CPU_Load/cpu_load.cpp:
+ * MonitorControl/examples/Group/group.cpp:
+
+ Some compile warnings fixed.
+
+Tue Apr 29 18:37:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * MonitorControl/AutoUpdateStarter.h:
+ * MonitorControl/Constraint_Interpreter.h:
+ * MonitorControl/Constraint_Visitor.h:
+ * MonitorControl/LinuxNetworkInterfaceMonitor.h:
+ * MonitorControl/MonitorControl.h:
+ * MonitorControl/MonitorQuery.h:
+ * MonitorControl/WindowsMonitor.h:
+ * MonitorControl/WindowsMultiInstanceMonitor.h:
+ Make sure we have at least one include before pragma once
+
+Tue Apr 29 18:27:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ * etc/index.html:
+ Updated Beta to Micro
+
+Tue Apr 29 18:02:22 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ETCL/*:
+
+ Moved this directory and all its contents to $ACE_ROOT/ace.
+ Also changed #includes to be relative to $ACE_ROOT.
+
+ * ace/ace.mwc:
+
+ Added ETCL directory.
+
+ * docs/svn/svn-prefs.reg:
+
+ Added *.diff to list.
+
+Tue Apr 29 17:45:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * MonitorControl/examples/Bytes_Sent/bytes_sent.cpp:
+ * MonitorControl/examples/Constraint/constraint.cpp:
+ * MonitorControl/examples/CPU_Load/cpu_load.cpp:
+ * MonitorControl/examples/Group/group.cpp:
+ * MonitorControl/examples/Memory_Usage/memory_usage.cpp:
+ * MonitorControl/examples/Message_Queue_Size/message_queue_size.cpp:
+ * MonitorControl/examples/Num_Threads/num_threads.cpp:
+ Updated main for unicode
+
+Tue Apr 29 13:14:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Test_Output.cpp:
+ Check for ACE_VXWORKS
+
+Tue Apr 29 13:12:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * MonitorControl/AutoUpdateStarter.cpp:
+ * MonitorControl/Constraint_Interpreter.cpp:
+ * MonitorControl/Constraint_Interpreter.h:
+ * MonitorControl/Constraint_Visitor.cpp:
+ * MonitorControl/Constraint_Visitor.h:
+ * MonitorControl/CPULoadMonitor.cpp:
+ * MonitorControl/LinuxNetworkInterfaceMonitor.cpp:
+ * MonitorControl/NumThreadsMonitor.cpp:
+ * MonitorControl/WindowsMonitor.cpp:
+ * MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ Updated includes to fix errors and improve compile speed when
+ this lib is disabled
+
+Tue Apr 29 08:16:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ Zap empty line
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Improved handling of vxtest file
+
+Tue Apr 29 07:23:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MEM_Connector.cpp:
+ * ace/Service_Manager.cpp:
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Reverted accidental commits from Doug
+
+Tue Apr 29 06:32:10 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
+ Generate exename.vxtest instead of project name
+
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ Don't generate ld <
+
+Mon Apr 28 22:34:10 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * tests/Proactor_UDP_Test.cpp: Fix compile errors on non-Windows.
+
+Mon Apr 28 21:53:23 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * docs/ACE-development-process.html: Fix a few remaining nits.
+
+ * ace/OS_NS_stdio.inl: Removed all the pre-ACE_HAS_WINNT4 code in the
+ file locks methods. This was the only place left in ACE that
+ referred to ACE_HAS_WINNT4; all pre-NT4 support was removed last
+ year from the rest of ACE. This also corrects behavior of file
+ locks as well as ACE_RW_Process_Mutex.
+
+ * ace/RW_Process_Mutex.h: Doxygen improvements.
+
+ * ace/SOCK_CODgram.h: Doxygen improvements.
+
+ * ace/SOCK_CODgram.cpp (open): If either of the local or remote
+ addresses is specified, use its address family rather than the
+ value of protocol_family. If both are specified, they must match.
+
+ * tests/Message_Queue_Test.cpp: Added a counting test to validate the
+ queue's message counting.
+
+ * tests/Proactor_UDP_Test.cpp: New test for UDP with ACE_Proactor.
+
+ * tests/tests.mpc:
+ * tests/run_test.lst: Add Proactor_UDP_Test.
+
+Mon Apr 28 19:21:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Use the vxtest file when testing shared non rtp
+
+Mon Apr 28 19:06:10 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * MonitorControl/MonitorControl.h:
+
+ Added ACE_HAS_MONITOR_FRAMEWORK guard to this file.
+
+Mon Apr 28 18:24:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_wchar.h:
+ Added defines needed to build MonitorControl unicode
+
+ * MonitorControl/WindowsMonitor.cpp:
+ * MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ Make a correct difference between unicode and non unicode builds
+
+ * ace/Strategies_T.{h,inl}:
+ Refcount from base is now a long
+
+Mon Apr 28 18:23:55 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+
+ Fixed a bug in my previous commit of this file,
+ $cmdnr was not updated when the unload commands were added.
+
+Mon Apr 28 17:59:43 UTC 2008 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * Constraint_Interpreter.cpp:
+ * Constraint_Visitor.h:
+ * MonitorGroup.h:
+ * MonitorQuery.h:
+ * AutoUpdateStarter.h:
+ * Constraint_Visitor.cpp:
+ * MonitorGroup.cpp:
+ * Constraint_Interpreter.h:
+ * MonitorQuery.cpp:
+ * AutoUpdateStarter.cpp:
+ * MonitorControl_utils.h:
+
+ Added ACE_HAS_MONITOR_FRAMEWORK guards
+ similarly to the other files in the library.
+
+Mon Apr 28 17:54:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * MonitorControl/BytesReceivedMonitor.cpp:
+ * MonitorControl/BytesSentMonitor.cpp:
+ * MonitorControl/CPULoadMonitor.cpp:
+ * MonitorControl/MemoryUsageMonitor.cpp:
+ * MonitorControl/NumThreadsMonitor.cpp:
+ * MonitorControl/PacketsReceivedMonitor.cpp:
+ * MonitorControl/PacketsSentMonitor.cpp:
+ * MonitorControl/WindowsMonitor.cpp:
+ * MonitorControl/WindowsMonitor.h:
+ * MonitorControl/WindowsMultiInstanceMonitor.cpp:
+ * MonitorControl/WindowsMultiInstanceMonitor.h:
+ Fixed unicode compile problems on windows
+
+Mon Apr 28 13:25:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Streams/streams.mpc:
+ * examples/C++NPv2/C++NPv2.mpc:
+ Use base projects
+
+Mon Apr 28 13:20:40 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Vector_T.inl (ACE_Vector): Take another shot at fixing the
+ max_size() problem.
+
+Mon Apr 28 12:45:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added the new TAO HandleExhaustion test for all but Windows.
+
+Mon Apr 28 12:21:55 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Vector_T.inl (ACE_Vector): Zapped the "this->" in "this->max_size()".
+ Thanks to Karl-Heinz <wind at itq dot de> for reporting this.
+
+Mon Apr 28 12:13:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_common.GNU:
+ Added kstat support needed for monitoring lib on solaris
+
+Mon Apr 28 12:05:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * MonitorControl/*:
+ Merge from MonitorControl branch.
+
+Mon Apr 28 11:37:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-all.h:
+ * ace/Global_Macros.h:
+ Moved set of define to config-all
+
+ * ace/Truncate.h:
+ * ace/Condition_T.h:
+ Doxygen fix
+
+Mon Apr 28 11:36:46 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Acceptor.h:
+ * ace/Acceptor.cpp:
+
+ Added a virtual method to facilitate the configurable handling of
+ accept() errors.
+
+Mon Apr 28 11:30:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ETCL/*:
+ New ETCL library for ACE
+
+ * bin/MakeProjectCreator/config/ace_etcl.mpb:
+ * bin/MakeProjectCreator/config/ace_etcl_parser.mpb:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+ New base projects
+
+ * bin/MakeProjectCreator/config/acenosubsets.mpb:
+ Layout changes
+
+Mon Apr 28 10:31:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Monitor_Admin.cpp:
+ * ace/Monitor_Admin.h:
+ * ace/Monitor_Admin_Manager.cpp:
+ * ace/Monitor_Admin_Manager.h:
+ * ace/Monitor_Base.cpp:
+ * ace/Monitor_Base.h:
+ * ace/Monitor_Base.inl:
+ * ace/Monitor_Control_Action.cpp:
+ * ace/Monitor_Control_Action.h:
+ * ace/Monitor_Control_Types.cpp:
+ * ace/Monitor_Control_Types.h:
+ * ace/Monitor_Point_Registry.cpp:
+ * ace/Monitor_Point_Registry.h:
+ * ace/ace.mpc:
+ * ace/Global_Macros.h:
+ First commit coming from the Monitor branch. This will add a
+ monitoring framework to ACE with which size of queues, cpu load
+ and other resources can be monitored.
+
+Sun Apr 27 05:55:54 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Object.cpp:
+ Fixed big introduced by some cleanup I did
+
+Fri Apr 25 21:47:54 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+
+ Began integration of the foo.vxtest files into the actual testing
+ process. This needs to get enhanced in ProcessVX_Win32.pm too.
+
+Fri Apr 25 21:21:56 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Object_Manager.cpp:
+
+ Removed a comment that no longer applies.
+
+ * bin/PerlACE/Process_Win32.pm:
+
+ Changed the check for failure to spawn a process, in order to avoid
+ a race condition (the spawned process exits normally before we even
+ check its status).
+
+ * bin/auto_run_tests.pl:
+
+ With -s, account for different parameter formatting requirements in
+ the win32 and posix sandbox programs.
+
+Fri Apr 25 14:25:00 UTC 2008 Simon Massey <sma at pristmech dot com>
+
+ * tests/Unload_libACE.cpp:
+ I've backed out this change due to lack of time to chase up
+ the lack of macro definitions. This will need to be revisited.
+
+Fri Apr 25 10:40:00 UTC 2008 Simon Massey <sma at pristmech dot com>
+
+ * tests/Unload_libACE.cpp:
+ This test wasn't using ACE_TMAIN.
+
+Fri Apr 25 09:10:00 UTC 2008 Simon Massey <sma at pristmech dot com>
+
+ * bin/MakeProjectCreator/config/global.features:
+ * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_MFC.mpc:
+ Feature name "uses_wchar" already used within ACE/TAO. Replaces
+ the "unicode" feature name. Template / project names within MPC
+ still named unicode.
+
+Thu Apr 24 18:45:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ When ACE_LACKS_STROPTS_H not is defined we assume we have
+ strbut so we set ACE_HAS_STRBUF_T
+
+Thu Apr 24 16:47:16 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ The DLL_ORB test requires threads. Disable it when the ST config
+ is used.
+
+Thu Apr 24 15:05:50 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled new regression test for bug #3299.
+
+Thu Apr 24 09:55:00 UTC 2008 Simon Massey <sma at pristmech dot com>
+
+ * bin/MakeProjectCreator/config/ace_unicode.mpb:
+ * bin/MakeProjectCreator/config/global.features:
+ Default unicode=0 feature. Unicode does not depend upon MFC,
+ may be used together as necessary.
+
+ * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_MFC.mpc:
+ * examples/Log_Mgs/Log_Msg_MFC/Log_Mgs_Unicode_MFC.mpc:
+ Split out the unicode requirements.
+
+Thu Apr 24 05:58:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Refcountable_T.{cpp,inl}:
+ Use ACE_INLINE
+
+Thu Apr 24 05:47:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-posix.h:
+ Reverted change below, already made a similar change which is less risky
+
+ Thu Apr 17 19:27:23 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+ * ace/config-posix.h: Added a check for
+
+ #if defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1
+ # define ACE_LACKS_STROPTS_H
+ #endif
+
+ so that ACE will compile properly on Fedora 8. Thanks to
+ Jules Colding <colding at 42tools dot com> for this fix.
+
+Thu Apr 17 19:27:23 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/config-posix.h: Added a check for
+
+ #if defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1
+ # define ACE_LACKS_STROPTS_H
+ #endif
+
+ so that ACE will compile properly on Fedora 8. Thanks to
+ Jules Colding <colding at 42tools dot com> for this fix.
+
+Wed Apr 23 18:29:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Refcountable.{h,cpp,inl}:
+ * ace/Refcountable_T.{h,cpp,inl}:
+ Changed ACE_Refcountable to ACE_Refcountable_T which has a
+ trait for the type of lock. ACE_Refcountable is now a typedef
+ of ACE_Refcountable_T<ACE_Null_Mutex>. Also the refcount
+ type is now a long so that we can make use of the Atomic_Op
+ optimizations on some platforms
+
+ * ace/ace.mpc:
+ * ace/Makefile.am:
+ Updated for the change above
+
+Wed Apr 23 14:49:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ When _XOPEN_STREAMS is defined to -1 we don't have stropts.h,
+ this fixes bugzilla 3291. Thanks to Jules Colding
+ <colding at 42tools dot com> for reporting this
+
+Wed Apr 23 14:10:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/ACE-development-process.html:
+ We are using svn as repository
+
+Wed Apr 23 14:01:32 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_rel_manpages:
+ Corrected doxygen path
+
+ * bin/group_test_stats.sh:
+ Helper script to analyze test stat diffs
+
+ * ace/Sig_Handler.{h,cpp}:
+ Doxygen changes and changed third_party_sig_handler flag to a
+ bool
+
+ * ace/Service_Repository.{h,cpp}:
+ Changed ignore_suspended to a bool
+
+ * ace/Intrusive_Auto_Ptr.h:
+ Fixed typo in comment
+
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ * ace/config-vxworks6.4.h:
+ Removed workaround that is only needed with VxWorks 5.5.1
+
+ * ace/Codeset_Registry_db.cpp:
+ Added UCS2 and correct short names. This fixes bugzilla 3295
+
+ * ace/Codeset_IBM1047.h:
+ Doxygen changes
+
+ * ace/Cleanup_Strategies_T.h:
+ Layout changes
+
+ * ace/Service_Gestalt.{h,inl}:
+ No need for virtual methods, use bool and doxygen changes
+
+ * ace/Service_Manager.h:
+ Explicitly mark destructor as virtual
+
+ * ace/Service_Object.{h,cpp,inl}:
+ Use bool
+
+Wed Apr 23 01:53:32 CDT 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.6.4 released.
+
+Wed Apr 16 13:06:05 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/ARGV.cpp:
+ Don't quote quotes already quoted.
+
+Mon Apr 14 12:10:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.pl:
+ Don't run 2980 when WCHAR is set
+
+Mon Apr 14 11:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Threading_Helper_T.cpp:
+ Removed
+
+ * ace/Makefile.am:
+ Removed file above
+
+ * ace/Service_Config.{h,cpp,inl}:
+ Changed the template instantiations like we have for Atomic_Op.
+
+Mon Apr 14 09:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ Don't build 2980 with wchar enabled and added empty resource
+ file section
+
+Mon Apr 14 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Threading_Helper_T.cpp:
+ Added new file with the threading helper template code. This resolves
+ the strange link problems with BCB. This file is included in the
+ Service_Config.h file
+
+ * ace/Makefile.am:
+ Added new files
+
+ * ace/Service_Config.{h,cpp,inl}:
+ Include the new Threading_Helper_T.cpp and removed the implementation
+ from these files
+
+ * tests/tests.mpc:
+ Added missing include for bug 2980
+
+ * ace/Codeset_Registry.h:
+ Fixed typo in comment
+
+ * ace/Shared_Object.h:
+ Doxygen changes
+
+Mon Apr 14 01:56:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.h:
+ * ace/Service_Config.inl:
+ * ace/Service_Config.cpp:
+
+ Moved ACE_Threading_Helper ctor and dtor implementaion
+ inline. This makes them available to code that indirectly
+ references the threadkey_ member (like, in examples/). This
+ should resolve link-time problems with borland compilers.
+
+ * tests/Bug_2980_Regression_Test.cpp (unloadDll):
+
+ Fixing warnings about missing extern "C" qualifier in call to
+ pthread_create.
+
+Sun Apr 13 07:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp (_vx_call_entry):
+ Set the sc::current before calling main. This resolves the
+ sc asserts with vxworks kernel mode. Thanks to Iliyan
+ for suggesting this addition
+
+Fri Apr 11 17:36:34 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * docs/Download.html:
+ * docs/ACE-development-process.html:
+ * docs/ACE-bug-process.html: Updated these files to use the major,
+ minor, and micro release terminology.
+
+Fri Apr 11 15:26:08 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/run_test.lst:
+
+ Including config-lite.h: the driver is non-ACE but it still
+ needs to know platform-specific stuff, like threads usage,
+ etc.
+
+Fri Apr 11 01:51:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/svcconf.mpb:
+
+ Fixing a fuzz build warning of a missing $Id. Also, not all
+ make(1)'s have $(MV), so changing mpb to use just "mv"
+
+Thu Apr 10 22:32:58 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.h:
+ * ace/Service_Config.cpp:
+
+ Fixing compile problems with single-thread-only builds - using
+ the compiler's abilities (partial specialization) to generate
+ appropriate code.
+
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf_Token_Table.h:
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_y.cpp:
+ * ace/svcconf.mpb:
+
+ Changes to fix compile problems related to versioned namespace
+ use. Eliminated custom token file post-processing - replaced
+ with a wrapper header file (yacc(1) is now producing
+ Token_Table.h, which gets included in Tokens.h)
+
+Thu Apr 10 14:42:04 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Svc_Conf.h:
+
+ Adding YYSTYPE_IS_DECLARED to prevent yacc(1) from trying to use a
+ trivial definition of YYSTYPE.
+
+ * ace/Svc_Conf.y:
+
+ Fixing an unused variable warning. Adding an YYSTYPE guard.
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_y.cpp:
+ * ace/svcconf.mpb:
+
+ Undefining YYSTYPE_IS_DECLARED at the bottom of Svc_Conf_Tokens.h
+ prevents it from leaking and poluting the global namespace. This
+ allows other yacc(1) based parsers to be used in ACE
+ apps. Cleaning up and recording generated files.
+
+Thu Apr 10 13:27:13 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Fixed compilation issues and reversed the CAN_RUN_TEST check to
+ get it to run on non-win32 and non-vxworks operating systems.
+
+Thu Apr 10 10:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Dynamic_Service.inl:
+ Corrected method signatures
+
+Thu Apr 10 10:03:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ Fixed BCB compile error
+
+Thu Apr 10 07:13:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_pgi.GNU:
+ Removed deprecated linker flags
+
+ * ace/Dev_Poll_Reactor.cpp:
+ * ace/Notification_Queue.cpp:
+ * ace/Service_Config.cpp:
+ * ace/Service_Object.cpp:
+ * ace/Sock_Connect.cpp:
+ Added missing includes
+
+ * ace/Notification_Queue.cpp:
+ * ace/Notification_Queue.inl:
+ Added missing versioned namespace macros
+
+Thu Apr 10 06:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Gestalt.h:
+ Added include of Guard_T.h
+
+ * include/makeinclude/platform_linux_pgi.GNU:
+ Updated for latest pgCC version
+
+Thu Apr 10 00:50:53 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/tests.mpc:
+
+ Fixing a compile problem with no-threads builds.
+
+Wed Apr 9 22:05:30 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_Lexer.h:
+ * ace/Svc_Conf_Lexer.cpp:
+ * ace/Svc_Conf_Param.h:
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_y.cpp:
+ * ace/svcconf.mpb:
+
+ Simplified the build sequence reducing the number of additional
+ transformations needed for Bison's parser output. That includes
+ the elimination of the ACE_YY prefix, which was necessary only
+ because of these transformations. Added ACE_TEXT around naked
+ string literals. Fixed build warnings with unicode builds.
+
+Wed Apr 9 20:22:46 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Repository.cpp:
+ Fixing relocate_i to both account for empty slots _and_ provide
+ useful logging.
+
+Wed Apr 9 18:24:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run 3171 with CORBA/e micro
+
+Wed Apr 9 11:50:27 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
+
+ Added a need_to_write_project override method to only allow the
+ project file to be written if it is an executable project.
+
+ * bin/MakeProjectCreator/modules/VXTestWorkspaceCreator.pm:
+
+ Fixed a bug where an invalid base module was used in the @ISA.
+
+Wed Apr 9 11:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ Check for ACE_VXWORKS
+
+Wed Apr 9 11:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Svc_Conf_y.cpp:
+ Fixed unicode build problems
+
+Wed Apr 9 08:06:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_y.cpp:
+ Fixed unicode build problems
+
+Wed Apr 9 07:18:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Config.h:
+ Export ACE_Threading_Helper, it is used as protected class
+ member
+
+ * ace/Service_Gestalt.cpp:
+ Don't use ACE_LIB_TEXT
+
+ * ace/High_Res_Timer.h:
+ * ace/Based_Pointer_T.h:
+ Doxygen changes
+
+ * ace/Naming_Context.cpp:
+ Fixed gcc 4.3 warning
+
+ * ace/OS_NS_errno.h (last_error):
+ Give the argument a name so that doxygen can do its work
+
+ * ace/Select_Reactor_T.cpp:
+ Use scoping
+
+ * ace/MMAP_Memory_Pool.{h,cpp}:
+ Add a bool flag to indicate whether the signal handler has to
+ be installed or not. Made some other flags bool and win32 there
+ is no need have a signal handler as member. This fixes bugzilla
+ 3290
+
+Wed Apr 9 02:43:37 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Dynamic_Service.inl (instance):
+ Adjusting interface to take a smart pointer.
+
+ * ace/OS_NS_unistd.cpp (argv_to_string):
+ Adding interpretation for tabs and new line characters as
+ characters to trigger quoting.
+
+ * ace/Service_Config.h:
+ * ace/Service_Config.cpp:
+ * ace/Service_Gestalt.h:
+ * ace/Service_Gestalt.inl:
+ * ace/Service_Gestalt.cpp:
+ * ace/Service_Repository.cpp:
+ Reformatting, updating comments and logging.
+
+Wed Apr 9 01:21:42 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Condition_T.cpp (wait): Fixed a bug where the mutex
+ parameter wasn't being used properly if abstime was 0. Thanks
+ to Andriy Gapon <avg at icyb dot net dot ua> for reporting this.
+
+Mon Apr 7 18:49:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/docs/templates/gnu.txt:
+ Document linkflags
+
+Mon Apr 7 15:21:38 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ This the second part of the SC refatoring. It builds on top of
+ the intrusive refcounting mechanism introduced earlier to improve
+ design and eliminate memory issues (leaks, SEGV on shutdown)
+
+ * ace/Service_Config.cpp (open_i,ACE_Service_Config):
+
+ Moved the implicit configuration file handling from open_i to
+ the SG instance. Eliminated close_svcs() by incorporating its
+ functionality in close().
+
+ * ace/Service_Config.inl:
+ * ace/Service_Config.h (ACE_Service_Config_Guard,ACE_Service_Config):
+
+ Removing the inheritance relationship between Service Config and
+ Service Gestalt. To simplify the memory management, SC becomes an
+ interface to the actual configuration data managed by SG. Coupled
+ with the reference counting of SG instances, this ensures correct
+ memory management in multi-threaded environments where both the
+ TSS and the user code may trigger SG finalization.
+
+ Introducing ACE_Threading_Helper to simplify TSS management
+ (RAII idiom). Changed ACE_Service_Config_Guard to use the new
+ smart pointer for SG. Doxygen comments cleanup.
+
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_y.cpp:
+
+ Fixing unused function definition
+
+ * tests/Bug_2980_Regression_Test.cpp:
+
+ Updating the test to prevent it from breaking vxWorks builds
+ which appear to lack a declaration for dlopen()
+
+Sun Apr 6 01:53:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Gestalt.cpp:
+
+ Fixing unused variable warning.
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/svcconf.mpb:
+
+ Ensuring there are no TAB characters present in the generated
+ file.
+
+ * tests/run_test.lst:
+
+ Excluding Bug_2980_Regression as it is not runnable on vxWorks.
+
+Sat Apr 5 16:21:50 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.inl:
+ * ace/Service_Config.cpp:
+ * ace/Service_Gestalt.cpp:
+ * ace/Service_Gestalt.h:
+
+ Making SG intrusively refcountable by introducing
+ intrusive_{add,remove}_ref methods and a refcounter. Adding
+ skip_default_svc_conf_file parameter in process_directives.
+
+ * ace/svcconf.mpb:
+ * tests/Object_Manager_Flipping_Test.cpp:
+
+ Reformatting and cleanup.
+
+Sat Apr 5 13:42:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ Fixed argument not used warnings
+
+Sat Apr 5 13:36:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Parse_Node.cpp:
+ Moved include out of versioned namespace block
+
+Sat Apr 5 11:50:40 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Parse_Node.cpp:
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_y.cpp:
+
+ Replacing ACE_LIB_TEXT with ACE_TEXT
+
+Fri Apr 4 21:43:35 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * THANKS:
+
+ Adding Michael Carter <mcarter at swri dot org> for reporting
+ and debugging bug 3007.
+
+ * ace/Base_Thread_Adapter.h:
+ * ace/Base_Thread_Adapter.cpp:
+
+ Storing a pointer to SG that was current in the parent thread,
+ which enables correct "inheritance" of the SG in the child thread.
+
+ * ace/Parse_Node.h:
+ * ace/Parse_Node.cpp:
+
+ Fixing ACE_Stream_Node::{apply,link} to ensure the modules are linked
+ together and initialized correctly - see bug# 2916. Moving the
+ initialization code out of the yacc parser, here.
+
+ * ace/Service_Object.cpp:
+ * ace/Service_Types.cpp:
+
+ Improving the log output in fini().
+
+ * ace/Service_Repository.h:
+
+ Eliminating an unused parameter static_only from relocate_i()
+
+ * ace/Service_Repository.cpp:
+
+ Simplified relocate_i() and fixed an error that was causing it to
+ choose incorrect ranges of service indexes to relocate.
+ Eliminated the boolean static_only parameter as it was always
+ being set to true. Changed remove() to eliminate the "packing"
+ code and updated the few other methods, which assumed there are no
+ "gaps" in the service storage.
+
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_y.cpp:
+
+ Adding an overloaded yyerror that takes just a string to comply
+ with the changed bison template. Moving the module initialization
+ code out of the parser. See ACE_Stream_Node class and bug# 2916.
+
+ * ace/Thread_Adapter.cpp:
+
+ The invoke() method, which runs in the new thread, initializes the
+ thread-specific configuration context. This scheme ensures any
+ newly spawned thread would inherit the spawning thread's service
+ configuration context.
+
+ * ace/ace.mpc:
+
+ Adding Intrusive_Auto_Ptr to the list.
+
+ * ace/svcconf.mpb:
+
+ Updated for the grammar updates, see bug# 2916.
+
+ * examples/ASX/CCM_App/ASX_CCM_App.mpc:
+ * examples/ASX/CCM_App/CCM_App.cpp:
+
+ The DLL names are case-sensitive on *nix. Minor layout changes.
+
+ * tests/Object_Manager_Flipping_Test.cpp:
+
+ Updated to use the Intrusive_Auto_Ptr
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Adding Bug_2980_Regression_Test
+
+Fri Apr 4 18:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ Fixed iostream detection. This fixes bugzilla 3288
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this.
+
+Thu Apr 3 14:13:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Changed the make variable from which we zap the -ansi and also support
+ this with the diab compiler
+
+Thu Apr 3 09:40:00 UTC 2008 Simon Massey <simon dot massey at prismtech dot com>
+
+ * apps/JAWS/stress_testing/benchd.cpp:
+
+ Using "interface" as the descriptive name of a parameter seems to
+ cause VC8 (when building with MFC) to assume you mean a struct type
+ and it raises an incorrect systax error.
+
+Thu Apr 3 07:05:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Generate link_groups also when staticflags are not set
+
+Wed Apr 2 21:40:00 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Fix typo in ACE_HAS_BSWAP_{16,32,64} feature tests.
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this.
+
+Wed Apr 2 20:22:50 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Intrusive_Auto_Ptr.h:
+ * ace/Intrusive_Auto_Ptr.inl:
+
+ Correcting a problem with VC71
+
+Wed Apr 2 11:06:30 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Enabled a TAO/tests/Collocated_Forwarding on vxworks and
+ vxworks_rtp.
+
+Wed Apr 2 09:05:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Add no_cflags_ansi and no_ccflags_ansi which if set do remove the
+ -ansi compiler flag
+
+Wed Apr 2 08:14:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Replaced ACE_HAS_VOIDPTR_GETTIMEOFDAY with
+ ACE_HAS_TIMEZONE_GETTIMEOFDAY, this fixes bugzilla 3145
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this
+
+Wed Apr 2 07:51:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Enabled a few tests on VxWorks again, in the past rebooting a
+ crashed target was problematic but that is not an issue anymore
+
+Tue Apr 1 14:20:34 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Added a new test for collocated forwarding case.
+
+Tue Apr 1 12:58:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added OBV typed event test
+
+Tue Apr 1 12:52:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Add the DSI Gateway exception test, they should run, the scoreboard
+ will show if they run
+
+Tue Apr 1 08:33:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Set ACE_OPENVMS_IA64 on Itanium
+
+ * include/makeinclude/rules.lib.GNU:
+ Only use a special AR rule on OpenVMS IA64
+
+Tue Apr 1 07:38:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Intrusive_Auto_Ptr_Test.cpp:
+ Fixed argument not used warning
+
+Tue Apr 1 07:34:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Enabled a few tests for vxworks
+
+Tue Apr 1 07:12:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ Only run the reactor once, this will lead to the failing of this test
+ when using the WFMO Reactor which seems to be a old issue that needs
+ to get addressed
+
+Tue Apr 1 06:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Disabled most tests for vxworks and vxworks_rtp, we first need to
+ convert a lot of scripts to support vxworks
+
+Mon Mar 31 21:48:58 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed to avoid feature test for pthread_getaffinity_np() and
+ pthread_setaffinity_np() if system does not have cpu_set_t. In
+ that case, the pthread functions are amost certainly not
+ compatible.
+
+ * ace/Makefile.am:
+
+ Add Intrusive_Auto_Ptr.cpp, Intrusive_Auto_Ptr.h, and
+ Intrusive_Auto_ptr.inl to nobase_include_HEADERS.
+
+Mon Mar 31 18:56:40 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Refcounted_Auto_Ptr.h:
+ * ace/Refcounted_Auto_Ptr.inl:
+ * ace/Refcounted_Auto_Ptr.cpp:
+
+ Reverting the changes because a) they are not really necessary
+ for the refactoring of the service config, and; b) the AIX
+ compiler appears to not deal well with implicit conversion
+ definitions, to template member types.
+
+Mon Mar 31 16:15:17 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tests/tests.mpc:
+
+ Adding Intrusive_Auto_Ptr_Test to the list
+
+Mon Mar 31 14:52:58 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Intrusive_Auto_Ptr.h:
+ * ace/Intrusive_Auto_Ptr.cpp:
+ * ace/Refcounted_Auto_Ptr.h:
+ * ace/Refcounted_Auto_Ptr.inl:
+ * ace/Refcounted_Auto_Ptr.cpp:
+
+ Added preprocessor guards for proper inlining. Qualified
+ the type name in the implementation of opretator
+ unspecified_bool_type () to appease GCC 3.x
+
+Mon Mar 31 13:50:45 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tests/run_test.lst:
+
+ Adding Intrusive_Auto_Ptr_Test to the list
+
+Mon Mar 31 12:09:20 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Always reference Kokyu libraries from $(ACE_BUILDDIR) instead of
+ $(top_builddir) so that it will work from both ACE and TAO.
+
+Mon Mar 31 11:00:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2980_Regression_Dll.cpp:
+ * tests/Bug_2980_Regression_Test.cpp:
+ Fixed fuzz errors
+
+Mon Mar 31 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Added test for ACE_OS::last_error()
+
+Sun Mar 30 19:54:23 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ This is the first step of merging the changes from the gestalt
+ refactoring branch. It includes only changes that are merely
+ peripheral, without impacting the actual configuration mechanism
+ - yet.
+
+ * ace/ARGV.h:
+ * ace/ARGV.cpp:
+
+ Introducing a ctor that takes the number of parameters in argv,
+ thus eliminating the requirement to have argv 0-terminated. This
+ requirement can be a hard to satisfy in cases where the argv has
+ been "manualy constructed", i.e. not provided by the OS
+ environment.
+
+ * ace/Intrusive_Auto_Ptr.h:
+ * ace/Intrusive_Auto_Ptr.inl:
+ * ace/Intrusive_Auto_Ptr.cpp:
+
+ Added an intrusive auto pointer implementation. It is a reference
+ counted auto pointer that can be used for types with explicit
+ reference management implementations.
+
+ * ace/OS_NS_unistd.h:
+ * ace/OS_NS_unistd.cpp:
+
+ Introducing new argv_to_string which takes an explicit argc
+ argument and relaxes the requirement on argv (to be 0-terminated).
+
+ * ace/Refcounted_Auto_Ptr.h:
+ * ace/Refcounted_Auto_Ptr.inl:
+
+ Adding a mechanism that provides a correct conversion to boolean
+ for smart pointers, which preserves the smantics of "if (ap) ..."
+ without the unwanted side effects. Credit goes to Andrei
+ Alexandrescu's Modern C++ Design book.
+
+ * ace/Service_Types.cpp:
+
+ Cosmetics: adding this-> to member references.
+
+ * examples/ASX/CCM_App/ASX_CCM_App.mpc:
+ * examples/ASX/CCM_App/CCM_App.cpp:
+
+ Fixing a problem that precludes the test from running correctly
+ on *nix - the DLL names are not case-insensitive. Minor layout
+ changes.
+
+ * tests/Intrusive_Auto_Ptr_Test.cpp:
+
+ A test for the new auto ptr.
+
+ * tests/Bug_2980_Regression_Dll.cpp:
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+
+ Addded a test for bug 2980. Thanks to Lothar Werzinger <lothar
+ at tradescape biz> for contributing the code.
+
+Sun Mar 30 18:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Handle single quotes in the executable arguments
+
+Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ Dev_Poll reactor displays other bugs, so disable this part of
+ the test
+
+ * ace/Select_Reactor_Base.cpp:
+ Position the iterator on the first element that is none zero, fixes
+ crashing of the reactor_dispatch_order_test on non windows platforms
+
+Fri Mar 28 17:18:50 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/CDR_Stream.cpp (write_long_placeholder, write_short_placeholder):
+ Be careful to adjust and grow the stream's block before taking
+ the pointer that's returned to the user. Thanks to Alain Kocelniak
+ <alain@corys.fr> for this fix.
+
+ * ace/CDR_Stream.h: Note that the placeholder methods return 0 if
+ the method fails due to insufficient memory.
+
+ * THANKS: Added Alain Kocelniak to the Hall of Fame.
+
+Fri Mar 28 15:40:03 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/unload_libace.mpb:
+
+ Inhert from vc_warnings instead of duplicating part of it's
+ functionality.
+
+Fri Mar 28 09:24:25 UTC 2008 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Enabled a test to Bug_3276_Regression.
+
+Fri Mar 28 09:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ Extended this test to also test suspend/resume_handlers and the
+ dev_poll reactor. Thanks to Russell Morra for extending this test
+
+ * ace/ACE.cpp:
+ * ace/High_Res_Timer.inl:
+ Layout changes
+
+ * ace/Hash_Map_Manager_T.cpp:
+ Use prefix increment instead of postfix
+
+ * ace/High_Res_Timer.h:
+ * ace/Reactor.h:
+ * ace/Select_Reactor_Base.h:
+ Doxygen changes
+
+ * ace/Select_Reactor_Base.inl:
+ Fixed done implementation. This fixes bugzilla 3267
+
+ * ace/String_Base.cpp:
+ Initialise pointer with 0
+
+ * ace/WFMO_Reactor.{h,cpp,inl}:
+ Bool changes, fixed implementation of suspend_handlers/resume_handlers,
+ the to_be_added set modifications where not done correctly
+
+Thu Mar 27 19:09:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Diabled 3251/3252 in a static build
+
+Thu Mar 27 16:27:44 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Object_Manager.cpp:
+
+ In Win32 debug builds with ACE_DISABLE_WIN32_ERROR_WINDOWS, also
+ redirect assert messages to stderr instead of GUI message boxes.
+
+Thu Mar 27 16:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/ACE-bug-process.html:
+ * docs/ACE-development-process.html:
+ * docs/ACE-guidelines.html:
+ * docs/usage-bugzilla.html:
+ Updated bugzilla location
+
+Thu Mar 27 15:52:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/VXTestProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/VXTestWorkspaceCreator.pm:
+ * bin/MakeProjectCreator/templates/vxtest.mpd:
+ New MPC generator called vxtest. This will generate the loading
+ of the downloadable kernel modules for an application.
+
+Thu Mar 27 14:07:27 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ #include <byteswap.h> in ACE_HAS_BSWAP_{16,32,64} feature tests.
+ Resolves bugzilla issue #3134.
+
+Thu Mar 27 12:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Small change to get the VxWorks shared library build further
+
+Thu Mar 27 12:46:48 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/SSL/Thread_Pool_Reactor_SSL_Test.cpp:
+
+ Changed ACE_TMAIN to run_main for the non-threaded portion of the
+ #ifdef. ACE_TMAIN is defined in Main.cpp.
+
+Thu Mar 27 12:37:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ASNMP/asnmp/snmperrs.h:
+
+ Added an unknown error code message to the pErrs array to avoid
+ getting a garbage pointer from Snmp::error_string() in the event
+ that the error code is outside the valid range.
+
+Thu Mar 27 11:11:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Free_List.cpp:
+ Fixed ambiguous else with GCC 4.3. Thanks to Jules Colding
+ <colding at 42tools dot com> for reporting this
+
+Thu Mar 27 10:36:18 UTC 2008 Simon McQueen <sm@prismtech.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Make it possible to specify an alternate name / location for
+ platform_macros.GNU. This fixes bug #3269.
+
+Wed Mar 26 15:32:01 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Corrected my change from yesterday so that it works properly for
+ executable projects that pull in source files from other directories.
+
+Tue Mar 25 18:02:52 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * ASNMP/asnmp/wpdu.cpp:
+
+ Added an intermediate integer to avoid type-punned pointer
+ dereferencing.
+
+Tue Mar 25 14:19:31 UTC 2008 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ When generating the linker command line for executable linked against
+ static libs, exclude the "libFoo.a" form of the libraries. They are
+ already accounted for by "-lFoo" arguments. This resolved Bugzilla
+ Bug #3266.
+
+Tue Mar 25 10:43:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Server_Logging_Handler.cpp:
+ Corrected static template member instantiation to resolve compile
+ error on OpenVMS Alpha
+
+Tue Mar 25 10:12:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Disable warnings on IA64 without using GNV, that doesn't work
+ in all cases
+
+Tue Mar 25 09:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.cpp:
+ Detect sockets that are bigger then ACE_MAX_DEFAULT_PORT.
+ Thanks to Patrick Rabau <pr2345 at gmail dot com> for
+ reporting this. This fixes bugzilla 3264
+
+ * tests/INET_Addr_Test.cpp:
+ Added a test for an overflow of the port number
+
+ * ace/Hash_Map_Manager_T.{h,inl}:
+ Changed head argument of the iterators to a bool
+
+ * ace/Reactor.h:
+ * ace/Reactor_Impl.h:
+ Doxygen changes
+
+Tue Mar 25 00:38:33 UTC 2008 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+
+ Add Configuration.inl to nobase_include_HEADERS.
+
+Mon Mar 24 16:21:30 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_Thread.cpp (event_timedwait): Fixed this code so that
+ it will treat 0 using "wait indefinitely" semantics for Windows
+ and all other OS platforms. Thanks to Paul Carter <pcarter at
+ scires dot com> for contributing this.
+
+Mon Mar 24 16:13:51 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Manual_Event_Test.cpp (worker): Added a test to ensure
+ that a null pointer works properly for the
+ ACE_Manual_Event::wait() method. Thanks to Paul Carter <pcarter
+ at scires dot com> for contributing this.
+
+Mon Mar 24 15:43:28 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * bin/MakeProjectCreator/config/MPC.cfg:
+
+ MPC can now be configured to recognize ACE_TMAIN as an executable
+ entry point. We no longer need to explicitly state that a project will
+ be an executable in the MPC file, MPC will automatically deduce that
+ the project is an executable given the presence of ACE_TMAIN.
+
+ This change above relates to the following change in MPC:
+ Mon Mar 24 15:18:28 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+Mon Mar 24 02:25:58 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * COPYING: Updated the license a bit based on feedback from Tom
+ Callaway" <tcallawa at redhat dot com>. These changes will
+ enable ACE+TAO to be shipped with Fedora.
+
+Fri Mar 21 16:12:53 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_unistd.cpp (num_processors_online): Count the online
+ processors for Windows, not just the number present.
+
+ * tests/OS_Test.cpp: Sanity-check the num_processors_online() value.
+
+Fri Mar 21 15:10:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FoxReactor/FoxReactor.cpp:
+ Fix 64bit issues, this fixes bugzilla 3248
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this
+
+Fri Mar 21 10:46:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace.m4:
+ Changed gperf check
+
+ * apps/Makefile.aml:
+ Updated gperf check. This fixes bugzilla 3249.
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this
+
+Fri Mar 21 10:06:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks.h:
+ If ACE_VXWORKS is not defined try to figure out which vxworks
+ version we are using based on some vxworks version defines
+
+ * ace/Select_Reactor_Base.h:
+ Doxygen changes and made the constructor of
+ ACE_Select_Reactor_Handler_Repository_Iterator explicit
+
+ * ace/Process.{h,cpp}:
+ Layout change
+
+Thu Mar 20 15:34:18 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+
+ Changed the ACE_LD_DECORATOR_STR macro to use $(LIBMODIFIER)
+ instead of $(ILIBMODIFIER) for the bmake project type.
+
+Thu Mar 20 12:42:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Addr.h:
+ Layout change
+
+ * ace/High_Res_Timer.cpp:
+ Changed supported flag to a bool
+
+ * ace/INET_Addr.h:
+ Doxygen change
+
+ * ace/Svc_Conf.h:
+ Moved regular include before pragma once
+
+Wed Mar 19 13:45:00 UTC 2008 Simon Massey <simon.massey@prismtech.com>
+
+ * ace/tao_orb_tests.lst:
+ Remove TAO/tests/Bug_1482_Regression from LynxOS.
+
+Wed Mar 19 11:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process_Manager.h:
+ * ace/Semaphore.h:
+ * ace/SOCK.h:
+ * ace/SOCK_IO.h:
+ Doxygen changes
+
+ * ace/Service_Gestalt.h:
+ Removed not needed forward declaration
+
+ * ace/OS_NS_Thread.h:
+ Layout change
+
+Tue Mar 18 20:17:55 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/ProcessLVRT.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm: Handle timeouts to the target better
+ and smarten up the way it gets log files from a failed target.
+
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm: Add a GetFile() method to get a file
+ from the target to the local machine. By default, it does nothing.
+ It's meant for use by targets that don't necessarily have locally
+ accessible file systems, such as LabVIEW RT.
+
+ * bin/Run_Test.pm:
+ * bin/PerlACE/Process_Win32.pm: Add support for running tests on
+ LabVIEW RT similarly to the way they're done on VxWorks; TAO tests
+ run the server on the target and the client on the host.
+
+ * bin/LabVIEW_RT/labview_test_controller/labview_test_controller.cpp:
+ Catch exceptions and try to report it to stderr before the machine
+ locks up, dies, etc.
+
+Tue Mar 18 07:33:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Removed -Wc/DISTINGUISH_NESTED_ENUMS, only needed for one test
+
+Mon Mar 14 09:17:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added 3252
+
+Mon Mar 14 09:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added 3251
+
+Fri Mar 14 19:57:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_aix_g++.GNU:
+ Improved support for buildbits=64
+
+Fri Mar 14 19:09:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.cpp:
+ Fixe warning with GCC 4.2 on AIX
+
+Fri Mar 14 19:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_aix_g++.GNU:
+ Disable visibility by default. With GCC 4.2 on AIX we get warnings
+ that visibility is not supported in that configuration
+
+Fri Mar 14 15:02:33 UTC 2008 Ciju John <johnc at ociweb dot com>
+
+ * bin/tao_other_tests.lst:
+ Turn on the Notify Persistent_POA test.
+
+Fri Mar 14 09:30:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_aix_g++.GNU:
+ Don't use -mcpu=common, that is an ancient default of AIX 5.1
+
+Thu Mar 13 12:41:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_aix_g++.GNU:
+ Fixed support for buildbits=32/64
+
+Wed Mar 12 19:49:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted the gperf change below, breaks all autoconf builds
+
+ Wed Mar 12 06:55:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+ * m4/ace.m4:
+ Added enable-aio, enable-ipo and fixed gperf handling.
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this
+
+Wed Mar 12 15:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ Fix retry mechanism for the iBoot bar
+
+Wed Mar 12 12:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace.m4:
+ Added support for fox, thanks to Thomas Girard
+ <thomas dot g dot girard at free dot fr> for reporting this.
+ This fixes bugzilla 3147
+
+Wed Mar 12 11:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FoxReactor/FoxReactor.{h,cpp}:
+ Removed check for ACE_HAS_FOX
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Changed fox handling, matches the other reactors. Thanks to
+ Thomas Girard <thomas dot g dot girard at free dot fr> for
+ reporting this. This resolves bugzilla 3248
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+ Added support for Visual Age 9
+
+Wed Mar 12 11:53:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FoxReactor/FoxReactor.h:
+ Added missing include, thanks to Thomas Girard
+ <thomas dot g dot girard at free dot fr> for reporting this
+
+Wed Mar 12 07:07:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FoxReactor/FoxReactor.cpp:
+ Fixed compile errors, thanks to Thomas Girard
+ <thomas dot g dot girard at free dot fr> for reporting this
+
+Wed Mar 12 06:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mwc:
+ * bin/MakeProjectCreator/config/global.features:
+ Added fox reactor, thanks to Thomas Girard
+ <thomas dot g dot girard at free dot fr> for reporting this
+
+Wed Mar 12 06:55:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace.m4:
+ Added enable-aio, enable-ipo and fixed gperf handling.
+ This to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for reporting this
+
+Tue Mar 11 12:24:43 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Svc_Conf.h: Add #include "ace/config.h" so a setting for
+ ACE_LACKS_PRAGMA_ONCE can be seen. Fixes compile warnings.
+
+Tue Mar 11 12:20:02 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Fixed compile error. No need to use
+ ACE_TEXT_ALWAYS_CHAR for a char* literal.
+
+Mon Mar 10 22:27:09 UTC 2008 Nanbor Wang <nanbor@wakefield.txcorp.com>
+
+ * ace/Svc_Conf.h: Removed redundant inclusion of Obstack.h. It is
+ included later in Svc_Conf_Param.h. Removing this extra
+ inclusion allows us to build on MacOS Leopard with optimization
+ enabled.
+
+Mon Mar 10 15:35:02 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.{h cpp} (log): For %C, clearly note that it always prints
+ a narrow-char string, and adjust the va_arg to match. Thanks to
+ Russell Morra for reporting this issue.
+
+Mon Mar 10 13:20:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Multicast_Test.cpp:
+ When sending fails, print the ip address we are using in the error
+ message.
+
+Sat Mar 8 16:23:57 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/WIN32_Asynch_IO.cpp (send): Enhanced the code to allow sends
+ of 0-sized datagrams. Thanks to Andi Heusser <aheusser at gmail
+ dot com> for this fix.
+
+Thu Mar 6 16:49:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/rules.lib.GNU:
+ Rearranged some rules to make sure c/C files are compiled with the
+ C compiler on OpenVMS
+
+Thu Mar 6 13:10:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Improved this file
+
+Thu Mar 6 10:33:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Removed restriction that only a shared or static build can be done
+
+Wed Mar 5 07:54:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run the parallel connect strategy test on VxWorks 5.5, the
+ command length of the shell is not long enough.
+
+Tue Mar 4 09:27:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ProcessVX.pm:
+ Added a retry to the iPass protocol code, in a full test run
+ we sometimes see that the reboot has failed. With this retry
+ we hopefully get rid of those false test failures
+
+Tue Mar 4 05:54:22 UTC 2008 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/svn_props.py:
+ Automatically set default properties when svn complains.
+
+Mon Mar 3 11:22:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/bor.mpd:
+ Just single line comments
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Check VXWORKSLINK for 1
+
+Mon Mar 3 11:10:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ * include/makeinclude/rules.bin.GNU:
+ * include/makeinclude/rules.lib.GNU:
+ Use 1 for VXWORKSLINK instead of true. Added footprint=1
+ as flag to specify that you are doing a footprint build
+
+Mon Mar 3 10:49:28 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * apps/JAWS/clients/WebSTONE/src/cgi-send.c:
+ * apps/JAWS/clients/WebSTONE/src/genrand.c:
+ * apps/JAWS/clients/WebSTONE/src/webmaster.c:
+ * contrib/utility/Example/CommandLine/Foo/command.cpp:
+ * contrib/utility/Example/ExH/BadCast/bad_cast.cpp:
+ * contrib/utility/Example/ExH/Compound/compound.cpp:
+ * contrib/utility/Example/ExH/HelloWorld/hello_world.cpp:
+ * contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp:
+ * contrib/utility/Example/Hetero/Container/container.cpp:
+ * contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp:
+ * contrib/utility/Example/Introspection/Traversal/driver.cpp:
+ * contrib/utility/Test/ExH/Converter/converter.cpp:
+ * contrib/utility/Test/ExH/Inline/inline.cpp:
+ * contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp:
+ * contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp:
+ * contrib/utility/Test/Introspection/Inline/inline.cpp:
+ * contrib/utility/Test/Synch/Inline/inline.cpp:
+ * etc/xlc_dummy.cpp:
+ * examples/Reactor/Proactor/test_aiocb.cpp:
+ * examples/Reactor/Proactor/test_aiosig.cpp:
+
+ Disable fuzz's check_for_improper_main_declaration check on these files.
+ These files don't use ACE.
+
+ * examples/Reactor/WFMO_Reactor/Multithreading.cpp:
+ * examples/Reactor/WFMO_Reactor/Registration.cpp:
+ * examples/Reactor/WFMO_Reactor/Registry_Changes.cpp:
+ * examples/Threads/task_three.cpp:
+
+ Use the proper form of ACE_TMAIN. Namely, the argv parameter
+ should be "ACE_TCHAR *argv[]" instead of "ACE_TCHAR **argv"
+ or "ACE_TCHAR *[]" instead of "ACE_TCHAR **"
+
+ * apps/JAWS3/bench/average.cpp:
+ * netsvcs/clients/Tokens/invariant/invariant.cpp:
+
+ Use ACE_TMAIN instead of main as the program entry point to comply
+ with ACE/TAO/CIAO coding standards.
+
+Mon Mar 3 08:58:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Improved this file
+
+Mon Mar 3 07:30:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Don't set INSLIB
+
+Mon Mar 3 07:00:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/rules.local.GNU:
+ Rearranged some rules so that C files are compiled with the
+ C compiler on OpenVMS
+
+Mon Mar 3 06:57:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ProcessVX.pm:
+ Added support to specify a custom password for the iBoot
+
+Sun Mar 2 20:04:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ProcessVX.pm:
+ Integrated some OCI changes for the iBoot
+
+Sun Mar 2 19:32:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/auto_run_tests.pl:
+ Use ACE_ROOT as defailt root test directory instead of the current
+ directory
+
+Sun Mar 2 18:53:12 UTC 2008 Abdullah Sowayan <abdullah.sowayan@lmco.com>
+
+ * ASNMP/agent/main.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * apps/JAWS3/jaws3/main.cpp:
+ * examples/Mem_Map/IO-tests/test_io.cpp:
+ * examples/Reactor/Multicast/client.cpp:
+ * examples/Reactor/Multicast/server.cpp:
+ * examples/Reactor/Proactor/test_aiocb_ace.cpp:
+ * examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp:
+ * netsvcs/clients/Naming/Dump_Restore/createfile.cpp:
+ * netsvcs/clients/Tokens/collection/collection.cpp:
+ * netsvcs/clients/Tokens/collection/rw_locks.cpp:
+ * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp:
+ * netsvcs/clients/Tokens/invariant/invariant.cpp:
+ * netsvcs/clients/Tokens/manual/manual.cpp:
+ * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
+ * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp:
+ * performance-tests/Misc/context_switch_time.cpp:
+ * performance-tests/Misc/test_guard.cpp:
+ * performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp:
+ * performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp:
+ * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
+
+ Use ACE_TMAIN instead of main as the program entry point to comply
+ with ACE/TAO/CIAO coding standards.
+
+ * examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc:
+
+ MPC doesn't recognize ACE_TMAIN as an entry point, as such, we need
+ to explicitly set exename in the MPC file.
+
+ * apps/JAWS/clients/WebSTONE/src/webclient.c:
+ * contrib/utility/Example/CommandLine/Foo/foo.cpp:
+ * performance-tests/Synch-Benchmarks/context.c:
+ * performance-tests/TTCP/C/new-ttcp.cpp:
+ * tests/Unload_libACE.cpp:
+
+ Disable fuzz's check_for_improper_main_declaration check on these files.
+ These files don't use ACE.
+
+Sat Mar 1 19:09:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/auto_run_tests.pl:
+ Added -r as option to specify an alternate root test directory
+ instead of the current directory. Combined this with -l we can
+ then run perl scripts for testing project code.
+
+Thu Feb 28 16:08:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Added --compiler as option so that we can specify a different
+ compiler then gcc
+
+Thu Feb 28 08:32:18 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/ACE-bug-process.html:
+ Removed cvs
+
+Wed Feb 27 19:28:18 UTC 2008 William Otte <wotte@william-ottes-macbook-pro.local>
+
+ * bin/MakeProjectCreator/config/global.features:
+ disable mcpp by default.
+
+Tue Feb 26 15:52:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Added support for buildbits=64
+
+Tue Feb 26 09:18:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ Added some compiler flags to reduce the number of warnings/errors
+ in the OpenVMS builds
+
+Mon Feb 25 19:44:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/Process_Win32.pm:
+ Added IgnoreHostRoot which can be set from a test script. That way
+ when doing cross host testing we can make sure we don't get the
+ executable from the host root directory. This is for example usefull
+ when we want to spawn perl or another system utility
+
+ * bin/PerlACE/Run_Test.pm:
+ Removed commented out line
+
+Mon Feb 25 14:30:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxwork6.2.GNU:
+ * include/makeinclude/platform_vxwork6.3.GNU:
+ Added LD_PARTIALFLAGS which can be set for footprint builds
+
+Mon Feb 25 08:13:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ Set ACE_HAS_INTEGRAL_TYPE_THR_FUNC_RETURN when
+ ACE_THR_FUNC_RETURN is an integral type
+
+ * ace/Task.cpp:
+ Use ACE_HAS_INTEGRAL_TYPE_THR_FUNC_RETURN to determine whether
+ we can do a reinterpret_cast or static_cast. This is much easier
+ then checking all compilers
+
+Sun Feb 24 19:37:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.cpp:
+ * ace/Configuration.h:
+ * ace/Configuration.inl:
+ Added new inline file
+
+ * ace/Get_Opt.cpp:
+ Prefix increment
+
+ * ace/Event_Handler.h:
+ Removed commented out code
+
+Sat Feb 23 06:56:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_openvms.GNU:
+ OpenVMS doesn't have rwho
+
+Fri Feb 22 18:55:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Queue_NT.h:
+ Fixed wrong include
+
+Fri Feb 22 14:20:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Queue.{h,cpp,inl}:
+ * ace/Message_Queue_NT.{h,cpp,inl}:
+ * tests/Message_Queue_Test.cpp:
+ * ace/ace.mpc:
+ * ace/Makefile.am:
+ Moved ACE_Message_Queue_NT to its own file
+
+Fri Feb 22 08:54:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/global.features:
+ Default optimize_collocated_invocations to 1
+
+Fri Feb 22 00:34:17 UTC 2008 Steve Huston <shuston@riverace.com>
+
+ * bin/tao_orb_tests.lst: Added !LabVIEW_RT to all tests that haven't
+ been adapted to the non-local filesystem mechanism I invented to run
+ tests for LabVIEW RT targets (and can also be used for other target
+ types). Now I can enable TAO tests for the LabVIEW RT scoreboard
+ build.
+
+Thu Feb 21 15:25:37 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Download.html:
+ Updated download links to point to x.6.3
+
+ * etc/index.html:
+ Updated for x.6.3
+
+Thu Feb 21 02:34:37 CST 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.6.3 released.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ChangeLogs/ChangeLog-2009b b/ChangeLogs/ChangeLog-2009b
new file mode 100644
index 00000000000..5e3344157c2
--- /dev/null
+++ b/ChangeLogs/ChangeLog-2009b
@@ -0,0 +1,4554 @@
+Mon Oct 12 14:03:48 CDT 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.4 released.
+
+Sat Oct 10 18:43:41 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted the patch below, it breaks g++ on windows
+
+ Mon Sep 14 08:54:18 UTC 2009 Olli Savia <ops@iki.fi>
+ * include/makeinclude/platform_g++_common.GNU:
+ Make sure $PATH is exported properly.
+
+Sat Oct 10 18:21:41 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks.h:
+ * ace/config-vxworks6.8.h:
+ * include/makeinclude/platform_vxworks.GNU:
+ * include/makeinclude/platform_vxworks6.8.GNU:
+ Default configuration files for VxWorks 6.8
+
+Fri Oct 9 14:09:41 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Define ACE_HAS_ICMP_SUPPORT to value 1.
+
+Fri Oct 9 08:04:25 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Thread_Attrs_Test.cpp:
+ Fixed compile error in single threaded builds
+
+Thu Oct 8 13:46:25 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't convert odt files
+
+Thu Oct 8 08:58:25 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Added $(PLATFORM_XT_LIBS) to PLATFORM_TK_LIBS to fix linking errors.
+
+Wed Oct 7 09:21:30 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Added a few defines.
+
+Wed Oct 7 07:49:00 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Adjusted Tcl/Tk flags.
+
+Tue Oct 6 20:22:28 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Reorganised file.
+
+Tue Oct 6 18:33:50 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Added a test for ACE_OS::fileno(). Patch to cleanup ACE_OS::fileno()
+ implementation will be committed later.
+
+Tue Oct 6 14:06:02 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Minor cleanup.
+
+Tue Oct 6 06:20:42 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Also check idl3 files as idl file
+
+Sun Oct 4 19:36:27 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_stdio.inl (vsnprintf): Added some more checks in other
+ parts of the code to ensure we don't index before the bounds of
+ the array. Thanks to Johnny Willemsen for suggesting this.
+
+Sun Oct 4 14:23:55 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_stdio.inl (vsnprintf): Added a check to ensure we
+ don't index before the bounds of the array. Thanks to Hui Zhang
+ <zhanghui9527 at gmail dot com> for reporting this.
+
+Fri Oct 2 15:24:33 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Condition_T.cpp (wait): fixed the call to cond_timewait() so
+ it uses a copy of the const parameter to avoid breaking the
+ const contract. Thanks to William Glenn <wglenn at scires dot
+ com> for reporting this.
+
+Thu Oct 1 13:44:42 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.am:
+ Removed duplicate Timer_Queuefwd.h. Thanks to Christian Ehrlicher
+ <Ch dot Ehrlicher at gmx dot de> for reporting this
+
+Thu Oct 1 12:07:42 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended some fuzz messages with how to fix them
+
+Wed Sep 29 09:59:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.6.GNU:
+ Added workaround for bug in the diab compiler. Thanks to
+ Sharon Mizrahi <sharon dot mizrahi at gmail dot com> for
+ reporting this
+
+Tue Sep 28 11:40:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't convert pptx and graffle files
+
+Tue Sep 29 06:41:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/rules.lib.GNU:
+ Reverted part of the change below, it breaks the realclean
+
+ Thu Aug 27 20:27:52 UTC 2009 Steve Huston <shuston@riverace.com>
+ * include/makeinclude/rules.lib.GNU: Fix building, installing, and
+ cleaning up libs built in an ARCH build.
+
+Mon Sep 28 17:45:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Block.h:
+ Doxygen change
+
+ * ace/CDR_Base.{h,cpp}:
+ Changed consolidate to have a return value because setting the
+ new size can fail. Return 0 on ok, -1 on failure. Thanks to
+ Annette Wilson <awilson at raytheonvtc dot com>
+
+Mon Sep 28 13:14:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't convert ppt files
+
+Fri Sep 25 19:24:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ Don't change the start/stop time, that gives major problems
+ with remote testing, the test script needs to increment the
+ value returned from these methods
+
+Fri Sep 25 18:47:44 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Download.html:
+ Reverted back to the viewvc pages
+
+Fri Sep 25 12:06:11 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Reorganised file and added a lot of new defines.
+
+Wed Sep 23 19:11:44 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/Download.html:
+
+ Updated links to viewvc to point to Doug's webspace working copy
+ instead.
+
+Wed Sep 23 14:15:58 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * configure.ac:
+ Changed ACE_CHECK_HAS_FUNCS(snprintf) to
+ ACE_CHECK_LACKS_FUNCS(vsnprintf)
+
+Tue Sep 22 17:05:56 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Timer_Wheel_T.cpp (open_i): Changed
+
+ this->wheel_time_.msec (1 << (this->res_bits_ + this->spoke_bits_));
+
+ to
+
+ this->wheel_time_.msec (1 << (this->res_bits_));
+
+ so recalc_earliest selects the right spoke as earliest_spoke_.
+ Thanks to Koh Onishi <k_onishi at mtj dot biglobe dot ne dot jp>
+ for reporting this.
+
+Mon Sep 21 20:27:06 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ * ace/config-openbsd.h:
+ Added ACE_HAS_SIGSUSPEND.
+
+Mon Sep 21 10:53:16 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.h:
+ * ace/OS_NS_signal.inl:
+ Another set of sigset related fixes.
+
+Mon Sep 21 07:31:25 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Integrated patch from Bugzilla Bug #3424.
+
+Sun Sep 20 18:02:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Added ACE_HAS_SIGSUSPEND.
+
+Sun Sep 20 17:46:31 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-macosx-leopard.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-openbsd.h:
+ Removed ACE_LACKS_SIGSET.
+
+Sat Sep 19 21:23:03 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.inl:
+ Fix typo.
+
+Sat Sep 19 12:12:23 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.h:
+ * ace/OS_NS_signal.inl:
+ Fix for platforms which implement sigsuspend as macro.
+
+Fri Sep 18 18:36:16 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-cegcc.h:
+ Fix sigset related compile error with cegcc.
+
+Thu Sep 17 14:17:10 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-mingw.h:
+ * ace/os_include/os_signal.h:
+ Fix sigset related compile error on MinGW.
+
+Thu Sep 17 12:23:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process_Semaphore.h
+ * ace/Thread_Semaphore.h
+ * ace/Atomic_Op.h
+ * ace/Condition_Recursive_Thread_Mutex.h
+ * ace/Null_Mutex.h
+ Doxygen fixes
+
+Wed Sep 16 18:44:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/bmake.features:
+ * bin/MakeProjectCreator/config/em3.features:
+ * bin/MakeProjectCreator/config/global.features:
+ * bin/MakeProjectCreator/config/gnuace.features:
+ * bin/MakeProjectCreator/config/nmake.features:
+ * bin/MakeProjectCreator/config/vc71.features:
+ * bin/MakeProjectCreator/config/vc8.features:
+ * bin/MakeProjectCreator/config/vc9.features:
+ Removed cidl, that feature has been removed with 1.7.2
+
+ * bin/MakeProjectCreator/config/vc10.features:
+ New file for vc10
+
+ * bin/MakeProjectCreator/config/gnuace.features:
+ Set ndds=1 by default, at the end enabling ndds
+ is then controlled through the platform_macros.GNU File
+
+Wed Sep 16 10:54:39 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.inl:
+ * ace/config-win32-cegcc.h:
+ * ace/config-win32-mingw.h:
+ Removed use of ACE_LACKS_SIGSET_DEFINITIONS macro. It seems that
+ this macro was left over from the past.
+
+Wed Sep 16 07:25:26 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.h:
+ Fix for platforms that lack sigsets.
+
+Wed Sep 16 06:27:45 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_freebsd.GNU:
+ Fixed typo in PLATFORM_TCL_LIBS.
+
+Tue Sep 15 20:33:47 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.h:
+ * ace/OS_NS_signal.inl:
+ * ace/README:
+ * ace/config-cray.h:
+ * ace/config-macosx-leopard.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-openbsd.h:
+ * ace/config-openvms.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-sco-5.0.0.h:
+ * ace/os_include/os_signal.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ Removed use of ACE_HAS_SIG_MACROS macro. If platform defines
+ sigXXXset macros, use inline functions to save definition
+ before undefining it.
+
+Mon Sep 14 09:03:30 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_openbsd.GNU:
+ Added CPPFLAGS+=-I/usr/local/include and
+ LDFLAGS+=-L/usr/local/lib
+
+Mon Sep 14 08:54:18 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_g++_common.GNU:
+ Make sure $PATH is exported properly.
+
+Mon Sep 14 08:01:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Malloc_Test.cpp:
+ Unicode fix
+
+Mon Sep 14 07:50:37 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_freebsd.GNU:
+ Added compiler flags for X11 and GUI toolkits.
+
+Mon Sep 14 06:54:30 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-linux-common.h:
+ * include/makeinclude/platform_linux_suncc.GNU:
+ Fixes for Sun Studio for Linux.
+
+Mon Sep 14 06:47:31 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_g++_common.GNU:
+ * include/makeinclude/platform_openbsd.GNU:
+ Fine tuned compiler flags for X11 and Tcl/Tk.
+ Removed legacy linker settings
+
+Sun Sep 13 15:57:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Functor.h:
+ * ace/Functor_String.h:
+ * ace/Process.h:
+ Doxygen changes
+
+Sat Sep 12 05:41:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * docs/index.html:
+ * docs/Download.html:
+ Updated for x.7.3
+
+ * bin/make_release.py:
+ Moved latest tags as last step
+
+Fri Sep 11 02:39:39 CDT 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.3 released.
+
+Thu Sep 10 07:14:01 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * NEWS:
+
+ Added entry for a fix in TAO_IDL to generate dds code with
+ correct wstring size.
+
+Tue Sep 8 20:27:14 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/rules.local.GNU: Strip CLEANUP_INSTALL before
+ checking for blank to be sure it doesn't inadvertantly try to RM
+ a string of spaces.
+
+Tue Sep 8 18:55:23 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Message_Block_Test.cpp: Fix wrong logging directives.
+
+ * tests/Thread_Attrs_Test.cpp: Use a bigger test stack size spec to
+ avoid running out of stack on 64-bit systems.
+
+Tue Sep 8 10:44:22 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_openbsd.GNU:
+ Added compiler flags for X11 and Tcl/Tk.
+
+Mon Sep 7 07:02:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ Also cleanup the systemlibs
+
+Mon Sep 7 06:12:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ Corrected cleanup command
+
+Fri Sep 4 06:09:33 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/Log_Msg.cpp:
+ Patch applied provided by Alon Diamont. This'll
+ fix some test errors on VxWorks.
+
+Wed Sep 2 14:45:27 UTC 2009 Vladimir Zykov <vz@prismtech.com>
+
+ * ace/Connector.cpp:
+
+ Added add/remove reference for the svc_handler owned by
+ ACE_NonBlocking_Connect_Handler. This fixes bug#3731.
+
+Tue Sep 1 21:23:37 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Bug_3500_Regression_Test.cpp: Don't try the ACE_OS::mmap() if
+ ACE_LACKS_MMAP. Also cleaned up the format a bit.
+
+ * tests/run_test.lst: Bug_3709_Regression_Test (C++ compiler stuff)
+ doesn't work on VC 7.1, so black out LabVIEW_RT.
+
+Tue Sep 1 18:46:31 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ Added new flag to control annotation support for Sun CC 5.10. By
+ default, annotation support will be disabled (consistent with
+ previous Sun CC releases). Fixes Bugzilla #3733.
+
+Tue Sep 1 17:39:01 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * ace/config-sunos5.5.h:
+
+ Corrected _POSIX_PTHREAD_SEMANTICS behavior on SunOS hosts. This
+ was causing a failure in ACE_OS::sched_params when a non-zero
+ quantum is specified on Solaris 9. Fixes Bugzilla #3718.
+
+Sat Aug 29 22:41:33 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Event_Handler.h: Edited doc for resume_handler() to note that
+ it also works with ACE_Dev_Poll_Reactor.
+
+Thu Aug 27 20:53:18 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Thread_Attrs_Test.cpp:
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ New test to verify that spawning a thread with a particular stack
+ size actually gives the desired stack size to the new thread. This
+ test only does anything real on Linux at this point. It could be
+ extended to other platforms and could be extended to test
+ other attributes of the spawned thread as well.
+
+Thu Aug 27 20:27:52 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd: When building requirement-
+ checking and LDFLAGS for building binaries, take ARCH builds into
+ account to properly locate libs.
+
+ * include/makeinclude/wrapper_macros.GNU: Don't do the ARCH adjusting
+ until after including platform_macros.GNU where ARCH would be
+ defined.
+
+ * include/makeinclude/rules.lib.GNU: Fix building, installing, and
+ cleaning up libs built in an ARCH build.
+
+Wed Aug 26 21:58:14 UTC 2009 William R. Otte <Wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Reverting for now until I can make some fixes.
+
+Tue Aug 25 04:11:22 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Enable mcpp by default.
+
+Fri Aug 21 21:24:44 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/ProcessLVRT.pm: Don't be so aggressive with the reboots.
+
+ * bin/TestTarget_LVRT.pm: React correctly to only one name being
+ passed to GetFile - if there's only one (usually the case w/ TAO
+ tests) LocalFile-ify it for the remote and use as-is for local.
+ This gets most of the TAO tests to properly retrieve the IOR file.
+
+Tue Aug 18 19:09:40 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/config-macros.h: In ACE_NOTREACHED, aC++ 03.* needs to have the
+ unreachable line removed as well.
+
+Tue Aug 18 12:25:01 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Monitor_Control/Auto_Update_Starter.cpp:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/CPU_Load_Monitor.cpp:
+ * ace/Monitor_Control/Constraint_Interpreter.cpp:
+ * ace/Monitor_Control/Constraint_Visitor.h:
+ * ace/Monitor_Control/Constraint_Visitor.cpp:
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Memory_Usage_Monitor.cpp:
+ * ace/Monitor_Control/Monitor_Group.cpp:
+ * ace/Monitor_Control/Monitor_Query.cpp:
+ * ace/Monitor_Control/Num_Threads_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+ Added monitoring support for LynxOS. LynxOS's network statck
+ is based on FreeBSD's network stack so we can reuse FreeBSD
+ implementation.
+
+Fri Aug 14 13:31:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macosx-tiger.h:
+ Fixed some compile problems
+
+ * ace/OS_QoS.cpp:
+ Use const cast instead of c style cast
+
+Fri Aug 14 12:54:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_for_tao.mpc:
+ Use prop:windows
+
+Fri Aug 14 12:44:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vc_warnings.mpb:
+ Use DisableSpecificWarnings
+
+Thu Aug 13 20:40:16 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-g++-common.h:
+ Removed definition of ACE_LACKS_ISCTYPE. Availibility of isctype()
+ doesn't depend on g++ version, it is libc stuff.
+
+ * ace/config-linux-common.h:
+ Define ACE_LACKS_ISCTYPE for glibc 2.2 and older
+
+Thu Aug 13 19:35:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_T.h:
+ Doxygen change
+
+Thu Aug 13 19:08:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SV_Semaphore_Simple.h:
+ Fixed gcc warning
+
+Thu Aug 13 09:10:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.pl:
+ Shortened the time to wait, we do include now the time to start
+ a process
+
+Thu Aug 13 07:14:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Set the correct export defines
+
+ * ace/DLL_Manager.cpp:
+ Improved debug statement so that we can easily see that we have
+ an empty string
+
+ * ace/OS_NS_stdio.cpp:
+ Added support for ACE_LACKS_FOPEN and simplified some methods
+
+ * ace/OS_NS_stdio.inl:
+ Const change
+
+Thu Aug 13 03:23:33 UTC 2009 Chad Elliott <elliott_c@ociweb.com>
+
+ * ACE.mwc:
+
+ Fixed a comment.
+
+ * bin/MakeProjectCreator/config/crosscompile.mpb:
+ * bin/MakeProjectCreator/config/global.features:
+ * bin/MakeProjectCreator/config/wb26.features:
+
+ Added the cross_compile feature that is disabled by default. It
+ is enabled within the wb26.features. The 'crosscompile' base
+ project "avoids" the cross_compile feature. This fixes bug 3318.
+
+Wed Aug 12 19:57:02 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-linux-common.h:
+ Define ACE_HAS_GETIFADDRS only for glibc 2.3 and newer.
+
+Wed Aug 12 19:55:03 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Fix for older FreeBSD versions.
+
+Wed Aug 12 17:57:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vc_warnings.mpb:
+ Use prop:microsoft
+
+Wed Aug 12 06:47:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ Readded compiler test 08, but with dummy_label to show that
+ this test is there but not compiled
+
+Wed Aug 12 06:26:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ Don't compile bug 3709 regression with vc71 at this moment
+
+Mon Aug 10 11:39:58 UTC 2009 William R. Otte <Wotte@dre.vanderbilt.edu>
+
+ * apps/JAWS/server/HTTP_Response.cpp:
+
+ Unicode fix.
+
+Mon Aug 10 06:32:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ CEGCC also has a problem with isprint
+
+ * ace/config-g++-common.h:
+ Also with CEGCC don't use visibility features of GCC 4.4
+
+Sun Aug 9 19:56:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_string.cpp (strerror):
+ Added const cast to resolve compile warning with CEGCC
+
+Sun Aug 9 19:19:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_utsname.cpp:
+ Print processorlevel when we don't recognize the value
+
+Sun Aug 9 18:55:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU
+ * include/makeinclude/platform_rtems.x_g++.GNU
+ * include/makeinclude/platform_vxworks5.5.x.GNU
+ * include/makeinclude/platform_vxworks6.2.GNU
+ * include/makeinclude/platform_vxworks6.3.GNU
+ Updated location of idl3_to_idl2 when HOST_ROOT is set
+
+Sun Aug 9 18:53:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU
+ Removed workaround for SLE10
+
+ * include/makeinclude/platform_cegcc.GNU
+ * include/makeinclude/platform_rtems.x_g++.GNU
+ * include/makeinclude/platform_vxworks5.5.x.GNU
+ * include/makeinclude/platform_vxworks6.2.GNU
+ * include/makeinclude/platform_vxworks6.3.GNU
+ Removed references to CIDLC
+
+Sun Aug 9 05:01:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Config_Test.cpp:
+ Fixed compile warnings with cegcc
+
+Sat Aug 8 18:25:43 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Use HOST_ROOT when it is set
+
+Fri Aug 7 11:51:43 UTC 2009 Carlos O'Ryan <coryan@glamdring>
+
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ * tests/Compiler_Features_08_Test.cpp:
+ Removed. It seems that we have too many compilers that lack
+ support for wchar_t and wstring.
+
+Fri Aug 7 11:41:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Added fixed only to Service_Config_Stream_Test, still crashes
+ at shutdown
+
+Fri Aug 7 06:26:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ Only C++ Builder 2009 will work, all other versions of C++ Builder are
+ deprecated and there are no plans to get possible newer versions supported
+
+Thu Aug 6 13:45:29 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_Memory.h (ACE_throw_bad_alloc): Changed return (void *) 0
+ to simply return 0. Thanks to Johnny Willemsen for reporting
+ this.
+
+Thu Aug 6 06:45:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Removed fixed only from Service_Config_Stream_Test
+
+Wed Aug 5 23:28:43 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Parse_Node.cpp: When applying the modules in a dynamic
+ stream, note that they were link()ed in reverse order from what
+ the order is from the svc.conf file. So reverse the order when
+ pushing them on the stream. Fixes Bugzilla #3721.
+
+ * tests/Service_Config_Stream_Test.cpp:
+ * tests/Service_Config_Stream_Test.conf: Added, and commented out, a
+ test case for inserting a static module in the dynamic stream. It
+ doesn't work, but it probably should. I'm not sure why it doesn't,
+ and don't have more time to chase this right now. It's not part of
+ Bugzilla 3721 or my customer's case, and this feature has probably
+ never been tested and may have never worked, even pre-Gestalt, per
+ Doug's recollection that Service Config was not intended to be
+ used in this way. If someone has time to work this, please go ahead.
+
+Wed Aug 5 09:40:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-7.h:
+ Just use fileno with msvc71
+
+ * ace/Get_Opt.h:
+ Zap inline from header file
+
+Wed Aug 5 09:00:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ace_unicode.mpb:
+ Just define ACE_USES_WCHAR, not to 1
+
+Wed Aug 5 07:19:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/*:
+ Renamed to match the current version number
+
+Wed Aug 5 07:12:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Monitor_Control/Monitor_Control.mpc:
+ Use prop:microsoft
+
+Tue Aug 4 07:51:13 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Compiler_Features_09_Test.cpp:
+ Workaround compiler/library bugs in Solaris Sun C++ 5.10.
+ Amazing that anybody can charge money for such a piece of
+ software.
+
+Tue Aug 4 17:43:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.h
+ * ace/config-win32-msvc-7.h
+ * ace/config-win32-msvc-8.h
+ * ace/config-win32-msvc-9.h
+ * ace/config-win32-msvc-10.h
+ Use _fileno instead of fileno with msvc 71/8/9/10
+
+ * ace/OS_NS_stdio.inl:
+ Const changes
+
+Tue Aug 4 17:09:00 UTC 2009 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/rules.lib.GNU:
+ * include/makeinclude/rules.local.GNU:
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Removed the remnants of the 'split' macro. This fixes Bug 1181.
+
+Tue Aug 4 14:32:24 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Configuration.h:
+ * ace/Configuration.cpp (ACE_Configuration_Heap::open): Make multiple
+ open() calls an error (return -1, EBUSY) rather than leaking
+ an allocator and whatever it had allocated.
+ Fixes Bugzilla 1324.
+
+ * tests/Config_Test.cpp: Add test case for multiple open() calls.
+
+ * NEWS: Noted the behavior change on open().
+
+Tue Aug 4 13:09:25 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Log_Msg.cpp: Added support for the %.1M format. Thanks to
+ Alon Diamant <diamant at alon at gmail dot com> for contributing
+ this. This fixes bugid 3716.
+
+ * tests/Log_Msg.cpp: Added a test for the %.1M format. Thanks to
+ Alon Diamant <diamant at alon at gmail dot com> for contributing
+ this.
+
+Tue Aug 4 12:07:09 UTC 2009 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/mpc.pl:
+ * bin/mwc.pl:
+
+ Use the new MPC Driver constant to determine which type of input
+ will be dealt with (workspaces or projects).
+
+Tue Aug 4 12:06:28 UTC 2009 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Modified the prebuild and postbuild rules to obey the 'requires'
+ and 'avoids' MPC settings since the gnuace projects have the
+ additional requirement of gnu make macros that match the
+ requirements and avoids settings.
+
+Mon Aug 3 20:08:22 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Compiler_Features_06_Test.cpp:
+ I think I have fixed the compilation problem on OpenVMS, using
+ some classes and functors in the STL requires including
+ "functional", but most compilers do not enforce this
+ requirement. Apparently OpenVMS does, I think this is a good
+ feature of said compiler.
+
+Tue Aug 4 10:30:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ace_unicode.mpb:
+ Changed this to a feature, when uses_wchar is set we then
+ just set unicode to 1
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Derive from ace_unicode. That way when we generate with uses_wchar=1
+ the define ACE_USES_WCHAR is generated into the project and also the
+ CharacterSet is correctly set in the msvc project file.
+ This fixes bugzilla 3702
+
+Tue Aug 4 03:32:21 UTC 2009 James H. Hill <hillj@dre.vanderbilt.edu>
+
+ * tests/SString_Test.cpp:
+
+ Fixed compiler warnings on vc71.
+
+Mon Aug 3 09:44:11 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Makefile.am:
+ Evidently Automake does not like an empty line after a
+ backslash, so the traditional style of keeping file lists ready
+ to receive more elements fails... Sigh.
+
+Mon Aug 3 08:30:58 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Bug_3709_Regression_Test.cpp:
+ This should fix the warnings on HP-UX and other compilers that
+ correctly detect overuse of 'DT' in the template parameter list.
+
+Mon Aug 3 20:42:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Compiler_Features_12_Test.cpp:
+ Fixed compile error on LynxOS 4.0.
+
+Mon Aug 3 02:17:38 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Compiler_Features_01_Test.cpp:
+ * tests/Compiler_Features_02_Test.cpp:
+ * tests/Compiler_Features_03_Test.cpp:
+ * tests/Compiler_Features_04_Test.cpp:
+ * tests/Compiler_Features_05_Test.cpp:
+ * tests/Compiler_Features_06_Test.cpp:
+ * tests/Compiler_Features_09_Test.cpp:
+ * tests/Compiler_Features_10_Test.cpp:
+ * tests/Compiler_Features_11_Test.cpp:
+ * tests/Compiler_Features_13_Test.cpp:
+ * tests/Compiler_Features_14_Test.cpp:
+ Fixed all kinds of tab vs. spaces problems.
+ I think I also fixed mis-used ACE_TEXT() concatenation.
+
+Mon Aug 3 12:00:40 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mail_test_stats.sh:
+ Also mail the results per build
+
+Sun Aug 2 11:28:40 UTC 2009 Chad Beaulac <chad@objectivesolutions.com>
+
+ * Bug 3334 - Revisions 86318 86319 86320 86321 86322 86323
+
+ * tests/Bug_3334_Regression_Test.cpp
+ Renamed from Service_Config_Stream_SEGV.cpp
+
+ * Tests/Bug_3334_Regression_Test.cpp
+ Renamed from Service_Config_Stream_SEGV.conf
+
+ * tests/run_test.list
+ Added Bug_3334_Regression_Test
+ Put changes back in from Carlos's commit below
+
+ * tests/tests.mpc
+ Added Bug_3334_Regression_Test
+ Put changes back in from Carlos's commit below
+
+Sat Aug 1 12:19:58 UTC 2009 Carlos O'Ryan <coryan@glamdring>
+
+ * This completes the fixes for Buzilla #3715:
+
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ * tests/Compiler_Features_14_Test.cpp:
+ This test verifies that partial template specialization works.
+
+ * tests/Compiler_Features_11_Test.cpp:
+ Test for standard string streams
+
+ * tests/Compiler_Features_12_Test.cpp:
+ Test for template template parameters
+
+ * tests/Compiler_Features_13_Test.cpp:
+ Test for cast operators
+
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ The usual accruements that go with the tests.
+
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ * tests/Compiler_Features_10_Test.cpp:
+ Add new test for exceptions. Verify that <stdexcept> is there,
+ that we can raise exceptions, and that object destruction during
+ exceptions is sound.
+
+ * tests/Compiler_Features_07_Test.cpp:
+ Test for std::string
+
+ * tests/Compiler_Features_08_Test.cpp:
+ Test for std::wstring
+
+ * tests/Compiler_Features_09_Test.cpp:
+ Test for std::auto_ptr<>
+
+ * tests/Compiler_Features_06_Test.cpp:
+ Fixed typo in test name.
+
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ Add the compilation / run paraphernalia.
+
+ * tests/Compiler_Features_04_Test.cpp:
+ Test for std::set<>
+
+ * tests/Compiler_Features_05_Test.cpp:
+ Test for std::queue<>, this is a different sort of test because
+ std::queue<> is an adaptor, not a collection. The default
+ collection is a std::deque<>, so we are testing default template
+ parameters at the same time.
+
+ * tests/Compiler_Features_06_Test.cpp:
+ Test for std::set<> with a different order function.
+
+ * tests/run_test.lst:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ Add the compilation / run paraphernalia.
+
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ * tests/Compiler_Features_03_Test.cpp:
+ This time it is std::vector<>
+
+ * tests/run_test.lst:
+ I need to remember to add the tests to the list of automatically
+ executed ones.
+
+ * tests/tests.mpc:
+ * tests/Makefile.am:
+ * tests/Compiler_Features_02_Test.cpp:
+ Test if the std::map<> class works.
+
+ * tests/Compiler_Features_01_Test.cpp:
+ Make the tests more consistent by using typedefs.
+
+ * tests/tests.mpc:
+ * tests/Makefile.am:
+ * tests/Compiler_Features_01_Test.cpp:
+ Add first test for "modern" C++ compiler features. In this
+ case, I test if the std::list<> class works.
+
+Thu Jul 30 12:53:20 UTC 2009 James H. Hill <hillj@dre.vanderbilt.edu>
+
+ * ace/String_Base.h:
+ * ace/String_Base.inl:
+
+ Fixed fuzz errors.
+
+ Fixed compilation errors related to an extra semi-colon (;)
+ at the end of a statement.
+
+Thu Jul 30 10:40:36 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_netdb.inl (gethostbyname_r): Fixed typo.
+
+Thu Jul 30 10:29:29 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Mark Service_Config_Stream_Test !FIXED_BUGS_ONLY
+
+Thu Jul 30 03:33:13 UTC 2009 James H. Hill <hillj@dre.vanderbilt.edu>
+
+ * ace/SString.h:
+ * ace/String_Base.h:
+ * ace/String_Base.inl:
+ * ace/String_Base.cpp:
+
+ Added STL iterator support to the ACE_String_Base class. Right
+ now the iterator is bidirectional. The next version will make
+ the iterator random access.
+
+ * tests/SString_Test.cpp:
+
+ Updated the test to test the iterator support.
+
+Wed Jul 29 16:07:38 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Stream_Test.cpp: Fixed const-ness warning.
+
+Wed Jul 29 15:51:39 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Stream_DLL.h: Fixed fuzz warning on mismatched
+ pre.h/post.h.
+
+Wed Jul 29 14:34:01 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_netdb.inl (gethostbyname_r): Replaced
+ ACE_SOCKCALL_RETURN with ACE_SOCKCALL. Thanks to Paul Daugherty
+ for reporting this.
+
+Wed Jul 29 11:09:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/mail_test_stats.sh:
+ Script used to send out daily test statistics to devo
+
+Wed Jul 29 02:34:58 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_netdb.inl: Fixed gethostbyname_r() so that it sets
+ errno correctly on failure. Thanks to Paul Daugherty <paul at
+ nextalk dot com> for reporting this. This fixes bugid 3720.
+
+Tue Jul 28 18:13:22 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_Memory.h: Replace the ACE_throw_bad_alloc macro
+ definition with return (void*) 0 if exceptions=0 is enabled.
+ Thanks to John Lindal <lindalj at yahoo-inc dot com> for this
+ fix.
+
+Tue Jul 28 21:29:35 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Stream_Test.cpp:
+ * tests/Service_Config_Stream_Test.conf:
+ * tests/Service_Config_Stream_DLL.h:
+ * tests/Service_Config_Stream_DLL_Export.h:
+ * tests/Service_Config_Stream_DLL.cpp:
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ New test Service_Config_Stream_Test to exercise service-config'd
+ stream behavior. Bugzilla #3721 is reported using this as a
+ initial test case. More behavioral testing can be added to this
+ test program in the future.
+
+Tue Jul 28 20:02:59 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm:
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Refactored the way gnuace interacts with DDS.
+
+Tue Jul 28 11:57:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming:
+ Fixed bug in this file. Thanks to John Fletcher
+ <john dot fletcher at rd dot bbc dot co dot uk> for reporting
+ this. This relates to bugzilla 3664
+
+Mon Jul 27 09:23:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/svn/config:
+ * docs/svn/svn-prefs.reg:
+ Added idl3 and idl3p
+
+Fri Jul 24 18:48:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosevent:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-costrading:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-rtevent:
+ Fixed location of the config files. Thanks to John Fletcher
+ <john dot fletcher at rd dot bbc dot co dot uk> for reporting
+ this. This fixes bugzilla 3664
+
+Fri Jul 24 09:33:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ Set ndds to 0 by default
+
+Fri Jul 24 08:51:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Corrected gperf library name again
+
+Fri Jul 24 08:48:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+ Only use the std98 flag for 3.80 and 3.85
+
+Fri Jul 24 08:25:00 UTC 2009 Simon Massey <sma at prismtech dot com>
+
+ * ace/config-lynxos.h:
+
+ #define ACE_HAS_GETIFADDRS
+
+Fri Jul 24 07:18:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Added patches from Adam to update the latest tags in the
+ repository
+
+Fri Jul 24 07:14:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Corrected gperf library name
+
+Thu Jul 23 18:40:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3710_Regression_Test.cpp:
+ Fixed fuzz error
+
+Thu Jul 23 18:26:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+ Added compiler flag to enable std98 support. Result of bugzilla 3709
+
+Thu Jul 23 18:12:49 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/make_release.py:
+
+ Fix small bug with specfile generation.
+
+Thu Jul 23 16:40:55 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_string.cpp: Added some additional error checking to
+ ACE_OS::strerror() to avoid problems when errnum is out of
+ bounds. Thanks to Aleksandar Vukajlovic <aleksandar dot
+ vukajlovic at finsoft dot rs> for reporting this.
+
+Thu Jul 23 18:10:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Removed invalid space
+
+Thu Jul 23 17:57:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Updated for x.7.2
+
+Thu Jul 23 17:47:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * NEWS:
+ Updated for next release
+
+Thu Jul 23 17:46:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * etc/index.html:
+ * docs/Download.html:
+ Updated for the new release
+
+ * bin/sets-manager.py:
+ Fixed a typo
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Fixed a wrong replacement by the release script
+
+ * tests/Bug_3709_Regression_Test.cpp:
+ New test to see which compilers can handle template template arguments
+
+ * tests/Bug_3710_Regression_Test.cpp:
+ New test for bugzilla 3710 which is already fixed
+
+ * tests/Config_Test.cpp:
+ Use prefix increment
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Add 3709 and 3710
+
+ * bin/make_release.py:
+ DANCE_ROOT now also has to be set when generating all project files
+
+Thu Jul 23 02:11:02 CDT 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.2 released.
+
+Thu Jul 23 06:58:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Corrected bug in updating spec file
+
+Wed Jul 22 08:44:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds.pl:
+ Don't use the page with the builds run today, but use the page that
+ lists the builds on the specified date.
+
+Tue Jul 21 11:44:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted the change below, it was triggered by template problems in TAO_IDL
+ generated code
+
+ Sat Jul 18 00:52:14 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+ * ace/config-macosx-leopard.h:
+ Intel on OS X requires explicit template visibility.
+
+Tue Jul 21 10:57:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ Updated link to bugzilla
+
+Mon Jul 20 07:34:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/Bool_Array.h:
+ * apps/gperf/src/Key_List.h:
+ Added workaround for BCB linker which needs these classes exported
+
+Sun Jul 19 08:18:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS/server/HTTP_Response.cpp:
+ * apps/JAWS/server/JAWS_IO.cpp:
+ Unicode fixes
+
+Sat Jul 18 04:14:31 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/POSIX_Proactor.cpp:
+
+ Attempt to fix a compile warning that appears to be the result
+ of a bug in the optimizer in GCC 4.1.2.
+
+Sat Jul 18 00:52:14 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-leopard.h:
+
+ Intel on OS X requires explicit template visibility.
+
+Fri Jul 17 18:32:45 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_time.cpp (mktime): Set t_sys.wMilliseconds to 0 so
+ it's initialized properly. Thanks to Ryan Carmichael
+ <RCarmichael at drs-tem dot com> for this fix.
+
+Fri Jul 17 14:36:12 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * apps/JAWS/server/HTTP_Response.cpp:
+ * apps/JAWS/server/JAWS_IO.cpp:
+ Resolved UNICODE compiler errors.
+
+Wed Jul 15 14:43:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/gperf.mpc:
+ Made the library name different to resolve problems with vxtest
+
+Wed Jul 15 14:41:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/gperf_export.h:
+ Fixed problem with static builds
+
+Tue Jul 14 20:59:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Fixed problem with created MPC package
+
+ * rpmbuild/ace-tao-rpmlintrc.txt:
+ Removed txt mapping
+
+Tue Jul 14 15:16:33 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * apps/gperf/src/gperf_export.h:
+
+ Missing file from earlier merge, thanks to Phil Mesnier for
+ pointing this out.
+
+Tue Jul 14 14:24:20 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ No need to update the spec file manually anymore
+
+Tue Jul 14 14:13:20 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ ace/OS.h is now illegal to be used in CIAO
+
+Tue Jul 14 13:31:20 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ SUSE Enterprise 10 also needs the gcc workaround
+
+Tue Jul 14 13:15:20 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release.py:
+ Don't create bmake files anymore
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Updated because gperf has now a shared library
+
+Tue Jul 14 11:12:20 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * .:
+ * apps/gperf/ChangeLog:
+ * apps/gperf/src/Bool_Array.h:
+ * apps/gperf/src/Bool_Array.cpp:
+ * apps/gperf/src/Gen_Perf.h:
+ * apps/gperf/src/Gen_Perf.cpp:
+ * apps/gperf/src/Hash_Table.h:
+ * apps/gperf/src/Hash_Table.cpp:
+ * apps/gperf/src/Iterator.h:
+ * apps/gperf/src/Iterator.cpp:
+ * apps/gperf/src/Key_List.h:
+ * apps/gperf/src/Key_List.cpp:
+ * apps/gperf/src/List_Node.h:
+ * apps/gperf/src/List_Node.cpp:
+ * apps/gperf/src/Options.h:
+ * apps/gperf/src/Options.cpp:
+ * apps/gperf/src/Vectors.h:
+ * apps/gperf/src/Vectors.cpp:
+ * apps/gperf/src/Version.cpp:
+ * apps/gperf/src/gperf.cpp:
+ * apps/gperf/src/gperf.mpc:
+ * bin/MakeProjectCreator/config/MPC.cfg:
+ * bin/make_release.py:
+ * contrib/minizip/minizip_export.h:
+ * docs/bczar/bczar.html:
+ * include/makeinclude/platform_linux.GNU:
+ * include/makeinclude/platform_linux_icc.GNU:
+
+ Merged in from dds_ports branch, changelog entries pasted
+ after this entry.
+
+ * bin/cut_cidlc.sh:
+ * contrib/utility:
+
+ Removed these files. utility has been moved to old-contrib
+ at the root of the repository.
+
+
+ Sat Jul 11 20:01:36 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_linux.GNU:
+
+ Undo bad merge.
+
+ Fri Jul 10 19:44:08 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * .:
+ * NEWS:
+ * PROBLEM-REPORT-FORM:
+ * THANKS:
+ * VERSION:
+ * ace/Argv_Type_Converter.cpp:
+ * ace/Configuration.cpp:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Dev_Poll_Reactor.inl:
+ * ace/Dev_Poll_Reactor.cpp:
+ * ace/ETCL/ETCL_Interpreter.cpp:
+ * ace/FoxReactor/FoxReactor.cpp:
+ * ace/Handle_Gobbler.inl:
+ * ace/Log_Msg.cpp:
+ * ace/Makefile.am:
+ * ace/Message_Queue_Vx.h:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Makefile.am:
+ * ace/Monitor_Control/Monitor_Control.mpc:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+ * ace/OS_NS_Thread.h:
+ * ace/OS_NS_Thread.inl:
+ * ace/OS_NS_Thread.cpp:
+ * ace/OS_NS_ctype.inl:
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ * ace/OS_NS_stdio.cpp:
+ * ace/OS_NS_sys_socket.inl:
+ * ace/OS_NS_unistd.inl:
+ * ace/OS_NS_unistd.cpp:
+ * ace/OS_main.h:
+ * ace/OS_main.cpp:
+ * ace/Process.cpp:
+ * ace/SString.h:
+ * ace/SString.cpp:
+ * ace/Select_Reactor_T.cpp:
+ * ace/TP_Reactor.cpp:
+ * ace/Time_Value.h:
+ * ace/Time_Value.inl:
+ * ace/Time_Value.cpp:
+ * ace/Tokenizer_T.h:
+ * ace/Tokenizer_T.cpp:
+ * ace/Version.h:
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/config-cygwin32.h:
+ * ace/config-freebsd.h:
+ * ace/config-lite.h:
+ * ace/config-macosx-leopard.h:
+ * ace/config-openbsd.h:
+ * ace/config-win32-msvc-9.h:
+ * ace/config-win32-msvc.h:
+ * bin/PerlACE/ProcessWinCE.pm:
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ * bin/ace_tests.lst:
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * contrib/FaCE/CE_ARGV.h:
+ * contrib/FaCE/FaCE.cpp:
+ * contrib/FaCE/newres.h:
+ * contrib/minizip/minizip.mwc:
+ * docs/ACE-guidelines.html:
+ * docs/Download.html:
+ * etc/index.html:
+ * examples/OS/Process/process.cpp:
+ * examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp:
+ * include/makeinclude/platform_cegcc.GNU:
+ * include/makeinclude/platform_linux.GNU:
+ * include/makeinclude/platform_linux_icc.GNU:
+ * include/makeinclude/platform_lynxos.GNU:
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ * include/makeinclude/wrapper_macros.GNU:
+ * rpmbuild/ace-tao-ciao.spec:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosevent:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-costrading:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-rtevent:
+ * rpmbuild/ace-tao-init-suse/tao:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosevent:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosnaming:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosnotification:
+ * rpmbuild/ace-tao-init-suse/tao/tao-costrading:
+ * rpmbuild/ace-tao-init-suse/tao/tao-rtevent:
+ * rpmbuild/etc:
+ * rpmbuild/etc/logrotate.d:
+ * rpmbuild/etc/logrotate.d/tao-cosconcurrency:
+ * rpmbuild/etc/logrotate.d/tao-cosevent:
+ * rpmbuild/etc/logrotate.d/tao-cosnaming:
+ * rpmbuild/etc/logrotate.d/tao-cosnotification:
+ * rpmbuild/etc/logrotate.d/tao-costrading:
+ * rpmbuild/etc/logrotate.d/tao-rtevent:
+ * rpmbuild/etc/tao:
+ * rpmbuild/etc/tao/tao-cosconcurrency.conf:
+ * rpmbuild/etc/tao/tao-cosevent.conf:
+ * rpmbuild/etc/tao/tao-cosnaming.conf:
+ * rpmbuild/etc/tao/tao-cosnotification.conf:
+ * rpmbuild/etc/tao/tao-costrading.conf:
+ * rpmbuild/etc/tao/tao-rtevent.conf:
+ * tests/Bug_1890_Regression_Test.cpp:
+ * tests/Bug_2540_Regression_Test.cpp:
+ * tests/Bug_2740_Regression_Test.cpp:
+ * tests/Bug_3673_Regression_Test.cpp:
+ * tests/MT_Reactor_Upcall_Test.cpp:
+ * tests/Network_Adapters_Test.h:
+ * tests/Process_Manager_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
+ * tests/Refcounted_Event_Handler_Test_DevPoll.cpp:
+ * tests/Signal_Test.cpp:
+ * tests/non_mpc_makefile:
+ * tests/non_mpc_makefile/Bug_3708_Regression.pl:
+ * tests/non_mpc_makefile/CustomMakefile:
+ * tests/non_mpc_makefile/foo.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency.opt:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosevent.opt:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosnaming.opt:
+ * rpmbuild/ace-tao-init-suse/tao/tao-cosnotification.opt:
+ * rpmbuild/ace-tao-init-suse/tao/tao-costrading.opt:
+ * rpmbuild/ace-tao-init-suse/tao/tao-rtevent.opt:
+ * rpmbuild/logrotate.d:
+ * rpmbuild/logrotate.d/tao-cosconcurrency:
+ * rpmbuild/logrotate.d/tao-cosevent:
+ * rpmbuild/logrotate.d/tao-cosnaming:
+ * rpmbuild/logrotate.d/tao-cosnotification:
+ * rpmbuild/logrotate.d/tao-costrading:
+ * rpmbuild/logrotate.d/tao-rtevent:
+ * rpmbuild/tao:
+ * rpmbuild/tao/tao-cosconcurrency.conf:
+ * rpmbuild/tao/tao-cosevent.conf:
+ * rpmbuild/tao/tao-cosnaming.conf:
+ * rpmbuild/tao/tao-cosnotification.conf:
+ * rpmbuild/tao/tao-costrading.conf:
+ * rpmbuild/tao/tao-rtevent.conf:
+
+ Merged in from trunk.
+
+ Thu Jul 9 13:27:09 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/MPC.cfg:
+ Add $DANCE_ROOT/MPC as config directory, dance base projects will
+ move to there
+
+ Mon Jun 29 00:29:40 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/make_release.py:
+
+ Stab at update of the spec file upon release. This will need to
+ be tested.
+
+ Tue Jun 22 15:49:30 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/MPC.cfg:
+ Move TAO_ROOT/MPC to dynamic_includes, we now have an IDLHelper
+
+ Fri Jun 19 15:03:30 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * contrib/utility:
+
+ Removed these files.
+
+Tue Jul 14 02:44:58 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * docs/Download.html:
+ * etc/index.html:
+ * rpmbuild/ace-tao-ciao.spec:
+
+ updated for new release
+
+Mon Jul 13 12:32:13 CDT 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ACE version 5.7.1 released.
+
+Fri Jul 10 09:20:57 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,cpp,inl}:
+ Removed workarounds for old eVC, the extern causes major
+ problems when trying to compile ACE in release mode for a
+ Windows CE x86 target
+
+Thu Jul 9 11:54:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ Added support for OpenBSD.
+
+Thu Jul 9 06:44:32 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Received_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ Fixed compile errors on FreeBSD.
+
+Wed Jul 8 14:22:41 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/Makefile.am:
+
+ Added new files FreeBSD_Network_Interface_Monitor.{h,cpp}
+ to the makefile.
+
+Tue Jul 7 22:21:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h:
+
+ New files, defining a monitor for FreeBSD.
+
+ * ace/Monitor_Control/Bytes_Received_Monitor.cpp:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.h:
+ * ace/Monitor_Control/Monitor_Control.mpc:
+ * ace/Monitor_Control/Bytes_Sent_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.h:
+ * ace/Monitor_Control/Bytes_Received_Monitor.h:
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ * ace/Monitor_Control/Packets_Received_Monitor.h:
+ * ace/Monitor_Control/Packets_Sent_Monitor.cpp:
+
+ New files added to MPC project and existing monitors
+ patched with NetBSD/OpenBSD-related changes. Thanks to
+ Boyan Kasarov <bkasarov at gmail dot com> for submitting
+ these changes.
+
+Tue Jul 7 12:57:30 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/FoxReactor/FoxReactor.cpp:
+ Added missing return statement to avoid gcc's
+ 'no return statement in function returning non-void' warning.
+
+Tue Jul 7 06:00:39 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Removed legacy cuserid() declaration.
+
+ * tests/run_test.lst:
+ Do not run Signal_Test on FreeBSD.
+
+Tue Jul 7 05:43:11 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Handle_Gobbler.inl:
+ Added static_cast to avoid compiler warning on FreeBSD.
+
+Mon Jul 6 20:33:00 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/OS_NS_unistd.cpp:
+
+ Fixed a bug where the number of bytes passed to ACE_OS::malloc is
+ incorrect for ACE_USES_WCHAR (each character can be > 1 byte).
+
+Mon Jul 6 18:25:23 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/config-macosx-leopard.h:
+
+ This platform needs ACE_HAS_SOCKADDR_IN_SIN_LEN.
+
+Sat Jul 4 20:50:16 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Happy Birthday USA!
+
+Wed Jul 1 13:09:34 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Added ACE_HAS_VOID_UNSETENV.
+
+Mon Jun 29 23:42:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contrib/FaCE/newres.h:
+ Fixed compile problem with CEGCC
+
+Mon Jun 29 23:08:06 UTC 2009 Trevor Fields <fields_t@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ Fixed settings of inline and exceptions for Sun compilers
+ greater than 5.9 (Sun Studio 12). Scan for version 5.1 was
+ catching 5.10 as well.
+
+Sun Jun 28 16:15:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lite.h
+ Fixed compile problem with SunStudio 12 Update 1
+
+Sun Jun 28 14:33:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ Fixed compile problem with SunStudio 12 Update 1
+
+Sat Jun 27 00:55:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Updated suse
+
+ * rpmbuild/ace-tao-init-suse/fillup-templates/*:
+ Moved to tao
+
+Sat Jun 27 00:44:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/tao:
+ * rpmbuild/logrotate.d:
+ Moved to the new etc directory
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Updated for move above
+
+Fri Jun 26 22:55:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/non_mpc_makefile/run_test.pl:
+ * tests/non_mpc_makefile/Bug_3708_Regression.pl:
+ renamed to get better test stats
+
+ * bin/ace_tests.lst:
+ Updated for rename above
+
+Fri Jun 26 16:19:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Added missing DANCE_ROOT
+
+Fri Jun 26 16:10:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-init-suse/fillup-templates/*:
+ Missing files for x.7.0
+
+ * rpmbuild/ace-tao-init-suse/tao:
+ Removed, this are Fedora files
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Copy the correct files for SuSE and print the g++ version in the
+ build log which makes it easier to see which g++ version is
+ used
+
+Fri Jun 26 02:16:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Mandriva 2007 fix
+
+Fri Jun 26 00:46:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/ACE-guidelines.html:
+ Fixed typo
+
+Thu Jun 25 21:46:10 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tests/non_mpc_makefile/foo.cpp:
+
+ Fuzz fix.
+
+Thu Jun 25 14:20:08 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * bin/ace_tests.lst:
+ * tests/non_mpc_makefile:
+ * tests/non_mpc_makefile/CustomMakefile:
+ * tests/non_mpc_makefile/foo.cpp:
+ * tests/non_mpc_makefile/run_test.pl:
+
+ Added a test for non-MPC-generated Makefile compatibility with
+ the files in include/makeinclude.
+
+Thu Jun 25 13:26:13 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/wrapper_macros.GNU: Restore pre-5.7 build
+ functionality for non-MPC-generated Makefiles that use LIB to
+ specify what library to build. Fixes Bugzilla 3708.
+
+Thu Jun 25 02:09:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ More fixes
+
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosevent
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification
+ * rpmbuild/ace-tao-init-suse/init.d/tao-costrading
+ * rpmbuild/ace-tao-init-suse/init.d/tao-rtevent
+ Set svn:executable
+
+Wed Jun 24 19:33:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Some more fixes
+
+Wed Jun 24 18:19:24 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/OS_NS_ctype.inl:
+ * ace/config-win32-msvc.h:
+
+ Revised the change from yesterday to only apply to Visual C++ and not
+ the other Win32 compilers.
+
+Wed Jun 24 08:51:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ First set of fixed to get x.7.0 compiling on OpenSuSE Build
+
+Sun Jun 21 14:34:13 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Log_Msg.cpp (log): Changed the use of
+ ACE_Log_Record::MAXLOGMSGLEN to ACE_MAXLOGMSGLEN to avoid
+ problems with "off-by-one" buffer overflow errors. Thanks to
+ Brendan Murphy <brendan dot murphy at euro dot apple dot com>
+ for contributing this.
+
+Tue Jun 23 20:12:51 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Argv_Type_Converter.cpp:
+
+ Allow a 0-length argv list (argc == 0), argv[0] may not be valid.
+
+ * ace/OS_NS_ctype.inl:
+
+ This WinCE/Mobile work-around applies to Win32 w/ wchar as well.
+
+ * ace/OS_NS_stdio.cpp:
+
+ Removed the check for Unicode BOM in ACE_OS::fopen(). This was only
+ checked in Win32 builds with ACE_USES_WCHAR. This resolves bug#3705.
+
+Tue Jun 23 15:09:50 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * docs/Download.html:
+ * etc/index.html:
+ Post release updates.
+
+Mon Jun 22 09:33:40 CDT 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ACE version 5.7 released.
+
+Tue Jun 16 15:14:52 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/OS_main.cpp:
+
+ For Windows CE/Mobile: when constructing argv[0], quote the full
+ path to the exe if it contains spaces (\Program Files\...).
+
+Mon Jun 15 07:45:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3673_Regression_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Added a new test for bugzilla 3673, this test whether exception handling
+ works correctly. This doesn't work with CB2007 which is really a compiler
+ bug. This test makes it easier to see if other compilers have the same
+ bug
+
+Fri Jun 12 19:05:43 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/OS_NS_sys_socket.inl:
+
+ Windows Mobile 6 can return WSAENOPROTOOPT instead of WSAEOPNOTSUPP
+ for setsockopt with an unsupported option.
+
+Fri Jun 12 19:16:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Revert the change below, Adam has a better fix
+ * ace/config-WinCE.h
+ Set ACE_LACKS_SO_RCVBUF for WinCE 5, it is not supported
+
+Fri Jun 12 18:37:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h
+ Set ACE_LACKS_SO_RCVBUF for WinCE 5, it is not supported
+
+Fri Jun 12 14:12:04 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Removed !FIXED_BUGS_ONLY from Process_Test. Not
+ sure why it's there and I never see Process_Test fail.
+
+Fri Jun 12 11:24:09 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp: Added missing ifdef ACE_HAS_EVENT_POLL.
+
+ * tests/run_test.lst: Removed !FIXED_BUGS_ONLY from those fixed:
+ Reactor_Dispatch_Order_Test_Dev_Poll
+ Reactor_Remove_Resume_Test_Dev_Poll
+ Refcounted_Event_Handler_Test_DevPoll
+
+Fri Jun 12 00:45:09 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.{h cpp inl}: Fixed multi-thread behavior of
+ ACE_Dev_Poll_Reactor to resolve Bugzilla 2740, 3178, 3188, 3279.
+ Note that fixing 3178 involved adding the manual-resume behavior from
+ ACE_TP_Reactor which was easy after the other fixes. Essentially
+ what was done is:
+ - Change epoll_wait() from returning all ready events to just one.
+ - Registered events now include the EPOLLONESHOT flag, so once
+ an event is delivered for a handle, no more will be until
+ epoll_ctl() is called again to reset the events.
+ This has the effect of suspending handlers around I/O upcalls and
+ preventing registration changes from happening while another thread
+ is waiting for events.
+
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp:
+ * tests/Refcounted_Event_Handler_Test_DevPoll.cpp:
+ When registering the test handle for events, register for read and
+ write, not everything. Registering for everything leaves 'connect'
+ set when 'write' is removed, but they both map to the same event
+ on non-Windows reactors.
+ For the _Dev_Poll test, remove the BSD, VxWorks, Lynx-only case for
+ removing write-mask - this should always be done.
+
+ * tests/MT_Reactor_Upcall_Test.cpp: When setting up the
+ ACE_Dev_Poll_Reactor, set the restart flag.
+
+ * tests/Bug_2740_Regression_Test.cpp: Tweaks for more informative
+ logging and remove false-fails on peer socket closes.
+
+ * tests/run_test.lst: Removed !FIXED_BUGS_ONLY from
+ Bug_2740_Regression_Test.
+
+Thu Jun 11 19:27:33 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * PROBLEM-REPORT-FORM:
+
+ Added additional PRF question about build method (commit performed
+ on behalf of Chris Cleeland).
+
+Thu Jun 11 13:25:09 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Only define the custom export macros when they are not defined yet
+
+ * ace/TP_Reactor.cpp:
+ owner_ is a bool
+
+Thu Jun 11 13:15:09 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Use $(HOST_EXE_EXT) when host_root is set
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Set qos to 1 and updated header
+
+Wed Jun 10 18:18:09 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-9.h:
+ * ace/OS_NS_stdio.inl:
+ Fix for Windows CE with msvc9
+
+Wed Jun 10 14:07:09 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_vxworks6.3.GNU:
+
+ Minor adjustment to the part of the change below concerning
+ "Allow in-place (no HOST_ROOT) cross-compilation on Win32 hosts."
+ If the host tool variables (like $(TAO_IDL)) are already end in .exe
+ don't add .exe again.
+
+Mon Jun 8 18:39:58 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/Message_Queue_Vx.h:
+ * ace/OS_main.h:
+
+ Added ACE_Export to ACE_Message_Queue_Vx.
+ Added "exports" for the symbols ace_os_main_i and ace_main_i.
+ This allows them to work with GCC 4.x hidden visibility on platforms
+ that use redefinition of main (VxWorks).
+
+ * contrib/minizip/minizip.mwc:
+
+ Added a workspace so minizip will be "found" when running
+ mwc.pl -recurse.
+
+ * include/makeinclude/platform_lynxos.GNU:
+ * include/makeinclude/platform_vxworks6.3.GNU:
+
+ Both VxWorks and LynxOS:
+ For shared library builds (RTP), use -rpath-link to silence
+ warnings from the linker. We assume the libraries in $ACE_ROOT/lib
+ will be present at runtime.
+
+ VxWorks only:
+ Allow in-place (no HOST_ROOT) cross-compilation on Win32 hosts.
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ Default "distrib" to 1, which means we will not set RPATH, similar to
+ other platforms. This resolves bug #3678.
+
+ * tests/Network_Adapters_Test.h:
+ * tests/Process_Manager_Test.cpp:
+ * tests/Signal_Test.cpp:
+ * tests/run_test.lst:
+
+ Fix ACE tests that were failing in single-threaded builds.
+
+Mon Jun 8 09:51:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1890_Regression_Test.cpp:
+ * tests/Bug_2540_Regression_Test.cpp:
+ Put the reactors on the heap to get these tests running
+ with Windows CE where we only get a 64Kb main thread
+
+Sun Jun 7 17:53:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Tokenizer_T.cpp
+ * ace/Tokenizer_T.h
+ * ace/SString.cpp
+ * ace/SString.h
+ Moved ACE_Tokenizer to its own file and reworked it to
+ the C++ template ACE_Tokenizer_T. ACE_Tokenizer is then a
+ typedef of ACE_Tokenizer_T<ACE_TCHAR>. This makes it
+ possible to use a char tokenizer in a wchar build
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/Makefile.am:
+ Added new files
+
+ * ace/Configuration.cpp:
+ * ace/Process.cpp:
+ * examples/OS/Process/process.cpp:
+ Added include of Tokenizer_T.h
+
+ * ace/OS_NS_Thread.cpp
+ * ace/OS_NS_Thread.h
+ * ace/OS_NS_Thread.inl
+ Changed important_writer_ to bool
+
+Fri Jun 5 18:20:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SString.h:
+ Doxygen changes
+
+Fri Jun 5 18:16:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ETCL/ETCL_Interpreter.cpp:
+ Prefix increment and const changes
+
+ * ace/SString.h:
+ Doxygen changes
+
+Thu Jun 4 10:14:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_T.cpp:
+ Only call the notify_handler_ when we have a valid pointer
+
+Thu Jun 4 09:42:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contrib/FaCE/CE_ARGV.h:
+ * contrib/FaCE/FaCE.cpp:
+ Fixed GCC 4.4 warnings
+
+Thu Jun 4 09:12:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.h:
+ Fixed MinGW compile problem
+
+Thu Jun 4 08:56:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl (isatty):
+ Check the return value of _open_osfhandle, if it returns -1,
+ it failed and then calling _isatty with -1 will cause an
+ assert of the msvc9 runtime
+
+Wed Jun 3 07:52:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ If we can't find the vxtest file, log it as error but just
+ continue
+
+Mon Jun 1 08:09:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Lib_Find.cpp:
+ Fixed gcc4.4 warning in a different way, broke other builds
+
+ * ace/config-win32-borland.h:
+ Changed version checks to not have to patch again for a next
+ path from Embarcadero
+
+Mon Jun 1 05:22:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Lib_Find.cpp:
+ Fixed gcc4.4 warnings
+
+Mon Jun 1 05:15:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ We new require to have update pack 3 installed
+
+Fri May 29 16:08:32 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Bug_2740_Regression_Test.cpp:
+ * tests/tests.mpc:
+ * tests/run_test.lst: New test based on code submitted in
+ Bugzilla 2740.
+
+Fri May 29 13:36:05 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/OS_NS_stropts.cpp:
+ * ace/OS_NS_sys_socket.cpp:
+ * include/makeinclude/platform_cegcc.GNU:
+
+ Fixed compiler error for QoS when compiler is CE gcc.
+ Removed UNDER_CE < 500.
+
+Fri May 29 11:41:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/QoS/qos.mpc:
+ Use prop:windows
+
+Tue May 26 06:56:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.{h,cpp}
+ Removed my WinCE code again, it seems to break another part
+ of the test
+
+ * ace/os_include/netinet/os_in.h:
+ Layout change
+
+ * ace/config-win32-msvc-10.h:
+ * ace/config-win32-msvc-9.h:
+ If we compile for Vista or higher then enable the native
+ windows condition variables
+
+Tue May 26 05:56:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS/server/HTTP_Server.cpp:
+ Fixed include
+
+Mon May 25 18:47:24 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * ace/config-linux-common.h:
+ * ace/OS_NS_dirent.h:
+ Johnny Willemsen found a more elegant fix. Applied.
+
+Mon May 25 18:21:40 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * ace/OS_NS_dirent.h:
+ * ace/config-linux-common.h:
+ Fixed bug 3681, code would not build with glibc-2.10 because the
+ prototype for scandir() changed. Automatically detect the
+ version of glibc and use the right prototype for it.
+
+Mon May 25 11:26:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS/server/IO.cpp
+ * apps/JAWS/server/IO.h
+ * apps/JAWS/server/JAWS_IO.cpp
+ * apps/JAWS/server/JAWS_IO.h
+ Renamed to JAWS_IO
+
+ * apps/JAWS/server/HTTP_Handler.h
+ * apps/JAWS/server/HTTP_Response.cpp
+ * apps/JAWS/server/JAWS_Concurrency.h
+ * apps/JAWS/server/Makefile.am
+ * apps/JAWS/server/server.mpc
+ Updated because of change above
+
+Mon May 25 09:47:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_mman.inl:
+ Don't pass unsupported flags with WinCE. This fixes the Mem_Map_Test
+
+Sun May 24 18:27:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.{h,cpp}
+ With WinCE RegKeyDelete just does a recursive delete, on regular
+ Windows RegKeyDelete only works when there are no subkeys. Added
+ WinCE specific code to check if we have subkeys, if yes, then
+ return with an error
+
+Fri May 22 16:20:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Queue_Test.cpp:
+ Run part of this test again on VxWorks and reduced the number
+ it messages in the counting test for WinCE, the amount of messages
+ is too much for CE to finish the test in time
+
+Fri May 22 16:10:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/ACE_Init_Test.cpp:
+ Improved message
+
+ * tests/Dirent_Test.cpp:
+ Initialise pointer to 0
+
+ * tests/SOCK_Connector_Test.cpp:
+ Print errno to get some more feedback why this fails on WinCE
+
+Fri May 22 12:11:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE.pm:
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ Only use the vxtest file in a non static test
+
+Fri May 22 11:12:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_Dgram.cpp:
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Fixed casing of include for cegcc
+
+Fri May 22 10:57:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Some defines only have to be set, not to 1
+
+Fri May 22 10:51:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS3/jaws3/IO.cpp
+ * apps/JAWS3/jaws3/IO.h
+ * apps/JAWS3/jaws3/Jaws_IO.cpp
+ * apps/JAWS3/jaws3/Jaws_IO.h
+ Renamed to Jaws_IO to fix problems on windows
+
+ * apps/JAWS3/jaws3/Asynch_IO.cpp
+ * apps/JAWS3/jaws3/Asynch_IO.h
+ * apps/JAWS3/jaws3/Asynch_IO_Helpers.h
+ * apps/JAWS3/jaws3/jaws3.mpc
+ * apps/JAWS3/jaws3/Makefile.am
+ * apps/JAWS3/jaws3/Reactive_IO.cpp
+ * apps/JAWS3/jaws3/Reactive_IO.h
+ * apps/JAWS3/jaws3/Reactive_IO_Helpers.h
+ * apps/JAWS3/jaws3/Synch_IO.cpp
+ * apps/JAWS3/jaws3/Synch_IO.h
+ * apps/JAWS3/jaws3/Templates.cpp
+ Updated includes and filenames
+
+Fri May 22 08:31:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Module.h:
+ Doxygen fixes
+
+Fri May 22 07:41:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/run_all.pl:
+ * bin/run_all_win32.pl:
+ Not maintained for some time and seems they are broken
+
+Fri May 22 07:26:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/IO.cpp
+ * apps/JAWS2/JAWS/IO.h
+ * apps/JAWS2/JAWS/Jaws_IO.cpp
+ * apps/JAWS2/JAWS/Jaws_IO.h
+ Renamed to Jaws_IO to fix problems on windows
+
+ * apps/JAWS2/JAWS/Concurrency.h
+ * apps/JAWS2/JAWS/IO_Acceptor.h
+ * apps/JAWS2/JAWS/IO_Handler.cpp
+ * apps/JAWS2/JAWS/jaws2.mpc
+ * apps/JAWS2/JAWS/Makefile.am
+ * apps/JAWS2/JAWS/Pipeline_Tasks.cpp
+ * apps/JAWS2/JAWS/Server.cpp
+ Updated includes and filenames
+
+Wed May 20 12:13:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ * bin/PerlACE/ProcessWinCE.pm:
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ Use SYSTEM_LIBS when they are defined. List of dlls that are
+ copied from the lib directory seperate by a semi colon
+
+Wed May 20 12:00:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/TestTarget.pm:
+ Added SYSTEM_LIBS support, these have to be copied before we
+ can run an executable
+
+Wed May 20 11:29:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/Process_Unix.pm:
+ Support cross platform testing
+
+Wed May 20 07:38:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ On some platforms fileno is a macro
+
+ * ace/OS_NS_dirent.cpp:
+ Layout and const changes
+
+Tue May 19 13:23:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Added _WIN32_IE=0x0500 to RCFLAGS
+
+Tue May 19 13:14:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contrib/FaCE/FaCE.mpc:
+ * contrib/FaCE/FaCENOACE.mpc:
+ Added missing lib
+
+Tue May 19 11:22:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Set RCFLAGS
+
+Tue May 19 10:12:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * contrib/FaCE/CE_Screen_Output.h:
+ Added missing include of stdio.h for FILE
+
+Tue May 19 07:13:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Mem_Map/IO-tests/IO_Test.cpp:
+ Use ACE_OS::fileno
+
+Tue May 19 06:52:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Countdown_Time.cpp (stop):
+ Make sure elapsed_time is equal or bigger then zero to prevent
+ expanding the max_wait_time at the moment the system time
+ has been changed. Thanks to Michael Guntli
+ <michael dot guntli at leica-geosystems dot com> for reporting this.
+
+Tue May 19 06:50:05 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/config-win32-cegcc.h
+ Removed compiler flags since they are now in platform_cegcc.GNU.
+
+Tue May 19 06:31:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Pass mandatory compiler flags from here
+
+Tue May 19 06:17:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Added fileno to ACE_OS check
+
+Tue May 19 06:14:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ Added fileno wrapper which returns ACE_HANDLE. The CEGCC developers
+ fixed their header files
+
+ * ace/ETCL/ETCL_l.cpp:
+ * ace/ETCL/ETCL_l.cpp.diff
+ Use ACE_OS::fileno
+
+ * ace/os_include/os_unistd.h:
+ Removed obsolete casts for WinCE
+
+ * ace/OS_NS_Thread.inl:
+ Const changes
+
+Mon May 18 19:58:35 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-5.x.h: Add explicit instantiation for the
+ ACE_EXPORT_SINGLETON_DECLARE - the compiler needs to be forced to
+ generate the template code even if there's no use of it. Fixes
+ unsats for ACE_Utils::UUID_Generator singleton.
+ Also removed settings for AIX Visual Age, etc. earlier than V6.
+
+Mon May 18 17:11:28 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/UUID.cpp: Reverted:
+ Mon May 18 15:33:17 UTC 2009 Steve Huston <shuston@riverace.com>
+ It breaks g++ builds. Working on another solution...
+
+Mon May 18 15:33:17 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/UUID.cpp: Add explicit instantiation of UUID_Generator singleton.
+ Ensures the code is compiled; resolves missing extern sym on AIX.
+
+Mon May 18 14:44:27 UTC 2009 Abdullah Sowayan <sowayan@gmail.com>
+
+ * bin/fuzz.pl:
+
+ Added and enabled check_for_TAO_Local_RefCounted_Object.
+
+Mon May 18 10:11:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/High_Res_Timer.cpp:
+ * ace/High_Res_Timer.inl:
+ Const changes
+
+ * ace/Token.h:
+ When not defined ACE_USES_WINCE_SEMA_SIMULATION use the
+ semaphore implementation
+
+Mon May 18 08:26:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Countdown_Time.cpp
+ * ace/Countdown_Time.h
+ * ace/Countdown_Time.inl
+ * ace/Makefile.am:
+ Added inline file for Countdown_Time
+
+ * ace/os_include/sys/os_time.h:
+ Removed workaround for deprecated sco
+
+Mon May 18 07:48:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Condition_Recursive_Thread_Mutex.cpp:
+ Const change
+
+ * ace/OS_NS_stdio.{h,inl}:
+ Removed ACE_OS::fileno(), gives problems with CE at this moment
+
+ * ace/Recursive_Thread_Mutex.cpp (get_nesting_level):
+ Disabled again for WinCE, the fact that it compiled is a bug
+ in the CEGCC header files
+
+ * ace/OS_NS_Thread.cpp:
+ Bool changes
+
+ * ace/OS_NS_stdlib.cpp:
+ WinCE has ExitProcess
+
+Mon May 18 06:45:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Recursive_Thread_Mutex.cpp (get_nesting_level):
+ Enabled for WinCE
+
+Mon May 18 06:17:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.{h,inl}:
+ Added ACE_OS::fileno()
+
+Mon May 18 06:15:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Dirent_Test.cpp:
+ Fixed argument not used warning
+
+ * tests/Based_Pointer_Test.cpp:
+ Improved debug message
+
+ * tests/Config_Test.cpp:
+ Const change
+
+ * tests/Thread_Pool_Reactor_Test.cpp:
+ Fixed rcsid
+
+Mon May 18 06:12:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/TP_Reactor/AcceptHandler.cpp:
+ * examples/Reactor/TP_Reactor/server.cpp:
+ Use ACE_ERRNO_GET
+
+Sun May 17 10:34:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Use lib prefix, the gcc toolchain expects it
+
+ * ace/Future.cpp:
+ Layout changes
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Just use the default lib prefix
+
+ * ace/Configuration.cpp:
+ Removed mingw check, that code also works with other compilers
+
+Sat May 16 18:03:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/OS/Process/imore.cpp:
+ Fixed cegcc compile warnings
+
+Fri May 15 13:57:29 UTC 2009 Abdullah Sowayan <sowayan@gmail.com>
+
+ * bin/MakeProjectCreator/config/ipv6.mpb:
+
+ Replaced: specific(vc6, vc7, vc71, vc8, vc9, vc10, nmake, bmake, bds4)
+ With: specific(prop:windows)
+
+ Zapped references to em3, we no longer support that environement.
+
+ * bin/MakeProjectCreator/config/vcfullmacros.mpt:
+ * bin/MakeProjectCreator/config/vcpartialmacros.mpt:
+
+ Zapped references to em3, we no longer support that environement.
+
+Fri May 15 12:36:35 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+
+ Removed the unnecessary semicolon.
+
+Fri May 15 07:10:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Logging_Strategy_Test.cpp:
+ Added debug statement to assist in analyzing the cegcc failure
+
+Thu May 14 12:06:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ Only define ACE_DLL_PREFIX when it has not been defined yet,
+ that way the mingw specific define can move to the mingw config
+ file
+
+ * ace/config-win32-mingw.h:
+ Define ACE_DLL_PREFIX here
+
+ * ace/OS_NS_dlfcn.inl:
+ Initialise pointer with 0
+
+ * ace/OS_NS_sys_mman.inl:
+ Const change
+
+ * ace/OS_NS_Thread.cpp:
+ Removed some not needed ACE_UNUSED_ARG
+
+ * ace/OS_Thread_Adapter.h:
+ * ace/Process.cpp:
+ * ace/Sig_Handler.cpp:
+ * ace/Thread_Manager.inl:
+ Layout change
+
+ * ace/Thread_Manager.cpp:
+ Const change, initialise pointer with 0
+
+Thu May 14 19:39:58 UTC 2009 Abdullah Sowayan <sowayan@gmail.com>
+
+ * bin/MakeProjectCreator/config/ace_fl.mpb:
+ * bin/MakeProjectCreator/config/ace_gl.mpb:
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+ * bin/MakeProjectCreator/config/ace_x11.mpb:
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ * bin/MakeProjectCreator/config/crosscompile.mpb:
+
+ Replaced: specific(nmake, vc71, vc8, vc9, vc10)
+ With: specific(prop:microsoft)
+
+Thu May 14 18:27:53 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+ * ace/UUID.cpp:
+
+ Fixed compilation errors related to namespace issues when
+ declaring the UUID_Generator singleton.
+
+Thu May 14 10:18:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Manager_Test.cpp:
+ Set the process_name in the process options for WinCE
+
+Thu May 14 10:10:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ Only register signal handlers for SIGINT, SIGQUIT and SIGTERM when
+ they are not equal zero
+
+ * tests/Process_Manager_Test.cpp:
+ Const changes, prefix increment/decrement
+
+Thu May 14 07:17:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/DLL_Test.cpp:
+ Directly assign a local variable
+
+ * tests/Message_Queue_Notifications_Test.cpp:
+ * tests/Message_Queue_Test.cpp:
+ * tests/Multicast_Test.cpp
+ Initialise some pointers with 0
+
+Thu May 14 00:01:54 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+ * ace/UUID.inl:
+ * ace/UUID.cpp:
+ * tests/UUID_Test.cpp:
+
+ The constructor for the UUID generator now calls init ().
+
+ Added ACE_SINGLETON_DECLARE to the UUID_GENERATOR singleton
+ so it will be properly exported from the ACE library.
+
+Wed May 13 17:02:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Network_Adapters_Test.cpp:
+ When registering the signal handlers fails also print the
+ signal number that failed
+
+Tue May 12 18:26:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp
+ * protocols/tests/HTBP/Reactor_Tests/client.cpp
+ * protocols/tests/HTBP/Send_Large_Msg/client.cpp
+ More usage of ACE_ERRNO_GET
+
+Tue May 12 12:35:07 UTC 2009 Vladimir Zykov <vz@prismtech.com>
+
+ * apps/gperf/src/Key_List.cpp:
+
+ Fixed an incorrect check which resulted in valgrind warning.
+
+Tue May 12 08:31:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_errno.h:
+ Added ACE_ERRNO_GET, this has to be used when errno is passed to a
+ C variable length argument . With WinCE errno is a class instance
+ which we can't pass through a variable length argument, the cegcc
+ compiler gives a warning about this, it results to an abort at
+ runtime. ACE_ERRNO_GET will return the errno as int with WinCE
+
+ * ace/DLL_Manager.cpp:
+ * examples/Reactor/TP_Reactor/AcceptHandler.cpp:
+ * examples/Reactor/TP_Reactor/client.cpp:
+ * examples/Reactor/TP_Reactor/ReadHandler.cpp:
+ * tests/Mem_Map_Test.cpp:
+ * tests/MT_Reactor_Timer_Test.cpp:
+ * tests/MT_SOCK_Test.cpp:
+ * tests/New_Fail_Test.cpp:
+ * tests/Priority_Task_Test.cpp:
+ * tests/Reactor_Performance_Test.cpp:
+ * tests/SOCK_Connector_Test.cpp:
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp:
+ Use ACE_ERRNO_GET
+
+ * tests/Reactor_Notify_Test.cpp:
+ Fixed typo in comment
+
+Mon May 11 18:28:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Some WinCE workarounds are only needed for older WinCE versions
+ and when IPv6 is enabled
+
+Mon May 11 18:17:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.cpp:
+ * ace/Pagefile_Memory_Pool.cpp:
+ * ace/Pagefile_Memory_Pool.h:
+ Fixed cegcc compile warnings
+
+Sun May 10 14:50:46 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * m4/aio.m4 (Test_Aio): Removed all the commented out 'cout'
+ lines. Thanks to Johnny for this suggestion.
+
+Sat May 9 03:29:08 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * m4/aio.m4: Change #include <iostream.h> to #include <iostream>.
+ Thanks to Boyan Kasarov <bkasarov at gmail dot com> for
+ reporting this.
+
+Mon May 11 06:54:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl (fflush):
+ Don't handle fflush(0) special for VxWorks. On VxWorks
+ fflush(0) is not supported and returns -1, just pass that
+ error back to the caller and not hide it.
+
+ * ace/Mem_Map_Test.cpp:
+ Updated for VxWorks 6.7
+
+Sun May 10 10:31:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/*
+ Changed the _ in the directory names to ., the MPC clonebuild tree
+ can handle the .d now
+
+Thu May 7 01:32:22 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Process.cpp(command_line):
+
+ Added check for buffer overflow. Thanks to Russ
+ Noseworthy <j dot russell dot noseworthy at saic dot com>
+ for submitting the patch.
+
+ * Monitor_Admin.h:
+ * Monitor_Control/Auto_Update_Starter.h:
+
+ Cosmetic changes.
+
+Tue May 5 13:23:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * apps/drwho/CM_Server.cpp:
+ Fixed memset's parameter order.
+
+Sat May 2 03:21:01 UTC 2009 Carlos O'Ryan <coryan@atdesk.com>
+
+ * include/makeinclude/rules.lib.GNU:
+ * include/makeinclude/wrapper_macros.GNU:
+ Moved the definition of LIB_PREFIX from rules.lib.GNU to
+ wrapper_macros.GNU.
+ Now that the checks for library dependencies (i.e. the LIB_CHECK
+ variable) depends on LIB_PREFIX, this latter variable needs to
+ be defined in all Makefiles.
+ However, Makefiles for binaries do not include rules.lib.GNU.
+ I am pretty sure they call include wrapper_macros, thus my
+ choice for the new location.
+
+Fri May 1 18:54:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/*
+ Changed the . in the directory names to _, the MPC clonebuild tree
+ can't handle that
+
+Fri May 1 18:35:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp (add_to_argv):
+ Do nothing if the length of the string is zero
+
+Fri May 1 18:17:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Only add the arg from vx_execae when the string has data.
+
+Fri May 1 17:46:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Map_Manager_Test.cpp:
+ If table_size equals zero we fail directly
+
+Fri May 1 17:29:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ Made sure ACE_DEFAULT_TIMERS is defined and not zero
+
+Fri May 1 12:27:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ ACE_DEFAULT_MAP_SIZE and ACE_DEFAULT_TIMERS shouldn't be zero
+
+Fri May 1 12:19:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/INET_Addr_Test_IPV6.cpp:
+ No need for ACE_UNUSED_ARG
+
+ * tests/Map_Manager_Test.cpp:
+ Use ACE_TEST_ASSERT and added some more checks
+
+ * tests/test_config.h:
+ Removed ghs workaround and check return value of log_msg open
+ call
+
+Fri May 1 11:43:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Event_Handler.cpp:
+ Initialise members in the ACE_Notification_Buffer constructor
+
+ * ace/Log_Record.h:
+ Doxygen fix
+
+ * ace/Notification_Queue.cpp:
+ Layout change
+
+ * ace/Select_Reactor_Base.cpp:
+ Small code simplification
+
+Fri May 1 09:13:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ opt files are allowed in svn
+
+ * bin/make_release.py:
+ Don't generate Pocket PC 2003 and Smartphone 2003 projects
+
+Fri May 1 07:37:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-rpmlintrc.txt:
+ Fixed line wrapper
+
+ * rpmbuild/ace-tao.txt:
+ Removed, we are not maintaining this file anymore
+
+ * rpmbuild/README:
+ Small updates
+
+Fri May 1 07:31:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/*:
+ Changed location of config files for suse
+
+Fri May 1 07:15:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/*:
+ Extract all archives and put them in subdirectories, makes it much
+ easier to update these files
+
+Wed Apr 29 16:30:05 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Asynch_Acceptor.cpp (handle_accept): Pass the ACT to accept()
+ when restarting the accept. Thanks to Dicky for this fix.
+
+ * THANKS: Added Dicky <qianchendi at gmail dot com>.
+
+Wed Apr 29 13:52:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Active_Objects/active_objects.mpc
+ * examples/APG/Config/config.mpc
+ * examples/APG/Containers/containers.mpc
+ * examples/APG/Misc_IPC/misc_ipc.mpc
+ * examples/APG/Naming/naming.mpc
+ * examples/APG/Proactor/proactor.mpc
+ * examples/APG/Processes/processes.mpc
+ * examples/APG/Shared_Memory/shared_memory.mpc
+ * examples/APG/Streams/streams.mpc
+ * examples/APG/Svc_Config/svc_config.mpc
+ * examples/APG/ThreadPools/threadpools.mpc
+ * examples/APG/ThreadSafety/threadsafety.mpc
+ * examples/ASX/Event_Server/Event_Server/Event.mpc
+ * examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc
+ * examples/C++NPv1/C++NPv1.mpc
+ * examples/C++NPv2/C++NPv2.mpc
+ * examples/Connection/blocking/Connection_Blocking.mpc
+ * examples/Connection/misc/Connection_Misc.mpc
+ * examples/Connection/non_blocking/Connection_Non_Blocking.mpc
+ * examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc
+ * examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc
+ * examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc
+ * examples/IPC_SAP/FILE_SAP/file_sap_client.mpc
+ * examples/IPC_SAP/SOCK_SAP/sock_sap.mpc
+ * examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc
+ * examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc
+ * examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc
+ * examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc
+ * examples/Misc/Misc.mpc
+ * examples/Naming/Naming.mpc
+ * examples/OS/Process/OS_Process.mpc
+ * examples/QOS/Diffserv/QOS_Diffserv.mpc
+ * examples/Reactor/Dgram/Reactor_Dgram.mpc
+ * examples/Reactor/FIFO/Reactor_FIFO.mpc
+ * examples/Reactor/Proactor/Proactor.mpc
+ * examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc
+ * examples/Semaphores/Semaphores.mpc
+ * examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc
+ * examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc
+ * examples/Shared_Malloc/Shared_Malloc.mpc
+ * examples/Shared_Memory/Shared_Memory.mpc
+ * examples/Synch/Synch.mpc
+ * examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc
+ * examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc
+ * examples/Threads/Threads.mpc
+ * examples/Web_Crawler/Web_Crawler.mpc
+ Use the avoids_ace_for_tao base project
+
+Wed Apr 29 09:47:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Don't use a harcoded lib prefix when checking the existance of the
+ libraries, but use $(LIB_PREFIX)
+
+Wed Apr 29 09:29:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Set LIB_PREFIX to empty
+
+Wed Apr 29 06:09:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ * include/makeinclude/platform_vxworks6.7.GNU:
+ Moved the workaround to the vxworks 6.7 file
+
+Tue Apr 28 18:52:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ Fix compile error with OpenSSL 1.0 beta 2. Thanks to
+ Jules Colding <colding at 42tools dot com> for reporting this
+
+Tue Apr 28 18:33:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm
+ * bin/PerlACE/ProcessVX_Win32.pm
+ * bin/PerlACE/ProcessWinCE.pm
+ * bin/PerlACE/ProcessWinCE_Unix.pm
+ * bin/PerlACE/TestTarget_VxWorks.pm
+ Improved waiting for the prompt
+
+Tue Apr 28 18:00:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ No prelib for cegcc
+
+Tue Apr 28 17:42:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Extended for WinCE cross platform testing
+
+Tue Apr 28 11:42:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ Reverted change below, it breaks current ssl support
+
+Tue Apr 28 09:39:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ Fix compile error with OpenSSL 1.0 beta 2. Thanks to
+ Jules Colding <colding at 42tools dot com> for reporting this
+
+Tue Apr 28 09:30:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.3.GNU:
+ Fixed vxworks 6.7 rtp shared library link
+
+Tue Apr 28 09:26:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.cpp:
+ Fixed vxworks warning
+
+ * ace/Service_Object.cpp:
+ Layout changes
+
+Tue Apr 28 07:58:16 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessWinCE_Unix.pm:
+ * bin/PerlACE/Run_Test.pm:
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ Changed to run Windows CE tests, build with CE gcc, on Linux.
+
+Fri Apr 24 20:40:16 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ace_guidelines.vsmacros:
+
+ Excluded Purify files from edit macros.
+
+Fri Apr 24 12:21:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Condition_Recursive_Thread_Mutex.h:
+ Doxygen change
+
+ * ace/config-cygwin32.h:
+ Change for Cygwin 1.7
+
+ * ace/OS_NS_unistd.cpp (num_processors_online):
+ Don't use a hard max of 32.
+
+Wed Apr 22 10:14:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.cpp:
+ Implemented num_processors and num_processors_online using the
+ VxWorks cpu lib
+
+ * ace/config-vxworks6.6.h:
+ VxWorks 6.6 and newer have cpuLib
+
+ * ace/OS_NS_unistd.inl:
+ Const change
+
+Wed Apr 22 09:48:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op_T.cpp:
+ * ace/Guard_T.cpp:
+ Fixed compile problems when ACE_HAS_DUMP is enabled. Thanks to
+ Skrzyniarz Alexandre <alexandre dot skrzyniarz at fr dot thalesgroup dot com>
+ for reporting this
+
+Tue Apr 21 14:50:23 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ace_guidelines.vsmacros:
+
+ Prevented the macros from saving .rc files.
+
+Tue Apr 21 13:50:48 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+
+ Fixed the olddate to be consistent with the release of 5.6.9.
+
+Tue Apr 21 07:02:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/OS/Process/imore.cpp:
+ * tests/Recursive_Mutex_Test.cpp:
+ Fixed cegcc warning
+
+Mon Apr 20 20:01:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_string.cpp:
+ Fixed argument not used warning
+
+Mon Apr 20 19:51:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Malloc_Test.cpp:
+ Fixed argument not used warning with cegcc
+
+Mon Apr 20 18:16:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ dlltool is also dependent on architecture
+
+Mon Apr 20 18:08:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ETCL/ETCL_l.cpp:
+ * ace/ETCL/ETCL_l.cpp.diff:
+ Added a cast for WinCE with GCC
+
+Mon Apr 20 17:47:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WFMO_Reactor.cpp:
+ Fixed argument not used warning with WinCE
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ dlltool is also dependent on architecture
+
+Mon Apr 20 17:43:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Include iphlpapi.h with all lower cases to resolve compile
+ error when using cross compilation using a linux host
+
+Mon Apr 20 17:39:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_unistd.h:
+ Added a cast to resolve cegcc compile error
+
+Mon Apr 20 17:34:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_errno.h:
+ Prevent redefinitions and when we don't have errno.h, define
+ the error numbers if they are not defined yet. Needed for cegcc
+
+Mon Apr 20 17:26:06 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Include _mingw.h and check the MinGW version
+
+Mon Apr 20 17:16:06 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Fixes compiler error on CE gcc
+
+Mon Apr 20 13:52:06 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Made a few define's CE gcc version depended.
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Included ACE_HAS_CEGCC as define
+
+Mon Apr 20 12:53:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ For quantify use PURELINK, quantify shouldn't be used when
+ linking a shared library. This fixes bugzilla 1865, thanks
+ to <moyyo at freetekno dot cz> for reporting this.
+
+Mon Apr 20 11:40:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Addes support for SOLINK.cc.override
+
+Mon Apr 20 11:38:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Only set COMPARCH when it has not been set yet
+
+Mon Apr 20 10:17:32 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/Basic_Types.h:
+ * ace/config-WinCE.h:
+ * ace/OS_NS_stropts.h:
+ * ace/OS_NS_sys_socket.h:
+ * ace/OS_NS_Thread.cpp:
+ Removed WinCE support for versions < 5.0.
+
+ * ace/config-win32-cegcc.h:
+ Removed temporary defines.
+
+ * ace/config-win32-common.h:
+ Replaced UNDER_CE with _WIN32_WCE.
+
+ * ace/OS_main.cpp:
+ * ace/OS_main.h:
+ Removed CE gcc compiler warning by
+ adding destructor.
+
+ * ace/OS_NS_Thread.inl:
+ Removed WinCE support for versions before 5.0.
+ Added ACE_LACKS_CE_THREAD_PRIORITY define in order
+ to compile on CE gcc.
+
+ * ace/Process.cpp:
+ Removed CE gcc compiler warning by
+ using ACE_UNUSED_ARG.
+
+ * ace/Registry.cpp:
+ * ace/Registry.h:
+ Removed CE gcc compiler warning by
+ adding destructor.
+ Removed CE gcc compiler warning by
+ using ACE_UNUSED_ARG.
+
+ * ace/SV_Semaphore_Simple.cpp:
+ Removed pragma's for CE gcc compiler. Removed
+ check on ACE_WIN64 define.
+
+ * include/makeinclude/platform_cegcc.GNU:
+ Default platform macros for CE gcc compiler.
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ Added support for CE gcc compiler.
+
+Mon Apr 20 09:01:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.6.h:
+ * ace/config-vxworks6.4.h:
+ VxWorks 6.6 and newer have cpuset_t and taskCpuAffinitySet
+
+Mon Apr 20 08:51:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.6.h:
+ * NEWS:
+ Enabled the vxAtomicLib by default for VxWorks 6.6 and newer.
+ If you don't want to use this library, undef ACE_HAS_VXATOMICLIB
+ in your config.h file
+
+Mon Apr 20 08:45:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Another fix for HPUX
+
+Sun Apr 19 19:10:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-11.00.h
+ * ace/Sock_Connect.cpp:
+ Added ACE_HAS_STRUCT_LIFNUM, hpux doesn't have this
+
+Sun Apr 19 06:57:04 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * ace/UUID.h:
+ * ace/UUID.inl:
+ * ace/UUID.cpp:
+ * tests/UUID_Test.cpp:
+
+ Redesigned the internal structure of the UUID so that its key
+ data members are a contiguous chunk of memory.
+
+ Implemented a hash () method for the UUID. This will enable it
+ to be used in ACE_Hash_Map_Manager objects.
+
+ Remvoed the default constructor (), copy constructor () and
+ assignmetnt operator from the UUID_Node object since the UUID
+ performs such operations.
+
+Fri Apr 17 15:06:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/patches/19-gcc43.dpatch:
+ Removed, not needed anymore
+
+Fri Apr 17 15:03:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op.{h,inl}:
+ Added support for VxWorks vxAtomicLib. If you want to use
+ that library add ACE_HAS_VXATOMICLIB to your config.h file
+
+ * ace/config-vxworks6.4.h:
+ VxWorks 6.4 has cpuset_t and taskCpuAffinitySet
+
+ * ace/os_include/os_sched.h:
+ VxWorks has cpuset_t
+
+ * ace/OS_NS_sys_mman.inl:
+ Updated VxWorks version checks
+
+ * ace/OS_NS_sys_utsname.cpp:
+ const change
+
+ * ace/OS_NS_Thread.cpp:
+ Added support for taskCpuAffinitySet
+
+ * ace/Sock_Connect.cpp:
+ Changed the checks for VxWorks to correctly detect which
+ implementation of get_ip_interfaces we have to use
+
+ * rpmbuild/ace-tao-orbsvcs-daemon.patch:
+ This patch doesn't work anymore with svn head, if this
+ is a real issue, it has to be addressed in the real code
+ and not with a patch. This should already be possible with
+ the -ORBDeamon flag
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Don't apply ace-tao-orbsvcs-daemon.patch, fixed a small
+ provides bug
+
+Thu Apr 16 16:03:32 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * bin/make_release.py:
+ * docs/Download.html:
+ * docs/bczar/bczar.html:
+ * etc/index.html:
+ * rpmbuild/ace-tao-ciao.spec:
+
+ Updated in anticipation of 5.7 release.
+
+Tue Apr 14 10:06:19 CDT 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ACE version 5.6.9 released.
+
+Tue Apr 14 13:57:16 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+
+ Reworded entries to be consistent with release note.
+
+Mon Apr 13 12:19:18 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/config-linux-common.h:
+
+ Reverted previous change.
+
+Sun Apr 12 20:37:11 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/config-linux-common.h:
+
+ The Rawhide nightly build shows that the scandir and alphasort
+ functions have been redefined to finally take dirrent args. The
+ detectable difference appears to be in the glibc version code,
+ which is 2.9 on the Rawhide build machine.
+
+Sat Apr 11 13:13:49 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/config-macosx-leopard.h:
+
+ Darwin also has a variation that varies the signature of
+ unsetenv().
+
+Fri Apr 10 10:26:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-openvms.h
+ OpenVMS lacks setenv/unsetenv
+
+Fri Apr 10 03:32:04 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/OS_NS_stdlib.inl:
+
+ Fix typo from previous commit.
+
+Fri Apr 10 03:00:44 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/OS_NS_stdlib.inl:
+ * ace/config-qnx-rtp-common.h:
+
+ The newly added [un]setenv wrappers don't compile on qnx rtp
+ because that platform defines unsetenv as having a void
+ return. It is possible that other platforms have this as well,
+ as legacy linux man pages show that signature.
+
+Thu Apr 9 12:34:41 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Reverted renaming of ACE_HAS_NONCONST_WFDOPEN define
+
+Thu Apr 9 11:45:08 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Resolved compiler error on WinCE 5 VC 8.
+
+Wed Apr 8 10:59:59 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/config-win32-cegcc.h:
+ Added to support CE gcc compiler
+
+ * ace/config-win32-common.h:
+ Prevent ACE_HAS_CUSTOM_EXPORT_MACROS from
+ being defined a second time.
+
+ * ace/config-win32.h:
+ Introduced ACE_HAS_CEGCC. When defined,
+ config-win32-cegcc is included.
+
+ * ace/Numeric_Limits.h:
+ "#ifdef" replace by "#if defined"
+
+ * ace/os_include/sys/os_stat.h:
+ Prevent defines from being defined a second time.
+
+ * ace/OS_NS_stdio.inl:
+ Prevent compiler errors when compiling
+ with CE gcc compiler.
+
+ Using global namespace for fseek
+
+ * ace/OS_NS_stdlib.inl:
+ Prevent compiler errors when compiling
+ with CE gcc compiler.
+
+ * ace/OS_NS_Thread.h:
+ Defining STACK_SIZE_PARAM_IS_A_RESERVATION (when it
+ isn't defined yet).
+
+ * ace/OS_NS_time.h:
+ * ace/Time_Value.inl:
+ Prevent pragma warnings when compiling with
+ CE gcc compiler.
+
+Wed Apr 8 10:13:28 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ LynxOS 5.0 has setenv/unsetenv.
+
+Wed Apr 8 10:01:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ Increased number of telnet retries
+
+Tue Apr 7 20:29:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h
+ LynxOS lacks setenv/unsetenv
+
+Tue Apr 7 16:44:37 UTC 2009 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ace_guidelines.vsmacros:
+
+ Bug fix where the script was trying to run on unsupported
+ text files, which was causing an exception.
+
+Tue Apr 7 09:33:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-sunos5.5.h
+ Solaris lacks setenv/unsetenv
+
+Tue Apr 7 09:32:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ Added setenv/unsetenv
+
+Tue Apr 7 09:20:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-11.00.h
+ HPUX lacks setenv/unsetenv
+
+Tue Apr 7 06:56:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/config-vxworks6.4.h:
+ VxWorks kernel model lacks setenv/unsetenv
+
+ * bin/fuzz.pl:
+ Added setenv/unsetenv
+
+Mon Apr 6 21:59:51 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU: Don't acc CFLAGS to
+ CCFLAGS; set options that make sense to C and C++ in the
+ respective CFLAGS/CCFLAGS. Not all options are cross-compatible
+ so they shouldn't be blindly included. Has the side-affect of
+ removing the double -pipe (and other options included twice)
+ and fixes Bugzilla #3232.
+
+Mon Apr 6 15:17:23 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Message_Queue_Test.cpp: Added a new close_test() function
+ to test the fix to Message_Queue_T::close(). Thanks to Igor
+ Rayak <igor dot rayak at gmail dot com> for providing this.
+
+Mon Apr 6 14:46:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Windows doesn't have setenv/unsetenv
+
+Mon Apr 6 13:44:31 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp (close): Added a comment explaining why
+ we don't need to check the return value of deactivate_i().
+
+Mon Apr 6 09:43:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Added missing ACE_LACKS_GETENV
+
+Mon Apr 6 07:25:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-integritySCA.h:
+ Added ACE_LACKS_PUTENV_PROTOTYPE
+
+ * ace/config-WinCE.h:
+ WinCE doesn't have environment variables
+
+ * ace/OS_NS_stdlib.cpp:
+ * ace/OS_NS_stdlib.h:
+ * ace/OS_NS_stdlib.inl:
+ * ace/OS_NS_unistd.cpp:
+ Added setenv/unsetenv wrappers and used a specific define per
+ environment method
+
+Sun Apr 5 19:08:47 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp (close): Fixed this method so it returns
+ the number of messages that were flushed from the queue, as per
+ its documentation. Thanks to Igor Rayak <igor dot rayak at
+ gmail dot com> for reporting this.
+
+Sun Apr 5 18:39:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.cpp:
+ Added missing ACE_Export
+
+Sat Apr 4 11:49:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.4.h:
+ Removed not needed define
+
+Fri Apr 3 13:28:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/arpa/os_inet.h:
+ * ace/os_include/sys/os_select.h:
+ * ace/os_include/sys/os_socket.h:
+ * ace/os_include/sys/os_un.h:
+ * ace/Token.h:
+ * ace/config-vxworks6.4.h:
+ Moved some VxWorks checks to the config file and added some
+ new defines
+
+Thu Apr 2 19:33:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Added -lXp to PLATFORM_X11_LIBS.
+
+Thu Apr 2 10:05:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sig_Handlers_Test.cpp:
+ Fixed compile error and warning
+
+Wed Apr 1 19:48:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Log_Msg_Test.cpp:
+ Fix for vxworks 6.7
+
+ * tests/Recursive_Condition_Test.cpp:
+ Const change and added a debug statement
+
+ * tests/Sig_Handlers_Test.cpp:
+ Removed not needed include and fixed compile issue
+
+ * tests/tests.mpc:
+ Added missing Sig_Handlers_Test
+
+Wed Apr 1 15:12:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Repository.h:
+ Removed unicode character. Thanks to Alon Diamant
+ <diamant dot alon at gmail dot com> for reporting this
+
+Tue Mar 31 07:18:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ VxWorks 6.7 also has an issue with in6_addr
+
+Tue Mar 31 14:59:49 UTC 2009 Adam Mitz <mitza@ociweb.com>
+
+ * ace/High_Res_Timer.cpp:
+
+ Linux configured with "clock=pit" on the boot line (commonly used
+ for virtual machines) can report a 0 MHz CPU, in which case ACE
+ must run calibration for the High Res Timer to avoid a division by 0.
+
+Mon Mar 30 14:32:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ * ace/OS_NS_Thread.inl:
+ Refactored VxWorks version checks to new macros
+
+Fri Mar 27 13:24:58 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * bin/MakeProjectCreator/config/ace_athena3d.mpb:
+ * tests/XtAthenaReactor_Test.cpp:
+ * tests/tests.mpc:
+ Added support for Athena-3D widgets.
+
+Fri Mar 27 11:19:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Improved error handling
+
+Thu Mar 26 17:10:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Changed waiting for the prompt, VxWorks 6.7 telnet server seems to
+ have slight different timing behaviour
+
+Thu Mar 26 12:48:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added support for ACE_RUN_VX_TGT_STARTUP_SCRIPT. This is a script
+ on the host system that is loaded and then executed on the target
+
+Thu Mar 26 09:21:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Added explicit provides for mpc
+
+Thu Mar 26 09:02:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.inl (condattr_destroy, condattr_init):
+ Simplified these methods
+
+Wed Mar 25 19:27:45 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/OS_NS_Thread.inl:
+ Address the possibility that both PTHREADS and STHREADS are
+ available, which is the case on Solaris 5.5 and newer. The
+ header prefers PTHREAD definitions to STHREAD, so now this code
+ does the same.
+
+Wed Mar 25 19:09:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_limits.h:
+ * Kokyu/DSRT_Dispatcher_Impl_T.h:
+ Fixed VxWorks 6.7 compile problems
+
+ * Kokyu/Kokyu.cpp:
+ Initialise pointers with 0
+
+Wed Mar 25 13:04:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.7.h:
+ isascii still gives a problem with VxWorks 6.7.
+
+Wed Mar 25 09:15:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks.GNU:
+ Added support for VxWorks 6.7
+
+Tue Mar 24 15:16:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ When the user defines ACE_HAS_WTHREADS_CONDITION_VARIABLE we don't
+ define ACE_LACKS_COND_T
+
+ * ace/OS_NS_Thread.cpp:
+ * ace/OS_NS_Thread.h:
+ * ace/OS_NS_Thread.inl:
+ Windows Vista/Server 2008 and newer do have native support for
+ condition variables. Added a compilation time flag
+ ACE_HAS_WTHREADS_CONDITION_VARIABLE, when this is defined ACE will
+ use the native Windows condition api's. Did some unrelated const,
+ performance, and code improvements.
+
+ * ace/OS_NS_stdio.cpp (checkUnicodeFormat):
+ Slightly change the check for the return value
+
+Tue Mar 24 15:16:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Timer_Heap_T.cpp:
+ * ace/Timer_Queue_Adapters.cpp:
+ Const changes
+
+Tue Mar 24 13:43:14 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Sig_Handlers_Test.cpp: Added a new test to ensure that the
+ ACE_Sig_Handlers class is working properly.
+
+Tue Mar 24 11:45:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3532_Regression_Test.cpp:
+ Use ACE_TEXT
+
+Tue Mar 24 11:38:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.cpp (checkUnicodeFormat):
+ Fixed a bug that the file pointer wasn't set to the start of the
+ file when the file is just 1 byte large. This fixes bugzilla
+ 3532, thanks to Martin Gaus <gaus at gmx dot de> for reporting
+ this.
+
+Mon Mar 23 23:11:49 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Sig_Handler.cpp: Fixed a silly bug in the use of
+ ACE_Fixed_Set_Iterator that was causing every other signal in
+ ACE_Sig_Handlers to be skipped. Thanks to Andreas Drescher <ace
+ at anticat dot ch> for reporting this bug.
+
+Sun Mar 22 19:21:06 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Acceptor.cpp (accept_svc_handler): Zapped the 'const' before
+ the 'bool'.
+
+Fri Mar 20 13:40:47 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Acceptor.cpp (accept_svc_handler): Added a check for a NULL
+ reactor to avoid a race condition. Thanks to JD Robertson
+ <JD.Robertson at ni dot com> for reporting this.
+
+Sun Mar 22 06:46:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ For ACE_BEGINTHREADEX with WinCE only pas supported flags
+
+Fri Mar 20 16:15:15 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * THANKS:
+
+ Updated email address for Max Khon.
+
+Fri Mar 20 08:07:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.{h,inl}:
+ Use correct type for pid and WinCE change
+
+Thu Mar 19 16:07:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ * bin/MakeProjectCreator/config/svc_conf_files.mpb:
+ Add all .conf and .conf.xml files to a Svc Conf Files group
+ and use it for all ace/tao projects. That way any service
+ config file is part of the generated visual studio solution
+ which makes it easier to edit these files
+
+Thu Mar 19 12:42:07 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/OS_NS_unistd.inl:
+
+ Further clean up to maintain style consistency in new dup()
+ impl.
+
+Thu Mar 19 11:57:46 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/OS_NS_unistd.inl:
+
+ Clean up compile errors.
+
+Wed Mar 18 14:48:23 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_unistd.{h,inl}: Added a new ACE_OS::dup() method with
+ one more parameter as process id of target process
+ [ACE_OS:dup(ACE_HANDLE handle, int pid)], so that handle
+ duplicated by dup() can be used in target process. Thanks to
+ kashif khan <kashif_khan198227 at yahoo dot com> for
+ contributing this.
+
+Wed Mar 18 14:28:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/RMCast/Acknowledge.cpp:
+ * protocols/ace/RMCast/Protocol.h:
+ Initialise pointers with 0
+
+Wed Mar 18 11:23:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Added some support for Cygwin 1.7
+
+Wed Mar 18 09:17:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ For ACE_BEGINTHREADEX with WinCE, just past all flags to CreateThread,
+ that way the user can also specify STACK_SIZE_PARAM_IS_A_RESERVATION
+ as flag
+
+Tue Mar 17 09:10:00 UTC 2009 Simon Massey <sma at prismtech dot com>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ Correct Fri Mar 13 08:16:54 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+ so that CIAO_ROOT and TAO_ROOT are actually set.
+
+Mon Mar 16 20:04:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Let gnuplot figure our the yrange high
+
+Mon Mar 16 19:46:53 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * THANKS
+ Added MarcusM for fixing Bugzilla 3618.
+
+Mon Mar 16 19:35:53 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/Service_Gestalt.cpp:
+ Applied patch attached to Bugzilla 3618.
+ Fixed Bugzilla 3618.
+
+Mon Mar 16 18:42:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/analyticsTracking.php:
+ * docs/Download.html:
+ Added tracking
+
+Mon Mar 16 13:01:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Asynch_IO.h:
+ * ace/Based_Pointer_Repository.h:
+ Added private copy constructor/assignment operator to prevent
+ making a copy which leads to a double delete
+
+Mon Mar 16 12:29:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.cpp:
+ * ace/System_Time.cpp:
+ Initialise pointers with 0
+
+ * ace/MEM_Acceptor.h:
+ Doxygen fix
+
+ * ace/Monitor_Control_Types.cpp (operator=):
+ Check for self assignment
+
+ * ace/Name_Space.cpp:
+ * ace/Name_Space.h:
+ Let operator= return a value
+
+ * ace/SOCK.h:
+ Layout change
+
+ * ace/UUID.cpp:
+ Simplified operator=
+
+Sun Mar 15 18:44:22 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Removed workarounds for TAO_IDL lib version numbers
+
+Sat Mar 14 22:05:15 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Updated for LynxOS 5.0
+
+Fri Mar 13 19:21:54 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Removed checks for OS version, we now use the gcc version
+
+Fri Mar 13 08:16:54 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ Check also the lst files in the TAO_ROOT/bin and CIAO_ROOT/bin
+ directory.
+
+ * ace/MEM_Connector.h
+ * ace/SOCK_Connector.h
+ * ace/SOCK_SEQPACK_Connector.h
+ * ace/SSL/SSL_SOCK_Connector.h
+ Fixed typo in comment
+
+Mon Mar 9 13:39:08 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*:
+ Moved all TAO and CIAO files to TAO_ROOT/etc and CIAO_ROOT/etc
+
+ * bin/generate_doxygen.pl:
+ Updated for doxygen file change
+
+Mon Mar 9 07:22:08 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_qt3reactor.mpc:
+ Explicitly list moc file to resolve compile warning on fc6
+
+Mon Mar 9 07:08:08 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_footprint_chart.sh:
+ Changed location of footer
+
+ * bin/MakeProjectCreator/config/global.features:
+ lzo1 is disabled by default
+
+Fri Mar 6 20:28:50 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/Run_Test.pm:
+
+ Added add_lib_path support for Mac OS X (DYLD_LIBRARY_PATH).
+
+Fri Mar 6 09:07:08 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/footprint.shtml:
+ Corrected links
+
+Thu Mar 5 20:18:42 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_linux_common.GNU:
+ Improved support for systems that lack 'lsb_release' command
+ and systems which getconf doesn't support 'GNU_LIBPTHREAD_VERSION'
+ variable.
+
+Thu Mar 5 19:22:08 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_qt3reactor.mpc:
+ * ace/ace_qt4reactor.mpc:
+ Moved moc step to seperate project to get the correct build order
+ with incredibuild
+
+ * ace/Select_Reactor_T.h:
+ * ace/Sig_Handler.h:
+ * ace/WFMO_Reactor.h:
+ Doxygen changes
+
+Wed Mar 4 20:01:11 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_g++_common.GNU:
+ Add -ftemplate-depth-23 to CCFLAGS when compiling with GCC 2.x.
+
+Wed Mar 4 10:04:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * bin/performance_stats.sh:
+ Updated size and scale of the graphs
+
+Wed Mar 4 08:14:35 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Process_Manager_Test.cpp:
+ Added missing ACE_TEXT.
+
+Tue Mar 3 19:59:10 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * apps/JAWS/clients/Blobby/Blob_Handler.cpp:
+ Fixed compile warning.
+
+Tue Mar 3 19:43:42 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Process_Manager_Test.cpp:
+ Fixed gcc's "zero-length format string" warning.
+
+Tue Mar 3 13:32:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ * bin/performance_stats.sh:
+ * html/Stats/performance.shtml:
+ * html/Stats/simple_footprint.shtml:
+ Don't generate thumbnails, just show the original graphs on 320x240
+
+Tue Mar 3 11:13:48 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Fixed cross compilation settings and changed default cross compilation
+ platform to Linux.
+
+Tue Mar 3 10:42:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/compilation.shtml:
+ * html/Stats/footprint.shtml:
+ * html/Stats/navigation.html:
+ * html/Stats/performance.shtml:
+ Updated links to the new results
+
+Tue Mar 3 07:46:45 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Add -lrpc to LIBS if rpc=1.
+
+Tue Mar 3 07:35:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Unbounded_Set_Test.cpp:
+ Also test the is_empty() method
+
+ * tests/Log_Msg_Backend_Test.cpp:
+ Directly assign variable
+
+Tue Mar 3 05:27:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/net/os_if.h:
+ Fixed errors caused by previous commit.
+
+Mon Mar 2 19:58:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ * ace/os_include/net/os_if.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ Removed legacy ACE_HAS_STL_MAP_CONFLICT macro.
+
+Mon Mar 2 14:51:20 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * examples/Misc/test_XtReactor1.cpp:
+ * examples/Misc/test_XtReactor2.cpp:
+ * tests/XtAthenaReactor_Test.cpp:
+ * tests/XtMotifReactor_Test.cpp:
+ Fixed compile warning and run-time crash on 64-bit systems.
+
+Mon Mar 2 11:44:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Auto_IncDec_T.h:
+ * ace/OS_Memory.h:
+ * ace/OS_NS_Thread.h:
+ Doxygen fixes
+
+Mon Mar 2 10:35:41 UTC 2009 Vladimir Zykov <vz@prismtech.com>
+
+ * apps/gperf/src/Key_List.cpp:
+
+ Fixed memory leaks in gperf code.
+
+Mon Mar 2 07:53:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Added some more links
+
+Mon Mar 2 07:37:59 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * performance-tests/RPC/client.cpp:
+ Fixed compile error on LynxOS 4.2
+
+Sun Mar 1 20:35:34 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-sunos5.5.h:
+ Removed ACE_HAS_STL_MAP_CONFLICT.
+
+Sun Mar 1 20:20:16 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/netinet/os_in.h:
+ * ace/os_include/os_netdb.h:
+ * ace/os_include/os_stropts.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ Removed legacy ACE_HAS_STL_QUEUE_CONFLICT macro.
+
+Sun Mar 1 18:45:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_footprint_chart.sh
+ * bin/generate_performance_chart.sh
+ * bin/generate_topinfo_charts.sh
+ * bin/performance_stats.sh
+ Rotate xlabel to make them more readable
+
+Sun Mar 1 07:36:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_performance_chart.sh:
+ * bin/performance_stats.sh:
+ * html/Stats/configuration.shtml:
+ * html/Stats/footprint.shtml:
+ Extended these files to that we can use them on emulab
+
+Fri Feb 27 12:31:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Generate a link to the raw data file
+
+Fri Feb 27 10:09:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ If the object size is smaller then 1Kb, generate the graph in
+ bytes
+
+Fri Feb 27 10:09:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Changed gnuplot generation
+
+Fri Feb 27 09:50:47 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/ace_qt3reactor.mpc:
+ * ace/ace_qt4reactor.mpc:
+ Preventing QtReactor_moc.cpp to be included twice
+
+Fri Feb 27 08:21:47 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/FlReactor/FlReactor.cpp:
+ * ace/FoxReactor/FoxReactor.cpp:
+ * tests/FlReactor_Test.cpp:
+ Fixed includes.
+
+Fri Feb 27 07:52:36 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * performance-tests/RPC/client.cpp:
+ Added #include "ace/Throughput_Stats.h" to fix compile errors.
+
+Fri Feb 27 07:08:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Corrected sorting order
+
+Thu Feb 26 12:26:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Addr.cpp:
+ Layout change
+
+ * ace/Event_Handler.h:
+ * ace/Free_List.h:
+ * ace/Logging_Strategy.h:
+ * ace/Process_Manager.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_T.h:
+ * ace/SSL/SSL_SOCK_Acceptor.inl:
+ * ace/Timer_Heap_T.h:
+ * ace/Timer_Wheel_T.h:
+ Doxygen change
+
+ * ace/Service_Config.cpp:
+ * ace/Service_Gestalt.cpp:
+ * ace/Service_Gestalt.h:
+ Changed the default value of the logger_key argument
+ to open to 0. That way we can easier check if the user
+ has overridden the default. Also check the logger_key
+ in Service_Gestalt, so that it can be set through TAO.
+ This fixes bugzilla 3597
+
+Thu Feb 26 10:45:58 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_linux_common.GNU:
+ Fixed TCL/TK flags for Ubuntu.
+
+Thu Feb 26 09:24:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Don't generate the LAST file anymore, it only takes disk space
+ and is not used
+
+Thu Feb 26 08:39:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*:
+ Improved these files
+
+Thu Feb 26 08:02:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Don't use the .metrics directory, on emulab we always get a fresh
+ system. Just use the DEST directory directly
+
+Mon Feb 23 19:34:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Use mkdir -p
+
+Mon Feb 23 19:25:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_socket.h:
+ Doxygen changes
+
+Mon Feb 23 13:11:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-vxworks6.3.h:
+ Removed, these VxWorks versions aren't maintained anymore
+
+ * ace/config-vxworks.h:
+ Updated
+
+Mon Feb 23 08:16:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features
+ Layout changes
+
+ * bin/PerlACE/ProcessVX_Unix.pm
+ Improved quote handling
+
+ * debianbuild/dsc:
+ New file
+
+ * ace/Activation_Queue.cpp
+ * ace/ATM_Addr.cpp
+ * ace/ATM_Connector.inl
+ * ace/Configuration_Import_Export.cpp
+ * ace/Dynamic_Message_Strategy.cpp
+ * ace/Future.cpp
+ * ace/Message_Queue_T.cpp
+ * ace/Naming_Context.cpp
+ * ace/POSIX_Asynch_IO.cpp
+ * ace/QoS/QoS_Session_Impl.cpp
+ * ace/Timer_Heap_T.cpp
+ * ace/Timer_Wheel_T.cpp
+ * ace/TP_Reactor.cpp
+ * ace/WIN32_Asynch_IO.cpp
+ * ACEXML/examples/SAXPrint/main.cpp
+ * apps/gperf/src/Options.cpp
+ * apps/JAWS/server/HTTP_Handler.cpp
+ * apps/mkcsregdb/mkcsregdb.cpp
+ * ASNMP/examples/get/get.cpp
+ * ASNMP/examples/get/get_async.cpp
+ * ASNMP/examples/next/next.cpp
+ * ASNMP/examples/set/set.cpp
+ * ASNMP/examples/trap/trap.cpp
+ * ASNMP/examples/walk/walk.cpp
+ * examples/APG/Containers/DLList.cpp
+ * examples/APG/Containers/Hash_Map.cpp
+ * examples/APG/Containers/Hash_Map_Hash.cpp
+ * examples/APG/Containers/Map_Manager.cpp
+ * examples/APG/Containers/Map_Manager_Specialization.cpp
+ * examples/APG/Containers/RB_Tree.cpp
+ * examples/APG/Containers/RB_Tree_Functors.cpp
+ * examples/APG/ThreadManagement/Coop_Cancel.cpp
+ * examples/APG/ThreadManagement/ExitHandler.cpp
+ * examples/APG/ThreadManagement/Pool.cpp
+ * examples/APG/ThreadManagement/Signals2.cpp
+ * examples/APG/ThreadManagement/Start_Hook.cpp
+ * examples/APG/ThreadSafety/Atomic_Op.cpp
+ * examples/APG/ThreadSafety/TSS.cpp
+ * examples/APG/Timers/Task.cpp
+ * examples/ASX/Event_Server/Event_Server/Options.cpp
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp
+ * examples/ASX/UPIPE_Event_Server/Options.cpp
+ * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp
+ * examples/Connection/misc/Connection_Handler.cpp
+ * examples/IPC_SAP/ATM_SAP/CPP-client.cpp
+ * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
+ * examples/IPC_SAP/SSL_SAP/SSL-server.cpp
+ * examples/QOS/Change_Receiver_FlowSpec/receiver.cpp
+ * examples/QOS/Change_Receiver_FlowSpec/sender.cpp
+ * examples/QOS/Change_Sender_TSpec/receiver.cpp
+ * examples/QOS/Change_Sender_TSpec/sender.cpp
+ * examples/QOS/Simple/receiver.cpp
+ * examples/QOS/Simple/sender.cpp
+ * examples/Reactor/Proactor/post_completions.cpp
+ * examples/Reactor/Proactor/test_aiosig.cpp
+ * examples/Reactor/Proactor/test_aiosig_ace.cpp
+ * examples/Reactor/Proactor/test_end_event_loop.cpp
+ * examples/Threads/auto_event.cpp
+ * examples/Threads/manual_event.cpp
+ * examples/Timer_Queue/Async_Timer_Queue_Test.cpp
+ * Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp
+ * Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp
+ * Kokyu/tests/DSRT_MIF/MIF.cpp
+ * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
+ * netsvcs/lib/Name_Handler.cpp
+ * NEWS
+ * performance-tests/SCTP/Options_Manager.cpp
+ * performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp
+ * performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp
+ * performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp
+ * performance-tests/TCP/tcp_test.cpp
+ * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
+ * performance-tests/UDP/udp_test.cpp
+ * protocols/tests/HTBP/Reactor_Tests/server.cpp
+ * protocols/tests/HTBP/Send_Large_Msg/server.cpp
+ * protocols/tests/HTBP/Send_Recv_Tests/client.cpp
+ * protocols/tests/HTBP/Send_Recv_Tests/server.cpp
+ * tests/Cache_Map_Manager_Test.cpp
+ * tests/CDR_Array_Test.cpp
+ * tests/CDR_Test.cpp
+ * tests/DLList_Test.cpp
+ * tests/Get_Opt_Test.cpp
+ * tests/Hash_Map_Manager_Test.cpp
+ * tests/Hash_Multi_Map_Manager_Test.cpp
+ * tests/IOStream_Test.cpp
+ * tests/Logging_Strategy_Test.cpp
+ * tests/Max_Default_Port_Test.cpp
+ * tests/Max_Default_Port_Test_IPV6.cpp
+ * tests/Message_Queue_Notifications_Test.cpp
+ * tests/MT_Reference_Counted_Event_Handler_Test.cpp
+ * tests/Multicast_Test.cpp
+ * tests/Multicast_Test_IPV6.cpp
+ * tests/Naming_Test.cpp
+ * tests/Network_Adapters_Test.cpp
+ * tests/Pipe_Test.cpp
+ * tests/QtReactor_Test.cpp
+ * tests/Reactor_Notification_Queue_Test.cpp
+ * tests/Reactor_Remove_Resume_Test.cpp
+ * tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
+ * tests/Reactors_Test.cpp
+ * tests/Signal_Test.cpp
+ * tests/SOCK_Netlink_Test.cpp
+ * tests/SOCK_SEQPACK_SCTP_Test.cpp
+ * tests/SString_Test.cpp
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp
+ * tests/Upgradable_RW_Test.cpp
+ Zapped empty spaces at the end of a line
+
+Fri Feb 20 13:50:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-mingw.h:
+ Support MinGW 3.15
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ Improvement for cross compilation
+
+ Thanks to Jani Hakala <jahakala at iki dot fi> for delivering some
+ patches
+
+ * ace/config-vxworks6.7.h:
+ Improved support
+
+Fri Feb 20 09:54:33 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * ace/config-win32-common.h:
+ * tests/Process_Manager_Test.cpp:
+ Added define ACE_HAS_WIN32_PRIORITY_CLASS. On win32
+ platforms where process priority classes exists,
+ one can use this define.
+
+Fri Feb 20 09:28:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg_IPC.h:
+ Added include of Default_Constants.h
+
+Fri Feb 20 07:29:18 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Based_Pointer_Test_Lib.cpp:
+ Reverted the last changes made by Johnny
+ (ace/svc_export.h is back again).
+
+ * tests/Based_Pointer_Test_Lib_Export.h:
+ Removed from repository (ace/svc_export.h is back again).
+
+Fri Feb 20 07:29:18 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Added ACE_LACKS_LOG2 and ACE_LACKS_ISCTYPE.
+
+Thu Feb 19 20:27:33 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Removed ACE_HAS_SIG_MACROS.
+
+Thu Feb 19 17:38:33 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Process_Manager_Test.cpp:
+ Expanded test with process priority on Windows platforms.
+
+Thu Feb 19 14:01:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ * ace/Log_Msg_IPC.cpp:
+ * ace/Log_Msg_IPC.h:
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Client_Logging_Handler.h:
+ Added new ACE_HAS_STREAM_LOG_MSG_IPC which controls whether the
+ ACE Log_Msg IPC should use streams or not. When ACE_HAS_STREAM_PIPES
+ is defined we default to 1, else to 0. We do see that using stream
+ pipes causes problems on at least Solaris, so the user can decide
+ to set this value explicitly to 0
+
+ * ace/CDR_Stream.cpp:
+ * ace/CDR_Stream.h:
+ * ace/Message_Block.inl:
+ Doxygen and layout changes
+
+ * ace/Message_Block.cpp:
+ Use %@ for pointers
+
+Wed Feb 18 20:51:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/minizip.mpb:
+ Added new base project for minizip
+
+Wed Feb 18 19:36:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-7.h:
+ Layout change
+
+ * ace/config-win32-msvc-8.h:
+ Disable warning 4250, and 4355, we do this for the other
+ msvc versions but not for vc8
+
+Wed Feb 18 19:06:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Client_Logging_Handler.h:
+ Just use ACE_HAS_STREAM_PIPES, there are too much other
+ dependencies on this define
+
+Wed Feb 18 15:34:33 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/tests.mpc:
+ Reverted the last changes made by Johnny
+ (ace/svc_export.h is back again).
+
+Wed Feb 18 12:58:33 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Added ACE_LACKS_ISCTYPE.
+
+Wed Feb 18 10:25:49 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-g++-common.h:
+ Define ACE_LACKS_NUMERIC_LIMITS and ACE_LACKS_ISCTYPE if
+ compiling with GCC 2.x.
+
+ * ace/config-lynxos.h:
+ * ace/config-vxworks5.x.h:
+ Do not define ACE_LACKS_NUMERIC_LIMITS. It is now handled by
+ config-g++-common.h.
+
+Wed Feb 18 09:22:29 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/DLL_Test.h:
+ Revert changes made by Johnny (just use
+ ace/svc_export.h again).
+
+ * tests/DLL_Test_Export.h:
+ Removed since ace/svc_export.h is
+ used again.
+
+Tue Feb 17 23:56:45 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Disabled xerces by default as well.
+
+Tue Feb 17 20:19:06 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/os_stddef.h:
+ Removed unneeded definitions for NULL and offsetof.
+
+Tue Feb 17 18:08:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.h:
+ * netsvcs/lib/Name_Handler.cpp:
+ * netsvcs/lib/Name_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Time_Request_Reply.cpp:
+ * netsvcs/lib/Time_Request_Reply.h:
+ * netsvcs/lib/Token_Handler.cpp:
+ * netsvcs/lib/Token_Handler.h:
+ * netsvcs/lib/TS_Clerk_Handler.cpp:
+ * netsvcs/lib/TS_Clerk_Handler.h:
+ * netsvcs/lib/TS_Server_Handler.cpp:
+ * netsvcs/lib/TS_Server_Handler.h:
+ Revert svc_export.h file, much more dependencies then I expected
+
+Tue Feb 17 17:46:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/Makefile.am:
+ Readded svc_export.h
+
+Tue Feb 17 17:45:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/svc_export.h:
+ Readded this file, removing it breaks a lot of examples which all
+ first have to be updated
+
+Tue Feb 17 14:27:50 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/os_signal.h:
+ Removed some legacy Linux code.
+
+Tue Feb 17 14:20:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test_Lib.cpp:
+ * tests/Based_Pointer_Test_Lib_Export.h:
+ * tests/DLL_Test.h:
+ * tests/DLL_Test_Export.h:
+ * tests/tests.mpc:
+ Added specific export files for these tests
+
+Tue Feb 17 13:13:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ Runtime fix
+
+Tue Feb 17 12:53:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ logger_key_ is only required when using stream_pipes
+
+Tue Feb 17 11:52:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Client_Logging_Handler.h:
+ Added new ACE_NETSVCS_CLIENT_LOGGING_HANDLER_USES_STREAM_PIPES which
+ can be explicitly set to 0 to just use sockets
+
+Tue Feb 17 10:57:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * ace/Makefile.am:
+ * ace/svc_export.h:
+ * netsvcs/lib/svc_export.h:
+ * netsvcs/lib/Makefile.am
+ Moved svc_export to the netsvcs lib directory, it belongs there
+
+ * ace/CDR_Stream.cpp:
+ Layout change
+
+ * ace/Lock_Adapter_T.h:
+ * ace/Message_Block.cpp:
+ * ace/Message_Block.h:
+ * ace/Reverse_Lock_T.h:
+ Doxygen change
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ Make sure we receive the expected length
+
+ * netsvcs/lib/lib.mpc:
+ Set the correct export define
+
+ * netsvcs/lib/Client_Logging_Handler.h:
+ * netsvcs/lib/Name_Handler.cpp:
+ * netsvcs/lib/Name_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Time_Request_Reply.cpp:
+ * netsvcs/lib/Time_Request_Reply.h:
+ * netsvcs/lib/Token_Handler.cpp:
+ * netsvcs/lib/Token_Handler.h:
+ * netsvcs/lib/TS_Clerk_Handler.cpp:
+ * netsvcs/lib/TS_Clerk_Handler.h:
+ * netsvcs/lib/TS_Server_Handler.cpp:
+ * netsvcs/lib/TS_Server_Handler.h:
+ Updated include of svc_export and no need to set the
+ build define
+
+Mon Feb 16 18:58:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Stream.h:
+ * ace/FIFO_Recv_Msg.h:
+ * ace/FIFO_Send_Msg.h:
+ * ace/SPIPE_Stream.h:
+ Doxygen changes
+
+Mon Feb 16 17:09:40 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Disabled ofccm by default.
+
+Mon Feb 16 13:30:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Array_Base.h:
+ * ace/Local_Tokens.h:
+ * ace/SPIPE_Stream.h:
+ * ace/Stream.h:
+ * ace/Unbounded_Set_Ex.h:
+ * ace/Vector_T.h
+ Doyxgen change
+
+ * ace/Hash_Map_Manager_T.cpp:
+ Use prefix increment
+
+ * ace/Hash_Map_Manager_T.h:
+ * ace/Hash_Map_Manager_T.inl:
+ Removed cur_size method, current_size does the same and is
+ public
+
+ * ace/Log_Msg.cpp:
+ Layout change
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ If we don't receive the exact number of bytes with spipe stream
+ see that as error
+
+Mon Feb 16 10:57:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg_IPC.cpp:
+ Check all stream insertion return values
+
+Sat Feb 14 14:53:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.cpp:
+ Print null if we get a nill string for a %p format specifier instead
+ of causing a crash. This fixes bugzilla 3571
+
+ * tests/Log_Msg_Test.cpp:
+ Extended this test.
+
+Fri Feb 13 13:30:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Dev_Poll_Reactor.cpp
+ * ace/Log_Msg.cpp
+ * ace/MEM_Acceptor.cpp
+ * ace/MMAP_Memory_Pool.cpp
+ * ace/POSIX_Asynch_IO.cpp
+ * ace/POSIX_CB_Proactor.cpp
+ * ace/POSIX_Proactor.cpp
+ * ace/Registry_Name_Space.cpp
+ * ace/Remote_Tokens.cpp
+ * ace/Service_Config.cpp
+ * ace/Service_Gestalt.cpp
+ * ace/Shared_Memory_Pool.cpp
+ * ace/SOCK_Dgram_Bcast.cpp
+ * ace/SUN_Proactor.cpp
+ * ace/TLI.cpp
+ Use ACE_TEXT() with %p in ACE_DEBUG/ACE_ERROR. The log string
+ passed to ACE_DEBUG/ACE_ERROR is converted automatically to
+ unicode in an unicode build. The %p expects an unicode string,
+ if a plain ascii string is passed in, this is just handled as
+ unicode string and could lead to a crash because then we are
+ just reading random memory
+
+Fri Feb 13 12:18:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ Log a message when insert/extract fails
+
+Fri Feb 13 11:12:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ When demarshaling fails return 0 instead of -1. That keeps the
+ event handler registered with the reactor for the next log
+ message.
+
+Thu Feb 12 07:33:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ * ace/os_include/sys/os_types.h:
+ Added ACE_LACKS_MODE_T, ACE_LACKS_CADDR_T, ACE_LACKS_NLINK_T,
+ ACE_LACKS_UID_T, and ACE_LACKS_GID_T as new defines. This makes
+ it possible for an enduser to disable the typedefs by undefining
+ these defines. Thanks to Bill Rizzi <rizzi at softserv dot com>
+ for pointing this out
+
+Wed Feb 11 22:26:26 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/LSOCK_CODgram.h: Improved the comments and usage scenario.
+
+Wed Feb 11 16:20:19 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Removed xerces from this file, as its no longer a feature.
+ Thanks to Adam Mitz for pointing this out.
+
+Wed Feb 11 06:59:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc.h:
+ Disable msc_ver check in this file
+
+Wed Feb 11 06:52:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Fixed Red Hat detection
+
+Tue Feb 10 20:38:27 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Made xerces2 and xerces3 disabled by default.
+
+Tue Feb 10 20:16:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_ctype.inl:
+ * ace/Process_Manager.cpp:
+ * ace/WFMO_Reactor.cpp:
+ Updated old msvc ver checks to fix fuzz errors
+
+Tue Feb 10 18:27:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Server_Logging_Handler_T.h:
+ Doxygen change
+
+Tue Feb 10 18:26:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Changed how we detect broken GCC versions, not check on the platform
+ but check on the gcc version (RedHat 4.1.1 or 4.1.2)
+
+Tue Feb 10 18:25:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-ciao.spec:
+ Updated for the next release
+
+Tue Feb 10 18:23:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ Extended bczar release instructions
+
+ * bin/fuzz.pl:
+ Extended msvc_ver check
+
+ * debianbuild/control:
+ Updated for the next release
+
+Tue Feb 10 18:20:28 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-pharlap.h:
+ Define ACE_HAS_WINSOCK1 to 1
+
+ * ace/config-vxworks.h:
+ Added support for VxWorks 6.7
+
+ * ace/config-win32-borland.h:
+ Removed support for C++Builder 2007
+
+ * ace/os_include/sys/os_types.h:
+ * ace/OS_NS_arpa_inet.cpp:
+ * ace/OS_NS_unistd.inl:
+ Fixes for VxWorks 6.7
+
+Tue Feb 10 05:39:28 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+ revision bump.
+
+Tue Feb 10 05:08:24 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * docs/Download.html:
+ * etc/index.html:
+ * bin/diff-builds-and-group-fixed-tests-only.sh
+ Update latest micro version links and date.
+
+ * ChangeLogs/ChangeLog-09a:
+ Added this file.
+
+Mon Feb 09 12:01:28 CST 2009 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ACE version 5.6.8 released.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/ChangeLogs/ChangeLog-2010a b/ChangeLogs/ChangeLog-2010a
new file mode 100644
index 00000000000..7200682d343
--- /dev/null
+++ b/ChangeLogs/ChangeLog-2010a
@@ -0,0 +1,2589 @@
+Wed Mar 03 01:18:08 CST 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.7 released.
+
+Mon Mar 1 12:27:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * bin/PerlACE/Process_Unix.pm:
+
+ Fixed 'ps' determination problems.
+
+Fri Feb 26 19:32:06 UTC 2010 Adam Mitz <mitza@ociweb.com>
+
+ * ace/config-sunos5.5.h:
+
+ Moved #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL to a
+ non-compiler-specific section.
+
+ * ace/config-sunos5.10.h:
+
+ Added #undef ACE_LACKS_CEILL & ACE_LACKS_FLOORL because they are
+ available on Solaris 10.
+
+Fri Feb 26 18:30:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_time.inl:
+ Changed ACE_HAS_CLOCK_REALTIME to ACE_HAS_CLOCK_GETTIME_REALTIME
+
+Fri Feb 26 16:00:04 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * Fixed double-declaration of ACE_LACKS_CEILL and ACE_LACKS_FLOORL in:
+ Thu Feb 25 21:42:13 UTC 2010 Steve Huston <shuston@riverace.com>
+
+Fri Feb 26 15:36:12 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * tests/Bug_2609_Regression_Test.cpp: Fix unused arg warning and
+ adjust for hosts without IPv6.
+
+Fri Feb 26 14:48:01 UTC 2010 Chris Cleeland <cleeland@ociweb.com>
+
+ * tests/Timer_Queue_Test.cpp (handle_timeout): Fix unused argument
+ warning.
+
+Fri Feb 26 14:45:30 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_sys_time.inl (ACE_OS::gettimeofday): Added in support
+ for clock_gettime() if a user sets ACE_HAS_CLOCK_REALTIME in
+ their config.h file. Thanks to Patrick Soboljew <patrick dot
+ soboljew at gmail dot com> for this suggestion.
+
+Thu Feb 25 21:42:13 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * configure.ac: Use AC_CHECK_DECL rather than ACE_CHECK_LACKS_FUNCS
+ for ceill() and floorl(). On Solaris 9 the symbols show up in
+ some library (possibly as a stub) but aren't available; this
+ fools ACE_CHECK_LACKS_FUNC. There's probably a better way to
+ integrate this into ACE_CHECKS_LACKS_FUNCS but I don't know how.
+
+Thu Feb 25 22:07:25 UTC 2010 Chris Cleeland <cleeland@ociweb.com>
+
+ * tests/Timer_Queue_Test.cpp (test_interval_timer):
+
+ Added new function to test interval timing functionality in
+ preparation for merging in a fix for bug 3104. Note that while
+ bug 3104 focuses on performance issues, this test doesn't
+ specifically test performance, but rather tests that the
+ interval timer feature works properly so that we know that
+ any performance-related changes made in fixing bug 3104 don't
+ cause a regression.
+
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.cpp:
+
+ Integrate code proposed to fix bug 3104, but factored out into
+ a new method, recompute_next_abs_interval_time, so that the
+ more efficient computation can be re-used in Timer_Hash and
+ Timer_Wheel.
+
+ * ace/Timer_Queue_T.cpp (dispatch_info_i):
+
+ Change to use recompute_next_abs_interval_time.
+
+ * ace/Timer_Hash_T.cpp (expire):
+ * ace/Timer_Wheel_T.cpp (expire):
+
+ Change to use recompute_next_abs_interval_time.
+
+Thu Feb 25 20:33:27 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * tests/Bug_2609_Regression_Test.cpp: Correct to use documented ACE
+ conventions for event handler reference counting. Should resolve
+ concerns around Bugzilla 2609.
+
+Thu Feb 25 19:11:07 UTC 2010 Steven Stallion <stallions@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ * include/makeinclude/wrapper_macros.GNU:
+ Refined use of CPPFLAGS; -library will now only be applied to CC
+ invocations.
+
+Thu Feb 25 16:52:20 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * ace/Strategies_T.cpp:
+ * ace/Connector.cpp:
+ * ace/Svc_Handler.cpp:
+ * tests/run_test.lst:
+ * tests/Bug_2609_Regression_Test.cpp:
+ * tests/NonBlocking_Conn_Test.h:
+ * tests/Bug_2610_Regression_Test.cpp:
+ * tests/Process_Strategy_Test.cpp:
+ * tests/NonBlocking_Conn_Test.cpp:
+ Reverted all the changes done in attempt to fix non-blocking
+ connect test and tests for 2609/2610.
+
+Thu Feb 25 08:10:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-opensd.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Thu Feb 25 08:10:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-netbsd.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Thu Feb 25 07:51:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Thu Feb 25 07:38:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/svcconf.mpb:
+ * ace/svcconfgen.mpc:
+ Moved regeneration support to its own file that is disabled by
+ defeault. Thanks to Joseph Sarbak <Joseph dot Sarbak at rbccm dot com>
+ for reporting this.
+
+ * bin/MakeProjectCreator/config/global.features:
+ Set ace_svcconf_gen to 0, when this is set to 1 we enable svcconf
+ regeneration
+
+Wed Feb 24 22:07:30 UTC 2010 Steven Stallion <stallions@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ Added support for alternate CC libraries.
+
+Wed Feb 24 15:15:00 UTC 2010 Simon Massey <sma at prismtech dot com>
+
+ * ace/config-lynxos.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+ Correct placement of these defines for the version of Lynxos
+
+Wed Feb 24 11:41:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_g++_common.GNU:
+ Added support for no_strict_aliasing, when this is set, we add
+ -fno-strict-aliasing to the compiler flags
+
+Wed Feb 24 08:45:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ 2434 should run now
+
+Wed Feb 24 08:41:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-11.00.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Wed Feb 24 08:01:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/NonBlocking_Conn_Test.cpp:
+ Unicode fixes
+
+ * tests/Atomic_Op_Test.cpp:
+ Calculate how long each test takes and print this to the log
+
+Wed Feb 24 02:48:37 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/config-sunos5.5.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Tue Feb 23 19:45:39 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/OS_Test.cpp: Added tests for floorl() and ceill(). Thanks
+ to Olivier Langlois <olivier at olivierlanglois dot net> for
+ this fix.
+
+Tue Feb 23 19:43:36 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * configure.ac: Added a check for ACE_CHECK_LACKS_FUNCS(floor ceil
+ floorl ceill). Thanks to Olivier Langlois <olivier at
+ olivierlanglois dot net> for this fix.
+
+Tue Feb 23 15:15:00 UTC 2010 Simon Massey <sma at prismtech dot com>
+
+ * ace/config-lynxos.h:
+ #define ACE_LACKS_CEILL & ACE_LACKS_FLOORL
+
+Tue Feb 23 08:59:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.4.h:
+ VxWorks lacks floorl and ceill
+
+Mon Feb 22 20:01:54 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Time_Value.{h,cpp}: Applied some patches from Olivier Langlois
+ <olivier at olivierlanglois dot net> to fix some warnings.
+
+Mon Feb 22 19:57:02 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Thread_Mutex.inl (ACE_Thread_Mutex::lock): Added a non-const
+ lock() method. Thanks to Phil for suggesting this.
+
+Mon Feb 22 18:08:20 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Condition_Recursive_Thread_Mutex.cpp (ACE_Condition): Fixed
+ a stray occurrence of the mutex() accessor that should be
+ lock(). Thanks to Phil Mesnier for reporting this.
+
+Mon Feb 22 15:00:11 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Time_Value.{h,cpp}: Reformatted/renamed the code to conform
+ to ACE programming guidelines.
+
+Mon Feb 22 13:40:14 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Condition_T.cpp: Changed the mutex() accessor to lock() to
+ be consistent.
+
+Mon Feb 22 13:39:09 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Recursive_Thread_Mutex.{h,inl}: Created a new lock() accessor
+ so it's consistent with the other synchronizer accessors in ACE.
+
+Sun Feb 21 21:25:21 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Time_Value_Test.cpp: Added a test for the new operator<<
+ implementation for ACE_Time_Value. Thanks to Olivier Langlois
+ <olivier at olivierlanglois dot net> for contributing this.
+
+Sun Feb 21 21:28:03 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_math.{h,inl}: Added support for floor() and ceiling()
+ for long double types. Thanks to Olivier Langlois <olivier at
+ olivierlanglois dot net> for contributing this.
+
+ * ace/Time_Value.{h,cpp}: Added support for operator<< and to
+ handle long double values better. Thanks to Olivier Langlois
+ <olivier at olivierlanglois dot net> for contributing this.
+ This fixes bugid 3818 and 2434.
+
+Sun Feb 21 16:28:47 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/Recursive_Condition_Test.cpp: Revised this test so that it
+ actually uses the ACE_Condition<> template, like it says in the
+ comments..
+
+Sun Feb 21 16:20:35 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Condition_T.cpp (ACE_Condition<MUTEX>::wait): Changed the
+ call to mutex_.lock_ to mutex_.mutex() since lock_ is protected.
+ Thanks to Nick Meyer <nick dot meyer at sensis dot com> for
+ reporting this.
+
+Sun Feb 21 09:24:38 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ChangeLogs/*:
+ Use full year
+
+Sat Feb 20 20:26:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ Also set dds4ccm_splie to 0 by default
+
+Fri Feb 19 19:34:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ Set dds4ccm_opendds and dds4ccm_ndds to 0 by default. When
+ generating project files for dds4ccm we now have to enable
+ which dds implementation we want to use
+
+Wed Feb 17 10:02:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Added link for MPC440 Xampler results
+
+Tue Feb 16 09:51:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_freebsd.GNU:
+ * include/makeinclude/platform_linux_common.GNU:
+ Set fox flags
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ enabled no_hidden_visibility
+
+Mon Feb 15 19:28:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao.spec:
+ Package nslist and catior readme files
+
+Mon Feb 15 12:10:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/rules:
+ Removed some not needed steps
+
+Mon Feb 15 09:56:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ Fixed problem with latest autoconf tools
+
+ * patches/97-fix-empty-elseif.dpatch:
+ Removed, not needed anymore
+
+Mon Feb 15 09:44:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/patches/02-fltk-no-gl.dpatch
+ * debianbuild/patches/12-fix-fox-include.dpatch
+ * debianbuild/patches/13-fix-fox-errors.dpatch
+ * debianbuild/patches/14-autoconf-tao.dpatch
+ * debianbuild/patches/26-autoupdate.diff
+ * debianbuild/patches/35-autoconf-fix-else-fi.dpatch
+ * debianbuild/patches/36-autoconf-fix-fidone.dpatch
+ * debianbuild/patches/93-hack-to-fix-libtoolize.dpatch
+ * debianbuild/patches/98-ignore-win32-acdefun-error.diff
+ * debianbuild/patches/98-ignore-win32-acdefun-error.dpatch
+ Removed, not needed anymore, merged changes to trunk
+
+Mon Feb 15 09:40:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+
+ Added support for cpumodelflag (-mcpu=) and tunemodelflag (-mtune=) flags.
+
+Mon Feb 15 09:38:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace.m4:
+ No need to link ftlk with gl
+
+Mon Feb 15 09:35:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FoxReactor/FoxReactor.h:
+ User has to specify the full fox path now, some distributions now ship fox-1.6 and
+ fox-1.4 as directory names
+
+Mon Feb 15 09:20:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * m4/ace_defines.m4:
+ Fixed fixes with latest releases of tools
+
+ * m4/tao.m4:
+ Added here from TAO to get the distribution to work with the latest
+ versions of autoconf tools
+
+Mon Feb 15 06:49:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ Fixed fixes with latest releases of tools
+
+Sun Feb 14 19:46:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * configure.ac:
+ * m4/ace.m4:
+ Integrated patches from below, created by Pau Garcia i Quiles
+ <pgquiles at elpauer dot org>
+
+ * debianbuild/patches/19-gcc43.dpatch:
+ Removed, not needed anymore
+
+ * debianbuild/patches/94-build-crosscompile.dpatch:
+ * debianbuild/patches/96-build-athena3d.dpatch:
+ Removed, integrated into trunk
+
+Sun Feb 14 07:22:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/*:
+ Imported last version from Pau Garcia i Quiles
+
+Sat Feb 13 15:59:26 UTC 2010 James H. Hill <hillj at cs dot iupui dot edu>
+
+ * ace/Unbounded_Set_Ex.h:
+
+ Added STL iterator type traits support to the ACE_Unbounded_Set*
+ and its corresponding iterators.
+
+Fri Feb 12 19:19:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op.h:
+ * ace/Containers_T.h:
+ Doxygen changes
+
+Fri Feb 12 17:39:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ 2610 is working now
+
+Fri Feb 12 14:05:21 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp: Fix unused variable warning.
+
+Fri Feb 12 10:36:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-g++-common.h:
+ Expanded autodetected support for GCC builtin __sync_XXX
+ atomic op functions to the IA64 platform
+
+Thu Feb 11 22:23:08 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * THANKS:
+
+ Added Trent Nadeau <Trent dot Nadeau at ngc dot com> to the
+ hall of fame.
+
+Thu Feb 11 20:29:06 UTC 2010 Steven Stallion <stallions@ociweb.com>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Disabled wireshark feature by default.
+
+Thu Feb 11 19:52:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * ace/config-g++-common.h:
+
+ Expanded autodetected support for GCC builtin __sync_XXX
+ atomic op functions to all powerpc platforms.
+
+Thu Feb 11 12:18:24 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * ace/Connector.cpp:
+ Added a call to remove_reference() for a svc handler owned by
+ non-blocking connection handler during connector's close().
+
+ * ace/Svc_Handler.cpp:
+ Removed the code that removes a reference to itself. Svc_Handler
+ doesn't own that reference and thus shouldn't remove it.
+
+ * tests/Bug_2609_Regression_Test.cpp:
+ * tests/NonBlocking_Conn_Test.h:
+ * tests/Bug_2610_Regression_Test.cpp:
+ * tests/NonBlocking_Conn_Test.cpp:
+ Fixed the tests that implicitly assumed ownership of a reference
+ to a svc handler and didn't free it at the end of the test.
+
+ * tests/Process_Strategy_Test.cpp:
+ Fixed the test that was broken by my change on
+ 'Mon Feb 8 16:21:06 UTC 2010'. The test incorrectly assumed
+ that close_handle() will not be called for svc handlers in
+ a parent process.
+
+Wed Feb 10 18:39:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * ace/config-g++-common.h:
+
+ Added logic to detect (usable) support for GCC builtin __sync_XXX
+ atomic op functions.
+
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+
+ Changed autodetection for GCC builtin atomic ops so it will
+ only be used when really wanted.
+ Removed include for stdatomic.h because that has nothing to do with
+ the __sync_XXX builtins but rather with a *proposed* atomic op
+ implementation for the C++1x standard. The __sync_XXX builtins are
+ truly intrinsic, i.e. no header files involved.
+
+Wed Feb 10 15:38:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Updated C++ builder support
+
+Wed Feb 10 10:53:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Marked 2610 as not fixed
+
+ * tests/Process_Strategy_Test.cpp:
+ Use prefix increment
+
+Wed Feb 10 10:45:00 UTC 2010 Simon Massey <sma at prismtech dot com>
+
+ * tests/NonBlocking_Conn_Test.h:
+ * tests/NonBlocking_Conn_Test.cpp:
+ Fixed a VC9 compilation error (IGNORE is a vc9 #define).
+
+Tue Feb 9 15:03:35 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tests/NonBlocking_Conn_Test.cpp (hosts): Updated the list of hosts to
+ check to include news.bbc.co.uk.
+
+Tue Feb 9 09:14:48 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * tests/NonBlocking_Conn_Test.h:
+ Fixed a compilation error.
+
+Mon Feb 8 18:53:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Enabled 2609 and 2610 again, let us see how they run with the recent
+ changes from Vladimir
+
+Mon Feb 8 16:21:06 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * ace/Strategies_T.cpp:
+ Changed the code so that close() is called in case of failure
+ instead of destroy().
+
+ * ace/Connector.cpp:
+ Changed a bit the code added by me on 'Wed Sep 2 14:45:27 UTC 2009'
+ as a fix for bug#3731. After some more thinking it turned out that
+ the original code could result in a crash when reference counting is
+ not enabled and thus svc_handler could be destroyed at the time
+ when there was an attempt to do remove_reference().
+
+ * ace/Svc_Handler.cpp:
+ Moved the code added by me on 'Thu Feb 4 11:15:57 UTC 2010'
+ from destroy() to handle_close().
+
+ * tests/NonBlocking_Conn_Test.h:
+ * tests/NonBlocking_Conn_Test.cpp:
+ Extended the test for using Svc_Handler with and without
+ reference counting.
+
+Mon Feb 8 11:35:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ACETAOCIAO.style:
+ Updated with version 1.17 of Profactor Sylemanager
+
+Mon Feb 8 10:33:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * ace/ETCL/ETCL_l.cpp:
+ Fixed new GCC 4.4.x warning about ignoring return values of
+ function marked by the new warn_unused_result attribute.
+
+Sat Feb 6 18:58:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Fixed missing definitions for Icecream support.
+
+Sat Feb 6 15:03:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Added support for Icecream distributed compile system.
+
+Sat Feb 6 12:58:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * tests/Reactor_Performance_Test.cpp:
+ * tests/Reactor_Fairness_Test.cpp:
+ * ASNMP/asnmp/address.cpp:
+ * examples/Reactor/Misc/pingpong.cpp:
+ More fixes for strict-aliasing warnings.
+
+Sat Feb 6 11:28:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * ace/LSOCK.cpp:
+ Fixes for strict-aliasing warnings.
+
+Thu Feb 4 20:29:52 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * tests/Reactor_Fairness_Test.cpp: Don't try ACE_Dev_Poll_Reactor on
+ platforms without that capability; also added ACE_WFMO_Reactor to
+ the test (which triggered a crash shutting down WFMO_Reactor... I'm
+ looking into it).
+
+Thu Feb 4 15:32:24 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * tests/Reactor_Fairness_Test.cpp:
+ * tests/Reactor_Fairness_Test.h:
+ * tests/Makefile.am:
+ * tests/tests.mpc:
+ * tests/run_test.lst: New test to verify reactor fairness across a
+ set of registered I/O sockets. Tests Select, TP, Dev_Poll now.
+ TP fails fairness tests per Bugzilla 1031. Since the TP fairness
+ failure is a known issue, the new test is marked !FIXED_BUGS_ONLY.
+
+ * ace/Dev_Poll_Reactor.cpp:
+ * ace/Dev_Poll_Reactor.h: Two performance improvements to resolve
+ Bugzilla #3714:
+ 1. The notify handler is no longer suspended/resumed around
+ notify processing. This removes the biggest source of CPU
+ consumption introduced at ACE 5.7 - simply acquiring/releasing
+ the token to handle notifies, each of which triggered another
+ token acquire/notify cycle.
+ 2. As I/O handlers are suspended before callback, they are not
+ immediately resumed on callback return. Instead, they are added
+ to a "to be resumed" list that is examined just prior to the
+ next epoll_wait() call; any to-be-resumed handles are added
+ back to the epoll set just before waiting. This removes another
+ need to acquire the token just to resume a handler.
+
+Thu Feb 4 11:15:57 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * ace/Svc_Handler.cpp:
+ Fixed an unconditional delete of Svc_Handler in destroy(). If
+ reference counting is enabled then it has to do remove_reference().
+ This completes the fix for bug#3731.
+
+ * tests/NonBlocking_Conn_Test.cpp:
+ Changed www.pakarmy.gov.pk to www.pakistanarmy.gov.pk. The first
+ URL seems to be dead.
+
+Thu Feb 4 10:53:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * bin/PerlACE/Process_Unix.pm:
+
+ Fixed problems concerning correct retrievel of process list.
+
+Thu Feb 3 09:57:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op.inl:
+ Added support for the GCC Atomic Builtins, if you want to
+ use these, add ACE_HAS_GCC_ATOMIC_BUILTINS defined as 1 in
+ your config file
+
+ * ace/Reactor.cpp:
+ * ace/Select_Reactor_Base.cpp:
+ Layout changes
+
+ * ace/Reactor.h:
+ Doxygen change
+
+Tue Feb 2 19:57:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * bin/PerlACE/TestTarget_WinCE.pm:
+ * bin/PerlACE/Process_Unix.pm:
+ * bin/PerlACE/ProcessLVRT.pm:
+ * bin/PerlACE/TestTarget.pm:
+ * bin/PerlACE/TestTarget_VxWorks.pm:
+ * bin/PerlACE/ProcessVX.pm:
+ * bin/PerlACE/TestTarget_LVRT.pm:
+ * bin/PerlACE/Process_Win32.pm:
+ * bin/PerlACE/Process_VMS.pm:
+
+ Added killall methods to the Process and Target frameworks.
+ Currently only full implementation on Win32 and *nix platforms
+ (empty on others).
+
+Tue Feb 2 19:52:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Updated link to Cell results
+
+Mon Feb 1 23:16:24 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Acceptor.h: Fixed up doxygen for ACE_Oneshot_Acceptor.
+
+Tue Jan 26 03:56:45 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Init_ACE.h: Updated the documentation of ACE::init() and
+ ACE::fini() so it reflects what ACE actually does. Thanks to
+ Steve Huston, Andrew Kaplan <alexande dot kaplan at tafcorp dot
+ com>, and Alexander Mintz <alexande dot mintz at tafcorp dot
+ com> for motivating this update.
+
+Mon Feb 1 17:35:08 UTC 2010 Chris Cleeland <cleeland_c@local>
+
+ * ace/Obstack_T.h:
+ * ace/Obstack_T.inl:
+ * ace/Obstack_T.cpp:
+ * ace/SStringfwd.h:
+ * ace/String_Base.h:
+ * ace/String_Base.inl:
+ * ace/String_Base.cpp:
+ * ace/Tokenizer_T.h:
+ * ace/Tokenizer_T.cpp:
+
+ Integrated changes originally done in OCITAO 1.4a by Steve Totten
+ to fulfill [RT 13868].
+
+ Wed Feb 1 10:40:35 2006 Steve Totten <totten_s@ociweb.com>
+
+ Changed the use of "CHAR" as a template parameter to "ACE_CHAR_T" to
+ avoid possible clash with "CHAR" used as a preprocessor macro.
+ Thanks to Jennifer Kahng <jennifer dot kahng at lmco dot com> for
+ reporting the problem. This change resolves [RT 8287].
+
+Mon Feb 1 11:21:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Connector.cpp:
+ Const change
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * etc/index.html:
+ * docs/Download.html:
+ Updated because of recent release
+
+ * tests/NonBlocking_Conn_Test.cpp:
+ Improved this test so that it really tests the connections
+
+ * tests/tests.mpc:
+ Bug_3709_Regression itselfs checks now for vc71
+
+ * ace/Reactor.h:
+ Doxygen fixes
+
+Sun Jan 31 01:04:43 CST 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.6 released.
+
+Fri Jan 29 14:24:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/bczar/bczar.html:
+ Extended release steps
+
+Thu Jan 28 16:26:28 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ When building for the Simulator, there is no need to
+ set things as a cross-build and set HOST_ROOT environment
+ variable.
+
+Thu Jan 28 15:11:18 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ACE-INSTALL.html:
+
+ Updated with information on how to build ACE for
+ iPhone/iPod Touch/iPad Simulator and Hardware.
+
+Thu Jan 28 12:49:45 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * NEWS:
+
+ ACE/TAO now supports the new iPad ;-).
+
+Thu Jan 28 10:21:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Corrected fix for cross compilation on powerpc64.
+ Now also allows for non-standard named crosscompilers (like ppu-xx)
+ and cross compilation of non-powerpc target on powerpc host.
+
+Thu Jan 28 08:21:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Fix for cross compilation to powerpc64
+
+Wed Jan 27 22:36:36 UTC 2010 Adam Mitz <mitza@ociweb.com>
+
+ * include/makeinclude/platform_win32_msvc.GNU:
+
+ Trim trailing slashes from libpath entries.
+
+ * tests/Bug_3709_Regression_Test.cpp:
+
+ This test doesn't compile on MSVC 7.1.
+
+Wed Jan 27 05:33:56 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-iphone-hardware.h:
+
+ undefined ACE_HAS_SYSV_IPC, it doesn't seem that the
+ iphone-hardware platform supports it.
+
+Tue Jan 26 22:55:18 UTC 2010 Adam Mitz <mitza@ociweb.com>
+
+ * bin/MakeProjectCreator/config/ace_mc.mpb:
+
+ Assign to LDLIBS along with ACE_SHLIBS. ACE_SHLIBS is only used
+ when building a shared library, LDLIBS is used for an executable.
+
+Tue Jan 26 19:53:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Test.cpp:
+ Log some more details to get an insight why this test fails on
+ some systems
+
+Tue Jan 26 18:04:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_rel_manpages:
+ Doxygen is upgraded to 1.6.2
+
+Tue Jan 26 17:02:51 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp (unbind_all): When shutting down, call
+ handle_close() on all registered handlers. Fixes Bugzilla 2750.
+
+Tue Jan 26 13:27:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_common.GNU:
+ tao_idl3_to_idl2 is located in HOST_ROOT/TAO/CIAO/bin with
+ cross compilation
+
+Tue Jan 26 12:52:57 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-leopard.h:
+
+ Added ACE_HAS_NET_IF_DL_H macro.
+
+ * ace/os_include/net/os_if.h:
+
+ Removed hardcoding of ACE_HAS_IPHONE and ACE_HAS_MAC_OSX
+ checks. If the platform defines ACE_HAS_NET_IF_DL_H macro,
+ then <net/if_dl.h> will be included.
+
+Tue Jan 26 04:35:17 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-leopard.h:
+
+ Added ACE_HAS_MAC_OSX macro.
+
+ * ace/OS_NS_netdb.cpp:
+ * ace/os_include/net/os_if.h:
+
+ Enabled ACE_OS::getmacaddress() for Mac OSX as well.
+ It uses exactly the same code as the iPhone's addition below.
+
+Tue Jan 26 04:18:54 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/OS_NS_netdb.cpp:
+
+ Implement ACE_OS::getmacaddress() for iPhone. The same implementation
+ will probably work on Mac OS X as well. I will verify this in the
+ future.
+
+ * ace/os_include/net/os_if.h:
+
+ Added "#include <net/if_dl.h>" to this file if ACE_HAS_IPHONE
+ is defined. The ACE_OS::getmacaddress() depends on this include
+ include file.
+
+Mon Jan 25 18:58:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MEM_IO.cpp
+ Added casts to fix CB2010 warnings
+
+Mon Jan 25 18:49:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SPIPE_Stream.inl:
+ Added casts to fix CB2010 warnings
+
+Mon Jan 25 14:51:09 UTC 2010 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Modified to best handle dependencies with a space or $(...) in
+ them. A GNU make substitute function call is used to escape
+ spaces.
+
+Mon Jan 25 09:24:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+ iPhone lacks rwho
+
+Sat Jan 23 18:48:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2434_Regression_Test.cpp:
+ * tests/Time_Value_Test.cpp:
+ Moved another failing test to the bug_2434 file
+
+Sat Jan 23 13:53:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * tests/Thread_Attrs_Test.cpp:
+
+ Changed test to check only if resulting stack size is
+ *at least* as large as requested.
+ As the Posix docs say that the size set for the threads stack
+ will be the *minimum* size allocated (the actual size may f.i. be
+ bigger because of a) pagesize rounding, b) guardsize addition)
+ this is the best we can do without konowing the exact algorithm
+ used by the pthread implementation.
+ Also see this https://bugzilla.redhat.com/show_bug.cgi?id=435337
+ for more information.
+
+Fri Jan 22 10:38:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * config-linux-common.h:
+
+ Added fix for mismatch of ACE_SIZEOF_LONG_DOUBLE on Linux ppc
+ 32bit platforms (sizeof(long double) = 128 bit).
+
+Fri Jan 22 08:48:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Time_Value_Test.cpp:
+ Removed not used variable
+
+Thu Jan 21 23:16:27 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/CDR_Stream.cpp:
+
+ Fixed the read_8 and write_8 methods for the iPhone Hardware.
+ The iPhone Hardware (ARM architecture) has the same memory
+ layout as Intel targets, and no conversion or swapping is
+ necessary. Double values sent from Windows to iPhone Hardware
+ were messed up before this fix due to unnecessary conversion.
+
+ * ace/config-macosx-iphone-hardware.h:
+ * ace/config-macosx-iphone-simulator.h:
+
+ Added ACE_HAS_IPHONE macro.
+
+Thu Jan 21 16:33:37 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Removed the hardcoding of -DACE_AS_STATIC_LIBS and
+ -DTAO_AS_STATIC_LIBS to CFLAGS and CXXFLAGS and instead
+ added static_libs_only=1. That fixes the problem. Thanks
+ to Johnny Willemsen for the tip.
+
+Thu Jan 21 15:25:30 UTC 2010 Martin Corino <mcorino@remedy.nl>
+
+ * tests/Multicast_Test.cpp:
+ Fixed a Linux specific problem where certain Linux flavors use
+ VERY strict rules concerning multicast communications and where
+ using the (system defined) defaults for the network interface
+ used for multicast sending/receiving does not provide a
+ matching setup (i.e. resulting if used for sending does not
+ match the if used for receiving -> nothing received).
+ The fix simply forces a fixed 'lo' interface to be used for
+ sending and receiving.
+
+Thu Jan 21 14:57:57 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Added -DACE_AS_STATIC_LIBS and -DTAO_AS_STATIC_LIBS to the CFLAGS
+ and CXXFLAGS variables to allow more tests to pass on the iPhone
+ Simulator. This hardcoding is obviously the wrong thing to do,
+ and needs to be fixed in the future. For some reason, when building
+ a static executable those macros are missing.
+
+Thu Jan 21 08:13:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Time_Value_Test.cpp:
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ * tests/Bug_2434_Regression_Test.cpp:
+ Moved the 64bit overflow test which fails on 64bit systems to
+ its own file and marked that as not fixed
+
+ * tests/Multicast_Test.cpp:
+ Const changes
+
+Tue Jan 19 13:24:02 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ Added missing #include <string.h>.
+
+Mon Jan 18 17:57:47 UTC 2010 James H. Hill <hillj at cs dot iupui dot edu>
+
+ * ace/UUID.h:
+
+ Included Auto_Ptr.h since it is not included by other included
+ header files and in breaking builds if UUID.h is included before
+ including another file that does include Auto_Ptr.h
+
+Mon Jan 18 13:47:53 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/ace_for_tao.mpc: Added Message_Queue_NT.cpp in this file since
+ it seems to be needed for the ACE_FOR_TAO subset.
+
+Fri Jan 15 10:27:30 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Define __NO_INCLUDE_WARN__ before including param.h.
+ Fixes compile warnings.
+
+Fri Jan 15 10:22:06 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/Registry.cpp:
+ Fixed g++ 4.x compile warning on MinGW.
+
+Fri Jan 15 10:19:48 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-common.h:
+ Simplified setting of ACE_HAS_NONSTATIC_OBJECT_MANAGER.
+
+Fri Jan 15 04:19:45 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp: Readded
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ to fix a compile error on MinGW. Thanks to Olli Savia
+ <ops@iki.fi> for this fix.
+
+Fri Jan 15 04:18:17 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue_NT.cpp: Added
+
+ #include "ace/Message_Queue.h"
+
+ to fix a compile error on MinGW. Thanks to Olli Savia
+ <ops@iki.fi> for this fix.
+
+Fri Jan 15 04:17:06 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue.h: Once again removed
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ from this file..
+
+Fri Jan 15 04:14:49 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/config-win32-common.h: Changed the definition
+
+ # define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+
+ to
+
+ # define ACE_HAS_NONSTATIC_OBJECT_MANAGER 0
+
+ to fix a compile error on MinGW. Thanks to Olli Savia
+ <ops@iki.fi> for this fix.
+
+Fri Jan 15 01:01:02 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * tests/Thread_Attrs_Test.cpp:
+
+ Slight modification to allow this test to pass on the iPhone
+ builds. Changed the spanwed thread's size from 42k to 40k.
+
+ According to Apple's Documentation: "The minimum allowed stack
+ size for secondary threads is 16 KB and the stack size must be
+ a multiple of 4 KB." My change make the stack size a multiple
+ of 4k. Below is a reference to the Apple documentation for the
+ iPhone where I got the quote.
+
+ http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/Multithreading/CreatingThreads/CreatingThreads.html
+
+Thu Jan 14 20:06:49 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Added "CROSS-COMPILE=1" to the top of the file.
+
+Thu Jan 14 20:02:41 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/OS_NS_Thread.cpp (add_to_argv): Replaced a call to strcpy()
+ with memmove() to avoid problems due to overlap with the
+ parameters. Thanks to Guillaume Lahaye <Guillaume dot Lahaye at
+ nuance dot com> for reporting this.
+
+Thu Jan 14 13:04:19 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Unicode fix
+
+Wed Jan 13 21:20:42 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ Removed ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS and
+ ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS. These are no longer used.
+
+Wed Jan 13 21:18:42 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * tests/Reference_Counted_Event_Handler_Test.cpp:
+ Fixed typo.
+
+Wed Jan 13 14:40:35 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue.h: Moved
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ back to this file based on comments from Arto.
+
+Wed Jan 13 13:51:54 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue_T.cpp: Moved
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ to outside the versioned namespace block. Thanks to Johnny for
+ reporting this.
+
+Wed Jan 13 09:03:19 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Only check run*.pl files when the filenames starts with run
+
+Wed Jan 13 06:45:19 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_types.h:
+ * ace/OS_NS_arpa_inet.cpp:
+ * ace/OS_NS_unistd.inl:
+ VxWorks 6.8 fixes
+
+ * ace/UUID.cpp:
+ Only one exit point for operator=, const change, initialise pointer with 0
+
+Wed Jan 13 03:24:06 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue.h,
+ * ace/Message_Queue_T.cpp: Moved the code
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ from ace/Message_Queue.h to ace/Message_Queue_T.cpp since that
+ is more localized.
+
+Wed Jan 13 02:54:10 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/XtReactor/XtReactor.cpp: Removed stray tabs. Thanks to
+ Johnny for reporting this.
+
+Tue Jan 12 20:25:19 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Disable run_test.pl checking for some directories that
+ aren't converted yet
+
+Tue Jan 12 19:52:04 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/Time_Value.inl:
+ Fixed typo.
+
+ * ace/config-openbsd.h:
+ Removed ACE_LACKS_STRFTIME.
+
+Tue Jan 12 19:41:07 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-integritySCA.h:
+ Removed ACE_LACKS_FILE_FCNTL. It is no longer used.
+
+Tue Jan 12 19:36:32 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-openbsd.h:
+ Removed ACE_LACKS_EXECINFO_H. It is no longer used.
+
+Tue Jan 12 19:33:25 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/netinet/os_tcp.h:
+ * configure.ac:
+ Fixed typo.
+
+Tue Jan 12 19:28:32 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-integritySCA.h:
+ Removed ACE_LACKS_USER. It is no longer used.
+
+Tue Jan 12 19:24:54 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-netbsd.h:
+ Removed ACE_LACKS_WSCANF. It is no longer used.
+
+Tue Jan 12 19:22:23 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-mvs.h:
+ Removed ACE_LACKS_SYS_NERR. It is no longer used.
+
+Tue Jan 12 19:19:26 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-netbsd.h:
+ Removed ACE_LACKS_SWSCANF. It is no longer used.
+
+Tue Jan 12 19:15:19 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ Fixed typo.
+
+ * ace/README:
+ Removed ACE_LACKS_SID and ACE_LACKS_STRCHR.
+ These are no longer used.
+
+ * ace/config-integritySCA.h:
+ Removed ACE_LACKS_SHARED_MEMORY. It is no longer used.
+
+Tue Jan 12 19:04:15 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/config-mvs.h:
+ Removed ACE_LACKS_MSGBUF_T. It is no longer used.
+
+Tue Jan 12 18:52:21 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ Removed ACE_LACKS_CMSG_DATA_MACRO and ACE_LACKS_CMSG_DATA_MEMBER.
+ These are no longer used.
+
+Tue Jan 12 14:18:58 UTC 2010 Olli Savia <ops@iki.fi>
+
+ * ace/CDR_Base.h:
+ Removed obsolete comment.
+
+ * ace/config-lynxos.h:
+ Minor cleanup.
+
+Mon Jan 11 13:53:54 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/XtReactor/XtReactor.{h,cpp}: Added a fix for BugID 3775.
+ Thanks to Dirk Bonekaemper <dirk dot bonekaemper at dfs dot de>
+ for this fix.
+
+Mon Jan 11 02:24:01 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/config-macros.h (ACE_WIN32CALL_RETURN): Changed
+
+ TYPE ace_result_ = (TYPE) X; \
+
+ to
+
+ TYPE ace_result_; \
+ ace_result_ = (TYPE) X; \
+
+ to fix a compile error on MinGW. Thanks to Arto Jalkanen
+ <ajalkane at gmail dot com> for this fix.
+
+Mon Jan 11 02:20:09 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Message_Queue.h: Added
+
+ #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+ #include "ace/Message_Queue_NT.h"
+ #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
+ to fix a compile error on MinGW. Thanks to Arto Jalkanen
+ <ajalkane at gmail dot com> for this fix.
+
+Tue Jan 12 04:12:41 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-iphone-hardware.h:
+ * ace/config-macosx-iphone-simulator.h:
+
+ Split the below file to the two files listed above.
+
+ * ace/config-macosx-iphone.h:
+
+ Removed this file.
+
+Tue Jan 12 02:10:48 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ crt1.10.6.o is missing under MacOSX 10.6 for iPhone Simulator.
+ Fallback to 10.5 until apple provides the missing crt1.10.6.o
+
+Sat Jan 9 00:42:55 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-iphone.h:
+
+ added "#define ACE_SIZEOF_LONG_DOUBLE 8" since this is the size
+ of long double on my iPhone 3GS. The value of long double in the
+ simulator is probably different. We need to adjust this once
+ we verify that the simulator value is different than the
+ hardware's value.
+
+Wed Jan 6 05:25:26 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ When building an executable for the iPhone Hardware (not simulator)
+ go ahead and automatically codesign the executable so it can be
+ deployed on the hardware. Note that this is a temporary hack until
+ I can figure the proper way to do this.
+
+Wed Jan 6 04:28:23 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Minor enhancement.
+
+Mon Jan 4 20:09:39 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao.spec
+ Also dump lsb_release info
+
+Fri Jan 1 03:09:45 UTC 2010 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Happy New Year everyone!!!
+
+Thu Dec 31 20:54:51 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (get_cpuinfo): Don't use a CPU MHz value 0.
+ I got a customer report with a real cpuinfo file showing 0.
+
+Thu Dec 31 17:46:10 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * bin/MakeProjectCreator/config/ace_fl.mpb: Rather than add
+ PLATFORM_GL_LDFLAGS twice, one should be PLATFORM_X11_LDFLAGS.
+ Thanks to Aaron Scamehorn for catching this.
+
+Thu Dec 31 17:24:14 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/wrapper_macros.GNU: If both static_libs_only
+ and shared_libs_only are set, report the error and stop. Thanks to
+ Howard Finer for reporting this.
+
+Thu Dec 31 12:27:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Fixed fuzz check for Spawn with Stop
+
+Wed Dec 30 08:41:03 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sig_Handler.cpp:
+ Do not use SA_SIGINFO on LynxOS.
+
+Thu Dec 24 10:55:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/RPC/run_test.pl
+ * performance-tests/SCTP/run_spectrum.pl
+ * performance-tests/TCP/run_test.pl
+ * performance-tests/UDP/run_test.pl
+ Fuzz fixes
+
+Thu Dec 24 10:49:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/tests/HTBP/ping/run_test.pl
+ * protocols/tests/HTBP/Reactor_Tests/run_test.pl
+ * protocols/tests/HTBP/Send_Large_Msg/run_test.pl
+ * protocols/tests/HTBP/Send_Recv_Tests/run_test.pl
+ * tests/run_test.pl
+ Fixed fuzz
+
+Thu Dec 24 10:20:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/Bool_Array.h:
+ * apps/gperf/src/Key_List.h:
+ Fixes for C++ Builder 2010 Update 4/5
+
+Thu Dec 24 09:54:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_string.cpp:
+ Const changes, layout changes, call ACE_OS::strncat instead of
+ strncat directly
+
+ * ace/Log_Msg.cpp:
+ * ace/Log_Msg.h:
+ Const changes
+
+ * ace/config-win32-borland.h:
+ C++ Builder 2010 has a broken wcsncat, reported as QC80630, for
+ this version we now enable the ACE emulation for wcsncat
+
+ * ace/OS_NS_wchar.cpp:
+ Initialise some pointers with 0
+
+Mon Dec 21 11:29:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Fixed error message and added a test for generated file headers
+
+Mon Dec 21 11:26:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/bootstrap:
+ Invoke autoupdate as part of this script
+
+Sun Dec 20 07:58:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/checked_iterator.h:
+ stl port doesn't have a checked iterator. This fixes bugzilla
+ 3799 and 3420. Thanks to <sailzeng at tencent dot com> and
+ Mark Hebbel <Mark dot Hebbel at baslerweb dot com> for
+ reporting this
+
+Fri Dec 18 17:40:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/PerlACE/ProcessVX_Unix.pm:
+ * bin/PerlACE/ProcessVX_Win32.pm:
+ Added IgnoreHostRoot
+
+Fri Dec 18 12:55:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * NEWS:
+ Updated fixed bugzilla entries.
+
+Thu Dec 17 12:29:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * ace/INET_Addr.inl:
+ Fixed bug in ::is_multicast() for little-endian platforms.
+ This fixes Bugzilla #3729.
+
+ * tests/Bug_3729_Regression_Test.cpp:
+ Fixed typo in logfile name.
+
+ * tests/run_test.lst:
+ Removed !FIXED_BUGS_ONLY for Bug_3729_Regression_Test.
+
+Wed Dec 16 11:24:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * ACE_wrappers/ace/Log_Msg.h:
+ Updated doxygen docu regarding additions to %D and %T
+ options.
+
+Wed Dec 16 09:09:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * ACE_wrappers/ace/ACE.h:
+ * ACE_wrappers/ace/ACE.cpp:
+ * ACE_wrappers/ace/Log_Msg.cpp:
+ Added option to print a given ACE_Time_Value in the log
+ message instead of system supplied timestamp as in %T
+ and %D.
+ The option is implemented as a variant of the %D/%T
+ options by using the '#' flag character like '%#D' or
+ '%#T'. When using this flag an ACE_Time_Value pointer is
+ expected in the argument list supplied with the log message.
+ This fixed Bugzilla #3221.
+
+ * ACE_wrappers/tests/Log_Msg_Test.cpp:
+ Added some testlines for this option.
+
+Mon Dec 14 14:58:05 UTC 2009 Abdul Sowayan <sowayan@gmail.com>
+
+ * NEWS:
+
+ Updated to note iPhone/iPod Touch support.
+
+Mon Dec 14 11:21:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Updated link to PS3/IBM Cell performance graphs
+
+Mon Dec 14 10:58:46 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Export/run_test.pl:
+ Fixed fuzz error
+
+Sun Dec 13 22:38:13 UTC 2009 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Changed to allow iPhone Hardware compiler to generate executables.
+
+Sun Dec 13 18:30:26 UTC 2009 Abdul Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ Enhanced iPhone support. Now we can build for the iPhone
+ Hardware target in addition to the simulator.
+
+Sat Dec 12 15:40:13 UTC 2009 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-iphone.h:
+ * include/makeinclude/platform_macosx_iphone.GNU:
+
+ First cut at supporting iPhone 3.1.2. These files need
+ some cleanup. With these files, using the iPhone simulator
+ I was able to spawn ACE Threads, print ACE Logs messages,
+ and communicate between the the iPhone simulator and a
+ Windows machine using CORBA.
+
+Thu Dec 10 20:03:58 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Improved error message
+
+Thu Dec 10 15:37:58 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/ACETAOCIAO.style:
+ Small updates
+
+Thu Dec 10 15:10:58 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Check all run_*.pl files for fuzz
+
+Thu Dec 10 13:07:58 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ Removed hard supported version check
+
+Wed Dec 9 10:52:26 UTC 2009 Denis Budko <denis.budko@remedy.nl>
+
+ * bin/fuzz.pl:
+
+ Updated conditions for new framework
+
+Mon Dec 7 16:09:18 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * tests/Basic_Types_Test.cpp: Add a verification for the endianness
+ setting.
+
+Mon Dec 7 07:40:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/bmake.features:
+ Disable mcpp for bmake
+
+Fri Dec 4 23:24:21 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Added mpc feature to optionally turn on the indirection
+ support on valuetype outgoing message. It defaults to
+ be enabled. To be compatible with previous version TAO,
+ it needs run mwc.pl with
+ "-features valuetype_out_indirection=0" to disable it.
+
+Fri Dec 4 17:25:32 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * NEWS:
+
+ Removed entry for member validation feature in LoadBalancer as it
+ should be in TAO NEWS.
+
+Fri Dec 4 13:19:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/index.shtml:
+ Added link for IBM Cell xampler performance stats
+
+Fri Dec 4 10:20:23 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * bin/fuzz.pl:
+ Removed -v option. The information which is generated
+ by -v should always be visible.
+
+Fri Dec 4 07:30:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ CB2010 fix
+
+Thu Dec 3 11:59:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Check CIAO_TRACE macros and put all run_*.pl files in a separate
+ list
+
+Wed Dec 2 18:17:04 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * NEWS:
+
+ Added entry for member validation feature in LoadBalancer.
+
+Wed Dec 2 13:46:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * debianbuild/{all files containign version numbers}:
+ Updated to latest micro release.
+
+Wed Dec 2 13:30:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * bin/make_release.py:
+ Added code to update version numbers in ACE_ROOT/debianbuild files
+ on release.
+ Changed to retrieve repo root by default from info of working copy.
+
+Wed Dec 2 07:51:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/copy-script.sh:
+ Also copy md5 files
+
+ * bin/MakeProjectCreator/config/bmake.features:
+ Enable mcpp for bmake
+
+Thu Nov 26 02:08:59 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Gaurav Kulshreshtha is the 2300th contributor to ACE+TAO+CIAO!
+
+Mon Nov 30 19:11:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/gperf/src/Bool_Array.h:
+ * apps/gperf/src/Key_List.h:
+ C++ Builder 2010 fixes
+
+Mon Nov 30 14:02:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process.cpp:
+ * ace/Process.h:
+ Fixed gcc warnings
+
+Mon Nov 30 12:38:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ Started port to C++ Builder 2010, older versions of C++ Builder are
+ now deprecated
+
+ * ace/MMAP_Memory_Pool.cpp:
+ Layout change
+
+ * ace/OS_NS_sys_time.h:
+ * ace/OS_NS_sys_time.inl:
+ Removed workarounds for ancient wince versions
+
+ * ace/Process.cpp:
+ * ace/Process.h:
+ Use bool and size_t and removed some ugly casts
+
+ * ace/Trace.cpp:
+ * ace/Trace.h:
+ Use bool
+
+Mon Nov 30 10:53:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/patches/18-fix-bswap-detection.dpatch:
+ * debianbuild/patches/22-tao_idl-64bit-fix.dpatch:
+ Removed, not needed anymore
+
+Mon Nov 30 10:08:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_linux_common.GNU:
+
+ Added some rules to support cross builds.
+ Setting the environment variable (or make variable) CROSS_COMPILE
+ to the platform tool prefix will redefine the CC, CXX and AR
+ variables and add a '-Wl,-rpath-link' option to the LDFLAGS.
+ If the HOST_ROOT variable has been set as well TAO_IDLxxx variables
+ will be redefined as well.
+
+Mon Nov 30 08:58:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/diff-builds-and-group-fixed-tests-only.sh:
+ * bin/Download.html:
+ updated for x.7.5
+
+ * bin/make_release.py
+ * rpmbuild/ace-tao-ciao.spec
+ * rpmbuild/ace-tao.spec
+ Updated to match opensuse build service
+
+ * docs/svn/svn-prefs.reg:
+ Added idl3+
+
+ * etc/index.html:
+ Added 5.7.5
+
+Sun Nov 29 13:06:02 CST 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.5 released.
+
+Thu Nov 26 12:33:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Queue_Test.cpp:
+ Fixed msvc warning
+
+Thu Nov 26 04:19:02 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/Message_Queue_Test.cpp:
+
+ Attempt to resolve warning for MSVC.
+
+Tue Nov 24 09:39:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Tokenizer_T.cpp:
+ Check if buffer_ is not nil
+
+ * bin/fuzz.pl:
+ Export files shouldn't be in the ciao repository anymore, all
+ should be generated by TAO_IDL
+
+Mon Nov 23 10:56:18 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * THANKS:
+ Added Wolfgang Pickartz.for solving a TAO_IDL compiler
+ issue.
+
+Mon Nov 23 07:53:57 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/changelog:
+ * debianbuild/control:
+ * debianbuild/dsc:
+ * debianbuild/rules:
+ Imported last version from debian
+
+Thu Nov 19 20:29:57 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Log_Msg_NT_Event_Log.cpp (ACE_Log_Msg_NT_Event_Log::log):
+ Added checks to ensure that log() works properly if the msg_data
+ size is greater than ACE_Log_Record::MAXLOGMSGLEN. Thanks to
+ Gaurav Kulshreshtha <gaurav dot kulshreshtha at onmobile dot
+ com> for contributing this fix.
+
+Fri Nov 20 08:45:52 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Log_Msg.cpp:
+ Updated documentation for '%S' modifier.
+
+Fri Nov 20 07:06:04 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sig_Handler.cpp:
+ Reverted: Sun Nov 1 16:47:29 UTC 2009 Olli Savia <ops@iki.fi>
+
+Thu Nov 19 14:08:29 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sig_Handler.cpp:
+ Reverted: Mon Nov 2 08:36:24 UTC 2009 Olli Savia <ops@iki.fi>
+
+Wed Nov 19 09:45:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-WinCE.h:
+ Only define FILE_MAP_COPY when it is not defined yet
+
+Mon Nov 16 14:40:42 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_win32_interix.GNU:
+ * ace/config-win32-interix.h:
+ * ace/os_include/sys/os_types.h:
+ Updated Interix support.
+
+Sun Nov 15 08:09:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * debianbuild/*:
+ Renamed all files for x.7.4
+
+Fri Nov 13 19:38:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Sys::Hostname shouldn't be used in a test script, use HostName on
+ the test target instead
+
+Fri Nov 13 01:54:01 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_common.GNU:
+ * include/makeinclude/platform_macosx_snowleopard.GNU:
+
+ Added support for buildbits=universal for building 32/64 bit
+ universal binaries with GCC.
+
+Fri Nov 13 01:12:33 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_common.GNU:
+
+ Fixed 32 bit support.
+
+Fri Nov 13 00:33:49 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * ace/Logging_Strategy.h:
+ * ace/Logging_Strategy.cpp:
+
+ Added static service declaration and definition to fix loading
+ issue in TAO Service (e.g Notify) in static builds.
+
+Thu Nov 12 15:53:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Exteded perl fuzz checks
+
+Thu Nov 12 08:31:00 UTC 2009 Denis Budko <denis.budko@remedy.nl>
+
+ * docs/run_test.txt
+ Added description of TestTarget::HostName() function usage
+
+Thu Nov 12 06:54:15 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Default_Constants.h:
+ * ace/OS_NS_fcntl.h:
+ * ace/RW_Process_Mutex.h:
+ Moved all constants to Default_Constants.h
+
+Wed Nov 11 14:57:15 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Run Network_Adapters_Test and SOCK_Dgram_Bcast_Test on LynxOS.
+
+Wed Nov 11 13:49:11 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-freebsd.h:
+ Added ACE_HAS_SIGISMEMBER_BUG.
+
+Wed Nov 11 12:07:36 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * bin/fuzz.pl:
+ Added strsignal to functions that is checked
+ for the lack of ACE_OS.
+
+Wed Nov 11 11:45:23 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.h:
+ Doxygen updates.
+
+Wed Nov 11 11:36:26 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.inl:
+ * ace/config-lynxos.h:
+ * ace/os_include/os_signal.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ * m4/platform.m4:
+ Renamed ACE_HAS_LYNXOS_SIGNALS to ACE_HAS_LYNXOS4_SIGNALS.
+
+Wed Nov 11 09:36:32 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended Id check to detect Id:
+
+Wed Nov 11 03:07:32 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_snowleopard.GNU:
+
+ Add support for building 32 bits.
+
+Tue Nov 10 21:03:25 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/sets-manager.py:
+
+ bugfix for windows. note that cleaning up the temp directory doesn't
+ work on windows, that will need to be done by hand.
+
+Tue Nov 10 12:17:33 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Check for hardcoded timeouts, thanks to Chad for assisting with this
+
+Tue Nov 10 12:10:33 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ ACE_RUN_VX_TGTHOST shouldn't be used in a test script
+
+Tue Nov 10 06:31:33 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Message_Queue_T.cpp (enqueue_*): When enqueuing blocks, grab the
+ notifier pointer before releasing the guard; check it and do any
+ needed notify() outside the lock scope. Avoids dereferencing 'this'
+ when the message queue is deleted between the time the guard is
+ released and the notify is checked. User is still responsible for
+ ensuring the lifetime of a notifier the user supplies.
+ Also, moved the monitor updates out of notify() and into the
+ enqueue_* methods, inside the guard scope since they refer to
+ object state; rely on the Monitor docs that say the updates are
+ well-behaved.
+
+Tue Nov 10 00:35:52 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp: Some changes extraneous to those in
+ Wed Nov 4 00:07:49 UTC 2009 Steve Huston <shuston@riverace.com>
+ got checked in by accident; these screwed up the handle resuming
+ and are now reverted. The changes/fix mentioned in
+ Wed Nov 4 00:07:49 UTC 2009 Steve Huston <shuston@riverace.com>
+ are now the only ones included.
+
+Mon Nov 9 12:20:05 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/Message_Queue_Test.cpp:
+
+ Modified to use rand_r, which is actually thread safe.
+
+Mon Nov 9 03:41:21 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/Message_Queue_Test.cpp:
+
+ Another attempt at fixing this problem on Snow Leopard, hopefully
+ less disruptive than the last attempt.
+
+Sat Nov 7 08:32:47 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Fix long double for ppc64
+
+Fri Nov 6 11:41:47 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Reverted the change to check all perl scripts
+
+Fri Nov 6 10:13:00 UTC 2009 Simon Massey <sma at prismtech dot com>
+
+ * ace/Tokenizer_T.cpp:
+
+ Allow tokens to have embedded quotes so that
+ tao_idl, which generates parameters such as
+ -I"directory with spaces", actually works.
+
+ I.E. Only remove surrounding quotes. With
+ embedded quotes; the original code simply
+ returned the token when the quote character
+ was detected, without inserting a token splitting
+ null at the quote character (which if it had,
+ would then mess up the next quoted token
+ processing). This ment that the parameters got
+ repeated many times over as they are inserted
+ and interpreted again and again.
+
+Fri Nov 6 08:30:47 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Also check cdp files for tabs
+
+Thu Nov 5 20:13:47 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/ACE.h:
+ * ace/ACE.inl:
+ * ace/ACE.cpp:
+ Moved nibble2hex from .inl to .cpp file to avoid static
+ data in inline function.
+
+Thu Nov 5 13:58:25 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ Another fix for platforms that define ACE_STRTOLL_EQUIVALENT or
+ ACE_STRTOULL_EQUIVALENT.
+
+Thu Nov 5 13:46:34 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ Fix for platforms that lack strtoll or strtoull.
+
+Thu Nov 5 11:56:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ * ace/OS_NS_stdlib.inl:
+ Added ace_strtoll_helper and ace_strtoull_helper to fix compile
+ errors if strtoll or strtoull is macro.
+
+Thu Nov 5 11:32:07 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ * ace/os_include/os_signal.h:
+ Use ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES instead of
+ ACE_HAS_LYNXOS50_SIGNALS.
+
+Wed Nov 4 20:57:08 UTC 2009 Yan Dai <dai_y@ociweb.com>
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Set notify_monitor_control default value be 0.
+
+Wed Nov 4 17:50:05 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Queue_Test.cpp:
+ Improved portability
+
+Wed Nov 4 14:51:00 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Bug_3758_Regression_Test.cpp:
+ * tests/OS_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Moved regression test for 3758 to its own file.
+
+Wed Nov 4 11:39:05 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/index.html:
+ Updated description for DDS4CCM documentation
+
+Wed Nov 4 00:07:49 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp (resume_handler_i): If asked to resume a
+ handler without any bits currently set, just note the handler has
+ been resumed, don't fail it. Prevents orphaned handle if a
+ auto-suspended handler's callback clears the lone bit set.
+
+Mon Nov 2 13:45:05 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/RW_Process_Mutex.h:
+ * ace/Default_Constants.h:
+ Added ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS with which the end user
+ can override the default permissions
+
+ * ace/Addr.inl:
+ * ace/MMAP_Memory_Pool.cpp:
+ Doxygen changes
+
+Mon Nov 2 08:52:05 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Enhanced strsignal test to test with negative signal numbers.
+
+Mon Nov 2 08:40:08 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Run Signal_Test on FreeBSD.
+
+Mon Nov 2 08:36:24 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sig_Handler.cpp:
+ Removed setting of SA_SIGINFO flag. It should not be used
+ with POSIX.1 signal handler (sa_handler).
+
+Sun Nov 1 16:47:29 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sig_Handler.cpp:
+ LynxOS 4.x supports SA_SIGINFO.
+
+Fri Oct 30 18:46:03 UTC 2009 Steven Stallion <stallions@ociweb.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Added -DNDEBUG to CPPFLAGS when debug=0 is set.
+
+Thu Oct 29 21:45:30 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_pwd.h:
+ * ace/OS_NS_time.inl:
+ * ace/README:
+ * ace/config-mvs.h:
+ * ace/config-tru64.h:
+ * ace/os_include/os_time.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ Removed references to ACE_HAS_BROKEN_CTIME and
+ ACE_HAS_BROKEN_R_ROUTINES.
+
+Thu Oct 29 21:25:49 UTC 2009 Chris Cleeland <cleeland@ociweb.com>
+
+ * tests/Message_Queue_Test.cpp:
+
+ Reverted change from Tue Oct 27 08:12:25 UTC 2009
+ William R. Otte <wotte@dre.vanderbilt.edu>. The change
+ was causing core dumps on some platforms due to treating
+ the thread ID as a pointer and dereferencing that pointer.
+ Better to live with compiler warnings than crashes.
+
+Thu Oct 29 21:04:27 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ * ace/config-aix-5.x.h:
+ * ace/config-irix6.x-g++.h:
+ * ace/config-lynxos.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-sco-5.0.0-nothread.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tru64.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-win32-borland.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ Removed references to ACE_HAS_GNU_CSTRING_H.
+
+Thu Oct 29 20:30:35 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ Readded undef atop. Fixes compile error on FreeBSD.
+
+Thu Oct 29 13:58:25 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdlib.h:
+ * ace/OS_NS_stdlib.inl:
+ * ace/OS_NS_time.h:
+ Removed some legacy undefs.
+
+Thu Oct 29 08:08:51 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Log_Msg.cpp:
+ * ace/Select_Reactor_Base.cpp:
+ Fixed fuzz errors.
+
+Wed Oct 28 19:49:39 UTC 2009 Chris Cleeland <cleeland@ociweb.com>
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp:
+
+ Changed the second recv() that is used in case of a short first
+ read to be a recv_n(), blocking until the rest of the buffer can
+ be received on the pipe. The problem was discovered during
+ routine testing (Notify_Performance_Test) on VxWorks 6.7 on a P3
+ platform, but could occur on any platform. [Bugzilla 3754]
+
+Wed Oct 28 11:58:21 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-msvc-7.h:
+ Reverted: Tue Oct 27 19:40:59 UTC 2009 Olli Savia <ops@iki.fi>
+ It seems that VC7 doesn't support _get_osfhandle.
+
+Wed Oct 28 11:54:03 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Log_Msg.h:
+ * ace/Log_Msg.cpp:
+ Use ACE_OS::strsignal() instead of sys_siglist.
+
+ * ace/config-freebsd.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ Removed legacy sys_siglist related settings.
+
+Wed Oct 28 06:30:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+ Added support for buildbits 64
+
+Tue Oct 27 20:14:50 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS.inl:
+ Removed some legacy code.
+
+Tue Oct 27 19:40:59 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-msvc-7.h:
+ Added missing ACE_FILENO_EQUIVALENT macro.
+
+Tue Oct 27 19:35:06 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Fixed wrong logic with macros
+
+Thu Oct 22 21:12:21 UTC 2009 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * ace/Pipe.h (ACE_Pipe): Updated the document to correct a typo.
+ Thanks to Matthew Carter <r_q_einstein-acetaobugs at yahoo dot
+ com> for reporting this.
+
+Tue Oct 27 10:01:51 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp:
+ * ace/config-aix-5.x.h:
+ strsignal fix for AIX.
+
+Tue Oct 27 08:22:25 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_tiger.GNU:
+
+ fixed typo.
+
+Tue Oct 27 08:12:25 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-snowleopard.h:
+ * include/makeinclude/platform_macosx_common.GNU:
+ * include/makeinclude/platform_macosx_snowleopard.GNU:
+ * include/makeinclude/platform_macosx_tiger.GNU:
+
+ Re-factored snow leopard support, I now get a clean compile.
+ Tests will be evaluated when we get our x86 Mac hardware.
+
+ * tests/Message_Queue_Test.cpp:
+
+ Introduced some pointer gymnastics to convert a ACE_thread_t
+ to a seed for the random number generator. This was done to avoid
+ compile warnings due to pointers being bigger than a uint_t and losing
+ precision in the conversion.
+
+Tue Oct 27 07:55:38 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Use ACE_INVALID_HANDLE instead of -1. Changed C-style casts
+ to C++ casts.
+
+Mon Oct 26 22:08:38 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-borland.h:
+ Added ACE_FILENO_EQUIVALENT.
+
+Mon Oct 26 15:42:34 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Added cast to fix compile error on Windows.
+
+Mon Oct 26 12:25:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Fix for msvc10
+
+Mon Oct 26 11:54:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Small improvement for PPC64
+
+Mon Oct 26 10:41:43 UTC 2009 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp:
+ * protocols/ace/HTBP/HTBP_Session.h:
+ * protocols/ace/HTBP/HTBP_Environment.cpp:
+ * protocols/ace/HTBP/HTBP_Channel.h:
+ * protocols/ace/HTBP/HTBP_Filter_Factory.h:
+ * protocols/ace/HTBP/HTBP_Session.cpp:
+ * protocols/ace/HTBP/HTBP_Session.inl:
+ * protocols/ace/HTBP/HTBP_ID_Requestor.cpp:
+ * protocols/ace/HTBP/HTBP_Channel.inl:
+ * protocols/ace/HTBP/HTBP_Channel.cpp:
+ * protocols/ace/HTBP/HTBP_Environment.h:
+ * protocols/ace/HTBP/HTBP_Filter_Factory.cpp:
+ Simplified the code and fixed several memory leaks.
+
+Mon Oct 26 10:23:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Don't run MEM_Stream_Test and MT_SOCK_Test on LynxOS.
+
+Mon Oct 26 10:18:28 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Bug_2653_Regression_Test.cpp:
+ * tests/Cached_Conn_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ LynxOS improvements.
+
+Mon Oct 26 08:32:08 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/OS_Test.cpp:
+ Improved test to detect if std{out,err} is not associated
+ with an output stream. This may happen with Windows application
+ without a console window.
+
+Mon Oct 26 07:48:19 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-msvc-10.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-msvc-9.h:
+ Fix for WinCE build.
+
+Sat Oct 24 14:33:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Fix for PPC64
+
+Sat Oct 24 14:30:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ Fix for PPC64
+
+Sat Oct 24 12:18:00 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_Thread.inl:
+ LynxOS improvements.
+
+Sat Oct 24 12:15:40 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp (strsignal):
+ Fix for Solaris and AIX.
+
+Fri Oct 23 21:38:31 UTC 2009 Abdullah Sowayan <sowayan@gmail.com>
+
+ * include/makeinclude/platform_macosx_snowleopard.GNU:
+
+ Enhanced this file to remove -Wno-long-double from CFLAG.
+ Thanks to Adam Mitz for the suggestion on how to fix this.
+
+Fri Oct 23 20:25:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/os_include/os_string.h:
+ Removed some legacy code.
+
+Fri Oct 23 13:58:45 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Run Signal_Test on LynxOS.
+
+Fri Oct 23 13:23:49 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * m4/config_h.m4:
+ Reverted: Mon Oct 19 20:58:10 UTC 2009 Olli Savia <ops@iki.fi>
+
+Fri Oct 23 13:10:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/File_Lock.{h,cpp,inl}:
+ Use bool instead of int
+
+Fri Oct 23 12:52:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/run_test.pl:
+ Extended run_test check
+
+Fri Oct 23 09:56:50 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-aix-5.x.h:
+ Added ACE_HAS_STRSIGNAL.
+
+Fri Oct 23 09:51:17 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-win32-msvc-10.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-msvc-9.h:
+ Added missing _get_osfhandle() call to ACE_FILENO_EQUIVALENT macro.
+
+Thu Oct 22 14:16:10 UTC 2009 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ If a custom 'dependent' setting contains a double quote, then we
+ must make a fake rule that corresponds to it. Otherwise, make
+ doesn't know how to deal with it.
+
+Tue Oct 20 16:20:33 UTC 2009 Steve Huston <shuston@riverace.com>
+
+ * ace/Message_Queue_T.cpp (enqueue_*): Move the notify() call outside
+ the lock scope; holding the lock across a call that may block (or
+ do anything else we don't know about) is dangerous. It resulted in
+ deadlock at a customer site.
+
+ See Bugzilla #3250 for any follow-up issues.
+
+ * ace/Process_Mutex.h: Fix doxygen stuff and clarify the behavior
+ when based on semaphores vs. mutexes where there's a choice.
+
+Tue Oct 20 10:35:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp:
+ Reformatted returned string in emulated strsignal.
+ If signum is invalid, "Unknown signal %d" is used to
+ format the string. Otherwise, "Signal %d" is used.
+
+ Use ACE_SYS_SIGLIST instead of ACE_HAS_SYS_SIGLIST.
+
+ * ace/config-lynxos.h:
+ Removed ACE_HAS_SYS_SIGLIST. Macro is no longer used.
+
+Mon Oct 19 20:58:10 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * configure.ac:
+ * m4/config_h.m4:
+ Added a check for strsignal.
+
+Mon Oct 19 20:24:54 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ * ace/config-cray.h:
+ * ace/config-cygwin32.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-lynxos.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-rtems.h:
+ * configure.ac:
+ * m4/config_h.m4:
+ ACE_HAS_SYS_ERRLIST is no longer in use.
+
+Mon Oct 19 19:25:40 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ * ace/config-aix-5.x.h:
+ * ace/config-cray.h:
+ * ace/config-cygwin32.h:
+ * ace/config-freebsd.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-integritySCA.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-macosx-leopard.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-mvs.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-openvms.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-rtems.h:
+ * ace/config-sco-5.0.0.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/config-tandem.h:
+ * ace/config-tru64.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-vxworks6.4.h:
+ * ace/config-win32-borland.h:
+ * ace/config-win32-cegcc.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-interix.h:
+ * ace/config-win32-mingw.h:
+ * ace/config-win32-msvc-10.h:
+ * ace/config-win32-msvc-7.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-msvc-9.h:
+ * ace/os_include/os_string.h:
+ * configure.ac:
+
+ Cleaned up strerror mess. We had both ACE_HAS_STRERROR and
+ ACE_LACKS_STREROR. ACE_HAS_STRERROR is no longer in use.
+
+Mon Oct 19 18:18:37 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-linux-common.h:
+ Added ACE_HAS_STRSIGNAL.
+
+Mon Oct 19 14:28:07 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-linux-common.h:
+ Added ACE_HAS_SYS_SIGLIST.
+
+Mon Oct 19 14:24:45 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/Log_Msg_Test.cpp:
+ Added a few debug messages to exercise %S modifier.
+
+Mon Oct 19 14:00:20 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Sock_Connect.cpp:
+ LynxOS improvements.
+
+Mon Oct 19 12:18:26 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp:
+ Include OS_NS_stdio.h if ACE_HAS_STRSIGNAL is not defined.
+
+Mon Oct 19 12:15:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading:
+ * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosevent:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-costrading:
+ * rpmbuild/ace-tao-init-suse/init.d/tao-rtevent:
+ Use -ORBDeamon instead of --deamon
+
+Mon Oct 19 12:10:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3729_Regression_Test.cpp:
+ * tests/INET_Addr_Test.cpp:
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ Moved regression test for 3729 to its own file
+
+Mon Oct 19 11:58:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/INET_Addr_Test.cpp:
+ Unicode fixes
+
+Mon Oct 19 10:04:04 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp:
+ Fixed off by one bug.
+
+ * ace/os_include/os_signal.h:
+ Due to bug above reverted previous change.
+
+Mon Oct 19 07:55:21 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.cpp:
+ * ace/config-lynxos.h:
+ LynxOS lacks strsignal. Added emulation using sys_siglist.
+
+ * ace/os_include/os_signal.h:
+ LynxOS now defines NSIG rigth. No need to add +1.
+
+Sat Oct 17 19:58:52 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_string.h:
+ * ace/OS_NS_string.cpp:
+ Added ACE_OS::strsignal().
+
+ * ace/config-cygwin32.h:
+ * ace/config-freebsd.h:
+ * ace/config-lynxos.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ Added ACE_HAS_STRSIGNAL
+
+ * tests/OS_Test.cpp:
+ Added a test for ACE_OS::strsignal().
+
+ * ace/config-win32-common.h:
+ * ace/README:
+ * ace/config-cray.h:
+ Removed references to ACE_HAS_SYS_SIGLIST. It will be removed
+ soon.
+
+Sat Oct 17 10:29:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Removed duplicate define ACE_HAS_GETIFADDRS.
+
+Sat Oct 17 10:26:15 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdio.h:
+ Removed undef fdopen. We may need to add helper wrapper for fdopen.
+
+Sat Oct 17 07:32:19 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Removed getmacaddress test, that moved to its own test
+
+Fri Oct 16 08:51:19 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_doxygen.pl:
+ * htlm/index.html:
+ Added dds4ccm
+
+Fri Oct 16 06:38:19 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Run Enum_Interfaces_Test, MT_SOCK_Test, TP_Reactor_Test on LynxOS.
+
+Fri Oct 16 06:00:42 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ Readded "Tue Oct 13 19:13:13 UTC 2009 Olli Savia <ops@iki.fi>"
+ without os_unistd.h modifications.
+
+Thu Oct 15 17:33:05 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ * ace/os_include/os_unistd.h:
+
+ Reverted Tue Oct 13 19:13:13 UTC 2009 Olli Savia <ops@iki.fi>,
+ it broke the IDL compiler.
+
+Thu Oct 15 11:26:15 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Pipe.cpp:
+ It OK to use socketpair to implement pipe on LynxOS.
+
+Thu Oct 15 11:11:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Basic_Types.h:
+ Fix for 64bit PPC
+
+Thu Oct 15 07:43:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_3744_Regression_Test.cpp:
+ * tests/tests.mpc:
+ * tests/run_test.lst:
+ Moved the regression for 3744 to its own file, we don't have a fix yet
+
+Wed Oct 14 23:15:59 UTC 2009 Abdul Sowayan <sowayan@gmail.com>
+
+ * ace/config-macosx-snowleopard.h:
+ * include/makeinclude/platform_macosx_snowleopard.GNU:
+
+ First cut of adding snowleopard support.
+
+Wed Oct 14 14:43:01 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Added/removed some defines.
+
+Wed Oct 14 14:41:03 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_signal.h:
+ Added include "ace/os_include/os_pthread.h" since LynxOS defines
+ pthread_sigmask() in pthread.h.
+
+Tue Oct 13 19:13:13 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ Cleaned up ace_fileno_helper implementation and fixed compile
+ problem on MinGW.
+
+ * ace/os_include/os_unistd.h:
+ Redefined ACE_STD{IN,OUT,ERR}.
+ OS_Test now hopefully passes on all platforms.
+
+Tue Oct 13 19:00:53 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Removed non-functional cross compiler setup.
+
+Tue Oct 13 18:56:22 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Reverted:
+
+ Mon Oct 13 11:10:00 UTC 2008 Simon Massey <sma at prismtech dot com>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Problems with Lynxos5.0 due to -mshared being passed to compiler
+ (inaddition to linker)
+
+ -mshared is needed on LynxOS 4.x. Need to find another
+ solution for LynxOS 5.0
+
+Tue Oct 13 10:03:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/rules.local.GNU:
+ When using cp to install a library, make sure we check date/time
+ in order to check if we need to copy. Thanks to Abdul Sowayan
+ <sowayan at gmail dot com> for reporting this. This fixes bugzilla
+ 3728
+
+Tue Oct 13 09:44:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/INET_Addr_Test.cpp:
+ Extended this test to for is_multicast. This fails on little endian
+ machines at this moment. Thanks to Patrick Rabau
+ <pr2345 at gmail dot com> for extending this test. This is related
+ to bugzilla 3729
+
+Tue Oct 13 09:33:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OS_Test.cpp:
+ Added test for getmacaddress, thanks to Paul Daugherty
+ <paul at nextalk dot com> for creating this. This is related to
+ bugzilla 3744
+
+Tue Oct 13 06:34:48 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux.GNU:
+ When doing a 64bit build, also add -m64 to the linker flags
+
+Mon Oct 12 14:03:48 CDT 2009 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE version 5.7.4 released.
+
+Local Variables:
+mode: change-log
+add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
+indent-tabs-mode: nil
+End:
diff --git a/Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp b/Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp
index a5d28115fac..d9a2eebab59 100644
--- a/Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp
+++ b/Kokyu/DSRT_CV_Dispatcher_Impl_T.cpp
@@ -13,7 +13,7 @@ ACE_RCSID(Kokyu, DSRT_CV_Dispatcher_Impl_T, "$Id$")
namespace Kokyu
{
-
+
/*
//@@VS: This is somehow not being recognized by MSVC, which results
//in a link error. For now, the definition has been moved to the .h
@@ -41,7 +41,7 @@ operator ()(const DSRT_Dispatch_Item_var<DSRT_Scheduler_Traits>& item1,
template <class DSRT_Scheduler_Traits>
DSRT_CV_Dispatcher_Impl<DSRT_Scheduler_Traits>::
-DSRT_CV_Dispatcher_Impl (ACE_Sched_Params::Policy sched_policy,
+DSRT_CV_Dispatcher_Impl (ACE_Sched_Params::Policy sched_policy,
int sched_scope)
:DSRT_Dispatcher_Impl<DSRT_Scheduler_Traits> (sched_policy, sched_scope),
run_cond_ (run_cond_lock_)
@@ -61,16 +61,16 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
{
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):schedule_i enter\n"));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):schedule_i enter\n"));
#endif
DSRT_Dispatch_Item<DSRT_Scheduler_Traits>* item;
ACE_hthread_t thr_handle;
ACE_Thread::self (thr_handle);
- if (ACE_OS::thr_setprio (thr_handle,
- this->blocked_prio_,
+ if (ACE_OS::thr_setprio (thr_handle,
+ this->blocked_prio_,
this->sched_policy_) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
@@ -90,10 +90,10 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
#ifdef KOKYU_DSRT_LOGGING
this->ready_queue_.dump ();
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):schedule_i after ready_q.insert\n"));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):schedule_i after ready_q.insert\n"));
#endif
-
+
DSRT_Dispatch_Item_var<DSRT_Scheduler_Traits> item_var;
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, cond_guard, run_cond_lock_, -1);
@@ -104,25 +104,25 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
ACE_hthread_t most_eligible_thr_handle = item_var->thread_handle ();
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):curr thr handle = %d\n",
- thr_handle));
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):curr scheduled thr handle = %d\n",
- this->curr_scheduled_thr_handle_));
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):most eligible thr handle = %d \n",
- most_eligible_thr_handle));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):curr thr handle = %d\n",
+ thr_handle));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):curr scheduled thr handle = %d\n",
+ this->curr_scheduled_thr_handle_));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):most eligible thr handle = %d\n",
+ most_eligible_thr_handle));
#endif
if (this->curr_scheduled_thr_handle_ == thr_handle &&
most_eligible_thr_handle != thr_handle)
{
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
+ ACE_DEBUG ((LM_DEBUG,
"(%t|%T):curr sched thr handle = thr_handle & "
"most eligible thr handle != curr thr handle. "
- "about to do a broadcast on CV to wake up most eligible\n"));
+ "about to do a broadcast on CV to wake up most eligible\n"));
#endif
this->curr_scheduled_thr_handle_ = most_eligible_thr_handle;
//wake up the most eligible thread
@@ -133,20 +133,20 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
//if the current thread is most eligible, but some thread is
//scheduled currently, then wait.
while (most_eligible_thr_handle != thr_handle ||
- (most_eligible_thr_handle == thr_handle &&
+ (most_eligible_thr_handle == thr_handle &&
this->curr_scheduled_thr_handle_ != thr_handle &&
this->curr_scheduled_thr_handle_ != 0))
{
ACE_Time_Value tv (60,0);
tv += ACE_OS::gettimeofday ();
- //wait a maximum of 1 min. This is an escape latch against lockups.
+ //wait a maximum of 1 min. This is an escape latch against lockups.
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
+ ACE_DEBUG ((LM_DEBUG,
"(%t|%T): About to block on cv\n"));
#endif
- if (this->run_cond_.wait (&tv) == -1)
+ if (this->run_cond_.wait (&tv) == -1)
{
- ACE_ERROR ((LM_ERROR,
+ ACE_ERROR ((LM_ERROR,
"(%t|%T): run_cond.wait timed out -- Possible Lockup\n"));
}
this->ready_queue_.most_eligible (item_var);
@@ -156,23 +156,23 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
this->curr_scheduled_thr_handle_ = most_eligible_thr_handle;
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
+ ACE_DEBUG ((LM_DEBUG,
"(%t|%T): %d is currently running\n",
thr_handle));
#endif
- if (ACE_OS::thr_setprio (thr_handle,
- this->active_prio_,
+ if (ACE_OS::thr_setprio (thr_handle,
+ this->active_prio_,
this->sched_policy_) == -1)
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("%p\n"),
ACE_TEXT ("thr_setprio failed")));
}
-
+
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):schedule_i exit\n"));
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T):schedule_i exit\n"));
#endif
return 0;
@@ -181,7 +181,7 @@ schedule_i (Guid_t id, const DSRT_QoSDescriptor& qos)
template <class DSRT_Scheduler_Traits>
int DSRT_CV_Dispatcher_Impl<DSRT_Scheduler_Traits>::
update_schedule_i (Guid_t guid, const DSRT_QoSDescriptor& qos)
-{
+{
return this->schedule_i (guid, qos);
}
@@ -205,8 +205,8 @@ update_schedule_i (Guid_t guid, Block_Flag_t flag)
if (found == 0)
ACE_DEBUG ((LM_DEBUG, "(%t|%T): %d found in ready queue\n", thr_handle));
else
- ACE_DEBUG ((LM_DEBUG, "(%t|%T): %d not found in ready queue\n",
- thr_handle));
+ ACE_DEBUG ((LM_DEBUG, "(%t|%T): %d not found in ready queue\n",
+ thr_handle));
#endif
if (found == 0 && flag == BLOCK)
@@ -217,8 +217,8 @@ update_schedule_i (Guid_t guid, Block_Flag_t flag)
ACE_DEBUG ((LM_DEBUG, "(%t|%T): update schedule: %d found\n", thr_handle));
#endif
- if (ACE_OS::thr_setprio (thr_handle,
- this->blocked_prio_,
+ if (ACE_OS::thr_setprio (thr_handle,
+ this->blocked_prio_,
this->sched_policy_) == -1)
{
ACE_ERROR ((LM_ERROR,
diff --git a/Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp b/Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp
index ebbea987c50..5339fe8a3b8 100644
--- a/Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp
+++ b/Kokyu/DSRT_Direct_Dispatcher_Impl_T.cpp
@@ -149,7 +149,7 @@ DSRT_Direct_Dispatcher_Impl<DSRT_Scheduler_Traits>::svc (void)
"(%t|%T):curr scheduled thr handle = %d\n",
this->curr_scheduled_thr_handle_));
ACE_DEBUG ((LM_DEBUG,
- "(%t|%T):most eligible thr handle = %d \n",
+ "(%t|%T):most eligible thr handle = %d\n",
most_eligible_thr_handle));
#endif
diff --git a/Kokyu/DSRT_Dispatcher_Impl_T.h b/Kokyu/DSRT_Dispatcher_Impl_T.h
index 18fd07695cb..30bc75b162c 100644
--- a/Kokyu/DSRT_Dispatcher_Impl_T.h
+++ b/Kokyu/DSRT_Dispatcher_Impl_T.h
@@ -73,11 +73,11 @@ namespace Kokyu
int rc = qos_comparator_ (item1->qos (), item2->qos ());
#ifdef KOKYU_DSRT_LOGGING
- ACE_DEBUG ((LM_DEBUG,
- "(%t|%T): MoreEligible:: qos_comparator returned %d\n",
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t|%T): MoreEligible:: qos_comparator returned %d\n",
rc));
#endif
-
+
//more eligible
if (rc == 1)
return rc;
@@ -97,7 +97,7 @@ namespace Kokyu
/**
* Facilitates return of the generated function object adapter.
*/
- typedef MoreEligible RET;
+ typedef MoreEligible RET_FUNC;
};
/**
@@ -116,7 +116,7 @@ namespace Kokyu
typedef typename DSRT_Scheduler_Traits::Guid_t Guid_t;
typedef typename DSRT_Scheduler_Traits::QoSDescriptor_t DSRT_QoSDescriptor;
- DSRT_Dispatcher_Impl (ACE_Sched_Params::Policy sched_policy,
+ DSRT_Dispatcher_Impl (ACE_Sched_Params::Policy sched_policy,
int sched_scope);
/// Configure the DSRT dispatcher.
@@ -163,7 +163,7 @@ namespace Kokyu
protected:
/// Generate the QoSComparator adapter.
typedef typename
- Comparator_Adapter_Generator<DSRT_Scheduler_Traits>::RET
+ Comparator_Adapter_Generator<DSRT_Scheduler_Traits>::RET_FUNC
Queue_Item_Comparator_t;
typedef Sched_Ready_Queue<DSRT_Scheduler_Traits,
@@ -189,7 +189,7 @@ namespace Kokyu
ACE_SYNCH_RECURSIVE_MUTEX synch_lock_;
ACE_hthread_t curr_scheduled_thr_handle_;
- Guid_t curr_scheduled_guid_;
+ Guid_t curr_scheduled_guid_;
};
} //end of namespace
diff --git a/Kokyu/Kokyu.cpp b/Kokyu/Kokyu.cpp
index 1146f1ee315..999004dafc5 100644
--- a/Kokyu/Kokyu.cpp
+++ b/Kokyu/Kokyu.cpp
@@ -43,8 +43,8 @@ Dispatcher*
Dispatcher_Factory::
create_dispatcher(const Dispatcher_Attributes& attrs)
{
- Dispatcher* disp;
- Dispatcher_Impl* tmp;
+ Dispatcher* disp = 0;
+ Dispatcher_Impl* tmp = 0;
ACE_NEW_RETURN (tmp, Default_Dispatcher_Impl, 0);
ACE_NEW_RETURN (disp, Dispatcher, 0);
disp->implementation (tmp);
diff --git a/Kokyu/tests/DSRT_MIF/MIF.cpp b/Kokyu/tests/DSRT_MIF/MIF.cpp
index 4c943533ad6..e5fd6f5cdff 100644
--- a/Kokyu/tests/DSRT_MIF/MIF.cpp
+++ b/Kokyu/tests/DSRT_MIF/MIF.cpp
@@ -108,7 +108,7 @@ int MyTask::svc (void)
seconds_tracker.set (0,0);
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%t) Currently running guid=%d")
- ACE_TEXT (", qos_.importance=%d \n"),
+ ACE_TEXT (", qos_.importance=%d\n"),
guid_, qos_.importance_));
}
timer.reset ();
diff --git a/NEWS b/NEWS
index 7aef3fed9f2..27cf69394d2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,182 @@
-PLANNED MAJOR CHANGES "SOMETIME IN THE FUTURE" (i.e., exact beta not known)
-===========================================================================
+USER VISIBLE CHANGES BETWEEN ACE-5.7.8 and ACE-5.7.9
+====================================================
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.7 and ACE-5.7.8
+====================================================
+
+. ACE now uses GCC builtin Atomic instructions for short,
+ unsigned short, long, unsigned long, int, unsigned int,
+ and bool. This makes our Atomic_Op around 7 times faster
+
+. ACE Service Configuration Framework now process first service
+ configuration files and then command-line directives. Thus if
+ application uses both service configuration files and command-line
+ directives then the command-line directives may override results of
+ directives in the configuration files. At the same time if the
+ application uses only the default svc.conf file and command-line
+ directives then the directives from svc.conf can not override
+ results of the user provided command-line directives.
+
+. ACE_Dev_Poll_Reactor now dispatches notifications in only one thread at
+ a time. This brings notification handling more in line with behavior in
+ other Reactor implementations.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.6 and ACE-5.7.7
+====================================================
+
+. Integrated fix for bug 3104 and regression test for
+ interval timers.
+
+. Added support for GCC builtin Atomic instructions which
+ are enabled with GCC >= 4.1 for PPC32/PPC64/IA64
+
+. Improved autoconf support for debian
+
+. Added support for -mcpu and -mtune. Add TCPU=.. to your
+ environment/platform_macros.GNU to specify you cpu and
+ than add cpumodelflag=1 and/or tunemodelflag=1. Using
+ this with IBM Cell increased the performance significantly
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.5 and ACE-5.7.6
+====================================================
+
+. Added support for iPhone/iPod Touch/iPad. The following
+ environment variables are needed:
+
+ IPHONE_TARGET, should be set to either SIMULATOR or
+ HARDWARE. Set to HARDWARE if you want to deploy
+ on the iPhone/iPod Touch/iPad device.
+
+ IPHONE_VERSION, should be set to 3.1.2 or 3.2. One can
+ set the version to any future or past versions, but
+ only 3.1.2 and 3.2 have been tried.
+
+ Note that one has to compile ACE/TAO statically as
+ it is believed that the iPhone OS does not support
+ dynamic loading of external libraries. The usual
+ procedure of cross compiling ACE/TAO applies
+ (such as setting HOST_ROOT environment variable).
+
+. Added support for Embarcadero C++ Builder 2010
+
+. Added option to print a given ACE_Time_Value in the log
+ message instead of system supplied timestamp as in %T
+ and %D.
+ The option is implemented as a variant of the %D/%T
+ options by using the '#' flag character like '%#D' or
+ '%#T'. When using this flag an ACE_Time_Value pointer is
+ expected in the argument list supplied with the log message.
+ This fixed Bugzilla #3221.
+
+. Fixed problems with ACE_INET_Addr::is_multicast() on
+ little endian platforms. This fixed bugzilla #3729.
+
+. Added compilation support for VxWorks 6.8, no runtime
+ testing has been performed
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.4 and ACE-5.7.5
+====================================================
+
+. Added MacOSX Snow Leopard support
+
+. Added strsignal() wrapper
+
+. Improved LynxOS support
+
+. Updated Interix port
+
+. Fixed MinGW compilation problems
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.3 and ACE-5.7.4
+====================================================
+
+. ACE_CDR::consolidate now returns an int, 0 is ok, -1 is failure
+
+. Fixed a bug in the realclean feature of the GNU makefiles
+
+. Improved Sun Studio for Linux support
+
+. Improved OpenBSD support
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.2 and ACE-5.7.3
+====================================================
-. RPM packaging as part of the release process by the doc_group (Remedy and user community)
+. C++ Builder 2009 Update 3 is the only C++Builder that is supported, older
+ and newer compilers are not supported anymore
+
+. Made final changes for the CEGCC port
+
+. Added a set of tests to validate C++ compiler and the stl implementation
+ they ship.
+
+. HP-UX PARISC aCC < 3.80 are deprecated and can't be used anymore. Upgrade
+ to aCC 3.80 or newer
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.1 and ACE-5.7.2
+====================================================
+
+. Borland C++ makefiles aren't shipped anymore as part of the release
+ but have to be generated by the user
+
+. Refactored gperf to have its own shared library so that we can reuse
+ that in TAO
+
+. Added support for SuSE Enterprise 10
+
+. ACE_Configuration_Heap::open() now returns -1 with errno EBUSY if it is
+ called multiple times. Previous versions would allow multiple calls to
+ open() but leak resources.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.0 and ACE-5.7.1
+====================================================
+
+. Added support for Sun Studio 12 Update Pack 1
+
+. Fixed compile problems when using Windows CE x86 release mode
+
+. Fixed compile problems for FreeBSD
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.9 and ACE-5.7.0
+====================================================
+
+. Added support for the VxWorks vxAtomicLib which is available with VxWorks 6.6
+ and newer. If you don't want to use this library undef ACE_HAS_VXATOMICLIB
+ in your config.h file
+
+. Added support for C++ Builder 2009 Update 3
+
+. Added support for ACE/TAO using the CEGCC project
+
+. Added support for upcoming Fedora 11 and OpenSuSE Factory
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.8 and ACE-5.6.9
+====================================================
+
+. Removed Borland/CodeGear C++ Builder 2007 support. If you'd like to
+ fund this support please let us know.
+
+. Removed VxWorks 5.5.x, 6.2, and 6.3 support. If you'd like to fund
+ this support please let us know.
+
+. Improved Unicode support.
+
+. Added support for the native Windows Vista and Windows Server 2008
+ condition variables. These has to be enabled at compile time, and when
+ enabled the application can only run on Vista or Server 2008. Add
+ ACE_HAS_WTHREADS_CONDITION_VARIABLE to your config.h file to enable
+ these
+
+. Fixed a bug when trying to read a file of 1 byte when unicode is
+ enabled
+
+. Improved the Windows CE port
+
+. Fixed several Klocwork reported issues
+
+. Added support for MinGW 3.15
+
+. Added support for Incredibuild, which is an MSVC++ feature that
+ optimizes compiles via distributing builds.
USER VISIBLE CHANGES BETWEEN ACE-5.6.7 and ACE-5.6.8
====================================================
@@ -10,6 +185,18 @@ USER VISIBLE CHANGES BETWEEN ACE-5.6.7 and ACE-5.6.8
pathname is "dot dir" (ie. "." or ".."). ACE::isdotdir() is significantly
faster than pair of strcmp() calls.
+. Last micro release that is maintained for Borland/CodeGear C++
+ Builder 2007 and Intel C++ on Windows.
+
+. Fixed crash when ACE thread tries to inherit the logging attributes
+ from non ACE threads.
+
+. Fixed many small compile and test errors that occur on some platforms.
+
+. Fixed log output formatting on some platforms.
+
+. Bugs fixed: 2748, 3164, 3480, 3494, 3502, 3541, 3542, 3544, 3557.
+
USER VISIBLE CHANGES BETWEEN ACE-5.6.6 and ACE-5.6.7
====================================================
diff --git a/PROBLEM-REPORT-FORM b/PROBLEM-REPORT-FORM
index 0be2e089927..5e4fad45903 100644
--- a/PROBLEM-REPORT-FORM
+++ b/PROBLEM-REPORT-FORM
@@ -43,7 +43,7 @@
To: ace-bugs@cs.wustl.edu
Subject: [area]: [synopsis]
- ACE VERSION: 5.6.7
+ ACE VERSION: 5.7.8
HOST MACHINE and OPERATING SYSTEM:
If on Windows based OS's, which version of WINSOCK do you
@@ -60,6 +60,9 @@ Subject: [area]: [synopsis]
(unless this isn't used in this case, e.g., with Microsoft Visual
C++)]:
+ BUILD METHOD USED:
+[Experimental ./configure or traditional makefile/project file?]
+
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
(used by MPC when you generate your own makefiles):
diff --git a/THANKS b/THANKS
index 4715d9841b9..bcda25b0c57 100644
--- a/THANKS
+++ b/THANKS
@@ -168,7 +168,7 @@ Jean-Francois Ripouteau <Jean-Francois dot Ripouteau at netsurf dot org>
Ajit Sagar <asagar at spdmail dot spd dot dsccc dot com>
Ashish Singhai <singhai at delirius dot cs dot uiuc dot edu>
David Sames <David dot L dot Sames dot 1 at gsfc dot nasa dot gov>
-Gonzalo Diethelm <gonzalo dot diethelm at aditiva dot com>
+Gonzalo Diethelm <gdiethelm at dcv dot cl>
Raj <raj at itd dot ssb dot com>
Darrin Edelman <darrin at aetherworks dot com>
Steve Weismuller <spweismu at rsoc dot rockwell dot com>
@@ -776,7 +776,6 @@ Philipp Slusallek <slusallek at graphics dot stanford dot edu>
Matthew Davis <matthew dot davis at solers dot com>
Janusz Stopa <jstopa at bear dot com>
Rusty Conover <rconover at zootweb dot com>
-Alex Mintz <amintz at bear dot com>
Phillippe Merle <Philippe dot Merle at lifl dot fr>
Mark Winrock <mwinrock at nortelnetworks dot com>
Boris Kaminer <boris_kaminer at mail dot ru>
@@ -1069,7 +1068,7 @@ Giovanni Zito <gzito at mbox dot thunder dot it>
Matthew Adams <madams at bexusa dot com>
Sameer Schabungbam <schabungbam at hss dot hns dot com>
Jeff Butler <jeff at panasas dot com>
-Roland Rüdenauer <roland dot ruedenauer at freenet dot de>
+Roland R�denauer <roland dot ruedenauer at freenet dot de>
John Buckman <john at lyris dot com>
Guy Rosen <grosen at bigfoot dot com>
<amoderni at viasoft dot com>
@@ -1140,7 +1139,7 @@ Mike Anderson <manderson at sonusnet dot com>
David Singer <David_P_Singer at res dot raytheon dot com>
Nick Lin <nicklin at vantech dot com dot tw>
Ron Hashimshony <Ron at bandwiz dot com>
-Max Khon <mkhon at swsoft dot com>
+Max Khon <mkhon at parallels dot com>
Jonas Nordin <jonas dot nordin at syncom dot se>
Jonathan Stockdale <Jonathan dot Stockdale at locusdialogue dot com>
Jean-Francois Daune <Daune at IBA dot be>
@@ -1963,7 +1962,7 @@ Arto Jalkanen <ajalkane at gmail dot com>
Scott Zionic <sz at finsatconsulting dot com>
Diana Ukleja <Diana_Ukleja at raytheon dot com>
Shaun Cooley <scooley4241 at hotmail dot com>
-Aapo Mäkinen <aapo dot makinen at firstbeattechnologies dot com>
+Aapo M�kinen <aapo dot makinen at firstbeattechnologies dot com>
Matt Emerson <mjemerson at isis dot vanderbilt dot edu>
Sean Parker <supinlick at yahoo dot com>
Mark Wilson <mwil at lle dot rochester dot edu>
@@ -2009,7 +2008,7 @@ Timothy Wayne Gomez <gomezt at saic dot com>
Ventimiglia Chere <Ventimiglia_Chere at emc dot com>
Frederick Heckel <fwph at cse dot wustl dot edu>
Ian Zagorskih <ianzag at megasignal dot com>
-Olivier Guérin <guerin35 at hotmail dot com>
+Olivier Gu�rin <guerin35 at hotmail dot com>
Abdel Rigumye <rigumyea at ociweb dot com>
James Damour <james dot damour at request dot com>
Alan Anderson <Alan dot Anderson at sdsmt dot edu>
@@ -2165,7 +2164,7 @@ Ray Lischner <rlischner at proteus-technologies dot com>
Sergey Kosenko <sergey dot kosenko at gmail dot com>
Pavel Zaichenko <zpf at ivl dot ua>
Paul Riley <paul at riley dot net>
-Nelson Filipe Ferreira Gonçalves <ngoncalves at isr dot ist dot utl dot pt>
+Nelson Filipe Ferreira Gon�alves <ngoncalves at isr dot ist dot utl dot pt>
Harry Goldschmitt <harry at hgac dot com>
Sail Zeng <sailzeng at tencent dot com>
Markus Henschel <m dot henschel at bally-wulff dot de>
@@ -2221,7 +2220,7 @@ Hayim Shaul <hayim at iportent dot com>
Erman Balcik <erman dot balcik at siemens dot com>
Torsten Saliwada <sally at gmx dot net>
Nathan Glasser <nglasser at cantata dot com>
-Grégor Boirie <gregor dot boirie at free dot fr>
+Gr�gor Boirie <gregor dot boirie at free dot fr>
Alex Solan <alex dot solan at gmail dot com>
Venkat Sidhabathuni <venkats at idengines dot com>
Nathan Ernst <Nathan dot Ernst at citadelgroup dot com>
@@ -2250,7 +2249,7 @@ Ittehad Shaikh <ishaikh at verivue dot com>
Michael Doubez <michael dot doubez at gmail dot com>
Namrata Gandhi <...>
Michael Guntli <michael dot guntli at leica-geosystems dot com>
-Frank Förster <F dot Forster at herts dot ac dot uk>
+Frank F�rster <F dot Forster at herts dot ac dot uk>
Roger Leblanc <rog dot leblanc at gmail dot com>
Bob Fiske <Robert dot Fiske at ironmountain dot com>
Julien Vintrou <vintrouj at gmail dot com>
@@ -2269,6 +2268,60 @@ Daniel Lang <danial dot lang at alphagate dot at>
Greg Bothe <ace at netrats dot net>
Anand Kumar <anandkumar95 at gmail dot com>
Joe Pallas <pallas at cs dot stanford dot edu>
+Marcel Smit <msmit at remedy dot nl>
+Florent Vial <florent dot vial at gmail dot com>
+Pan Kai Luna <pan dot kai dot luna at gmail dot com>
+Jesus Martinez <jmcruz at lcc dot uma dot es>
+Martin Gaus <Gaus at gmx dot de>
+Steve Stallion <stallions at ociweb dot com>
+Ron van Hoof <rvhoof27 at gmail dot com>
+Joe Lihn <joelihn at hotmail dot com>
+Jani Hakala <jahakala at iki dot fi>
+Marcus Monaghan <marcus dot monaghan at wins dot co dot uk>
+Kashif Khan <kashif_khan198227 at yahoo dot com>
+JD Robertson <JD.Robertson at ni dot com>
+Andreas Drescher <ace at anticat dot ch>
+Alon Diamant <diamant at alon at gmail dot com>
+Igor Rayak <igor dot rayak at gmail dot com>
+Shai Kedem <shai_kedem at hotmail dot com>
+Steve Ramsay <steve dot ramsay at caris dot com>
+<moyyo at freetekno dot cz>
+Skrzyniarz Alexandre <alexandre dot skrzyniarz at fr dot thalesgroup dot com>
+Rob Beekmans <r dot a dot beekmans at philips dot com>
+Steven Hartmann <shartmann at militho dot com>
+Dicky <qianchendi at gmail dot com>
+Boyan Kasarov <bkasarov at gmail dot com>
+Brendan Murphy <brendan dot murphy at euro dot apple dot com>
+Ryan Carmichael <RCarmichael at drs-tem dot com>
+Koh Onishi <k_onishi at mtj dot biglobe dot ne dot jp>
+Markus Gaugusch <markus at gaugusch dot at>
+Annette Wilson <awilson at raytheonvtc dot com>
+Sharon Mizrahi <sharon dot mizrahi at gmail dot com>
+William Glenn <wglenn at scires dot com>
+Christian Ehrlicher <Ch dot Ehrlicher at gmx dot de>
+Hui Zhang <zhanghui9527 at gmail dot com>
+Marijke Hengstmengel <mhengstmengel at remedy dot nl>
+Christian Freund <freund at wrz dot de>
+Chris Shaw <google at cshaw-tech dot co dot uk>
+Matthew Carter <r_q_einstein-acetaobugs at yahoo dot com>
+Denis Budko <denis dot budko at remedy dot nl>
+Gaurav Kulshreshtha <gaurav dot kulshreshtha at onmobile dot com>
+Wolfgang Pickartz <Wolfgang dot Pickartz at procom.de>
+Joost Kraaijeveld <J dot Kraaijeveld at Askesis dot nl>
+Pau Garcia i Quiles <pgquiles at elpauer dot org>
+Sail Zeng <sailzeng at tencent dot com>
+Dirk Bonekaemper <dirk dot bonekaemper at dfs dot de>
+Sreejith <sreejithsmadhavan at gmail dot com>
+Guillaume Lahaye <Guillaume dot Lahaye at nuance dot com>
+Andrew Kaplan <alexande dot kaplan at tafcorp dot com>
+Alexander Mintz <alexande dot mintz at tafcorp dot com>
+Jennifer Kahng <jennifer dot kahng at lmco dot com>
+Trent Nadeau <Trent dot Nadeau at ngc dot com>
+Nick Meyer <nick dot meyer at sensis dot com>
+Olivier Langlois <olivier at olivierlanglois dot net>
+Patrick Soboljew <patrick dot soboljew at gmail dot com>
+Tim Pinkawa <tpinkawa at eagleseven dot com>
+Ed Blackmond <ed dot blackmond at themis dot com>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/VERSION b/VERSION
index ced5cf90518..521dc11a3bb 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
-This is ACE version 5.6.7, released Thu Nov 27 04:09:39 CST 2008
+This is ACE version 5.7.8, released Fri Apr 02 10:50:48 CEST 2010
If you have any problems with or questions about ACE, please send
email to the ACE mailing list (ace-users@cs.wustl.edu), using the form
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index 7acccf09079..03c35fc991d 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -163,6 +163,13 @@ ACE::compiler_beta_version (void)
#endif
}
+ACE_TCHAR
+ACE::nibble2hex (u_int n)
+{
+ // Yes, this works for UNICODE
+ return ACE_TEXT ("0123456789abcdef")[n & 0x0f];
+}
+
bool
ACE::debug (void)
{
@@ -2352,7 +2359,11 @@ ACE::format_hexdump (const char *buffer,
textver[j] = 0;
ACE_OS::sprintf (obuf,
+#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+ ACE_TEXT (" %ls\n"),
+#else
ACE_TEXT (" %s\n"),
+#endif
textver);
while (*obuf != '\0')
@@ -2393,7 +2404,11 @@ ACE::format_hexdump (const char *buffer,
textver[i] = 0;
ACE_OS::sprintf (obuf,
+#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+ ACE_TEXT (" %ls\n"),
+#else
ACE_TEXT (" %s\n"),
+#endif
textver);
}
return size;
@@ -2408,6 +2423,22 @@ ACE::timestamp (ACE_TCHAR date_and_time[],
size_t date_and_timelen,
bool return_pointer_to_first_digit)
{
+ return ACE::timestamp (ACE_Time_Value::zero,
+ date_and_time,
+ date_and_timelen,
+ return_pointer_to_first_digit);
+}
+
+// Returns the given timestamp in the form
+// "hour:minute:second:microsecond." The month, day, and year are
+// also stored in the beginning of the date_and_time array.
+
+ACE_TCHAR *
+ACE::timestamp (const ACE_Time_Value& time_value,
+ ACE_TCHAR date_and_time[],
+ size_t date_and_timelen,
+ bool return_pointer_to_first_digit)
+{
//ACE_TRACE ("ACE::timestamp");
if (date_and_timelen < 35)
@@ -2417,52 +2448,57 @@ ACE::timestamp (ACE_TCHAR date_and_time[],
}
#if defined (WIN32)
- // Emulate Unix. Win32 does NOT support all the UNIX versions
- // below, so DO we need this ifdef.
- static const ACE_TCHAR *day_of_week_name[] =
- {
- ACE_TEXT ("Sun"),
- ACE_TEXT ("Mon"),
- ACE_TEXT ("Tue"),
- ACE_TEXT ("Wed"),
- ACE_TEXT ("Thu"),
- ACE_TEXT ("Fri"),
- ACE_TEXT ("Sat")
- };
-
- static const ACE_TCHAR *month_name[] =
- {
- ACE_TEXT ("Jan"),
- ACE_TEXT ("Feb"),
- ACE_TEXT ("Mar"),
- ACE_TEXT ("Apr"),
- ACE_TEXT ("May"),
- ACE_TEXT ("Jun"),
- ACE_TEXT ("Jul"),
- ACE_TEXT ("Aug"),
- ACE_TEXT ("Sep"),
- ACE_TEXT ("Oct"),
- ACE_TEXT ("Nov"),
- ACE_TEXT ("Dec")
- };
-
- SYSTEMTIME local;
- ::GetLocalTime (&local);
-
- ACE_OS::sprintf (date_and_time,
- ACE_TEXT ("%3s %3s %2d %04d %02d:%02d:%02d.%06d"),
- day_of_week_name[local.wDayOfWeek],
- month_name[local.wMonth - 1],
- (int) local.wDay,
- (int) local.wYear,
- (int) local.wHour,
- (int) local.wMinute,
- (int) local.wSecond,
- (int) (local.wMilliseconds * 1000));
- return &date_and_time[15 + (return_pointer_to_first_digit != 0)];
-#else /* UNIX */
+ if (time_value == ACE_Time_Value::zero)
+ {
+ // Emulate Unix. Win32 does NOT support all the UNIX versions
+ // below, so DO we need this ifdef.
+ static const ACE_TCHAR *day_of_week_name[] =
+ {
+ ACE_TEXT ("Sun"),
+ ACE_TEXT ("Mon"),
+ ACE_TEXT ("Tue"),
+ ACE_TEXT ("Wed"),
+ ACE_TEXT ("Thu"),
+ ACE_TEXT ("Fri"),
+ ACE_TEXT ("Sat")
+ };
+
+ static const ACE_TCHAR *month_name[] =
+ {
+ ACE_TEXT ("Jan"),
+ ACE_TEXT ("Feb"),
+ ACE_TEXT ("Mar"),
+ ACE_TEXT ("Apr"),
+ ACE_TEXT ("May"),
+ ACE_TEXT ("Jun"),
+ ACE_TEXT ("Jul"),
+ ACE_TEXT ("Aug"),
+ ACE_TEXT ("Sep"),
+ ACE_TEXT ("Oct"),
+ ACE_TEXT ("Nov"),
+ ACE_TEXT ("Dec")
+ };
+
+ SYSTEMTIME local;
+ ::GetLocalTime (&local);
+
+ ACE_OS::sprintf (date_and_time,
+ ACE_TEXT ("%3s %3s %2d %04d %02d:%02d:%02d.%06d"),
+ day_of_week_name[local.wDayOfWeek],
+ month_name[local.wMonth - 1],
+ (int) local.wDay,
+ (int) local.wYear,
+ (int) local.wHour,
+ (int) local.wMinute,
+ (int) local.wSecond,
+ (int) (local.wMilliseconds * 1000));
+ return &date_and_time[15 + (return_pointer_to_first_digit != 0)];
+ }
+#endif /* WIN32 */
ACE_TCHAR timebuf[26]; // This magic number is based on the ctime(3c) man page.
- ACE_Time_Value cur_time = ACE_OS::gettimeofday ();
+ ACE_Time_Value cur_time =
+ (time_value == ACE_Time_Value::zero) ?
+ ACE_Time_Value (ACE_OS::gettimeofday ()) : time_value;
time_t secs = cur_time.sec ();
ACE_OS::ctime_r (&secs,
@@ -2491,7 +2527,6 @@ ACE::timestamp (ACE_TCHAR date_and_time[],
cur_time.usec ());
date_and_time[33] = '\0';
return &date_and_time[15 + (return_pointer_to_first_digit != 0)];
-#endif /* WIN32 */
}
// This function rounds the request to a multiple of the page size.
diff --git a/ace/ACE.h b/ace/ACE.h
index eaa6915433d..8894788b627 100644
--- a/ace/ACE.h
+++ b/ace/ACE.h
@@ -418,6 +418,9 @@ namespace ACE
/// @c ACE_OS::malloc to allocate the new string.
extern ACE_Export char *strnnew (const char *str, size_t n);
+ /// Determine if a specified pathname is "dot dir" (ie. "." or "..").
+ ACE_NAMESPACE_INLINE_FUNCTION bool isdotdir (const char *s);
+
#if defined (ACE_HAS_WCHAR)
extern ACE_Export const wchar_t *strend (const wchar_t *s);
@@ -429,10 +432,9 @@ namespace ACE
extern ACE_Export wchar_t *strnnew (const wchar_t *str, size_t n);
-#endif /* ACE_HAS_WCHAR */
+ ACE_NAMESPACE_INLINE_FUNCTION bool isdotdir (const wchar_t *s);
- /// Determine if a specified pathname is "dot dir" (ie. "." or "..").
- ACE_NAMESPACE_INLINE_FUNCTION bool isdotdir (const char *s);
+#endif /* ACE_HAS_WCHAR */
/**
* On Windows, determines if a specified pathname ends with ".exe"
@@ -472,6 +474,22 @@ namespace ACE
ACE_DIRECTORY_SEPARATOR_CHAR);
/**
+ * Returns the given timestamp in the form
+ * "hour:minute:second:microsecond." The month, day, and year are
+ * also stored in the beginning of the @a date_and_time array, which
+ * is a user-supplied array of size @a time_len> @c ACE_TCHARs.
+ * Returns 0 if unsuccessful, else returns pointer to beginning of the
+ * "time" portion of @a date_and_time. If @a
+ * return_pointer_to_first_digit is 0 then return a pointer to the
+ * space before the time, else return a pointer to the beginning of
+ * the time portion.
+ */
+ extern ACE_Export ACE_TCHAR *timestamp (const ACE_Time_Value& time_value,
+ ACE_TCHAR date_and_time[],
+ size_t time_len,
+ bool return_pointer_to_first_digit = false);
+
+ /**
* Returns the current timestamp in the form
* "hour:minute:second:microsecond." The month, day, and year are
* also stored in the beginning of the @a date_and_time array, which
@@ -625,7 +643,7 @@ namespace ACE
ACE_NAMESPACE_INLINE_FUNCTION u_long log2 (u_long num);
/// Hex conversion utility.
- ACE_NAMESPACE_INLINE_FUNCTION ACE_TCHAR nibble2hex (u_int n);
+ extern ACE_Export ACE_TCHAR nibble2hex (u_int n);
/// Convert a hex character to its byte representation.
ACE_NAMESPACE_INLINE_FUNCTION u_char hex2byte (ACE_TCHAR c);
diff --git a/ace/ACE.inl b/ace/ACE.inl
index 507ec46108e..67fd981bf38 100644
--- a/ace/ACE.inl
+++ b/ace/ACE.inl
@@ -288,9 +288,18 @@ ACE_INLINE bool
ACE::isdotdir (const char *s)
{
return (s[0] == '.' &&
- ((s[1] == 0) || (s[1] == '.' && s[2] == 0)));
+ ((s[1] == 0) || (s[1] == '.' && s[2] == 0)));
}
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE bool
+ACE::isdotdir (const wchar_t *s)
+{
+ return (s[0] == ACE_TEXT ('.') &&
+ ((s[1] == 0) || (s[1] == ACE_TEXT ('.') && s[2] == 0)));
+}
+#endif /* ACE_HAS_WCHAR */
+
ACE_INLINE void
ACE::unique_name (const void *object,
ACE_TCHAR *name,
@@ -310,24 +319,6 @@ ACE::log2 (u_long num)
return log;
}
-ACE_INLINE ACE_TCHAR
-ACE::nibble2hex (u_int n)
-{
- // Hexadecimal characters.
-#if defined (ACE_VXWORKS) && !defined (__DCPLUSPLUS__)
- // temporary solution to prevent Windriver GNU toolchains from spewing
- // loads of warnings when inlining.
- // problem (incorrect warning leftover from older GNU) has been reported as
- // TSR to Windriver.
- const ACE_TCHAR hex_chars[] = ACE_TEXT ("0123456789abcdef");
-#else
- static const ACE_TCHAR hex_chars[] = ACE_TEXT ("0123456789abcdef");
-#endif
-
- // Yes, this works for UNICODE
- return hex_chars[n & 0x0f];
-}
-
ACE_INLINE int
ACE::map_errno (int error)
{
diff --git a/ace/ATM_Acceptor.cpp b/ace/ATM_Acceptor.cpp
index 41112db9de5..6c725566315 100644
--- a/ace/ATM_Acceptor.cpp
+++ b/ace/ATM_Acceptor.cpp
@@ -81,7 +81,7 @@ ACE_ATM_Acceptor::get_local_addr (ACE_ATM_Addr &local_addr)
return -1;
}
- return (0);
+ return 0;
#else
ACE_UNUSED_ARG (local_addr);
@@ -298,7 +298,7 @@ ACE_ATM_Acceptor::accept (ACE_ATM_Stream &new_sap,
ACE_UNUSED_ARG (reset_new_handle);
ACE_UNUSED_ARG (params);
ACE_UNUSED_ARG (qos);
- return (0);
+ return 0;
#endif /* ACE_HAS_FORE_ATM_XTI */
}
diff --git a/ace/ATM_Addr.cpp b/ace/ATM_Addr.cpp
index 19088cef5b1..58f1e95263d 100644
--- a/ace/ATM_Addr.cpp
+++ b/ace/ATM_Addr.cpp
@@ -338,7 +338,7 @@ ACE_ATM_Addr::string_to_addr (const ACE_TCHAR sap[])
}
if (WSALookupServiceEnd (hLookup) == SOCKET_ERROR) {
- ACE_OS::printf ("Error : WSALookupServiceEnd failed! %d \n",
+ ACE_OS::printf ("Error : WSALookupServiceEnd failed! %d\n",
::WSAGetLastError ());
errno = EINVAL;
return -1;
diff --git a/ace/ATM_Connector.inl b/ace/ATM_Connector.inl
index ef0773b8930..dcf4b80284a 100644
--- a/ace/ATM_Connector.inl
+++ b/ace/ATM_Connector.inl
@@ -96,7 +96,7 @@ ACE_ATM_Connector::add_leaf (ACE_ATM_Stream &current_stream,
return (result != ACE_INVALID_HANDLE);
#elif defined (ACE_HAS_LINUX_ATM)
- ACE_OS::printf("ATM_Connector(add_leaf): not yet implemented in Linux \n");
+ ACE_OS::printf("ATM_Connector(add_leaf): not yet implemented in Linux\n");
ACE_UNUSED_ARG(current_stream);
ACE_UNUSED_ARG(remote_sap);
diff --git a/ace/ATM_QoS.cpp b/ace/ATM_QoS.cpp
index 6a7e6d4f463..b30bc406626 100644
--- a/ace/ATM_QoS.cpp
+++ b/ace/ATM_QoS.cpp
@@ -451,7 +451,7 @@ ACE_ATM_QoS::construct_options (ACE_HANDLE fd,
ACE_UNUSED_ARG (rate);
ACE_UNUSED_ARG (flags);
ACE_UNUSED_ARG (len);
- return (0);
+ return 0;
#elif defined (ACE_HAS_FORE_ATM_XTI)
struct t_opthdr *popt;
char *buf;
@@ -621,7 +621,7 @@ ACE_ATM_QoS::construct_options (ACE_HANDLE fd,
ACE_UNUSED_ARG (rate);
ACE_UNUSED_ARG (flag);
ACE_UNUSED_ARG (len);
- return (0);
+ return 0;
#endif /* ACE_HAS_FORE_ATM_WS2 */
}
diff --git a/ace/ATM_Stream.cpp b/ace/ATM_Stream.cpp
index 21035b97f52..62e79af1b23 100644
--- a/ace/ATM_Stream.cpp
+++ b/ace/ATM_Stream.cpp
@@ -216,7 +216,7 @@ ACE_ATM_Stream::get_vpi_vci (ACE_UINT16 &vpi,
vpi = conn_prop.vpi;
vci = conn_prop.vci;
- return (0);
+ return 0;
#elif defined (ACE_HAS_FORE_ATM_WS2)
ATM_CONNECTION_ID connID;
DWORD bytes = 0;
@@ -278,10 +278,10 @@ ACE_ATM_Stream::get_vpi_vci (ACE_UINT16 &vpi,
ACE_UNUSED_ARG (vci);
ACE_UNUSED_ARG (vpi);
- return (-1);
+ return -1;
#endif /* SO_ATMPVC || SO_VCID */
#else
- return (-1);
+ return -1;
#endif /* ACE_HAS_FORE_ATM_XTI || ACE_HAS_FORE_ATM_WS2 || ACE_HAS_LINUX_ATM */
}
diff --git a/ace/ATM_Stream.inl b/ace/ATM_Stream.inl
index b796af474e7..1c0420e8db5 100644
--- a/ace/ATM_Stream.inl
+++ b/ace/ATM_Stream.inl
@@ -103,7 +103,7 @@ ACE_ATM_Stream::recv (void *buf,
ACE_UNUSED_ARG(buf);
ACE_UNUSED_ARG(n);
ACE_UNUSED_ARG(flags);
- return (0);
+ return 0;
#endif /* ACE_HAS_FORE_ATM_XTI */
}
@@ -126,7 +126,7 @@ ACE_ATM_Stream::send_n (const void *buf,
ACE_UNUSED_ARG(buf);
ACE_UNUSED_ARG(n);
ACE_UNUSED_ARG(flags);
- return (0);
+ return 0;
#endif /* ACE_HAS_FORE_ATM_XTI */
}
diff --git a/ace/Acceptor.cpp b/ace/Acceptor.cpp
index 1b708cbe7cd..b66b293eef1 100644
--- a/ace/Acceptor.cpp
+++ b/ace/Acceptor.cpp
@@ -287,7 +287,18 @@ ACE_Acceptor<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::accept_svc_handler
// created handle. This is because the newly created handle will
// inherit the properties of the listen handle, including its event
// associations.
- bool const reset_new_handle = this->reactor ()->uses_event_associations ();
+
+ ACE_Reactor *reactor = this->reactor ();
+ bool reset_new_handle;
+
+ if (reactor)
+ reset_new_handle = reactor->uses_event_associations ();
+ else
+ {
+ // Acceptor is closed, so reject this call
+ errno = EINVAL;
+ return -1;
+ }
if (this->acceptor ().accept (svc_handler->peer (), // stream
0, // remote address
diff --git a/ace/Acceptor.h b/ace/Acceptor.h
index 496512afd6e..9ff18245638 100644
--- a/ace/Acceptor.h
+++ b/ace/Acceptor.h
@@ -187,7 +187,7 @@ protected:
/**
* Bridge method for accepting the new connection into the
- * <svc_handler>. The default behavior delegates to the
+ * @a svc_handler. The default behavior delegates to the
* PEER_ACCEPTOR::accept.
*/
virtual int accept_svc_handler (SVC_HANDLER *svc_handler);
@@ -293,8 +293,6 @@ public:
typedef ACE_Concurrency_Strategy<SVC_HANDLER> CONCURRENCY_STRATEGY;
typedef ACE_Scheduling_Strategy<SVC_HANDLER> SCHEDULING_STRATEGY;
-
-
/// Default constructor.
ACE_Strategy_Acceptor (const ACE_TCHAR service_name[] = 0,
const ACE_TCHAR service_description[] = 0,
@@ -505,21 +503,30 @@ protected:
* @class ACE_Oneshot_Acceptor
*
* @brief Generic factory for passively connecting clients and creating
- * exactly one service handler (SVC_HANDLER).
+ * exactly one service handler of the type SVC_HANDLER specified in the
+ * template.
*
- * This class works similarly to the regular {ACE_Acceptor},
+ * This class works similarly to the regular ACE_Acceptor, but
* with the following differences:
- * 1. This class doesn't automagically register {this} with the
- * {ACE_Reactor} since it expects to have its {accept} method
- * called directly. However, it stashes the {ACE_Reactor}
- * pointer away in case it's needed later to finish accepting
- * a connection asynchronously.
- * 2. The class doesn't need an {ACE_Creation_Strategy} (since
- * the user supplies the SVC_HANDLER) or an
- * {ACE_Accept_Strategy} (since this class only accepts one
- * connection and then removes all traces of itself from the
- * {ACE_Reactor} if it was registered for asynchronous
- * accepts).
+ * -# ACE_Oneshot_Acceptor doesn't automatically register itself with the
+ * ACE_Reactor; the caller is expected to call the accept() method
+ * directly. Since a later call to accept() may require a reactor,
+ * the constructor and open() methods both accept an ACE_Reactor pointer
+ * which is saved in case it's needed in accept().
+ * -# ACE_Oneshot_Acceptor doesn't need an ACE_Creation_Strategy (because
+ * the user supplies the SVC_HANDLER) or an ACE_Accept_Strategy (because
+ * this class only accepts one connection and then removes all traces of
+ * itself from the ACE_Reactor if it was registered for asynchronous
+ * accepts).
+ *
+ * The usage model for ACE_Oneshot_Acceptor is:
+ * - Instantiate an object and establish its local address to listen at.
+ * This can be accomplished using either the address-accepting constructor
+ * (but there's no error indication) or the default constructor followed
+ * by a call to open().
+ * - Call the accept() method. This will attempt to accept a connection
+ * immediately. If there is no immediately available connection to accept,
+ * behavior is governed by the ACE_Synch_Options argument passed to open().
*/
template <class SVC_HANDLER, ACE_PEER_ACCEPTOR_1>
class ACE_Oneshot_Acceptor : public ACE_Service_Object
@@ -537,10 +544,10 @@ public:
/**
* Initialize the appropriate strategies for concurrency and then
- * open the {peer_acceptor} at the designated {local_addr}. Note
- * that unlike the {ACE_Acceptor} and {ACE_Strategy_Acceptor}, this
- * method does NOT register {this} acceptor with the {reactor} at
- * this point -- it just stashes the {reactor} away in case it's
+ * open the acceptor at the designated @a local_addr. Note
+ * that unlike ACE_Acceptor and ACE_Strategy_Acceptor, this
+ * method does NOT register this acceptor with the @a reactor at
+ * this point -- the @a reactor parameter is saved in case it's
* needed later.
*/
ACE_Oneshot_Acceptor (const ACE_PEER_ACCEPTOR_ADDR &local_addr,
@@ -549,10 +556,10 @@ public:
/**
* Initialize the appropriate strategies for concurrency and then
- * open the {peer_acceptor} at the designated {local_addr}. Note
- * that unlike the {ACE_Acceptor} and {ACE_Strategy_Acceptor}, this
- * method does NOT register {this} acceptor with the {reactor} at
- * this point -- it just stashes the {reactor} away in case it's
+ * open the acceptor at the designated @a local_addr. Note
+ * that unlike ACE_Acceptor and ACE_Strategy_Acceptor, this
+ * method does NOT register this acceptor with the @a reactor at
+ * this point -- the @a reactor parameter is saved in case it's
* needed later.
*/
int open (const ACE_PEER_ACCEPTOR_ADDR &,
diff --git a/ace/Activation_Queue.cpp b/ace/Activation_Queue.cpp
index aef17d05e7a..324a26bcce3 100644
--- a/ace/Activation_Queue.cpp
+++ b/ace/Activation_Queue.cpp
@@ -23,7 +23,7 @@ ACE_Activation_Queue::dump (void) const
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("delete_queue_ = %d\n"),
this->delete_queue_));
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("queue_: \n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("queue_:\n")));
if (this->queue_)
this->queue_->dump();
else
diff --git a/ace/Active_Map_Manager_T.h b/ace/Active_Map_Manager_T.h
index 34b5a475652..2ab3d35e1e6 100644
--- a/ace/Active_Map_Manager_T.h
+++ b/ace/Active_Map_Manager_T.h
@@ -53,22 +53,22 @@ public:
typedef REVERSE_ITERATOR reverse_iterator;
// = Initialization and termination methods.
- /// Initialize a <Active_Map_Manager> with the ACE_DEFAULT_MAP_SIZE.
+ /// Initialize a Active_Map_Manager with the ACE_DEFAULT_MAP_SIZE.
ACE_Active_Map_Manager (ACE_Allocator *alloc = 0);
- /// Initialize a <Active_Map_Manager> with @a size entries.
+ /// Initialize a Active_Map_Manager with @a size entries.
ACE_Active_Map_Manager (size_t size,
ACE_Allocator *alloc = 0);
- /// Close down a <Active_Map_Manager> and release dynamically
+ /// Close down a Active_Map_Manager and release dynamically
/// allocated resources.
~ACE_Active_Map_Manager (void);
- /// Initialize a <Active_Map_Manager> with size @a length.
+ /// Initialize a Active_Map_Manager with size @a length.
int open (size_t length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator *alloc = 0);
- /// Close down a <Active_Map_Manager> and release dynamically
+ /// Close down a Active_Map_Manager and release dynamically
/// allocated resources.
int close (void);
@@ -84,8 +84,8 @@ public:
/**
* Reserves a slot in the internal structure and returns the key and
* a pointer to the value. User should place their @a value into
- * <*internal_value>. This method is useful in reducing the number
- * of copies required in some cases. Note that <internal_value> is
+ * @a internal_value. This method is useful in reducing the number
+ * of copies required in some cases. Note that @a internal_value is
* only a temporary pointer and will change when the map resizes.
* Therefore, the user should use the pointer immediately and not
* hold on to it.
@@ -126,8 +126,8 @@ public:
/**
* Locate @a value associated with @a key. The value is returned via
- * <internal_value> and hence a copy is saved. Note that
- * <internal_value> is only a temporary pointer and will change when
+ * @a internal_value and hence a copy is saved. Note that
+ * @a internal_value is only a temporary pointer and will change when
* the map resizes. Therefore, the user should use the pointer
* immediately and not hold on to it.
*/
@@ -148,8 +148,8 @@ public:
/**
* Locate @a value associated with @a key. The value is returned via
- * <internal_value> and hence a copy is saved. Note that
- * <internal_value> is only a temporary pointer and will change when
+ * @a internal_value and hence a copy is saved. Note that
+ * @a internal_value is only a temporary pointer and will change when
* the map resizes or when this slot is reused. Therefore, the user
* should use the pointer immediately and not hold on to it.
*/
diff --git a/ace/Addr.cpp b/ace/Addr.cpp
index f458e018eef..640bd561200 100644
--- a/ace/Addr.cpp
+++ b/ace/Addr.cpp
@@ -2,12 +2,10 @@
#include "ace/Addr.h"
-
ACE_RCSID (ace,
Addr,
"$Id$")
-
#if !defined (__ACE_INLINE__)
#include "ace/Addr.inl"
#endif /* __ACE_INLINE__ */
diff --git a/ace/Addr.inl b/ace/Addr.inl
index 3780e04b6aa..dc8e9286dc1 100644
--- a/ace/Addr.inl
+++ b/ace/Addr.inl
@@ -20,32 +20,28 @@ ACE_Addr::operator != (const ACE_Addr &sap) const
sap.addr_size_ != this->addr_size_ );
}
-// Return the size of the address.
-
+/// Return the size of the address.
ACE_INLINE int
ACE_Addr::get_size (void) const
{
return this->addr_size_;
}
-// Sets the size of the address.
-
+/// Sets the size of the address.
ACE_INLINE void
ACE_Addr::set_size (int size)
{
this->addr_size_ = size;
}
-// Return the type of the address.
-
+/// Return the type of the address.
ACE_INLINE int
ACE_Addr::get_type (void) const
{
return this->addr_type_;
}
-// Set the type of the address.
-
+/// Set the type of the address.
ACE_INLINE void
ACE_Addr::set_type (int type)
{
diff --git a/ace/Argv_Type_Converter.cpp b/ace/Argv_Type_Converter.cpp
index e16076818a4..178d25d9156 100644
--- a/ace/Argv_Type_Converter.cpp
+++ b/ace/Argv_Type_Converter.cpp
@@ -108,11 +108,10 @@ ACE_Argv_Type_Converter::initialize (void)
void
ACE_Argv_Type_Converter::align_char_with_wchar (void)
{
- int wchar_argv_index = 0;
- wchar_t* match_argv = this->wchar_argv_[0]; // pick the initial entry
-
- while (wchar_argv_index < this->saved_argc_)
+ for (int wchar_argv_index = 0; wchar_argv_index < this->saved_argc_;
+ ++wchar_argv_index)
{
+ wchar_t *match_argv = this->wchar_argv_[wchar_argv_index];
// if n'th entries of both argv lists are different
if (ACE_OS::strcmp (this->char_argv_[wchar_argv_index],
ACE_TEXT_ALWAYS_CHAR (match_argv)) != 0)
@@ -132,9 +131,6 @@ ACE_Argv_Type_Converter::align_char_with_wchar (void)
}
}
}
-
- // move to the next wchar argv list entry
- match_argv = this->wchar_argv_[++wchar_argv_index];
}
this->cleanup ();
@@ -143,11 +139,10 @@ ACE_Argv_Type_Converter::align_char_with_wchar (void)
void
ACE_Argv_Type_Converter::align_wchar_with_char (void)
{
- int char_argv_index = 0;
- char* match_argv = this->char_argv_[0]; // pick the initial entry
-
- while (char_argv_index < saved_argc_)
+ for (int char_argv_index = 0; char_argv_index < saved_argc_;
+ ++char_argv_index)
{
+ char* match_argv = this->char_argv_[char_argv_index];
// if n'th entries of both argv lists are different
if (ACE_OS::strcmp (
ACE_TEXT_ALWAYS_CHAR (this->wchar_argv_[char_argv_index]),
@@ -168,9 +163,6 @@ ACE_Argv_Type_Converter::align_wchar_with_char (void)
}
}
}
-
- // move to the next wchar argv list entry
- match_argv = this->char_argv_[++char_argv_index];
}
this->cleanup();
diff --git a/ace/Array_Base.h b/ace/Array_Base.h
index 210bab6d46d..0110a5224a9 100644
--- a/ace/Array_Base.h
+++ b/ace/Array_Base.h
@@ -118,7 +118,7 @@ public:
size_type size (void) const;
/**
- * Changes the size of the array to match <new_size>.
+ * Changes the size of the array to match @a new_size.
* It copies the old contents into the new array.
* Return -1 on failure.
*/
@@ -128,7 +128,7 @@ public:
size_type max_size (void) const;
/**
- * Changes the size of the array to match <new_size>.
+ * Changes the size of the array to match @a new_size.
* It copies the old contents into the new array.
* Return -1 on failure.
* It does not affect new_size
@@ -166,11 +166,11 @@ public:
protected:
/// Returns 1 if @a slot is within range, i.e., 0 >= @a slot <
- /// <cur_size_>, else returns 0.
+ /// @c cur_size_, else returns 0.
bool in_range (size_type slot) const;
- /// Maximum size of the array, i.e., the total number of <T> elements
- /// in <array_>.
+ /// Maximum size of the array, i.e., the total number of @c T elements
+ /// in @c array_.
size_type max_size_;
/**
@@ -212,7 +212,7 @@ public:
// = Iteration methods.
- /// Pass back the <next_item> that hasn't been seen in the Array.
+ /// Pass back the @a next_item that hasn't been seen in the Array.
/// Returns 0 when all items have been seen, else 1.
int next (T *&next_item);
diff --git a/ace/Array_Map.h b/ace/Array_Map.h
index cd0ae3efea6..02027f843a1 100644
--- a/ace/Array_Map.h
+++ b/ace/Array_Map.h
@@ -41,7 +41,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* (i.e. O(n)) search times.
*
* Map implementation that focuses on small footprint and fast
- * iteration. Search times are, however, linear (O(n)) meaning that
+ * iteration. Search times are, however, linear (O(n)) meaning that
* this map isn't suitable for large data sets that will be searched
* in performance critical areas of code. Iteration over large data
* sets, however, is faster than linked list-based maps, for example,
@@ -159,7 +159,7 @@ public:
/// Return @c true if the map is empty, else @c false.
bool is_empty (void) const; // ACE style
- /**
+ /**
* Return @c true if the map is empty, else @c false. We recommend
* using @c is_empty() instead since it's more consistent with the
* ACE container naming conventions.
diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp
index 1930967ad08..d87ca0d07dc 100644
--- a/ace/Asynch_Acceptor.cpp
+++ b/ace/Asynch_Acceptor.cpp
@@ -338,7 +338,7 @@ ACE_Asynch_Acceptor<HANDLER>::handle_accept (const ACE_Asynch_Accept::Result &re
&& result.error () != ECANCELED
#endif
)
- this->accept (this->bytes_to_read_);
+ this->accept (this->bytes_to_read_, result.act ());
}
template <class HANDLER> int
diff --git a/ace/Asynch_IO.h b/ace/Asynch_IO.h
index c14dc973729..054a29a255b 100644
--- a/ace/Asynch_IO.h
+++ b/ace/Asynch_IO.h
@@ -411,6 +411,9 @@ public:
/// The implementation class.
ACE_Asynch_Read_Stream_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Read_Stream &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Read_Stream (const ACE_Asynch_Read_Stream &))
};
// Forward declarations
@@ -564,6 +567,9 @@ public:
/// Implementation class.
ACE_Asynch_Write_Stream_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Write_Stream &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Write_Stream (const ACE_Asynch_Write_Stream &))
};
// Forward declarations
@@ -712,6 +718,9 @@ public:
/// one auto generated by MSVC is flagged as infinitely recursive
void operator= (Result &) {}
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Read_File &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Read_File (const ACE_Asynch_Read_File &))
};
// Forward declarations
@@ -845,6 +854,9 @@ public:
/// one auto generated by MSVC is flagged as infinitely recursive
void operator= (Result &) {};
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Write_File &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Write_File (const ACE_Asynch_Write_File &))
};
// Forward declarations
@@ -982,6 +994,9 @@ public:
/// Impelmentation class.
ACE_Asynch_Accept_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Accept &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Accept (const ACE_Asynch_Accept &))
};
// Forward declarations
class ACE_Asynch_Connect_Result_Impl;
@@ -1076,6 +1091,9 @@ public:
/// Impelmentation class.
ACE_Asynch_Connect_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Connect &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Connect (const ACE_Asynch_Connect &))
};
// Forward declarations
@@ -1287,6 +1305,9 @@ public:
/// Target data structure.
ACE_TRANSMIT_FILE_BUFFERS transmit_buffers_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Transmit_File &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Transmit_File (const ACE_Asynch_Transmit_File &))
};
@@ -1422,6 +1443,9 @@ public:
/// The implementation class.
ACE_Asynch_Read_Dgram_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Read_Dgram &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Read_Dgram (const ACE_Asynch_Read_Dgram &))
};
// Forward declarations
@@ -1552,6 +1576,9 @@ public:
/// Implementation class.
ACE_Asynch_Write_Dgram_Result_Impl *implementation_;
};
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Asynch_Write_Dgram &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Asynch_Write_Dgram (const ACE_Asynch_Write_Dgram &))
};
diff --git a/ace/Atomic_Op.cpp b/ace/Atomic_Op.cpp
index 9076b9f67ed..45b339f003e 100644
--- a/ace/Atomic_Op.cpp
+++ b/ace/Atomic_Op.cpp
@@ -34,8 +34,8 @@ single_cpu_increment (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp + 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), 1);
#elif defined(__GNUC__) && defined(PPC)
@@ -58,8 +58,8 @@ single_cpu_decrement (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp - 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), -1);
#elif defined(__GNUC__) && defined(PPC)
@@ -81,8 +81,8 @@ single_cpu_exchange (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xchg %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined(__GNUC__) && defined(PPC)
@@ -104,8 +104,8 @@ single_cpu_exchange_add (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_add_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined(__GNUC__) && defined(PPC)
@@ -147,8 +147,8 @@ multi_cpu_increment (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp + 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), 1);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -165,8 +165,8 @@ multi_cpu_decrement (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp - 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), -1);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -183,8 +183,8 @@ multi_cpu_exchange (volatile long *value, long rhs)
// The XCHG instruction automatically follows LOCK semantics
asm( "xchg %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -201,8 +201,8 @@ multi_cpu_exchange_add (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_add_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined (WIN32) && !defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
diff --git a/ace/Atomic_Op.h b/ace/Atomic_Op.h
index 24abb64ef1d..ea872ec5a8a 100644
--- a/ace/Atomic_Op.h
+++ b/ace/Atomic_Op.h
@@ -43,16 +43,26 @@
# endif /* ACE_HAS_INTERLOCKED_EXCHANGEADD */
# elif defined (ACE_HAS_INTEL_ASSEMBLY)
# define ACE_HAS_BUILTIN_ATOMIC_OP
+# elif defined (ACE_HAS_VXATOMICLIB)
+# define ACE_HAS_BUILTIN_ATOMIC_OP
+# elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+# define ACE_HAS_BUILTIN_ATOMIC_OP
# endif /* WIN32 */
#endif /* ACE_HAS_THREADS */
-#if defined (ACE_HAS_BUILTIN_ATOMIC_OP)
+// If we have the GCC Atomic builtin support, use it
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+# undef ACE_HAS_BUILTIN_ATOMIC_OP
+#endif
+
+// Include the templates here.
+#include "ace/Atomic_Op_GCC_T.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+#if defined (ACE_HAS_BUILTIN_ATOMIC_OP)
+
/**
- * @class ACE_Atomic_Op<ACE_Thread_Mutex, long>
- *
* @brief Specialization of ACE_Atomic_Op for platforms that
* support atomic integer operations.
*
@@ -63,64 +73,64 @@ template<>
class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, long>
{
public:
- /// Initialize <value_> to 0.
+ /// Initialize @c value_ to 0.
ACE_Atomic_Op (void);
- /// Initialize <value_> to c.
+ /// Initialize @c value_ to c.
ACE_Atomic_Op (long c);
/// Manage copying...
ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &c);
- /// Atomically pre-increment <value_>.
+ /// Atomically pre-increment @c value_.
long operator++ (void);
- /// Atomically post-increment <value_>.
+ /// Atomically post-increment @c value_.
long operator++ (int);
- /// Atomically increment <value_> by rhs.
+ /// Atomically increment @c value_ by rhs.
long operator+= (long rhs);
- /// Atomically pre-decrement <value_>.
+ /// Atomically pre-decrement @c value_.
long operator-- (void);
- /// Atomically post-decrement <value_>.
+ /// Atomically post-decrement @c value_.
long operator-- (int);
- /// Atomically decrement <value_> by rhs.
+ /// Atomically decrement @c value_ by rhs.
long operator-= (long rhs);
- /// Atomically compare <value_> with rhs.
+ /// Atomically compare @c value_ with rhs.
bool operator== (long rhs) const;
- /// Atomically compare <value_> with rhs.
+ /// Atomically compare @c value_ with rhs.
bool operator!= (long rhs) const;
- /// Atomically check if <value_> greater than or equal to rhs.
+ /// Atomically check if @c value_ greater than or equal to rhs.
bool operator>= (long rhs) const;
- /// Atomically check if <value_> greater than rhs.
+ /// Atomically check if @c value_ greater than rhs.
bool operator> (long rhs) const;
- /// Atomically check if <value_> less than or equal to rhs.
+ /// Atomically check if @c value_ less than or equal to rhs.
bool operator<= (long rhs) const;
- /// Atomically check if <value_> less than rhs.
+ /// Atomically check if @c value_ less than rhs.
bool operator< (long rhs) const;
- /// Atomically assign rhs to <value_>.
+ /// Atomically assign rhs to @c value_.
ACE_Atomic_Op<ACE_Thread_Mutex, long> &operator= (long rhs);
- /// Atomically assign <rhs> to <value_>.
+ /// Atomically assign <rhs> to @c value_.
ACE_Atomic_Op<ACE_Thread_Mutex, long> &operator= (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &rhs);
- /// Explicitly return <value_>.
+ /// Explicitly return @c value_.
long value (void) const;
/// Dump the state of an object.
void dump (void) const;
- /// Explicitly return <value_> (by reference).
+ /// Explicitly return @c value_ (by reference).
volatile long &value_i (void);
// ACE_ALLOC_HOOK_DECLARE;
@@ -150,8 +160,6 @@ private:
};
/**
- * @class ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>
- *
* @brief Specialization of ACE_Atomic_Op for platforms that
* support atomic integer operations.
*
@@ -162,64 +170,64 @@ template<>
class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>
{
public:
- /// Initialize <value_> to 0.
+ /// Initialize @c value_ to 0.
ACE_Atomic_Op (void);
- /// Initialize <value_> to c.
+ /// Initialize @c value_ to c.
ACE_Atomic_Op (unsigned long c);
/// Manage copying...
ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &c);
- /// Atomically pre-increment <value_>.
+ /// Atomically pre-increment @c value_.
unsigned long operator++ (void);
- /// Atomically post-increment <value_>.
+ /// Atomically post-increment @c value_.
unsigned long operator++ (int);
- /// Atomically increment <value_> by rhs.
+ /// Atomically increment @c value_ by rhs.
unsigned long operator+= (unsigned long rhs);
- /// Atomically pre-decrement <value_>.
+ /// Atomically pre-decrement @c value_.
unsigned long operator-- (void);
- /// Atomically post-decrement <value_>.
+ /// Atomically post-decrement @c value_.
unsigned long operator-- (int);
- /// Atomically decrement <value_> by rhs.
+ /// Atomically decrement @c value_ by rhs.
unsigned long operator-= (unsigned long rhs);
- /// Atomically compare <value_> with rhs.
+ /// Atomically compare @c value_ with rhs.
bool operator== (unsigned long rhs) const;
- /// Atomically compare <value_> with rhs.
+ /// Atomically compare @c value_ with rhs.
bool operator!= (unsigned long rhs) const;
- /// Atomically check if <value_> greater than or equal to rhs.
+ /// Atomically check if @c value_ greater than or equal to rhs.
bool operator>= (unsigned long rhs) const;
- /// Atomically check if <value_> greater than rhs.
+ /// Atomically check if @c value_ greater than rhs.
bool operator> (unsigned long rhs) const;
- /// Atomically check if <value_> less than or equal to rhs.
+ /// Atomically check if @c value_ less than or equal to rhs.
bool operator<= (unsigned long rhs) const;
- /// Atomically check if <value_> less than rhs.
+ /// Atomically check if @c value_ less than rhs.
bool operator< (unsigned long rhs) const;
- /// Atomically assign rhs to <value_>.
+ /// Atomically assign rhs to @c value_.
ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &operator= (unsigned long rhs);
- /// Atomically assign <rhs> to <value_>.
+ /// Atomically assign <rhs> to @c value_.
ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &operator= (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &rhs);
- /// Explicitly return <value_>.
+ /// Explicitly return @c value_.
unsigned long value (void) const;
/// Dump the state of an object.
void dump (void) const;
- /// Explicitly return <value_> (by reference).
+ /// Explicitly return @c value_ (by reference).
volatile unsigned long &value_i (void);
// ACE_ALLOC_HOOK_DECLARE;
@@ -231,9 +239,9 @@ public:
private:
- // This function cannot be supported by this template specialization.
- // If you need access to an underlying lock, use the ACE_Atomic_Op_Ex
- // template instead.
+ /// This function cannot be supported by this template specialization.
+ /// If you need access to an underlying lock, use the ACE_Atomic_Op_Ex
+ /// template instead.
ACE_Thread_Mutex &mutex (void);
private:
@@ -248,10 +256,97 @@ private:
static long (*exchange_add_fn_) (volatile long *, long);
};
-ACE_END_VERSIONED_NAMESPACE_DECL
+#endif /* !ACE_HAS_BUILTIN_ATOMIC_OP */
+
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, int>
+: public ACE_Atomic_Op_GCC<int>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (int c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, int> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, int> &operator= (int rhs);
+};
+
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>
+: public ACE_Atomic_Op_GCC<unsigned int>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (unsigned int c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> &operator= (unsigned int rhs);
+};
+
+// If we have built in atomic op, use that, the assignment operator
+// is faster for a long/unsinged long
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, long>
+: public ACE_Atomic_Op_GCC<long>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (long c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, long> &operator= (long rhs);
+};
+
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>
+: public ACE_Atomic_Op_GCC<unsigned long>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (unsigned long c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &operator= (unsigned long rhs);
+};
+
+#if !defined (ACE_LACKS_GCC_ATOMIC_BUILTINS_2)
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, short>
+: public ACE_Atomic_Op_GCC<short>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (short c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, short> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, short> &operator= (short rhs);
+};
+
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>
+: public ACE_Atomic_Op_GCC<unsigned short>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (unsigned short c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short> &operator= (unsigned short rhs);
+};
+#endif
+
+#if !defined (ACE_LACKS_GCC_ATOMIC_BUILTINS_1)
+template<>
+class ACE_Export ACE_Atomic_Op<ACE_Thread_Mutex, bool>
+: public ACE_Atomic_Op_GCC<bool>
+{
+public:
+ ACE_Atomic_Op (void);
+ ACE_Atomic_Op (bool c);
+ ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, bool> &c);
+ ACE_Atomic_Op<ACE_Thread_Mutex, bool> &operator= (bool rhs);
+};
+#endif
#endif /* ACE_HAS_BUILTIN_ATOMIC_OP */
+ACE_END_VERSIONED_NAMESPACE_DECL
+
#if defined (__ACE_INLINE__)
#include "ace/Atomic_Op.inl"
#endif /* __ACE_INLINE__ */
diff --git a/ace/Atomic_Op.inl b/ace/Atomic_Op.inl
index 4d55f05b091..e2f3e8a1cf7 100644
--- a/ace/Atomic_Op.inl
+++ b/ace/Atomic_Op.inl
@@ -2,16 +2,23 @@
//
// $Id$
-#if defined (ACE_HAS_BUILTIN_ATOMIC_OP)
-
#if defined (ACE_HAS_INTRINSIC_INTERLOCKED)
-# include "ace/os_include/os_intrin.h"
-
-#pragma intrinsic (_InterlockedExchange, _InterlockedExchangeAdd, _InterlockedIncrement, _InterlockedDecrement)
+# include "ace/os_include/os_intrin.h"
+# pragma intrinsic (_InterlockedExchange, _InterlockedExchangeAdd, _InterlockedIncrement, _InterlockedDecrement)
#endif /* ACE_HAS_INTRINSIC_INTERLOCKED */
+#if defined (ACE_HAS_VXATOMICLIB)
+# include <vxAtomicLib.h>
+#endif
+
+#if defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+# include <atomic.h>
+#endif
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+#if defined (ACE_HAS_BUILTIN_ATOMIC_OP)
+
ACE_INLINE
ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (void)
: value_ (0)
@@ -38,6 +45,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator++ (void)
return ::_InterlockedIncrement (const_cast<long *> (&this->value_));
#elif defined (WIN32)
return ::InterlockedIncrement (const_cast<long *> (&this->value_));
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return ::vxAtomicInc (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_))) + 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_inc_ulong_nv (reinterpret_cast<volatile unsigned long*>(&this->value_));
#else /* WIN32 */
return (*increment_fn_) (&this->value_);
#endif /* WIN32 */
@@ -56,6 +67,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator-- (void)
return ::_InterlockedDecrement (const_cast<long *> (&this->value_));
#elif defined (WIN32)
return ::InterlockedDecrement (const_cast<long *> (&this->value_));
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return ::vxAtomicDec (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_))) - 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_dec_ulong_nv (reinterpret_cast<volatile unsigned long*>(&this->value_));
#else /* WIN32 */
return (*decrement_fn_) (&this->value_);
#endif /* WIN32 */
@@ -76,6 +91,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator+= (long rhs)
#elif defined (WIN32) && defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
return ::InterlockedExchangeAdd (const_cast<long *> (&this->value_),
rhs) + rhs;
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return ::vxAtomicAdd (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs) + rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return (*exchange_add_fn_) (&this->value_, rhs) + rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -90,6 +109,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator-= (long rhs)
#elif defined (WIN32) && defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
return ::InterlockedExchangeAdd (const_cast<long *> (&this->value_),
-rhs) - rhs;
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return ::vxAtomicSub (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs) - rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (reinterpret_cast<volatile unsigned long*>(&this->value_), -rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return (*exchange_add_fn_) (&this->value_, -rhs) - rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -138,6 +161,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (long rhs)
::_InterlockedExchange (const_cast<long *> (&this->value_), rhs);
#elif defined (WIN32)
::InterlockedExchange (const_cast<long *> (&this->value_), rhs);
+#elif defined (ACE_HAS_VXATOMICLIB)
+ ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs);
#else /* WIN32 */
(*exchange_fn_) (&this->value_, rhs);
#endif /* WIN32 */
@@ -152,6 +179,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (
::_InterlockedExchange (const_cast<long *> (&this->value_), rhs.value_);
#elif defined (WIN32)
::InterlockedExchange (const_cast<long *> (&this->value_), rhs.value_);
+#elif defined (ACE_HAS_VXATOMICLIB)
+ ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs.value_);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs.value_);
#else /* WIN32 */
(*exchange_fn_) (&this->value_, rhs.value_);
#endif /* WIN32 */
@@ -197,6 +228,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator++ (void)
return static_cast<unsigned long> (::_InterlockedIncrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
#elif defined (WIN32)
return static_cast<unsigned long> (::InterlockedIncrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return static_cast<unsigned long> (::vxAtomicInc (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))))) + 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_inc_ulong_nv (&this->value_);
#else /* WIN32 */
return static_cast<unsigned long> ((*increment_fn_) (reinterpret_cast<volatile long *> (&this->value_)));
#endif /* WIN32 */
@@ -215,6 +250,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator-- (void)
return static_cast<unsigned long> (::_InterlockedDecrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
#elif defined (WIN32)
return static_cast<unsigned long> (::InterlockedDecrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return static_cast<unsigned long> (::vxAtomicDec (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))))) - 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_dec_ulong_nv (&this->value_);
#else /* WIN32 */
return static_cast<unsigned long> ((*decrement_fn_) (reinterpret_cast<volatile long *> (&this->value_)));
#endif /* WIN32 */
@@ -235,6 +274,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator+= (unsigned long rhs)
#elif defined (WIN32) && defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
return static_cast<unsigned long> (::InterlockedExchangeAdd (const_cast<long *> (reinterpret_cast <volatile long *>(&this->value_)),
rhs)) + rhs;
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return static_cast<unsigned long> (::vxAtomicAdd (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))), rhs)) + rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (&this->value_, rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return static_cast<unsigned long> ((*exchange_add_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs)) + rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -249,6 +292,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator-= (unsigned long rhs)
#elif defined (WIN32) && defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
return static_cast<unsigned long> (::InterlockedExchangeAdd (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_)),
-static_cast<long>(rhs))) - rhs;
+#elif defined (ACE_HAS_VXATOMICLIB)
+ return static_cast<unsigned long> (::vxAtomicSub (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))), rhs)) - rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (&this->value_, -rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
long l_rhs = static_cast<long> (rhs);
return static_cast<unsigned long> ((*exchange_add_fn_) (reinterpret_cast<volatile long *> (&this->value_), -l_rhs)) - rhs;
@@ -298,6 +345,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (unsigned long rhs)
::_InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs);
#elif defined (WIN32)
::InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs);
+#elif defined (ACE_HAS_VXATOMICLIB)
+ ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_))), rhs);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (&this->value_, rhs);
#else /* WIN32 */
(*exchange_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs);
#endif /* WIN32 */
@@ -312,6 +363,10 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (
::_InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs.value_);
#elif defined (WIN32)
::InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs.value_);
+#elif defined (ACE_HAS_VXATOMICLIB)
+ ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_))), rhs.value_);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (&this->value_, rhs.value_);
#else /* WIN32 */
(*exchange_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs.value_);
#endif /* WIN32 */
@@ -330,6 +385,198 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::value_i (void)
return this->value_;
}
+#endif /* ACE_HAS_BUILTIN_ATOMIC_OP */
+
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, int>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<int> ()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, int>::ACE_Atomic_Op (int c) :
+ ACE_Atomic_Op_GCC<int>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, int>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, int> &c) :
+ ACE_Atomic_Op_GCC<int>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, int>&
+ACE_Atomic_Op<ACE_Thread_Mutex, int>::operator= (int rhs)
+{
+ ACE_Atomic_Op_GCC<int>::operator= (rhs);
+ return *this;
+}
+
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<unsigned int>()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> &c) :
+ ACE_Atomic_Op_GCC<unsigned int>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>::ACE_Atomic_Op (unsigned int c) :
+ ACE_Atomic_Op_GCC<unsigned int>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>&
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int>::operator= (unsigned int rhs)
+{
+ ACE_Atomic_Op_GCC<unsigned int>::operator= (rhs);
+ return *this;
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<long>()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (long c) :
+ ACE_Atomic_Op_GCC<long>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &c) :
+ ACE_Atomic_Op_GCC<long>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, long>&
+ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (long rhs)
+{
+ ACE_Atomic_Op_GCC<long>::operator= (rhs);
+ return *this;
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<unsigned long> ()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (unsigned long c) :
+ ACE_Atomic_Op_GCC<unsigned long>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &c) :
+ ACE_Atomic_Op_GCC<unsigned long>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>&
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (unsigned long rhs)
+{
+ ACE_Atomic_Op_GCC<unsigned long>::operator= (rhs);
+ return *this;
+}
+
+#if !defined (ACE_LACKS_GCC_ATOMIC_BUILTINS_2)
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, short>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<short>()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, short>::ACE_Atomic_Op (short c) :
+ ACE_Atomic_Op_GCC<short>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, short>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, short> &c) :
+ ACE_Atomic_Op_GCC<short>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, short>&
+ACE_Atomic_Op<ACE_Thread_Mutex, short>::operator= (short rhs)
+{
+ ACE_Atomic_Op_GCC<short>::operator= (rhs);
+ return *this;
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<unsigned short> ()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>::ACE_Atomic_Op (unsigned short c) :
+ ACE_Atomic_Op_GCC<unsigned short>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short> &c) :
+ ACE_Atomic_Op_GCC<unsigned short>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>&
+ACE_Atomic_Op<ACE_Thread_Mutex, unsigned short>::operator= (unsigned short rhs)
+{
+ ACE_Atomic_Op_GCC<unsigned short>::operator= (rhs);
+ return *this;
+}
+#endif
+
+#if !defined (ACE_LACKS_GCC_ATOMIC_BUILTINS_1)
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, bool>::ACE_Atomic_Op (void) :
+ ACE_Atomic_Op_GCC<bool> ()
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, bool>::ACE_Atomic_Op (bool c) :
+ ACE_Atomic_Op_GCC<bool>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, bool>::ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, bool> &c) :
+ ACE_Atomic_Op_GCC<bool>(c)
+{
+}
+
+ACE_INLINE
+ACE_Atomic_Op<ACE_Thread_Mutex, bool>&
+ACE_Atomic_Op<ACE_Thread_Mutex, bool>::operator= (bool rhs)
+{
+ ACE_Atomic_Op_GCC<bool>::operator= (rhs);
+ return *this;
+}
+#endif
+
+#endif /* ACE_HAS_GCC_ATOMIC_BUILTINS==1 */
+
ACE_END_VERSIONED_NAMESPACE_DECL
-#endif /* ACE_HAS_BUILTIN_ATOMIC_OP */
diff --git a/ace/Atomic_Op_GCC_T.cpp b/ace/Atomic_Op_GCC_T.cpp
new file mode 100644
index 00000000000..fa7b931d78d
--- /dev/null
+++ b/ace/Atomic_Op_GCC_T.cpp
@@ -0,0 +1,29 @@
+// $Id$
+
+#include "ace/OS_NS_unistd.h"
+
+ACE_RCSID (ace,
+ Atomic_Op_GCC,
+ "$Id$")
+
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+
+#if !defined (__ACE_INLINE__)
+#include "ace/Atomic_Op_GCC_T.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <typename T>
+void
+ACE_Atomic_Op_GCC<T>::dump (void) const
+{
+#if defined (ACE_HAS_DUMP)
+ ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+#endif /* ACE_HAS_DUMP */
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* ACE_HAS_GCC_ATOMIC_BUILTINS */
diff --git a/ace/Atomic_Op_GCC_T.h b/ace/Atomic_Op_GCC_T.h
new file mode 100644
index 00000000000..348be5e95e0
--- /dev/null
+++ b/ace/Atomic_Op_GCC_T.h
@@ -0,0 +1,136 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Atomic_Op_GCC_T.h
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl
+ */
+//=============================================================================
+
+#ifndef ACE_ATOMIC_OP_GCC_T_H
+#define ACE_ATOMIC_OP_GCC_T_H
+#include /**/ "ace/pre.h"
+
+#include /**/ "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Thread_Mutex.h"
+#include "ace/ACE_export.h"
+
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @brief Specialization of ACE_Atomic_Op for platforms that
+ * support atomic integer operations.
+ *
+ * Specialization of ACE_Atomic_Op for platforms that support atomic
+ * integer operations.
+ */
+template<typename T>
+class ACE_Export ACE_Atomic_Op_GCC
+{
+public:
+ /// Atomically pre-increment @c value_.
+ T operator++ (void);
+
+ /// Atomically post-increment @c value_.
+ T operator++ (int);
+
+ /// Atomically increment @c value_ by rhs.
+ T operator+= (T rhs);
+
+ /// Atomically pre-decrement @c value_.
+ T operator-- (void);
+
+ /// Atomically post-decrement @c value_.
+ T operator-- (int);
+
+ /// Atomically decrement @c value_ by rhs.
+ T operator-= (T rhs);
+
+ /// Atomically compare @c value_ with rhs.
+ bool operator== (T rhs) const;
+
+ /// Atomically compare @c value_ with rhs.
+ bool operator!= (T rhs) const;
+
+ /// Atomically check if @c value_ greater than or equal to rhs.
+ bool operator>= (T rhs) const;
+
+ /// Atomically check if @c value_ greater than rhs.
+ bool operator> (T rhs) const;
+
+ /// Atomically check if @c value_ less than or equal to rhs.
+ bool operator<= (T rhs) const;
+
+ /// Atomically check if @c value_ less than rhs.
+ bool operator< (T rhs) const;
+
+ /// Explicitly return @c value_.
+ T value (void) const;
+
+ /// Dump the state of an object.
+ void dump (void) const;
+
+ /// Explicitly return @c value_ (by reference).
+ volatile T &value_i (void);
+
+ // ACE_ALLOC_HOOK_DECLARE;
+ // Declare the dynamic allocation hooks.
+
+protected:
+ /// Atomically assign rhs to @c value_.
+ ACE_Atomic_Op_GCC<T> &operator= (T rhs);
+
+ /// Atomically assign <rhs> to @c value_.
+ ACE_Atomic_Op_GCC<T> &operator= (const ACE_Atomic_Op_GCC<T> &rhs);
+
+ /// Initialize @c value_ to 0.
+ ACE_Atomic_Op_GCC (void);
+
+ /// Initialize @c value_ to c.
+ ACE_Atomic_Op_GCC (T c);
+
+ /// Manage copying...
+ ACE_Atomic_Op_GCC (const ACE_Atomic_Op_GCC<T> &c);
+
+private:
+
+ // This function cannot be supported by this template specialization.
+ // If you need access to an underlying lock, use the ACE_Atomic_Op_Ex
+ // template instead.
+ ACE_Thread_Mutex &mutex (void);
+
+private:
+
+ /// Current object decorated by the atomic op.
+ volatile T value_;
+};
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#if defined (__ACE_INLINE__)
+#include "ace/Atomic_Op_GCC_T.inl"
+#endif /* __ACE_INLINE__ */
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "ace/Atomic_Op_GCC_T.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Atomic_Op_GCC_T.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+
+#endif /* ACE_HAS_GCC_ATOMIC_BUILTINS */
+
+#include /**/ "ace/post.h"
+#endif /*ACE_ATOMIC_OP_GCC_T_H*/
diff --git a/ace/Atomic_Op_GCC_T.inl b/ace/Atomic_Op_GCC_T.inl
new file mode 100644
index 00000000000..cdd28394bb0
--- /dev/null
+++ b/ace/Atomic_Op_GCC_T.inl
@@ -0,0 +1,148 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1)
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <typename T>
+ACE_INLINE
+ACE_Atomic_Op_GCC<T>::ACE_Atomic_Op_GCC (void)
+ : value_ (0)
+{
+}
+
+template <typename T>
+ACE_INLINE
+ACE_Atomic_Op_GCC<T>::ACE_Atomic_Op_GCC (T c)
+ : value_ (c)
+{
+}
+
+template <typename T>
+ACE_INLINE
+ACE_Atomic_Op_GCC<T>::ACE_Atomic_Op_GCC (
+ const ACE_Atomic_Op_GCC<T> &rhs)
+ : value_ (rhs.value_)
+{
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator++ (void)
+{
+ return __sync_add_and_fetch (&this->value_, 1);
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator++ (int)
+{
+ return __sync_fetch_and_add (&this->value_, 1);
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator-- (void)
+{
+ return __sync_sub_and_fetch (&this->value_, 1);
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator-- (int)
+{
+ return __sync_fetch_and_sub (&this->value_, 1);
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator+= (T rhs)
+{
+ return __sync_add_and_fetch (&this->value_, rhs);
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::operator-= (T rhs)
+{
+ return __sync_sub_and_fetch (&this->value_, rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator== (T rhs) const
+{
+ return (this->value_ == rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator!= (T rhs) const
+{
+ return (this->value_ != rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator>= (T rhs) const
+{
+ return (this->value_ >= rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator> (T rhs) const
+{
+ return (this->value_ > rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator<= (T rhs) const
+{
+ return (this->value_ <= rhs);
+}
+
+template <typename T>
+ACE_INLINE bool
+ACE_Atomic_Op_GCC<T>::operator< (T rhs) const
+{
+ return (this->value_ < rhs);
+}
+
+template <typename T>
+ACE_INLINE ACE_Atomic_Op_GCC<T> &
+ACE_Atomic_Op_GCC<T>::operator= (T rhs)
+{
+ (void) __sync_lock_test_and_set (&this->value_, rhs);
+ return *this;
+}
+
+template <typename T>
+ACE_INLINE ACE_Atomic_Op_GCC<T> &
+ACE_Atomic_Op_GCC<T>::operator= (
+ const ACE_Atomic_Op_GCC<T> &rhs)
+{
+ (void) __sync_lock_test_and_set (&this->value_, rhs.value_);
+ return *this;
+}
+
+template <typename T>
+ACE_INLINE T
+ACE_Atomic_Op_GCC<T>::value (void) const
+{
+ return this->value_;
+}
+
+template <typename T>
+ACE_INLINE volatile T &
+ACE_Atomic_Op_GCC<T>::value_i (void)
+{
+ return this->value_;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* ACE_HAS_GCC_ATOMIC_BUILTINS */
diff --git a/ace/Atomic_Op_T.cpp b/ace/Atomic_Op_T.cpp
index ad8f6b01059..87ae8e78027 100644
--- a/ace/Atomic_Op_T.cpp
+++ b/ace/Atomic_Op_T.cpp
@@ -38,7 +38,7 @@ ACE_Atomic_Op_Ex<ACE_LOCK, TYPE>::dump (void) const
// ACE_TRACE ("ACE_Atomic_Op_Ex<ACE_LOCK, TYPE>::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->mutex_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP, this));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/Auto_IncDec_T.h b/ace/Auto_IncDec_T.h
index 0f29f5c4f3f..70619f28604 100644
--- a/ace/Auto_IncDec_T.h
+++ b/ace/Auto_IncDec_T.h
@@ -60,8 +60,8 @@ private:
// = Prevent assignment and initialization.
ACE_UNIMPLEMENTED_FUNC (void operator= (const
ACE_Auto_IncDec<ACE_SAFELY_INCREMENTABLE_DECREMENTABLE> &))
- ACE_UNIMPLEMENTED_FUNC (ACE_Auto_IncDec (const
- ACE_Auto_IncDec<ACE_SAFELY_INCREMENTABLE_DECREMENTABLE> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Auto_IncDec (const
+ ACE_Auto_IncDec<ACE_SAFELY_INCREMENTABLE_DECREMENTABLE> &))
};
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Barrier.cpp b/ace/Barrier.cpp
index 2cb82dba5b6..eac2da3179b 100644
--- a/ace/Barrier.cpp
+++ b/ace/Barrier.cpp
@@ -31,8 +31,7 @@ ACE_Sub_Barrier::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->barrier_finished_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("running_threads_ = %d"), this->running_threads_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("running_threads_ = %d\n"), this->running_threads_));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/Based_Pointer_Repository.h b/ace/Based_Pointer_Repository.h
index f7d7ac64125..b008e98ab2a 100644
--- a/ace/Based_Pointer_Repository.h
+++ b/ace/Based_Pointer_Repository.h
@@ -71,6 +71,9 @@ private:
/// order to avoid circular #include dependencies.
ACE_Based_Pointer_Repository_Rep *rep_;
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Based_Pointer_Repository &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Based_Pointer_Repository (const ACE_Based_Pointer_Repository &))
};
// ----------------------------------
diff --git a/ace/Basic_Types.h b/ace/Basic_Types.h
index 0643cac467e..8650e4d59c9 100644
--- a/ace/Basic_Types.h
+++ b/ace/Basic_Types.h
@@ -349,13 +349,6 @@ typedef unsigned char ACE_Byte;
# define ACE_SIZEOF_VOID_P ACE_SIZEOF_LONG
# endif /* ACE_SIZEOF_VOID_P */
-// Type for doing arithmetic on pointers ... as elsewhere, we assume
-// that unsigned versions of a type are the same size as the signed
-// version of the same type.
-# if defined (ACE_HAS_WINCE) && (_WIN32_WCE < 400)
-typedef unsigned long ptrdiff_t; // evc3, PocketPC don't defined ptrdiff_t
-# endif
-
ACE_END_VERSIONED_NAMESPACE_DECL
// Byte-order (endian-ness) determination.
@@ -908,13 +901,17 @@ ACE_END_VERSIONED_NAMESPACE_DECL
# if LDBL_MAX_EXP == 128
# define ACE_SIZEOF_LONG_DOUBLE 4
# elif LDBL_MAX_EXP == 1024
-# define ACE_SIZEOF_LONG_DOUBLE 8
+# if defined (__powerpc64__)
+# define ACE_SIZEOF_LONG_DOUBLE 16
+# else
+# define ACE_SIZEOF_LONG_DOUBLE 8
+# endif
# elif LDBL_MAX_EXP == 16384
# if defined (LDBL_DIG) && LDBL_DIG == 18
# if defined (__ia64) || defined (__x86_64)
# define ACE_SIZEOF_LONG_DOUBLE 16
-# else /* ! __ia64 */
-# define ACE_SIZEOF_LONG_DOUBLE 12
+# else /* ! __ia64 || __x86_64 */
+# define ACE_SIZEOF_LONG_DOUBLE 12
# endif /* __ia64 */
# else /* ! LDBL_DIG || LDBL_DIG != 18 */
# define ACE_SIZEOF_LONG_DOUBLE 16
diff --git a/ace/CDR_Base.cpp b/ace/CDR_Base.cpp
index eb6f0bb0514..ae32a7a8365 100644
--- a/ace/CDR_Base.cpp
+++ b/ace/CDR_Base.cpp
@@ -549,20 +549,22 @@ ACE_CDR::total_length (const ACE_Message_Block* begin,
return l;
}
-void
+int
ACE_CDR::consolidate (ACE_Message_Block *dst,
const ACE_Message_Block *src)
{
if (src == 0)
- return;
+ return 0;
- size_t newsize =
+ size_t const newsize =
ACE_CDR::first_size (ACE_CDR::total_length (src, 0)
+ ACE_CDR::MAX_ALIGNMENT);
- dst->size (newsize);
+
+ if (dst->size (newsize) == -1)
+ return -1;
#if !defined (ACE_CDR_IGNORE_ALIGNMENT)
- // We must copy the contents of <src> into the new buffer, but
+ // We must copy the contents of src into the new buffer, but
// respecting the alignment.
ptrdiff_t srcalign =
ptrdiff_t(src->rd_ptr ()) % ACE_CDR::MAX_ALIGNMENT;
@@ -586,6 +588,7 @@ ACE_CDR::consolidate (ACE_Message_Block *dst,
else
dst->wr_ptr (i->length ());
}
+ return 0;
}
#if defined (NONNATIVE_LONGLONG)
diff --git a/ace/CDR_Base.h b/ace/CDR_Base.h
index 94d28a4dd86..da0215327ac 100644
--- a/ace/CDR_Base.h
+++ b/ace/CDR_Base.h
@@ -124,7 +124,7 @@ public:
/// Use whichever byte order is native to this machine.
BYTE_ORDER_NATIVE = ACE_CDR_BYTE_ORDER
};
-
+
/**
* Do byte swapping for each basic IDL type size. There exist only
* routines to put byte, halfword (2 bytes), word (4 bytes),
@@ -177,10 +177,14 @@ public:
*/
static int grow (ACE_Message_Block *mb, size_t minsize);
- /// Copy a message block chain into a single message block,
- /// preserving the alignment of the first message block of the
- /// original stream, not the following message blocks.
- static void consolidate (ACE_Message_Block *dst,
+ /**
+ * Copy a message block chain into a single message block,
+ * preserving the alignment of the first message block of the
+ * original stream, not the following message blocks.
+ * @retval -1 Failure
+ * @retval 0 Success.
+ */
+ static int consolidate (ACE_Message_Block *dst,
const ACE_Message_Block *src);
static size_t total_length (const ACE_Message_Block *begin,
@@ -216,7 +220,6 @@ public:
// complain about no ANSI C++ long long.
typedef longlong_t LongLong;
# else
- // LynxOS 2.5.0 and Linux don't have u_longlong_t.
typedef long long LongLong;
# endif /* sun */
# else /* no native 64 bit integer type */
diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp
index f5f4e582a10..3d3975fc9aa 100644
--- a/ace/CDR_Stream.cpp
+++ b/ace/CDR_Stream.cpp
@@ -533,7 +533,7 @@ ACE_OutputCDR::write_8 (const ACE_CDR::ULongLong *x)
if (this->adjust (ACE_CDR::LONGLONG_SIZE, buf) == 0)
{
-#if defined (__arm__)
+#if defined (__arm__) && !defined (ACE_HAS_IPHONE)
// Convert to Intel format (12345678 => 56781234)
const char *orig = reinterpret_cast<const char *> (x);
char *target = buf;
@@ -1612,7 +1612,7 @@ ACE_InputCDR::read_8 (ACE_CDR::ULongLong *x)
if (this->adjust (ACE_CDR::LONGLONG_SIZE, buf) == 0)
{
#if !defined (ACE_DISABLE_SWAP_ON_READ)
-# if defined (__arm__)
+# if defined (__arm__) && !defined (ACE_HAS_IPHONE)
if (!this->do_byte_swap_)
{
// Convert from Intel format (12345678 => 56781234)
@@ -1894,8 +1894,7 @@ ACE_InputCDR::clone_from (ACE_InputCDR &cdr)
ACE_CDR::mb_align (&this->start_);
- ACE_Data_Block *db =
- this->start_.data_block ();
+ ACE_Data_Block *db = this->start_.data_block ();
// If the size of the data that needs to be copied are higher than
// what is available, then do a reallocation.
@@ -1903,8 +1902,7 @@ ACE_InputCDR::clone_from (ACE_InputCDR &cdr)
{
// @@NOTE: We need to probably add another method to the message
// block interface to simplify this
- db =
- cdr.start_.data_block ()->clone_nocopy ();
+ db = cdr.start_.data_block ()->clone_nocopy ();
if (db == 0 || db->size ((wr_bytes) +
ACE_CDR::MAX_ALIGNMENT) == -1)
diff --git a/ace/CDR_Stream.h b/ace/CDR_Stream.h
index e4d666caafd..fbd87ddbda6 100644
--- a/ace/CDR_Stream.h
+++ b/ace/CDR_Stream.h
@@ -120,8 +120,8 @@ public:
ACE_CDR::Octet minor_version = ACE_CDR_GIOP_MINOR_VERSION);
/// Build a CDR stream with an initial buffer, it will *not* remove
- /// <data>, since it did not allocated it. It's important to be careful
- /// with the alignment of <data>.
+ /// @a data, since it did not allocated it. It's important to be careful
+ /// with the alignment of @a data.
/**
* Create an output stream from an arbitrary buffer, care must be
* exercised with alignment, because this contructor will align if
@@ -254,8 +254,8 @@ public:
const ACE_CDR::WChar *x);
//@}
- /// @note the portion written starts at <x> and ends
- /// at <x + length>.
+ /// @note the portion written starts at @a x and ends
+ /// at @a x + @a length.
/// The length is *NOT* stored into the CDR stream.
//@{ @name Array write operations
ACE_CDR::Boolean write_boolean_array (const ACE_CDR::Boolean *x,
@@ -663,7 +663,7 @@ public:
ACE_Lock* lock = 0);
/// Create an input stream from an ACE_Data_Block. The <flag>
- /// indicates whether the <data> can be deleted by the CDR stream
+ /// indicates whether the @a data can be deleted by the CDR stream
/// or not
ACE_InputCDR (ACE_Data_Block *data,
ACE_Message_Block::Message_Flags flag = 0,
@@ -919,7 +919,7 @@ public:
*/
void exchange_data_blocks (ACE_InputCDR &cdr);
- /// Copy the data portion from the @c cdr to this cdr and return the
+ /// Copy the data portion from the @a cdr to this cdr and return the
/// data content (ie. the ACE_Data_Block) from this CDR to the
/// caller.
/**
diff --git a/ace/CDR_Stream.inl b/ace/CDR_Stream.inl
index 5d814aed006..833dcda46ae 100644
--- a/ace/CDR_Stream.inl
+++ b/ace/CDR_Stream.inl
@@ -572,7 +572,6 @@ ACE_OutputCDR::current_alignment (size_t current_alignment)
this->current_alignment_ = current_alignment;
#else
ACE_UNUSED_ARG (current_alignment);
- return 0;
#endif /* ACE_LACKS_CDR_ALIGNMENT */
}
diff --git a/ace/Cleanup.cpp b/ace/Cleanup.cpp
index 2c8ba21d8f1..665c4ba5674 100644
--- a/ace/Cleanup.cpp
+++ b/ace/Cleanup.cpp
@@ -11,6 +11,8 @@ ACE_RCSID (ace,
#endif /* ACE_HAS_INLINED_OSCALLS */
#include "ace/OS_Memory.h"
+#include "ace/OS_NS_string.h"
+#include "ace/os_include/os_typeinfo.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -37,22 +39,26 @@ ACE_CLEANUP_DESTROYER_NAME (ACE_Cleanup *object, void *param)
ACE_Cleanup_Info_Node::ACE_Cleanup_Info_Node (void)
: object_ (0),
cleanup_hook_ (0),
- param_ (0)
+ param_ (0),
+ name_ (0)
{
}
ACE_Cleanup_Info_Node::ACE_Cleanup_Info_Node (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param)
+ void *param,
+ const char *name)
: object_ (object),
cleanup_hook_ (cleanup_hook),
- param_ (param)
+ param_ (param),
+ name_ (name ? ACE_OS::strdup (name) : 0)
{
}
-
ACE_Cleanup_Info_Node::~ACE_Cleanup_Info_Node (void)
{
+ if (this->name_)
+ ACE_OS::free ((void *) name_);
}
bool
@@ -83,14 +89,15 @@ ACE_OS_Exit_Info::~ACE_OS_Exit_Info (void)
int
ACE_OS_Exit_Info::at_exit_i (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param)
+ void *param,
+ const char* name)
{
// Return -1 and sets errno if unable to allocate storage. Enqueue
// at the head and dequeue from the head to get LIFO ordering.
ACE_Cleanup_Info_Node *new_node = 0;
ACE_NEW_RETURN (new_node,
- ACE_Cleanup_Info_Node (object, cleanup_hook, param),
+ ACE_Cleanup_Info_Node (object, cleanup_hook, param, name),
-1);
registered_objects_.push_front (new_node);
diff --git a/ace/Cleanup.h b/ace/Cleanup.h
index 0a158973729..642f33f2d5d 100644
--- a/ace/Cleanup.h
+++ b/ace/Cleanup.h
@@ -57,7 +57,7 @@ public:
virtual void cleanup (void *param = 0);
};
-// Adapter for cleanup, used by ACE_Object_Manager.
+/// Adapter for cleanup, used by ACE_Object_Manager.
extern "C" ACE_Export
void ACE_CLEANUP_DESTROYER_NAME (ACE_Cleanup *, void *param = 0);
@@ -74,7 +74,8 @@ public:
ACE_Cleanup_Info_Node (void);
ACE_Cleanup_Info_Node (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param);
+ void *param,
+ const char *name);
~ACE_Cleanup_Info_Node (void);
/// Equality operator.
@@ -97,6 +98,9 @@ private:
/// Parameter passed to the <cleanup_hook_>.
void *param_;
+
+ /// Name of the cleanup object
+ const char *name_;
};
typedef ACE_Intrusive_List<ACE_Cleanup_Info_Node> ACE_Cleanup_Info_Node_List;
@@ -120,7 +124,7 @@ public:
~ACE_OS_Exit_Info (void);
/// Use to register a cleanup hook.
- int at_exit_i (void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param);
+ int at_exit_i (void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param, const char* name = 0);
/// Look for a registered cleanup hook object. Returns true if already
/// registered, false if not.
diff --git a/ace/Condition_Recursive_Thread_Mutex.cpp b/ace/Condition_Recursive_Thread_Mutex.cpp
index af80f4bfbfd..01607d8c52c 100644
--- a/ace/Condition_Recursive_Thread_Mutex.cpp
+++ b/ace/Condition_Recursive_Thread_Mutex.cpp
@@ -63,7 +63,7 @@ ACE_Condition<ACE_Recursive_Thread_Mutex>::wait (ACE_Recursive_Thread_Mutex &mut
const ACE_Time_Value *abstime)
{
ACE_recursive_mutex_state mutex_state_holder;
- ACE_recursive_thread_mutex_t &recursive_mutex = mutex.mutex ();
+ ACE_recursive_thread_mutex_t &recursive_mutex = mutex.lock ();
if (ACE_OS::recursive_mutex_cond_unlock (&recursive_mutex,
mutex_state_holder) == -1)
@@ -78,7 +78,7 @@ ACE_Condition<ACE_Recursive_Thread_Mutex>::wait (ACE_Recursive_Thread_Mutex &mut
// returned with the lock held, but waiters primed and waiting to be
// released. At cond_wait below, the mutex will be released.
// On return, it will be reacquired.
- const int result = abstime == 0
+ int const result = abstime == 0
? ACE_OS::cond_wait (&this->cond_,
&mutex.get_nesting_mutex ())
: ACE_OS::cond_timedwait (&this->cond_,
diff --git a/ace/Condition_Recursive_Thread_Mutex.h b/ace/Condition_Recursive_Thread_Mutex.h
index cfcd46a9551..5bf34b87f7e 100644
--- a/ace/Condition_Recursive_Thread_Mutex.h
+++ b/ace/Condition_Recursive_Thread_Mutex.h
@@ -32,8 +32,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
template <class ACE_LOCK> class ACE_Condition;
/**
- * @class ACE_Condition<ACE_Recursive_Thread_Mutex>
- *
* @brief ACE_Condition template specialization written using
* @a ACE_Recursive_Thread_Mutex. This allows threads to block until
* shared data changes state using recursive mutexes.
@@ -57,7 +55,7 @@ public:
/**
* Block on condition, or until absolute time-of-day has passed. If
- * abstime == 0 use "blocking" <wait> semantics. Else, if <abstime>
+ * abstime == 0 use "blocking" <wait> semantics. Else, if @a abstime
* != 0 and the call times out before the condition is signaled
* <wait> returns -1 and sets errno to ETIME.
*/
diff --git a/ace/Condition_T.cpp b/ace/Condition_T.cpp
index e4931ce442e..0e2c465f75f 100644
--- a/ace/Condition_T.cpp
+++ b/ace/Condition_T.cpp
@@ -87,7 +87,7 @@ ACE_Condition<MUTEX>::wait (void)
{
// ACE_TRACE ("ACE_Condition<MUTEX>::wait");
return ACE_OS::cond_wait (&this->cond_,
- &this->mutex_.lock_);
+ &this->mutex_.lock ());
}
template <class MUTEX> int
@@ -96,12 +96,17 @@ ACE_Condition<MUTEX>::wait (MUTEX &mutex,
{
// ACE_TRACE ("ACE_Condition<MUTEX>::wait");
if (abstime == 0)
+ {
return ACE_OS::cond_wait (&this->cond_,
- &mutex.lock_);
+ &mutex.lock ());
+ }
else
- return ACE_OS::cond_timedwait (&this->cond_,
- &mutex.lock_,
- (ACE_Time_Value *) abstime);
+ {
+ ACE_Time_Value tv = *abstime;
+ return ACE_OS::cond_timedwait (&this->cond_,
+ &mutex.lock (),
+ &tv);
+ }
}
// Peform an "alertable" timed wait. If the argument ABSTIME == 0
diff --git a/ace/Configuration.cpp b/ace/Configuration.cpp
index b54308ade7d..fd0f0b64df9 100644
--- a/ace/Configuration.cpp
+++ b/ace/Configuration.cpp
@@ -4,6 +4,7 @@
#include "ace/SString.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_strings.h"
+#include "ace/Tokenizer_T.h"
// Can remove this when import_config and export_config are removed from
// ACE_Configuration. They're deprecated at ACE 5.2.
@@ -518,11 +519,7 @@ ACE_Configuration_Win32Registry::open_section (const ACE_Configuration_Section_K
KEY_ALL_ACCESS,
0,
&result_key,
-#if defined (__MINGW32__)
(PDWORD) 0
-#else
- 0
-#endif /* __MINGW32__ */
)) != ERROR_SUCCESS)
{
errno = errnum;
@@ -540,7 +537,7 @@ ACE_Configuration_Win32Registry::open_section (const ACE_Configuration_Section_K
int
ACE_Configuration_Win32Registry::remove_section (const ACE_Configuration_Section_Key& key,
const ACE_TCHAR* sub_section,
- int recursive)
+ bool recursive)
{
if (validate_name (sub_section))
return -1;
@@ -574,13 +571,12 @@ ACE_Configuration_Win32Registry::remove_section (const ACE_Configuration_Section
0,
0) == ERROR_SUCCESS)
{
- remove_section (section, name_buffer, 1);
+ remove_section (section, name_buffer, true);
buffer_size = ACE_DEFAULT_BUFSIZE;
}
}
- int errnum;
- errnum = ACE_TEXT_RegDeleteKey (base_key, sub_section);
+ int const errnum = ACE_TEXT_RegDeleteKey (base_key, sub_section);
if (errnum != ERROR_SUCCESS)
{
errno = errnum;
@@ -1049,11 +1045,7 @@ ACE_Configuration_Win32Registry::resolve_key (HKEY hKey,
KEY_ALL_ACCESS,
0,
&subkey,
-#if defined (__MINGW32__)
(PDWORD) 0
-#else
- 0
-#endif /* __MINGW32__ */
)) !=ERROR_SUCCESS)
{
errno = errnum;
@@ -1267,6 +1259,12 @@ ACE_Configuration_Heap::~ACE_Configuration_Heap (void)
int
ACE_Configuration_Heap::open (size_t default_map_size)
{
+ if (this->allocator_ != 0)
+ {
+ errno = EBUSY;
+ return -1;
+ }
+
default_map_size_ = default_map_size;
// Create the allocator with the appropriate options.
// The name used for the lock is the same as one used
@@ -1283,6 +1281,12 @@ ACE_Configuration_Heap::open (const ACE_TCHAR* file_name,
void* base_address,
size_t default_map_size)
{
+ if (this->allocator_ != 0)
+ {
+ errno = EBUSY;
+ return -1;
+ }
+
default_map_size_ = default_map_size;
// Make sure that the file name is of the legal length.
@@ -1595,7 +1599,7 @@ ACE_Configuration_Heap::open_simple_section (const ACE_Configuration_Section_Key
int
ACE_Configuration_Heap::remove_section (const ACE_Configuration_Section_Key& key,
const ACE_TCHAR* sub_section,
- int recursive)
+ bool recursive)
{
ACE_ASSERT (this->allocator_);
if (validate_name (sub_section))
@@ -1617,7 +1621,7 @@ ACE_Configuration_Heap::remove_section (const ACE_Configuration_Section_Key& key
section += sub_section;
ACE_Configuration_ExtId SectionExtId (section.fast_rep ());
- SECTION_HASH::ENTRY* section_entry;
+ SECTION_HASH::ENTRY* section_entry = 0;
SECTION_HASH* hashmap = index_;
if (hashmap->find (SectionExtId, section_entry))
return -1;
@@ -1632,7 +1636,7 @@ ACE_Configuration_Heap::remove_section (const ACE_Configuration_Section_Key& key
ACE_TString name;
while (!enumerate_sections (section, index, name))
{
- if (remove_section (section, name.fast_rep (), 1))
+ if (remove_section (section, name.fast_rep (), true))
return -1;
++index;
@@ -1801,7 +1805,7 @@ ACE_Configuration_Heap::set_string_value (const ACE_Configuration_Section_Key& k
return -1;
// Get the entry for this item (if it exists)
- VALUE_HASH::ENTRY* entry;
+ VALUE_HASH::ENTRY* entry = 0;
ACE_Configuration_ExtId item_name (t_name);
if (section_int.value_hash_map_->VALUE_HASH::find (item_name, entry) == 0)
{
@@ -1860,7 +1864,7 @@ ACE_Configuration_Heap::set_integer_value (const ACE_Configuration_Section_Key&
return -1; // section does not exist
// Get the entry for this item (if it exists)
- VALUE_HASH::ENTRY* entry;
+ VALUE_HASH::ENTRY* entry = 0;
ACE_Configuration_ExtId item_name (t_name);
if (section_int.value_hash_map_->VALUE_HASH::find (item_name, entry) == 0)
{
@@ -1910,7 +1914,7 @@ ACE_Configuration_Heap::set_binary_value (const ACE_Configuration_Section_Key& k
return -1; // section does not exist
// Get the entry for this item (if it exists)
- VALUE_HASH::ENTRY* entry;
+ VALUE_HASH::ENTRY* entry = 0;
ACE_Configuration_ExtId item_name (t_name);
if (section_int.value_hash_map_->VALUE_HASH::find (item_name, entry) == 0)
{
@@ -2100,7 +2104,7 @@ ACE_Configuration_Heap::find_value (const ACE_Configuration_Section_Key& key,
// Find it
ACE_Configuration_ExtId ValueExtId (t_name);
- VALUE_HASH::ENTRY* value_entry;
+ VALUE_HASH::ENTRY* value_entry = 0;
if (((VALUE_HASH *) IntId.value_hash_map_)->find (ValueExtId, value_entry))
return -1; // value does not exist
@@ -2130,7 +2134,7 @@ ACE_Configuration_Heap::remove_value (const ACE_Configuration_Section_Key& key,
// Find it
ACE_Configuration_ExtId ValueExtId (t_name);
- VALUE_HASH::ENTRY* value_entry;
+ VALUE_HASH::ENTRY* value_entry = 0;
if (((VALUE_HASH *) IntId.value_hash_map_)->find (ValueExtId, value_entry))
return -1;
diff --git a/ace/Configuration.h b/ace/Configuration.h
index 500eb3c1df2..22f65ece8d9 100644
--- a/ace/Configuration.h
+++ b/ace/Configuration.h
@@ -177,7 +177,7 @@ public:
/**
* @param key Section key to remove the named section from.
* @param sub_section Name of the section to remove.
- * @param recursive If non zero, any subkeys below @a sub_section are
+ * @param recursive If true, any subkeys below @a sub_section are
* removed as well.
*
* @retval 0 for success.
@@ -185,7 +185,7 @@ public:
*/
virtual int remove_section (const ACE_Configuration_Section_Key &key,
const ACE_TCHAR *sub_section,
- int recursive) = 0;
+ bool recursive) = 0;
/**
* Enumerates through the values in a section.
@@ -483,7 +483,7 @@ public:
virtual int remove_section (const ACE_Configuration_Section_Key& key,
const ACE_TCHAR* sub_section,
- int recursive);
+ bool recursive);
virtual int enumerate_values (const ACE_Configuration_Section_Key& key,
int index,
@@ -598,7 +598,7 @@ public:
/// allocator name_ was created in
void free (ACE_Allocator *alloc);
- /// <hash> function is required in order for this class to be usable by
+ /// hash function is required in order for this class to be usable by
/// ACE_Hash_Map_Manager.
u_long hash (void) const;
@@ -791,12 +791,37 @@ public:
/// Destructor
virtual ~ACE_Configuration_Heap (void);
- /// Opens a configuration based on a file name
+ /**
+ * Opens a configuration that allocates its memory from a memory-mapped file.
+ * This makes it possible to persist a configuration to permanent storage.
+ * This is not the same as exporting the configuration to a file; the
+ * memory-mapped file is not likely to be very readable by humans.
+ *
+ * @param file_name Name of the file to map into memory.
+ *
+ * @param base_address Address to map the base of @a file_name to.
+ *
+ * @param default_map_size Starting size for the internal hash tables that
+ * contain configuration information.
+ *
+ * @retval 0 for success.
+ * @retval -1 for error, with errno set to indicate the cause. If open()
+ * is called multiple times, errno will be @c EBUSY.
+ */
int open (const ACE_TCHAR* file_name,
void* base_address = ACE_DEFAULT_BASE_ADDR,
size_t default_map_size = ACE_DEFAULT_CONFIG_SECTION_SIZE);
- /// Opens a heap based configuration
+ /**
+ * Opens a configuration that allocates memory from the heap.
+ *
+ * @param default_map_size Starting size for the internal hash tables that
+ * contain configuration information.
+ *
+ * @retval 0 for success.
+ * @retval -1 for error, with errno set to indicate the cause. If open()
+ * is called multiple times, errno will be @c EBUSY.
+ */
int open (size_t default_map_size = ACE_DEFAULT_CONFIG_SECTION_SIZE);
virtual int open_section (const ACE_Configuration_Section_Key& base,
@@ -805,7 +830,7 @@ public:
virtual int remove_section (const ACE_Configuration_Section_Key& key,
const ACE_TCHAR* sub_section,
- int recursive);
+ bool recursive);
virtual int enumerate_values (const ACE_Configuration_Section_Key& key,
int index,
diff --git a/ace/Configuration_Import_Export.cpp b/ace/Configuration_Import_Export.cpp
index ce4cbac84c1..fe26cc9bbe9 100644
--- a/ace/Configuration_Import_Export.cpp
+++ b/ace/Configuration_Import_Export.cpp
@@ -254,7 +254,7 @@ ACE_Registry_ImpExp::export_section (const ACE_Configuration_Section_Key& sectio
ACE_TString header = ACE_TEXT ("[");
header += path;
header += ACE_TEXT ("]");
- header += ACE_TEXT (" \n");
+ header += ACE_TEXT ("\n");
if (ACE_OS::fputs (header.fast_rep (), out) < 0)
return -1;
// Write out each value
diff --git a/ace/Connector.cpp b/ace/Connector.cpp
index 842bc9599f4..867fc572384 100644
--- a/ace/Connector.cpp
+++ b/ace/Connector.cpp
@@ -24,12 +24,33 @@ ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::ACE_NonBlocking_Connect_Handler
long id)
: connector_ (connector)
, svc_handler_ (sh)
+ , cleanup_svc_handler_ (0)
, timer_id_ (id)
{
ACE_TRACE ("ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::ACE_NonBlocking_Connect_Handler");
this->reference_counting_policy ().value
(ACE_Event_Handler::Reference_Counting_Policy::ENABLED);
+
+ if (this->svc_handler_ != 0 &&
+ this->svc_handler_->reference_counting_policy ().value () ==
+ ACE_Event_Handler::Reference_Counting_Policy::ENABLED)
+ {
+ // If SVC_HANDLER is reference counted then NBCH holds a reference
+ // in cleanup_svc_handle_ which is both a pointer to SVC_HANDLER
+ // and a flag that triggers remove_reference in NBCH destructor.
+ this->cleanup_svc_handler_ = sh;
+ this->cleanup_svc_handler_->add_reference ();
+ }
+}
+
+template <class SVC_HANDLER>
+ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::~ACE_NonBlocking_Connect_Handler (void)
+{
+ if (this->cleanup_svc_handler_)
+ {
+ this->cleanup_svc_handler_->remove_reference ();
+ }
}
template <class SVC_HANDLER> SVC_HANDLER *
@@ -119,7 +140,7 @@ ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::handle_timeout
ACE_TRACE ("ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::handle_timeout");
SVC_HANDLER *svc_handler = 0;
- int retval = this->close (svc_handler) ? 0 : -1;
+ int const retval = this->close (svc_handler) ? 0 : -1;
// Forward to the SVC_HANDLER the <arg> that was passed in as a
// magic cookie during ACE_Connector::connect(). This gives the
@@ -145,7 +166,9 @@ ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::handle_input (ACE_HANDLE)
// Close Svc_Handler.
if (svc_handler != 0)
- svc_handler->close (NORMAL_CLOSE_OPERATION);
+ {
+ svc_handler->close (NORMAL_CLOSE_OPERATION);
+ }
return retval;
}
@@ -162,7 +185,9 @@ ACE_NonBlocking_Connect_Handler<SVC_HANDLER>::handle_output (ACE_HANDLE handle)
int const retval = this->close (svc_handler) ? 0 : -1;
if (svc_handler != 0)
- connector.initialize_svc_handler (handle, svc_handler);
+ {
+ connector.initialize_svc_handler (handle, svc_handler);
+ }
return retval;
}
diff --git a/ace/Connector.h b/ace/Connector.h
index 0b92d55efcd..5d77ae430e4 100644
--- a/ace/Connector.h
+++ b/ace/Connector.h
@@ -67,6 +67,9 @@ public:
SVC_HANDLER *,
long timer_id);
+ /// Destructor.
+ ~ACE_NonBlocking_Connect_Handler (void);
+
/// Close up and return underlying SVC_HANDLER through @c sh.
/**
* If the return value is true the close was performed succesfully,
@@ -127,6 +130,9 @@ private:
/// Associated SVC_HANDLER.
SVC_HANDLER *svc_handler_;
+ /// Same as svc_handler_ if svc_handler_ is reference counted.
+ SVC_HANDLER *cleanup_svc_handler_;
+
/// Associated timer id.
long timer_id_;
};
@@ -190,7 +196,7 @@ public:
* 1). @a flags and @a perms can be used to pass any flags that are
* needed to perform specific operations such as opening a file
* within connect with certain permissions. If the connection fails
- * the <close> hook on the <svc_handler> will be called
+ * the <close> hook on the @a svc_handler will be called
* automatically to prevent resource leaks.
*/
virtual int connect (SVC_HANDLER *&svc_handler,
@@ -209,7 +215,7 @@ public:
* context of the internal cache its use is thread-safe. But the
* actual svc_handler for the current connection is returned in the
* second parameter @a svc_handler. If the connection fails the
- * <close> hook on the <svc_handler> will be called automatically to
+ * <close> hook on the @a svc_handler will be called automatically to
* prevent resource leaks.
*/
virtual int connect (SVC_HANDLER *&svc_handler_hint,
diff --git a/ace/Containers_T.h b/ace/Containers_T.h
index 25a46450abd..e14357c352d 100644
--- a/ace/Containers_T.h
+++ b/ace/Containers_T.h
@@ -1993,13 +1993,8 @@ class ACE_Array : public ACE_Array_Base<T>
public:
// Define a "trait"
typedef T TYPE;
-
typedef ACE_Array_Iterator<T> ITERATOR;
-
- // = Exceptions.
-
- // = Initialization and termination methods.
-
+
/// Dynamically create an uninitialized array.
/**
* Initialize an empty array of the specified size using the provided
diff --git a/ace/Countdown_Time.cpp b/ace/Countdown_Time.cpp
index 4c95e2acfa1..6a5731eafc2 100644
--- a/ace/Countdown_Time.cpp
+++ b/ace/Countdown_Time.cpp
@@ -5,6 +5,10 @@ ACE_RCSID (ace,
Countdown_Time,
"$Id$")
+#if !defined (__ACE_INLINE__)
+#include "ace/Countdown_Time.inl"
+#endif /* __ACE_INLINE__ */
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_Countdown_Time::ACE_Countdown_Time (ACE_Time_Value *max_wait_time)
@@ -29,20 +33,16 @@ ACE_Countdown_Time::start (void)
}
}
-bool
-ACE_Countdown_Time::stopped (void) const
-{
- return stopped_;
-}
-
void
ACE_Countdown_Time::stop (void)
{
- if (this->max_wait_time_ != 0 && this->stopped_ == false)
+ if (this->max_wait_time_ != 0 && !this->stopped_)
{
- ACE_Time_Value elapsed_time = ACE_OS::gettimeofday () - this->start_time_;
+ ACE_Time_Value const elapsed_time =
+ ACE_OS::gettimeofday () - this->start_time_;
- if (*this->max_wait_time_ > elapsed_time)
+ if (elapsed_time >= ACE_Time_Value::zero &&
+ *this->max_wait_time_ > elapsed_time)
{
*this->max_wait_time_ -= elapsed_time;
}
@@ -56,11 +56,4 @@ ACE_Countdown_Time::stop (void)
}
}
-void
-ACE_Countdown_Time::update (void)
-{
- this->stop ();
- this->start ();
-}
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Countdown_Time.h b/ace/Countdown_Time.h
index 207b9045fcc..1d17c3aead7 100644
--- a/ace/Countdown_Time.h
+++ b/ace/Countdown_Time.h
@@ -22,6 +22,7 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Time_Value.h"
+#include "ace/Copy_Disabled.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -34,7 +35,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* time the stop() method is called the @c max_wait_time is
* updated.
*/
-class ACE_Export ACE_Countdown_Time
+class ACE_Export ACE_Countdown_Time : private ACE_Copy_Disabled
{
public:
/// Cache the @a max_wait_time and call @c start().
@@ -67,14 +68,14 @@ private:
/// Keeps track of whether we've already been stopped.
bool stopped_;
-
- // Prevent copying
- ACE_Countdown_Time (const ACE_Countdown_Time &);
- ACE_Countdown_Time &operator= (const ACE_Countdown_Time &);
};
ACE_END_VERSIONED_NAMESPACE_DECL
#include /**/ "ace/post.h"
+#if defined (__ACE_INLINE__)
+#include "ace/Countdown_Time.inl"
+#endif /* __ACE_INLINE__ */
+
#endif /* ACE_COUNTDOWN_TIME_H */
diff --git a/ace/Countdown_Time.inl b/ace/Countdown_Time.inl
new file mode 100644
index 00000000000..3911ca85bda
--- /dev/null
+++ b/ace/Countdown_Time.inl
@@ -0,0 +1,20 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE bool
+ACE_Countdown_Time::stopped (void) const
+{
+ return stopped_;
+}
+
+ACE_INLINE void
+ACE_Countdown_Time::update (void)
+{
+ this->stop ();
+ this->start ();
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/DLL_Manager.cpp b/ace/DLL_Manager.cpp
index 276646b6abb..9dfb7a00803 100644
--- a/ace/DLL_Manager.cpp
+++ b/ace/DLL_Manager.cpp
@@ -151,9 +151,9 @@ ACE_DLL_Handle::open (const ACE_TCHAR *dll_name,
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("ACE (%P|%t) DLL_Handle::open ")
ACE_TEXT ("(\'%s\') failed, errno=")
- ACE_TEXT ("%d: %s\n"),
+ ACE_TEXT ("%d: <%s>\n"),
name->c_str (),
- errno,
+ ACE_ERRNO_GET,
this->error ()->c_str ()));
#if defined (AIX)
@@ -177,9 +177,9 @@ ACE_DLL_Handle::open (const ACE_TCHAR *dll_name,
ACE_TEXT ("(\"%s\", 0x%x) -> %s: %s\n"),
aix_pathname,
open_mode,
- ACE_TEXT ((this->handle_ != ACE_SHLIB_INVALID_HANDLE)
- ? "succeeded"
- : "failed"),
+ (this->handle_ != ACE_SHLIB_INVALID_HANDLE
+ ? ACE_TEXT ("succeeded")
+ : ACE_TEXT ("failed")),
this->error()->c_str()));
}
diff --git a/ace/Default_Constants.h b/ace/Default_Constants.h
index ce435121681..afa365a41f2 100644
--- a/ace/Default_Constants.h
+++ b/ace/Default_Constants.h
@@ -18,7 +18,7 @@
#define ACE_DEFAULT_CONSTANTS_H
#include /**/ "ace/pre.h"
-// Included just keep compilers that see #pragma dierctive first
+// Included just keep compilers that see #pragma directive first
// happy.
#include /**/ "ace/config-all.h"
@@ -26,6 +26,9 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+// For _POSIX_TIMER_MAX
+#include "ace/os_include/os_limits.h"
+
// Define the default constants for ACE. Many of these are used for
// the ACE tests and applications. You can change these values by
// defining the macros in your config.h file.
@@ -62,6 +65,10 @@
#define ACE_DEFAULT_SERVICE_REPOSITORY_SIZE 1024
#endif /* ACE_DEFAULT_SERVICE_REPOSITORY_SIZE */
+#if !defined (ACE_DEFAULT_SERVICE_GESTALT_SIZE)
+#define ACE_DEFAULT_SERVICE_GESTALT_SIZE 1024
+#endif /* ACE_DEFAULT_SERVICE_GESTALT_SIZE */
+
#if !defined (ACE_REACTOR_NOTIFICATION_ARRAY_SIZE)
#define ACE_REACTOR_NOTIFICATION_ARRAY_SIZE 1024
#endif /* ACE_REACTOR_NOTIFICATION_ARRAY_SIZE */
@@ -196,7 +203,7 @@
# define ACE_DEFAULT_TIME_SERVER_STR "ACE_TS_TIME"
# endif /* ACE_DEFAULT_TIME_SERVER_STR */
-// Used by the FIFO tests and the Client_Logging_Handler netsvc.
+// Used by the FIFO tests
# if !defined (ACE_DEFAULT_RENDEZVOUS)
# if defined (ACE_HAS_STREAM_PIPES)
# define ACE_DEFAULT_RENDEZVOUS ACE_TEXT("/tmp/fifo.ace")
@@ -210,13 +217,20 @@
# define ACE_DEFAULT_SYSLOG_FACILITY LOG_USER
# endif /* ACE_DEFAULT_SYSLOG_FACILITY */
-# if !defined (ACE_DEFAULT_LOGGER_KEY)
+# if !defined (ACE_HAS_STREAM_LOG_MSG_IPC)
+# if defined (ACE_HAS_STREAM_PIPES)
+# define ACE_HAS_STREAM_LOG_MSG_IPC 1
+# else
+# define ACE_HAS_STREAM_LOG_MSG_IPC 0
+# endif /* ACE_HAS_STREAM_PIPES */
+# endif /* !ACE_HAS_STREAM_LOG_MSG_IPC */
-# if defined (ACE_HAS_STREAM_PIPES)
-# define ACE_DEFAULT_LOGGER_KEY ACE_TEXT ("/tmp/server_daemon")
-# else
-# define ACE_DEFAULT_LOGGER_KEY ACE_TEXT ("localhost:20012")
-# endif /* ACE_HAS_STREAM_PIPES */
+# if !defined (ACE_DEFAULT_LOGGER_KEY)
+# if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
+# define ACE_DEFAULT_LOGGER_KEY ACE_TEXT ("/tmp/server_daemon")
+# else
+# define ACE_DEFAULT_LOGGER_KEY ACE_TEXT ("localhost:20012")
+# endif /* ACE_HAS_STREAM_LOG_MSG_IPC==1 */
# endif /* ACE_DEFAULT_LOGGER_KEY */
// The way to specify the local host for loopback IP. This is usually
@@ -299,6 +313,10 @@
# define ACE_DEFAULT_MAP_SIZE 1024
# endif /* ACE_DEFAULT_MAP_SIZE */
+# if defined (ACE_DEFAULT_MAP_SIZE) && (ACE_DEFAULT_MAP_SIZE == 0)
+# error ACE_DEFAULT_MAP_SIZE should not be zero
+# endif /* ACE_DEFAULT_MAP_SIZE */
+
// Defaults for ACE Timer Wheel
# if !defined (ACE_DEFAULT_TIMER_WHEEL_SIZE)
# define ACE_DEFAULT_TIMER_WHEEL_SIZE 1024
@@ -450,9 +468,13 @@
// Default number of ACE_Event_Handlers supported by
// ACE_Timer_Heap.
-# if !defined (ACE_DEFAULT_TIMERS)
-# define ACE_DEFAULT_TIMERS _POSIX_TIMER_MAX
-# endif /* ACE_DEFAULT_TIMERS */
+#if !defined (ACE_DEFAULT_TIMERS) && defined (_POSIX_TIMER_MAX)
+# define ACE_DEFAULT_TIMERS _POSIX_TIMER_MAX
+#endif /* ACE_DEFAULT_TIMERS */
+
+#if !defined (ACE_DEFAULT_TIMERS) || (defined (ACE_DEFAULT_TIMERS) && (ACE_DEFAULT_TIMERS == 0))
+#error ACE_DEFAULT_TIMERS should be defined and not be zero
+#endif /* ACE_DEFAULT_TIMERS */
#if defined (ACE_WIN32)
# define ACE_PLATFORM_A "Win32"
@@ -482,11 +504,9 @@
# define ACE_LD_SEARCH_PATH ACE_TEXT ("PATH")
# define ACE_LD_SEARCH_PATH_SEPARATOR_STR ACE_TEXT (";")
# define ACE_DLL_SUFFIX ACE_TEXT (".dll")
-# if defined (__MINGW32__)
-# define ACE_DLL_PREFIX ACE_TEXT ("lib")
-# else /* __MINGW32__ */
+# if !defined (ACE_DLL_PREFIX)
# define ACE_DLL_PREFIX ACE_TEXT ("")
-# endif /* __MINGW32__ */
+# endif /* !ACE_DLL_PREFIX */
#else /* !ACE_WIN32 */
# if !defined (ACE_LD_SEARCH_PATH)
# define ACE_LD_SEARCH_PATH ACE_TEXT ("LD_LIBRARY_PATH")
@@ -559,6 +579,18 @@
#define ACE_DEFAULT_LOCALNAME ACE_TEXT (ACE_DEFAULT_LOCALNAME_A)
#define ACE_DEFAULT_GLOBALNAME ACE_TEXT (ACE_DEFAULT_GLOBALNAME_A)
+#if !defined (ACE_DEFAULT_OPEN_PERMS)
+# define ACE_DEFAULT_OPEN_PERMS ACE_DEFAULT_FILE_PERMS
+#endif /* ACE_DEFAULT_OPEN_PERMS */
+
+#if !defined (ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS)
+# if defined (ACE_WIN32)
+# define ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS ACE_DEFAULT_OPEN_PERMS
+# else
+# define ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS (S_IRUSR | S_IWUSR)
+# endif /* ACE_WIN32 */
+#endif /* ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS */
+
# if defined (ACE_WIN32)
// The "null" device on Win32.
# define ACE_DEV_NULL "nul"
diff --git a/ace/Dev_Poll_Reactor.cpp b/ace/Dev_Poll_Reactor.cpp
index 98dfbace9c5..72d8e1220e9 100644
--- a/ace/Dev_Poll_Reactor.cpp
+++ b/ace/Dev_Poll_Reactor.cpp
@@ -15,9 +15,7 @@ ACE_RCSID (ace,
# include "ace/OS_NS_fcntl.h"
# include "ace/OS_NS_stropts.h"
-# if defined (ACE_HAS_EVENT_POLL) && defined (linux)
-# include /**/ <sys/epoll.h>
-# elif defined (ACE_HAS_DEV_POLL)
+# if defined (ACE_HAS_DEV_POLL)
# if defined (linux)
# include /**/ <linux/devpoll.h>
# elif defined (HPUX_VERS) && HPUX_VERS < 1123
@@ -55,6 +53,7 @@ ACE_Dev_Poll_Reactor_Notify::ACE_Dev_Poll_Reactor_Notify (void)
#if defined (ACE_HAS_REACTOR_NOTIFICATION_QUEUE)
, notification_queue_ ()
#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
+ , dispatching_ (false)
{
}
@@ -136,27 +135,25 @@ ACE_Dev_Poll_Reactor_Notify::notify (ACE_Event_Handler *eh,
ACE_UNUSED_ARG (timeout);
ACE_Dev_Poll_Handler_Guard eh_guard (eh);
- int notification_required =
- notification_queue_.push_new_notification (buffer);
-
- if (notification_required == -1)
- return -1; // Also decrement eh's reference count
+ // When using the queue, the push call indicates whether or not a pipe
+ // write is needed. If it's not, don't waste pipe space.
+ int push_result = this->notification_queue_.push_new_notification (buffer);
+ if (-1 == push_result || 1 == push_result)
+ return -1 == push_result ? -1 : 0; // Also decrement eh's reference count
// The notification has been queued, so it will be delivered at some
// point (and may have been already); release the refcnt guard.
eh_guard.release ();
- if (notification_required == 0)
- return 0;
-
// Now pop the pipe to force the callback for dispatching when ready. If
// the send fails due to a full pipe, don't fail - assume the already-sent
// pipe bytes will cause the entire notification queue to be processed.
+ // Note that we don't need a timeout since the pipe is already in
+ // nonblocking mode and all we want is one attempt.
ssize_t n = ACE::send (this->notification_pipe_.write_handle (),
(char *) &buffer,
- 1, // Only need one byte to pop the pipe
- &ACE_Time_Value::zero);
- if (n == -1 && (errno != ETIME && errno != EAGAIN))
+ 1); // Only need one byte to pop the pipe
+ if (n == -1 && (errno != EAGAIN))
return -1;
return 0;
@@ -210,46 +207,40 @@ ACE_Dev_Poll_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
// expensive than simply checking for an EWOULDBLOCK.
size_t to_read;
char *read_p;
- bool have_one = false;
#if defined (ACE_HAS_REACTOR_NOTIFICATION_QUEUE)
- // For the queued case, we'll try to read one byte (since that's what
- // the notify () tried to put in) but we don't need it - notifications can
- // be queued even if the pipe fills, so there may be more notifications
- // queued than there are bytes in the pipe.
- char b;
- read_p = &b;
- to_read = 1;
-
- // Before reading the byte, pop a message from the queue and queue a
- // new message unless the queue is now empty. The protocol is to
- // keep a byte in the pipe as long as the queue is not empty.
+ // The idea in the queued case is to be sure we never end up with a notify
+ // queued but no byte in the pipe. If that happens, the notify won't be
+ // dispatched. So always try to empty the pipe, read the queue, then put
+ // a byte in if needed. The notify() method is enqueueing then writing the
+ // pipe, so be sure to do it in the reverse order here to avoid a race
+ // between removing the last notification from the queue and the notify
+ // side writing its byte.
+ char b[1024];
+ read_p = b;
+ to_read = sizeof(b);
+ (void)ACE::recv (handle, read_p, to_read);
+
bool more_messages_queued = false;
ACE_Notification_Buffer next;
-
int result = notification_queue_.pop_next_notification (buffer,
more_messages_queued,
next);
- if (result == 0)
- {
- // remove the notification byte from the pipe, avoiding notification loop
- ACE::recv (handle, read_p, to_read);
- return 0;
- }
-
- if (result == -1)
- return -1;
+ if (result <= 0) // Nothing dequeued or error
+ return result;
+ // If there are more messages, ensure there's a byte in the pipe
+ // in case the notification limit stops dequeuing notifies before
+ // emptying the queue.
if (more_messages_queued)
(void) ACE::send (this->notification_pipe_.write_handle (),
(char *)&next,
- 1 /* one byte is enough */,
- &ACE_Time_Value::zero);
+ 1); /* one byte is enough */
+ return 1;
#else
to_read = sizeof buffer;
read_p = (char *)&buffer;
-#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
ssize_t n = ACE::recv (handle, read_p, to_read);
@@ -275,7 +266,8 @@ ACE_Dev_Poll_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
if (n <= 0 && (errno != EWOULDBLOCK && errno != EAGAIN))
return -1;
- return have_one ? 1 : 0;
+ return 0;
+#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
}
@@ -284,12 +276,12 @@ ACE_Dev_Poll_Reactor_Notify::handle_input (ACE_HANDLE handle)
{
ACE_TRACE ("ACE_Dev_Poll_Reactor_Notify::handle_input");
- // @@ We may end up dispatching this event handler twice: once when
- // performing the speculative read on the notification pipe
- // handle, and once more when dispatching the IO events.
-
- // Precondition: this->select_reactor_.token_.current_owner () ==
- // ACE_Thread::self ();
+ {
+ ACE_MT (ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, mon, this->dispatching_lock_, -1));
+ if (this->dispatching_)
+ return 0;
+ this->dispatching_ = true;
+ }
int number_dispatched = 0;
int result = 0;
@@ -316,11 +308,7 @@ ACE_Dev_Poll_Reactor_Notify::handle_input (ACE_HANDLE handle)
number_dispatched = -1;
}
- // Enqueue ourselves into the list of waiting threads. When we
- // reacquire the token we'll be off and running again with ownership
- // of the token. The postcondition of this call is that
- // <select_reactor_.token_.current_owner> == <ACE_Thread::self>.
- //this->select_reactor_->renew ();
+ this->dispatching_ = false;
return number_dispatched;
}
@@ -440,55 +428,52 @@ ACE_Dev_Poll_Reactor_Notify::dump (void) const
// -----------------------------------------------------------------
-ACE_Dev_Poll_Reactor_Handler_Repository::
-ACE_Dev_Poll_Reactor_Handler_Repository (void)
+ACE_Dev_Poll_Reactor::Handler_Repository::Handler_Repository (void)
: max_size_ (0),
handlers_ (0)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::ACE_Dev_Poll_Reactor_Handler_Repository");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::Handler_Repository");
}
-int
-ACE_Dev_Poll_Reactor_Handler_Repository::invalid_handle (
+bool
+ACE_Dev_Poll_Reactor::Handler_Repository::invalid_handle (
ACE_HANDLE handle) const
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::invalid_handle");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::invalid_handle");
if (handle < 0 || handle >= this->max_size_)
{
errno = EINVAL;
- return 1;
+ return true;
}
else
- return 0;
+ return false;
}
-int
-ACE_Dev_Poll_Reactor_Handler_Repository::handle_in_range (
+bool
+ACE_Dev_Poll_Reactor::Handler_Repository::handle_in_range (
ACE_HANDLE handle) const
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::handle_in_range");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::handle_in_range");
if (handle >= 0 && handle < this->max_size_)
- return 1;
+ return true;
else
{
errno = EINVAL;
- return 0;
+ return false;
}
}
int
-ACE_Dev_Poll_Reactor_Handler_Repository::open (size_t size)
+ACE_Dev_Poll_Reactor::Handler_Repository::open (size_t size)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::open");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::open");
this->max_size_ = size;
// Try to allocate the memory.
- ACE_NEW_RETURN (this->handlers_,
- ACE_Dev_Poll_Event_Tuple[size],
- -1);
+ ACE_NEW_RETURN (this->handlers_, Event_Tuple[size], -1);
// Try to increase the number of handles if <size> is greater than
// the current limit.
@@ -496,23 +481,35 @@ ACE_Dev_Poll_Reactor_Handler_Repository::open (size_t size)
}
int
-ACE_Dev_Poll_Reactor_Handler_Repository::unbind_all (void)
+ACE_Dev_Poll_Reactor::Handler_Repository::unbind_all (void)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::unbind_all");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::unbind_all");
- // Unbind all of the event handlers.
+ // Unbind all of the event handlers; similar to remove_handler() on all.
for (int handle = 0;
handle < this->max_size_;
++handle)
- this->unbind (handle);
+ {
+ Event_Tuple *entry = this->find (handle);
+ if (entry == 0)
+ continue;
+
+ // Check for ref counting now - handle_close () may delete eh.
+ bool const requires_reference_counting =
+ entry->event_handler->reference_counting_policy ().value () ==
+ ACE_Event_Handler::Reference_Counting_Policy::ENABLED;
+
+ (void) entry->event_handler->handle_close (handle, entry->mask);
+ this->unbind (handle, requires_reference_counting);
+ }
return 0;
}
int
-ACE_Dev_Poll_Reactor_Handler_Repository::close (void)
+ACE_Dev_Poll_Reactor::Handler_Repository::close (void)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::close");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::close");
if (this->handlers_ != 0)
{
@@ -525,37 +522,37 @@ ACE_Dev_Poll_Reactor_Handler_Repository::close (void)
return 0;
}
-ACE_Event_Handler *
-ACE_Dev_Poll_Reactor_Handler_Repository::find (ACE_HANDLE handle,
- size_t *index_p)
+ACE_Dev_Poll_Reactor::Event_Tuple *
+ACE_Dev_Poll_Reactor::Handler_Repository::find (ACE_HANDLE handle)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::find");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::find");
- ACE_Event_Handler *eh = 0;
+ Event_Tuple *tuple = 0;
// Only bother to search for the <handle> if it's in range.
- if (this->handle_in_range (handle))
+ if (!this->handle_in_range (handle))
{
- eh = this->handlers_[handle].event_handler;
- if (eh != 0)
- {
- if (index_p != 0)
- *index_p = handle;
- }
- else
- errno = ENOENT;
+ errno = ERANGE;
+ return 0;
+ }
+
+ tuple = &(this->handlers_[handle]);
+ if (tuple->event_handler == 0)
+ {
+ errno = ENOENT;
+ tuple = 0;
}
- return eh;
+ return tuple;
}
int
-ACE_Dev_Poll_Reactor_Handler_Repository::bind (
+ACE_Dev_Poll_Reactor::Handler_Repository::bind (
ACE_HANDLE handle,
ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::bind");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::bind");
if (event_handler == 0)
return -1;
@@ -574,20 +571,22 @@ ACE_Dev_Poll_Reactor_Handler_Repository::bind (
}
int
-ACE_Dev_Poll_Reactor_Handler_Repository::unbind (ACE_HANDLE handle,
- bool decr_refcnt)
+ACE_Dev_Poll_Reactor::Handler_Repository::unbind (ACE_HANDLE handle,
+ bool decr_refcnt)
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::unbind");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::unbind");
- if (this->find (handle) == 0)
+ Event_Tuple *entry = this->find (handle);
+ if (entry == 0)
return -1;
if (decr_refcnt)
- this->handlers_[handle].event_handler->remove_reference ();
- this->handlers_[handle].event_handler = 0;
- this->handlers_[handle].mask = ACE_Event_Handler::NULL_MASK;
- this->handlers_[handle].suspended = 0;
+ entry->event_handler->remove_reference ();
+ entry->event_handler = 0;
+ entry->mask = ACE_Event_Handler::NULL_MASK;
+ entry->suspended = false;
+ entry->controlled = false;
return 0;
}
@@ -604,14 +603,13 @@ ACE_Dev_Poll_Reactor::ACE_Dev_Poll_Reactor (ACE_Sig_Handler *sh,
, size_ (0)
// , ready_set_ ()
#if defined (ACE_HAS_EVENT_POLL)
- , events_ (0)
- , start_pevents_ (0)
- , end_pevents_ (0)
-#else
+ , epoll_wait_in_progress_ (false)
+#endif /* ACE_HAS_EVENT_POLL */
+#if defined (ACE_HAS_DEV_POLL)
, dp_fds_ (0)
, start_pfds_ (0)
, end_pfds_ (0)
-#endif /* ACE_HAS_EVENT_POLL */
+#endif /* ACE_HAS_DEV_POLL */
, deactivated_ (0)
, token_ (*this, s_queue)
, lock_adapter_ (token_)
@@ -651,15 +649,11 @@ ACE_Dev_Poll_Reactor::ACE_Dev_Poll_Reactor (size_t size,
, poll_fd_ (ACE_INVALID_HANDLE)
, size_ (0)
// , ready_set_ ()
-#if defined (ACE_HAS_EVENT_POLL)
- , events_ (0)
- , start_pevents_ (0)
- , end_pevents_ (0)
-#else
+#if defined (ACE_HAS_DEV_POLL)
, dp_fds_ (0)
, start_pfds_ (0)
, end_pfds_ (0)
-#endif /* ACE_HAS_EVENT_POLL */
+#endif /* ACE_HAS_DEV_POLL */
, deactivated_ (0)
, token_ (*this, s_queue)
, lock_adapter_ (token_)
@@ -707,6 +701,11 @@ ACE_Dev_Poll_Reactor::open (size_t size,
if (this->initialized_)
return -1;
+#ifdef ACE_HAS_EVENT_POLL
+ ACE_OS::memset (&this->event_, 0, sizeof (this->event_));
+ this->event_.data.fd = ACE_INVALID_HANDLE;
+#endif /* ACE_HAS_EVENT_POLL */
+
this->restart_ = restart;
this->signal_handler_ = sh;
this->timer_queue_ = tq;
@@ -755,10 +754,7 @@ ACE_Dev_Poll_Reactor::open (size_t size,
#if defined (ACE_HAS_EVENT_POLL)
- // Allocating event table:
- ACE_NEW_RETURN (this->events_, epoll_event[size], -1);
-
- // Initializing epoll:
+ // Initialize epoll:
this->poll_fd_ = ::epoll_create (size);
if (this->poll_fd_ == -1)
result = -1;
@@ -800,7 +796,7 @@ ACE_Dev_Poll_Reactor::open (size_t size,
this->initialized_ = true;
else
// This will close down all the allocated resources properly.
- (void) this->close ();
+ (void) this->close ();
return result;
}
@@ -859,8 +855,8 @@ ACE_Dev_Poll_Reactor::close (void)
#if defined (ACE_HAS_EVENT_POLL)
- delete [] this->events_;
- this->events_ = 0;
+ ACE_OS::memset (&this->event_, 0, sizeof (this->event_));
+ this->event_.data.fd = ACE_INVALID_HANDLE;
#else
@@ -876,7 +872,7 @@ ACE_Dev_Poll_Reactor::close (void)
this->delete_signal_handler_ = false;
}
- (void) this->handler_rep_.close ();
+ (void) this->handler_rep_.close ();
if (this->delete_timer_queue_)
{
@@ -897,13 +893,10 @@ ACE_Dev_Poll_Reactor::close (void)
this->poll_fd_ = ACE_INVALID_HANDLE;
-#if defined (ACE_HAS_EVENT_POLL)
- this->start_pevents_ = 0;
- this->end_pevents_ = 0;
-#else
+#if defined (ACE_HAS_DEV_POLL)
this->start_pfds_ = 0;
this->end_pfds_ = 0;
-#endif /* ACE_HAS_EVENT_POLL */
+#endif /* ACE_HAS_DEV_POLL */
this->initialized_ = false;
@@ -944,7 +937,7 @@ ACE_Dev_Poll_Reactor::work_pending_i (ACE_Time_Value * max_wait_time)
return 0;
#if defined (ACE_HAS_EVENT_POLL)
- if (this->start_pevents_ != this->end_pevents_)
+ if (this->event_.data.fd != ACE_INVALID_HANDLE)
#else
if (this->start_pfds_ != this->end_pfds_)
#endif /* ACE_HAS_EVENT_POLL */
@@ -968,17 +961,33 @@ ACE_Dev_Poll_Reactor::work_pending_i (ACE_Time_Value * max_wait_time)
#if defined (ACE_HAS_EVENT_POLL)
- // Wait for events.
- int const nfds = ::epoll_wait (this->poll_fd_,
- this->events_,
- this->size_,
- static_cast<int> (timeout));
-
- if (nfds > 0)
- {
- this->start_pevents_ = this->events_;
- this->end_pevents_ = this->start_pevents_ + nfds;
- }
+ // See if there are handlers that have to be resumed before waiting.
+ {
+ ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, grd, this->to_be_resumed_lock_, -1);
+ this->epoll_wait_in_progress_ = true;
+ for (Resume_Map::iterator i = this->to_be_resumed_.begin ();
+ i != this->to_be_resumed_.end ();
+ ++i)
+ {
+ // Make sure that 1) the handle is still registered,
+ // 2) the registered handler is the one we're waiting to resume.
+ Event_Tuple *info = this->handler_rep_.find (i->first);
+ if (info != 0 && info->event_handler == i->second)
+ {
+ this->resume_handler_i (i->first);
+ }
+ }
+ this->to_be_resumed_.clear ();
+ }
+
+ // Wait for an event.
+ int const nfds = ::epoll_wait (this->poll_fd_,
+ &this->event_,
+ 1,
+ static_cast<int> (timeout));
+ // Count on this being an atomic update; at worst, we may get an
+ // extraneous notify() from dispatch_io_event.
+ this->epoll_wait_in_progress_ = false;
#else
@@ -1040,18 +1049,17 @@ ACE_Dev_Poll_Reactor::handle_events_i (ACE_Time_Value *max_wait_time,
ACE_TRACE ("ACE_Dev_Poll_Reactor::handle_events_i");
int result = 0;
- // int active_handle_count = 0;
// Poll for events
//
- // If the underlying ioctl () call was interrupted via the interrupt
+ // If the underlying event wait call was interrupted via the interrupt
// signal (i.e. returned -1 with errno == EINTR) then the loop will
// be restarted if so desired.
do
{
result = this->work_pending_i (max_wait_time);
- if (result == -1)
- ACE_ERROR ((LM_ERROR, "%t: %p\n", "work_pending_i"));
+ if (result == -1 && (this->restart_ == 0 || errno != EINTR))
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%t: %p\n"), ACE_TEXT("work_pending_i")));
}
while (result == -1 && this->restart_ != 0 && errno == EINTR);
@@ -1097,10 +1105,7 @@ ACE_Dev_Poll_Reactor::dispatch (Token_Guard &guard)
if ((result = this->dispatch_timer_handler (guard)) != 0)
return result;
- // Check to see if there are no more I/O handles left to
- // dispatch AFTER we've handled the timers.
-
- // Finally, dispatch the I/O handlers.
+ // If no timer dispatched, check for an I/O event.
result = this->dispatch_io_event (guard);
return result;
@@ -1173,6 +1178,8 @@ int
ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard)
{
+ // Dispatch a ready event.
+
// Define bits to check for while dispatching.
#if defined (ACE_HAS_EVENT_POLL)
const __uint32_t out_event = EPOLLOUT;
@@ -1186,6 +1193,17 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard)
const short err_event = 0; // No known bits for this
#endif /* ACE_HAS_EVENT_POLL */
+#if defined (ACE_HAS_EVENT_POLL)
+ // epoll_wait() pulls one event which is stored in event_. If the handle
+ // is invalid, there's no event there. Else process it. In any event, we
+ // have the event, so clear event_ for the next thread.
+ const ACE_HANDLE handle = this->event_.data.fd;
+ __uint32_t revents = this->event_.events;
+ this->event_.data.fd = ACE_INVALID_HANDLE;
+ this->event_.events = 0;
+ if (handle != ACE_INVALID_HANDLE)
+
+#else
// Since the underlying event demultiplexing mechansim (`/dev/poll'
// or '/dev/epoll') is stateful, and since only one result buffer is
// used, all pending events (i.e. those retrieved from a previous
@@ -1193,8 +1211,6 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard)
// polled. As such, the Dev_Poll_Reactor keeps track of the
// progress of events that have been dispatched.
- // Dispatch the events.
- //
// Select the first available handle with event (s) pending. Check for
// event type in defined order of dispatch: output, exception, input.
// When an event is located, clear its bit in the dispatch set. If there
@@ -1203,21 +1219,31 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard)
//
// Notice that pfds only contains file descriptors that have
// received events.
-#if defined (ACE_HAS_EVENT_POLL)
- struct epoll_event *& pfds = this->start_pevents_;
- if (pfds < this->end_pevents_)
-#else
struct pollfd *& pfds = this->start_pfds_;
if (pfds < this->end_pfds_)
#endif /* ACE_HAS_EVENT_POLL */
+
{
-#if defined (ACE_HAS_EVENT_POLL)
- const ACE_HANDLE handle = pfds->data.fd;
- __uint32_t &revents = pfds->events;
-#else
+
+#ifdef ACE_HAS_DEV_POLL
const ACE_HANDLE handle = pfds->fd;
short &revents = pfds->revents;
+#endif /* ACE_HAS_DEV_POLL */
+
+ /* When using sys_epoll, we can attach arbitrary user
+ data to the descriptor, so it can be delivered when
+ activity is detected. Perhaps we should store event
+ handler together with descriptor, instead of looking
+ it up in a repository ? Could it boost performance ?
+ */
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info == 0) // No registered handler any longer
+ {
+#ifdef ACE_HAS_EVENT_POLL
+ this->event_.data.fd = ACE_INVALID_HANDLE; // Dump the event
#endif /* ACE_HAS_EVENT_POLL */
+ return 0;
+ }
// Figure out what to do first in order to make it easier to manage
// the bit twiddling and possible pfds increment before releasing
@@ -1225,96 +1251,139 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard)
// Note that if there's an error (such as the handle was closed
// without being removed from the event set) the EPOLLHUP and/or
// EPOLLERR bits will be set in revents.
- bool disp_out = false;
- bool disp_exc = false;
- bool disp_in = false;
+ ACE_Reactor_Mask disp_mask = 0;
+ ACE_Event_Handler *eh = info->event_handler;
+ int (ACE_Event_Handler::*callback)(ACE_HANDLE) = 0;
if (ACE_BIT_ENABLED (revents, out_event))
{
- disp_out = true;
+ disp_mask = ACE_Event_Handler::WRITE_MASK;
+ callback = &ACE_Event_Handler::handle_output;
ACE_CLR_BITS (revents, out_event);
}
else if (ACE_BIT_ENABLED (revents, exc_event))
{
- disp_exc = true;
+ disp_mask = ACE_Event_Handler::EXCEPT_MASK;
+ callback = &ACE_Event_Handler::handle_exception;
ACE_CLR_BITS (revents, exc_event);
}
else if (ACE_BIT_ENABLED (revents, in_event))
{
- disp_in = true;
+ disp_mask = ACE_Event_Handler::READ_MASK;
+ callback = &ACE_Event_Handler::handle_input;
ACE_CLR_BITS (revents, in_event);
}
else if (ACE_BIT_ENABLED (revents, err_event))
{
- this->remove_handler_i (handle, ACE_Event_Handler::ALL_EVENTS_MASK);
+ this->remove_handler_i (handle,
+ ACE_Event_Handler::ALL_EVENTS_MASK,
+ info->event_handler);
+#ifdef ACE_HAS_DEV_POLL
++pfds;
+#endif /* ACE_HAS_DEV_POLL */
return 1;
}
else
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT (" (%t) dispatch_io h %d unknown events 0x%x\n"), handle, revents));
- // ACE_ASSERT (0);
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) dispatch_io h %d unknown events 0x%x\n"),
+ handle, revents));
}
+#ifdef ACE_HAS_DEV_POLL
// Increment the pointer to the next element before we
// release the token. Otherwise event handlers end up being
// dispatched multiple times for the same poll.
if (revents == 0)
++pfds;
+#else
+ // With epoll, events are registered with oneshot, so the handle is
+ // effectively suspended; future calls to epoll_wait() will select
+ // the next event, so they're not managed here.
+ // The hitch to this is that the notify handler is always registered
+ // WITHOUT oneshot and is never suspended/resumed. This avoids endless
+ // notify loops caused by the notify handler requiring a resumption
+ // which requires the token, which requires a notify, etc. described
+ // in Bugzilla 3714. So, never suspend the notify handler.
+
+ bool reactor_resumes_eh = false;
+ if (eh != this->notify_handler_)
+ {
+ info->suspended = true;
- /* When using sys_epoll, we can attach arbitrary user
- data to the descriptor, so it can be delivered when
- activity is detected. Perhaps we should store event
- handler together with descriptor, instead of looking
- it up in a repository ? Could it boost performance ?
- */
- ACE_Event_Handler *eh = this->handler_rep_.find (handle);
+ reactor_resumes_eh =
+ eh->resume_handler () ==
+ ACE_Event_Handler::ACE_REACTOR_RESUMES_HANDLER;
+ }
+#endif /* ACE_HAS_DEV_POLL */
+
+ int status = 0; // gets callback status, below.
+ {
+ // Modify the reference count in an exception-safe way.
+ // Note that eh could be the notify handler. It's not strictly
+ // necessary to manage its refcount, but since we don't enable
+ // the counting policy, it won't do much. Management of the
+ // notified handlers themselves is done in the notify handler.
+ ACE_Dev_Poll_Handler_Guard eh_guard (eh);
+
+ // Release the reactor token before upcall.
+ guard.release_token ();
+
+ // Dispatch the detected event; will do the repeated upcalls
+ // if callback returns > 0, unless it's the notify handler (which
+ // returns the number of notfies dispatched, not an indication of
+ // re-callback requested). If anything other than the notify, come
+ // back with either 0 or < 0.
+ status = this->upcall (eh, callback, handle);
+
+ if (eh == this->notify_handler_)
+ return status;
+
+ // If the callback returned 0, epoll-based needs to resume the
+ // suspended handler but dev/poll doesn't.
+ // The epoll case is optimized to not acquire the token in order
+ // to resume the handler; the handler is added to a list of those
+ // that need to be resumed and is handled by the next leader
+ // that does an epoll_wait().
+ // In both epoll and dev/poll cases, if the callback returns <0,
+ // the token needs to be acquired and the handler checked and
+ // removed if it hasn't already been.
+ if (status == 0)
+ {
+#ifdef ACE_HAS_EVENT_POLL
+ // epoll-based effectively suspends handlers around the upcall.
+ // If the handler must be resumed, add it to the list.
+ if (reactor_resumes_eh)
+ {
+ ACE_GUARD_RETURN (ACE_SYNCH_MUTEX,
+ grd,
+ this->to_be_resumed_lock_,
+ -1);
+ bool map_was_empty = this->to_be_resumed_.empty();
+ this->to_be_resumed_.insert
+ (Resume_Map::value_type (handle, eh));
+ if (this->epoll_wait_in_progress_ && map_was_empty)
+ this->notify();
+ }
+#endif /* ACE_HAS_EVENT_POLL */
+ return 1;
+ }
+
+ // All state in the handler repository may have changed during the
+ // upcall while other threads had the token. Thus, reacquire the
+ // token and evaluate what's needed. If the upcalled handler is still
+ // the handler of record for handle, continue with checking whether
+ // or not to remove or resume the handler.
+ guard.acquire ();
+ info = this->handler_rep_.find (handle);
+ if (info != 0 && info->event_handler == eh)
+ {
+ if (status < 0)
+ this->remove_handler_i (handle, disp_mask);
+ }
+ }
+ // Scope close handles eh ref count decrement, if needed.
- if (eh)
- {
- // Modify the reference count in an exception-safe way.
- // Note that eh could be the notify handler. It's not strictly
- // necessary to manage its refcount, but since we don't enable
- // the counting policy, it won't do much. Management of the
- // notified handlers themselves is done in the notify handler.
- ACE_Dev_Poll_Handler_Guard eh_guard (eh);
-
- // Release the reactor token before upcall.
- guard.release_token ();
-
- // Dispatch the detected event
- if (disp_out)
- {
- const int status =
- this->upcall (eh, &ACE_Event_Handler::handle_output, handle);
-
- if (status < 0)
- // Note that the token is reacquired in remove_handler ().
- this->remove_handler (handle, ACE_Event_Handler::WRITE_MASK);
- return 1;
- }
-
- if (disp_exc)
- {
- const int status =
- this->upcall (eh, &ACE_Event_Handler::handle_exception, handle);
-
- if (status < 0)
- // Note that the token is reacquired in remove_handler ().
- this->remove_handler (handle, ACE_Event_Handler::EXCEPT_MASK);
- return 1;
- }
-
- if (disp_in)
- {
- const int status =
- this->upcall (eh, &ACE_Event_Handler::handle_input, handle);
-
- if (status < 0)
- // Note that the token is reacquired in remove_handler ().
- this->remove_handler (handle, ACE_Event_Handler::READ_MASK);
- return 1;
- }
- } // The reactor token is reacquired upon leaving this scope.
+ return 1;
}
return 0;
@@ -1406,19 +1475,27 @@ ACE_Dev_Poll_Reactor::register_handler_i (ACE_HANDLE handle,
#if defined (ACE_HAS_EVENT_POLL)
+ Event_Tuple *info = this->handler_rep_.find (handle);
+
struct epoll_event epev;
ACE_OS::memset (&epev, 0, sizeof (epev));
static const int op = EPOLL_CTL_ADD;
- epev.events = this->reactor_mask_to_poll_event (mask);
epev.data.fd = handle;
+ epev.events = this->reactor_mask_to_poll_event (mask);
+ // All but the notify handler get registered with oneshot to facilitate
+ // auto suspend before the upcall. See dispatch_io_event for more
+ // information.
+ if (event_handler != this->notify_handler_)
+ epev.events |= EPOLLONESHOT;
if (::epoll_ctl (this->poll_fd_, op, handle, &epev) == -1)
{
- ACE_ERROR ((LM_ERROR, "%p\n", "epoll_ctl"));
- (void) this->handler_rep_.unbind (handle);
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("epoll_ctl")));
+ (void) this->handler_rep_.unbind (handle);
return -1;
}
+ info->controlled = true;
#endif /* ACE_HAS_EVENT_POLL */
}
@@ -1428,10 +1505,11 @@ ACE_Dev_Poll_Reactor::register_handler_i (ACE_HANDLE handle,
// again, possibly for different event. Add new mask to the
// current one.
if (this->mask_ops_i (handle, mask, ACE_Reactor::ADD_MASK) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "mask_ops_i"), -1);
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("mask_ops_i")),
+ -1);
}
-#ifndef ACE_HAS_EVENT_POLL
+#ifdef ACE_HAS_DEV_POLL
struct pollfd pfd;
@@ -1445,7 +1523,7 @@ ACE_Dev_Poll_Reactor::register_handler_i (ACE_HANDLE handle,
(void) this->handler_rep_.unbind (handle);
return -1;
}
-#endif /*ACE_HAS_EVENT_POLL*/
+#endif /*ACE_HAS_DEV_POLL*/
// Note the fact that we've changed the state of the wait_set_,
// which is used by the dispatching loop to determine whether it can
@@ -1559,15 +1637,24 @@ ACE_Dev_Poll_Reactor::remove_handler (ACE_HANDLE handle,
int
ACE_Dev_Poll_Reactor::remove_handler_i (ACE_HANDLE handle,
- ACE_Reactor_Mask mask)
+ ACE_Reactor_Mask mask,
+ ACE_Event_Handler *eh)
{
ACE_TRACE ("ACE_Dev_Poll_Reactor::remove_handler_i");
- ACE_Event_Handler *eh = this->handler_rep_.find (handle);
-
- if (eh == 0 ||
- this->mask_ops_i (handle, mask, ACE_Reactor::CLR_MASK) == -1)
+ // If registered event handler not the same as eh, don't mess with
+ // the mask, but do the proper callback and refcount when needed.
+ bool handle_reg_changed = true;
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info == 0 && eh == 0) // Nothing to work with
return -1;
+ if (info != 0 && (eh == 0 || info->event_handler == eh))
+ {
+ if (this->mask_ops_i (handle, mask, ACE_Reactor::CLR_MASK) == -1)
+ return -1;
+ handle_reg_changed = false;
+ eh = info->event_handler;
+ }
// Check for ref counting now - handle_close () may delete eh.
bool const requires_reference_counting =
@@ -1575,19 +1662,13 @@ ACE_Dev_Poll_Reactor::remove_handler_i (ACE_HANDLE handle,
ACE_Event_Handler::Reference_Counting_Policy::ENABLED;
if (ACE_BIT_DISABLED (mask, ACE_Event_Handler::DONT_CALL))
- (void) eh->handle_close (handle, mask);
+ (void) eh->handle_close (handle, mask);
// If there are no longer any outstanding events on the given handle
// then remove it from the handler repository.
- if (this->handler_rep_.mask (handle) == ACE_Event_Handler::NULL_MASK)
+ if (!handle_reg_changed && info->mask == ACE_Event_Handler::NULL_MASK)
this->handler_rep_.unbind (handle, requires_reference_counting);
- // Note the fact that we've changed the state of the wait_set,
- // i.e. the "interest set," which is used by the dispatching loop to
- // determine whether it can keep going or if it needs to reconsult
- // /dev/poll or /dev/epoll.
- // this->state_changed_ = 1;
-
return 0;
}
@@ -1707,10 +1788,11 @@ ACE_Dev_Poll_Reactor::suspend_handlers (void)
size_t const len = this->handler_rep_.size ();
for (size_t i = 0; i < len; ++i)
- if (this->handler_rep_.suspended (i) == 0
- && this->suspend_handler_i (i) != 0)
- return -1;
-
+ {
+ Event_Tuple *info = this->handler_rep_.find (i);
+ if (info != 0 && !info->suspended && this->suspend_handler_i (i) != 0)
+ return -1;
+ }
return 0;
}
@@ -1719,10 +1801,11 @@ ACE_Dev_Poll_Reactor::suspend_handler_i (ACE_HANDLE handle)
{
ACE_TRACE ("ACE_Dev_Poll_Reactor::suspend_handler_i");
- if (this->handler_rep_.find (handle) == 0)
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info == 0)
return -1;
- if (this->handler_rep_.suspended (handle))
+ if (info->suspended)
return 0; // Already suspended. @@ Should this be an error?
// Remove the handle from the "interest set."
@@ -1742,7 +1825,7 @@ ACE_Dev_Poll_Reactor::suspend_handler_i (ACE_HANDLE handle)
if (::epoll_ctl (this->poll_fd_, op, handle, &epev) == -1)
return -1;
-
+ info->controlled = false;
#else
struct pollfd pfd[1];
@@ -1756,7 +1839,7 @@ ACE_Dev_Poll_Reactor::suspend_handler_i (ACE_HANDLE handle)
#endif /* ACE_HAS_EVENT_POLL */
- this->handler_rep_.suspend (handle);
+ info->suspended = true;
return 0;
}
@@ -1816,9 +1899,11 @@ ACE_Dev_Poll_Reactor::resume_handlers (void)
size_t const len = this->handler_rep_.size ();
for (size_t i = 0; i < len; ++i)
- if (this->handler_rep_.suspended (i)
- && this->resume_handler_i (i) != 0)
- return -1;
+ {
+ Event_Tuple *info = this->handler_rep_.find (i);
+ if (info != 0 && info->suspended && this->resume_handler_i (i) != 0)
+ return -1;
+ }
return 0;
}
@@ -1828,14 +1913,19 @@ ACE_Dev_Poll_Reactor::resume_handler_i (ACE_HANDLE handle)
{
ACE_TRACE ("ACE_Dev_Poll_Reactor::resume_handler_i");
- if (this->handler_rep_.find (handle) == 0
- && this->handler_rep_.suspended (handle) == 0)
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info == 0)
return -1;
- ACE_Reactor_Mask mask = this->handler_rep_.mask (handle);
+ if (!info->suspended)
+ return 0;
+ ACE_Reactor_Mask mask = info->mask;
if (mask == ACE_Event_Handler::NULL_MASK)
- return -1;
+ {
+ info->suspended = false;
+ return 0;
+ }
// Place the handle back in to the "interest set."
//
@@ -1845,13 +1935,15 @@ ACE_Dev_Poll_Reactor::resume_handler_i (ACE_HANDLE handle)
struct epoll_event epev;
ACE_OS::memset (&epev, 0, sizeof (epev));
- static const int op = EPOLL_CTL_ADD;
-
- epev.events = this->reactor_mask_to_poll_event (mask);
+ int op = EPOLL_CTL_ADD;
+ if (info->controlled)
+ op = EPOLL_CTL_MOD;
+ epev.events = this->reactor_mask_to_poll_event (mask) | EPOLLONESHOT;
epev.data.fd = handle;
if (::epoll_ctl (this->poll_fd_, op, handle, &epev) == -1)
return -1;
+ info->controlled = true;
#else
@@ -1866,7 +1958,7 @@ ACE_Dev_Poll_Reactor::resume_handler_i (ACE_HANDLE handle)
#endif /* ACE_HAS_EVENT_POLL */
- this->handler_rep_.resume (handle);
+ info->suspended = false;
return 0;
}
@@ -2042,10 +2134,16 @@ ACE_Dev_Poll_Reactor::find_handler (ACE_HANDLE handle)
{
ACE_MT (ACE_READ_GUARD_RETURN (ACE_Dev_Poll_Reactor_Token, mon, this->token_, 0));
- ACE_Event_Handler *event_handler = this->handler_rep_.find (handle);
- if (event_handler)
- event_handler->add_reference ();
- return event_handler;
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info)
+ {
+ info->event_handler->add_reference ();
+ return info->event_handler;
+ }
+ else
+ {
+ return 0;
+ }
}
int
@@ -2057,15 +2155,15 @@ ACE_Dev_Poll_Reactor::handler (ACE_HANDLE handle,
ACE_MT (ACE_READ_GUARD_RETURN (ACE_Dev_Poll_Reactor_Token, mon, this->token_, -1));
- ACE_Event_Handler *h = this->handler_rep_.find (handle);
+ Event_Tuple *info = this->handler_rep_.find (handle);
- if (h != 0
- && ACE_BIT_CMP_MASK (this->handler_rep_.mask (handle),
+ if (info != 0
+ && ACE_BIT_CMP_MASK (info->mask,
mask, // Compare all bits in the mask
mask))
{
if (event_handler != 0)
- *event_handler = h;
+ *event_handler = info->event_handler;
return 0;
}
@@ -2215,13 +2313,14 @@ ACE_Dev_Poll_Reactor::mask_ops_i (ACE_HANDLE handle,
{
ACE_TRACE ("ACE_Dev_Poll_Reactor::mask_ops_i");
- if (this->handler_rep_.handle_in_range (handle) == 0)
+ Event_Tuple *info = this->handler_rep_.find (handle);
+ if (info == 0)
return -1;
// Block out all signals until method returns.
ACE_Sig_Guard sb;
- ACE_Reactor_Mask const old_mask = this->handler_rep_.mask (handle);
+ ACE_Reactor_Mask const old_mask = info->mask;
ACE_Reactor_Mask new_mask = old_mask;
// Perform GET, CLR, SET, and ADD operations on the interest/wait
@@ -2260,12 +2359,15 @@ ACE_Dev_Poll_Reactor::mask_ops_i (ACE_HANDLE handle,
}
/// Reset the mask for the given handle.
- this->handler_rep_.mask (handle, new_mask);
-
- if (this->handler_rep_.suspended (handle) == 0)
+ info->mask = new_mask;
+
+ // Only attempt to alter events for the handle from the
+ // "interest set" if it hasn't been suspended. If it has been
+ // suspended, the revised mask will take affect when the
+ // handle is resumed. The exception is if all the mask bits are
+ // cleared, we can un-control the fd now.
+ if (!info->suspended || (info->controlled && new_mask == 0))
{
- // Only attempt to alter events for the handle from the
- // "interest set" if it hasn't been suspended.
short const events = this->reactor_mask_to_poll_event (new_mask);
@@ -2301,7 +2403,7 @@ ACE_Dev_Poll_Reactor::mask_ops_i (ACE_HANDLE handle,
else
{
op = EPOLL_CTL_MOD;
- epev.events = events;
+ epev.events = events | EPOLLONESHOT;
}
epev.data.fd = handle;
@@ -2316,7 +2418,7 @@ ACE_Dev_Poll_Reactor::mask_ops_i (ACE_HANDLE handle,
::epoll_ctl (this->poll_fd_, EPOLL_CTL_ADD, handle, &epev) == -1)
return -1;
}
-
+ info->controlled = (op != EPOLL_CTL_DEL);
#else
pollfd pfd[1];
@@ -2465,7 +2567,7 @@ ACE_Dev_Poll_Reactor::Token_Guard::acquire_quietly (ACE_Time_Value *max_wait)
return 0;
else
{
- ACE_ERROR ((LM_ERROR, "%t: %p\n", "token acquire_read"));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%t: %p\n"), ACE_TEXT("token acquire_read")));
return -1;
}
}
diff --git a/ace/Dev_Poll_Reactor.h b/ace/Dev_Poll_Reactor.h
index dd9a16d6cee..5a41586cae1 100644
--- a/ace/Dev_Poll_Reactor.h
+++ b/ace/Dev_Poll_Reactor.h
@@ -43,7 +43,8 @@
#if defined (ACE_HAS_DEV_POLL)
struct pollfd;
#elif defined (ACE_HAS_EVENT_POLL)
-struct epoll_event;
+# include "ace/Array_Map.h"
+# include /**/ <sys/epoll.h>
#endif
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -52,41 +53,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
class ACE_Sig_Handler;
class ACE_Dev_Poll_Reactor;
-/**
- * @class ACE_Dev_Poll_Event_Tuple
- *
- * @brief Class that associates specific event mask with a given event
- * handler.
- *
- * This class merely provides a means to associate an event mask
- * with an event handler. Such an association is needed since it is
- * not possible to retrieve the event mask from the "interest set"
- * stored in the `/dev/poll' or `/dev/epoll' driver. Without this
- * external association, it would not be possible keep track of the
- * event mask for a given event handler when suspending it or resuming
- * it.
- *
- * @note An ACE_Handle_Set is not used since the number of handles may
- * exceed its capacity (ACE_DEFAULT_SELECT_REACTOR_SIZE).
- */
-class ACE_Dev_Poll_Event_Tuple
-{
-public:
-
- /// Constructor.
- ACE_Dev_Poll_Event_Tuple (void);
-
-public:
-
- /// The event handler.
- ACE_Event_Handler *event_handler;
-
- /// The event mask for the above event handler.
- ACE_Reactor_Mask mask;
-
- /// Flag that states whether or not the event handler is suspended.
- char suspended;
-};
// ---------------------------------------------------------------------
@@ -280,123 +246,10 @@ protected:
ACE_Notification_Queue notification_queue_;
#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
-};
-
-// ---------------------------------------------------------------------
-
-/**
- * @class ACE_Dev_Poll_Reactor_Handler_Repository
- *
- * @internal
-
- * @brief Used to map ACE_HANDLEs onto the appropriate
- * ACE_Event_Handler *.
- *
- *
- * This class is simply a container that maps a handle to its
- * corresponding event handler. It is not meant for use outside of
- * the Dev_Poll_Reactor.
- */
-class ACE_Dev_Poll_Reactor_Handler_Repository
-{
-public:
-
- /// Constructor.
- ACE_Dev_Poll_Reactor_Handler_Repository (void);
-
- /// Initialize a repository of the appropriate @a size.
- int open (size_t size);
-
- /// Close down the repository.
- int close (void);
-
- /**
- * @name Repository Manipulation Operations
- *
- * Methods used to search and modify the handler repository.
- */
- //@{
-
- /**
- * Return the @c ACE_Event_Handler associated with @c ACE_HANDLE. If
- * @a index_p is non-zero, then return the index location of the
- * handle, if found.
- */
- ACE_Event_Handler *find (ACE_HANDLE handle, size_t *index_p = 0);
-
- /// Set the event mask for event handler associated with the given
- /// handle.
- void mask (ACE_HANDLE handle, ACE_Reactor_Mask mask);
-
- /// Retrieve the event mask for the event handler associated with
- /// the given handle.
- ACE_Reactor_Mask mask (ACE_HANDLE handle);
-
- /// Mark the event handler associated with the given handle as
- /// "suspended."
- void suspend (ACE_HANDLE handle);
-
- /// Mark the event handler associated with the given handle as
- /// "resumed."
- void resume (ACE_HANDLE handle);
-
- /// Is the event handler for the given handle suspended?
- int suspended (ACE_HANDLE handle) const;
-
- /// Bind the ACE_Event_Handler to the @c ACE_HANDLE with the
- /// appropriate ACE_Reactor_Mask settings.
- int bind (ACE_HANDLE handle,
- ACE_Event_Handler *handler,
- ACE_Reactor_Mask mask);
-
- /// Remove the binding for @c ACE_HANDLE; optionally decrement the associated
- /// handler's reference count.
- int unbind (ACE_HANDLE handle, bool decr_refcnt = true);
-
- /// Remove all the (@c ACE_HANDLE, @c ACE_Event_Handler) tuples.
- int unbind_all (void);
-
- /**
- * @name Sanity Checking
- *
- * Methods used to prevent "out-of-range" errors when indexing the
- * underlying handler array.
- */
- //@{
-
- // Check the @a handle to make sure it's a valid @c ACE_HANDLE that
- // within the range of legal handles (i.e., greater than or equal to
- // zero and less than @c max_size_).
- int invalid_handle (ACE_HANDLE handle) const;
-
- // Check the handle to make sure it's a valid @c ACE_HANDLE that is
- // within the range of currently registered handles (i.e., greater
- // than or equal to zero and less than @c max_handlep1_).
- int handle_in_range (ACE_HANDLE handle) const;
-
- //@}
-
- /// Returns the current table size.
- size_t size (void) const;
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-private:
-
- /// Maximum number of handles.
- int max_size_;
-
- /// The underlying array of event handlers.
- /**
- * The array of event handlers is directly indexed directly using
- * an @c ACE_HANDLE value. This is Unix-specific.
- */
- ACE_Dev_Poll_Event_Tuple *handlers_;
-
+ /// Lock and flag to say whether we're already dispatching notifies.
+ /// Purpose is to only dispatch notifies from one thread at a time.
+ ACE_SYNCH_MUTEX dispatching_lock_;
+ volatile bool dispatching_;
};
// ---------------------------------------------------------------------
@@ -444,6 +297,149 @@ typedef ACE_Reactor_Token_T<ACE_DEV_POLL_TOKEN> ACE_Dev_Poll_Reactor_Token;
class ACE_Export ACE_Dev_Poll_Reactor : public ACE_Reactor_Impl
{
+
+ /**
+ * @struct Event_Tuple
+ *
+ * @brief Struct that collects event registration information for a handle.
+ *
+ * @internal Internal use only
+ *
+ * This struct merely provides a means to associate an event mask
+ * with an event handler. Such an association is needed since it is
+ * not possible to retrieve the event mask from the "interest set"
+ * stored in the `/dev/poll' or `/dev/epoll' driver. Without this
+ * external association, it would not be possible keep track of the
+ * event mask for a given event handler when suspending it or resuming
+ * it.
+ *
+ * @note An ACE_Handle_Set is not used since the number of handles may
+ * exceed its capacity (ACE_DEFAULT_SELECT_REACTOR_SIZE).
+ */
+ struct Event_Tuple
+ {
+ /// Constructor to set up defaults.
+ Event_Tuple (ACE_Event_Handler *eh = 0,
+ ACE_Reactor_Mask m = ACE_Event_Handler::NULL_MASK,
+ bool is_suspended = false,
+ bool is_controlled = false);
+
+ /// The event handler.
+ ACE_Event_Handler *event_handler;
+
+ /// The event mask for the above event handler.
+ ACE_Reactor_Mask mask;
+
+ /// Flag that states whether or not the event handler is suspended.
+ bool suspended;
+
+ /// Flag to say whether or not this handle is registered with epoll.
+ bool controlled;
+ };
+
+
+ // ---------------------------------------------------------------------
+
+ /**
+ * @class Handler_Repository
+ *
+ * @internal
+ *
+ * @brief Used to map ACE_HANDLEs onto the appropriate Event_Tuple.
+ *
+ * This class is simply a container that maps a handle to its
+ * corresponding event tuple. It is not meant for use outside of
+ * the Dev_Poll_Reactor.
+ *
+ * @note Calls to any method in this class, and any modification to a
+ * Event_Tuple returned from this class's methods, must be made
+ * while holding the reactor token.
+ */
+ class Handler_Repository
+ {
+ public:
+
+ /// Constructor.
+ Handler_Repository (void);
+
+ /// Initialize a repository that can map handles up to the value @a size.
+ /// Since the event tuples are accessed directly using the handle as
+ /// an index, @a size sets the maximum handle value, minus 1.
+ int open (size_t size);
+
+ /// Close down the repository.
+ int close (void);
+
+ /**
+ * @name Repository Manipulation Operations
+ *
+ * Methods used to search and modify the handler repository.
+ */
+ //@{
+
+ /// Return a pointer to the Event_Tuple associated with @a handle.
+ /// If there is none associated, returns 0 and sets errno.
+ Event_Tuple *find (ACE_HANDLE handle);
+
+
+ /// Bind the ACE_Event_Handler to the @c ACE_HANDLE with the
+ /// appropriate ACE_Reactor_Mask settings.
+ int bind (ACE_HANDLE handle,
+ ACE_Event_Handler *handler,
+ ACE_Reactor_Mask mask);
+
+ /// Remove the binding for @a handle; optionally decrement the associated
+ /// handler's reference count.
+ int unbind (ACE_HANDLE handle, bool decr_refcnt = true);
+
+ /// Remove all the registered tuples.
+ int unbind_all (void);
+
+ //@}
+
+ /**
+ * @name Sanity Checking
+ *
+ * Methods used to prevent "out-of-range" errors when indexing the
+ * underlying handler array.
+ */
+ //@{
+
+ // Check the @a handle to make sure it's a valid @c ACE_HANDLE that
+ // within the range of legal handles (i.e., greater than or equal to
+ // zero and less than @c max_size_).
+ bool invalid_handle (ACE_HANDLE handle) const;
+
+ // Check the handle to make sure it's a valid @c ACE_HANDLE that is
+ // within the range of currently registered handles (i.e., greater
+ // than or equal to zero and less than @c max_handlep1_).
+ bool handle_in_range (ACE_HANDLE handle) const;
+
+ //@}
+
+ /// Returns the current table size.
+ size_t size (void) const;
+
+ /// Dump the state of an object.
+ void dump (void) const;
+
+ /// Declare the dynamic allocation hooks.
+ ACE_ALLOC_HOOK_DECLARE;
+
+ private:
+
+ /// Maximum number of handles.
+ int max_size_;
+
+ /// The underlying array of event handlers.
+ /**
+ * The array of event handlers is directly indexed directly using
+ * an @c ACE_HANDLE value. This is Unix-specific.
+ */
+ Event_Tuple *handlers_;
+
+ };
+
public:
/// Initialize @c ACE_Dev_Poll_Reactor with the default size.
@@ -622,8 +618,8 @@ public:
ACE_Event_Handler **old_sh = 0,
ACE_Sig_Action *old_disp = 0);
- /// Registers <new_sh> to handle a set of signals <sigset> using the
- /// <new_disp>.
+ /// Registers @a new_sh to handle a set of signals @a sigset using the
+ /// @a new_disp.
virtual int register_handler (const ACE_Sig_Set &sigset,
ACE_Event_Handler *new_sh,
ACE_Sig_Action *new_disp = 0);
@@ -647,7 +643,7 @@ public:
ACE_Reactor_Mask mask);
/**
- * Removes all handles in <handle_set>. If @a mask ==
+ * Removes all handles in @a handle_set. If @a mask ==
* ACE_Event_Handler::DONT_CALL then the <handle_close> method of
* the associated <event_handler>s is not invoked.
*/
@@ -665,7 +661,7 @@ public:
ACE_Sig_Action *old_disp = 0,
int sigkey = -1);
- /// Calls <remove_handler> for every signal in <sigset>.
+ /// Calls <remove_handler> for every signal in @a sigset.
virtual int remove_handler (const ACE_Sig_Set &sigset);
// = Suspend and resume Handlers.
@@ -793,7 +789,7 @@ public:
/**
* Set the maximum number of times that ACE_Reactor_Impl will
- * iterate and dispatch the <ACE_Event_Handlers> that are passed in
+ * iterate and dispatch the ACE_Event_Handlers that are passed in
* via the notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop. By default, this is set to
* -1, which means "iterate until the queue is empty." Setting this
@@ -805,7 +801,7 @@ public:
/**
* Get the maximum number of times that the ACE_Reactor_Impl will
- * iterate and dispatch the <ACE_Event_Handlers> that are passed in
+ * iterate and dispatch the ACE_Event_Handlers that are passed in
* via the notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop.
*/
@@ -1008,8 +1004,12 @@ protected:
ACE_Reactor_Mask mask);
/// Remove the event handler associated with the given handle and
- /// event mask from the "interest set."
- int remove_handler_i (ACE_HANDLE handle, ACE_Reactor_Mask mask);
+ /// event mask from the "interest set." If @a eh is supplied, only
+ /// do the remove if @eh matches the event handler that's registered
+ /// for @a handle.
+ int remove_handler_i (ACE_HANDLE handle,
+ ACE_Reactor_Mask mask,
+ ACE_Event_Handler *eh = 0);
/// Temporarily remove the given handle from the "interest set."
int suspend_handler_i (ACE_HANDLE handle);
@@ -1053,20 +1053,24 @@ protected:
/// ACE_Dev_Poll_Ready_Set ready_set_;
#if defined (ACE_HAS_EVENT_POLL)
- /// Table of event structures to be filled by epoll_wait:
- struct epoll_event *events_;
-
- /// Pointer to the next epoll_event array element that contains the next
- /// event to be dispatched.
- struct epoll_event *start_pevents_;
-
- /// The last element in the event array plus one.
- /**
- * The loop that dispatches IO events stops when this->start_pevents_ ==
- * this->end_pevents_.
- */
- struct epoll_event *end_pevents_;
-
+ /// Event structure to be filled by epoll_wait. epoll_wait() only gets
+ /// one event at a time and we rely on it's internals for fairness.
+ /// If this struct's fd is ACE_INVALID_HANDLE, the rest is indeterminate.
+ /// If the fd is good, the event is one that's been retrieved by
+ /// epoll_wait() but not yet processed.
+ struct epoll_event event_;
+
+ /// Event handlers that are suspended/resumed around upcalls are not
+ /// immediately resumed; they're added to this list for resumption at
+ /// the next epoll_wait() call. This avoids always needing to acquire the
+ /// token just to resume a handler. Of course, if there are no other
+ /// handlers in the to-be-resumed list and an epoll_wait is already in
+ /// progress, the reactor needs to be notified to force another run around
+ /// the epoll_wait() call.
+ typedef ACE_Array_Map<ACE_HANDLE, ACE_Event_Handler *> Resume_Map;
+ Resume_Map to_be_resumed_;
+ volatile bool epoll_wait_in_progress_;
+ ACE_SYNCH_MUTEX to_be_resumed_lock_;
#else
/// The pollfd array that `/dev/poll' will feed its results to.
struct pollfd *dp_fds_;
@@ -1095,7 +1099,7 @@ protected:
ACE_Lock_Adapter<ACE_Dev_Poll_Reactor_Token> lock_adapter_;
/// The repository that contains all registered event handlers.
- ACE_Dev_Poll_Reactor_Handler_Repository handler_rep_;
+ Handler_Repository handler_rep_;
/// Defined as a pointer to allow overriding by derived classes...
ACE_Timer_Queue *timer_queue_;
diff --git a/ace/Dev_Poll_Reactor.inl b/ace/Dev_Poll_Reactor.inl
index b7034e07333..b8392e7bb02 100644
--- a/ace/Dev_Poll_Reactor.inl
+++ b/ace/Dev_Poll_Reactor.inl
@@ -7,10 +7,14 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE
-ACE_Dev_Poll_Event_Tuple::ACE_Dev_Poll_Event_Tuple (void)
- : event_handler (0),
- mask (ACE_Event_Handler::NULL_MASK),
- suspended (0)
+ACE_Dev_Poll_Reactor::Event_Tuple::Event_Tuple (ACE_Event_Handler *eh,
+ ACE_Reactor_Mask m,
+ bool is_suspended,
+ bool is_controlled)
+ : event_handler (eh),
+ mask (m),
+ suspended (is_suspended),
+ controlled (is_controlled)
{
}
@@ -27,69 +31,10 @@ ACE_Dev_Poll_Ready_Set::ACE_Dev_Poll_Ready_Set (void)
// ---------------------------------------------------------------------
-ACE_INLINE void
-ACE_Dev_Poll_Reactor_Handler_Repository::mask (ACE_HANDLE handle,
- ACE_Reactor_Mask mask)
-{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::mask");
-
- // Only bother to search for the handle if it's in range.
- if (this->handle_in_range (handle))
- this->handlers_[handle].mask = mask;
-}
-
-ACE_INLINE ACE_Reactor_Mask
-ACE_Dev_Poll_Reactor_Handler_Repository::mask (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::mask");
-
- ACE_Reactor_Mask mask = ACE_Event_Handler::NULL_MASK;
-
- // Only bother to search for the handle if it's in range.
- if (this->handle_in_range (handle))
- mask = this->handlers_[handle].mask;
-
- if (mask == ACE_Event_Handler::NULL_MASK)
- errno = ENOENT;
-
- return mask;
-}
-
-ACE_INLINE void
-ACE_Dev_Poll_Reactor_Handler_Repository::suspend (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::suspend");
-
- // Only bother to search for the handle if it's in range.
- if (this->handle_in_range (handle))
- this->handlers_[handle].suspended = 1;
-}
-
-ACE_INLINE void
-ACE_Dev_Poll_Reactor_Handler_Repository::resume (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::resume");
-
- // Only bother to search for the handle if it's in range.
- if (this->handle_in_range (handle))
- this->handlers_[handle].suspended = 0;
-}
-
-ACE_INLINE int
-ACE_Dev_Poll_Reactor_Handler_Repository::suspended (ACE_HANDLE handle) const
-{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::suspended");
-
- if (this->handle_in_range (handle))
- return this->handlers_[handle].suspended;
-
- return -1;
-}
-
ACE_INLINE size_t
-ACE_Dev_Poll_Reactor_Handler_Repository::size (void) const
+ACE_Dev_Poll_Reactor::Handler_Repository::size (void) const
{
- ACE_TRACE ("ACE_Dev_Poll_Reactor_Handler_Repository::size");
+ ACE_TRACE ("ACE_Dev_Poll_Reactor::Handler_Repository::size");
return this->max_size_;
}
@@ -112,33 +57,6 @@ ACE_Dev_Poll_Handler_Guard::ACE_Dev_Poll_Handler_Guard
if (do_incr && this->refcounted_)
eh->add_reference ();
-
- /**
- * The below comments were here when I replaced the old refcount
- * scheme was replaced. They may still need addressing. -Steve Huston
- */
-
- /**
- * @todo Suspend the handler so that other threads will not cause
- * an event that is already in an upcall from being dispatched
- * again.
- *
- * @note The naive approach would be to simply call
- * suspend_handler_i() on the reactor. However, that would
- * cause a system call (write()) to occur. Obviously this
- * can potentially have an adverse affect on performance.
- * Ideally, the handler would only be marked as "suspended" in
- * the handler repository. If an event arrives for a
- * suspended handler that event can be "queued" in a
- * "handle readiness queue." "Queued" is quoted since a real
- * queue need not be used since duplicate events can be
- * coalesced, thus avoiding unbounded queue growth. Event
- * coalescing is already done by Linux's event poll driver
- * (/dev/epoll) so Solaris' poll driver (/dev/poll) is the
- * main concern here. The largest the queue can be is the
- * same size as the number of handlers stored in the handler
- * repository.
- */
}
ACE_INLINE
@@ -146,15 +64,6 @@ ACE_Dev_Poll_Handler_Guard::~ACE_Dev_Poll_Handler_Guard (void)
{
if (this->refcounted_ && this->eh_ != 0)
this->eh_->remove_reference ();
-
- /**
- * The below comments were here when I replaced the old refcount
- * scheme was replaced. They may still need addressing. -Steve Huston
- */
- /**
- * @todo Resume the handler so that other threads will be allowed to
- * dispatch the handler.
- */
}
ACE_INLINE void
@@ -172,14 +81,15 @@ ACE_Dev_Poll_Reactor::upcall (ACE_Event_Handler *event_handler,
{
// If the handler returns positive value (requesting a reactor
// callback) just call back as many times as the handler requests
- // it. Other threads are off handling other things.
+ // it. The handler is suspended internally and other threads are off
+ // handling other things.
int status = 0;
do
{
status = (event_handler->*callback) (handle);
}
- while (status > 0);
+ while (status > 0 && event_handler != this->notify_handler_);
return status;
}
diff --git a/ace/Dirent.h b/ace/Dirent.h
index 823b28d747c..17557f46fc5 100644
--- a/ace/Dirent.h
+++ b/ace/Dirent.h
@@ -39,17 +39,17 @@ public:
/// Default constructor.
ACE_Dirent (void);
- /// Constructor calls <opendir>
+ /// Constructor calls @c opendir()
explicit ACE_Dirent (const ACE_TCHAR *dirname);
/// Opens the directory named by filename and associates a directory
/// stream with it.
int open (const ACE_TCHAR *filename);
- /// Destructor calls <closedir>.
+ /// Destructor calls @c closedir().
~ACE_Dirent (void);
- /// Closes the directory stream and frees the <ACE_DIR> structure.
+ /// Closes the directory stream and frees the ACE_DIR structure.
void close (void);
// = Iterator methods.
diff --git a/ace/Dynamic_Message_Strategy.cpp b/ace/Dynamic_Message_Strategy.cpp
index 060aef6f5b5..201052c2acd 100644
--- a/ace/Dynamic_Message_Strategy.cpp
+++ b/ace/Dynamic_Message_Strategy.cpp
@@ -149,7 +149,7 @@ ACE_Deadline_Message_Strategy::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Dynamic_Message_Strategy base class: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Dynamic_Message_Strategy base class:\n")));
this->ACE_Dynamic_Message_Strategy::dump ();
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nderived class: ACE_Deadline_Message_Strategy\n")));
@@ -192,7 +192,7 @@ ACE_Laxity_Message_Strategy::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Dynamic_Message_Strategy base class: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Dynamic_Message_Strategy base class:\n")));
this->ACE_Dynamic_Message_Strategy::dump ();
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nderived class: ACE_Laxity_Message_Strategy\n")));
diff --git a/ace/Dynamic_Service_Base.cpp b/ace/Dynamic_Service_Base.cpp
index e93dde6e905..6f3d3225e95 100644
--- a/ace/Dynamic_Service_Base.cpp
+++ b/ace/Dynamic_Service_Base.cpp
@@ -82,17 +82,22 @@ ACE_Dynamic_Service_Base::instance (const ACE_Service_Gestalt* repo,
{
ACE_Guard <ACE_Log_Msg> log_guard (*ACE_Log_Msg::instance ());
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) DSB::instance, repo=%@, name=%s")
- ACE_TEXT (" type=%@ => %@"),
- repo->repo_, name, type, obj));
-
if (repo->repo_ != repo_found->repo_)
- ACE_DEBUG ((LM_DEBUG,
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) DSB::instance, repo=%@, name=%s")
+ ACE_TEXT (" type=%@ => %@")
ACE_TEXT (" [in repo=%@]\n"),
+ repo->repo_, name, type, obj,
repo_found->repo_));
+ }
else
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) DSB::instance, repo=%@, name=%s")
+ ACE_TEXT (" type=%@ => %@\n"),
+ repo->repo_, name, type, obj));
+ }
}
return obj;
diff --git a/ace/Dynamic_Service_Base.h b/ace/Dynamic_Service_Base.h
index 7a039a1a6b2..e8daa502181 100644
--- a/ace/Dynamic_Service_Base.h
+++ b/ace/Dynamic_Service_Base.h
@@ -37,7 +37,6 @@ class ACE_Service_Type;
*/
class ACE_Export ACE_Dynamic_Service_Base
{
-
public:
/// Dump the current static of the object
void dump (void) const;
diff --git a/ace/ETCL/ETCL_Interpreter.cpp b/ace/ETCL/ETCL_Interpreter.cpp
index e7ae9a7d016..5d7cbcfbc58 100644
--- a/ace/ETCL/ETCL_Interpreter.cpp
+++ b/ace/ETCL/ETCL_Interpreter.cpp
@@ -62,7 +62,7 @@ ETCL_Interpreter::is_empty_string (const char* str)
break;
}
- i++;
+ ++i;
}
if (str[i] == '\0')
@@ -84,11 +84,11 @@ int
Lex_String_Input::copy_into (char* buf,
int max_size)
{
- int chars_left =
+ int const chars_left =
ACE_Utils::truncate_cast<int> (
Lex_String_Input::end_ - Lex_String_Input::current_);
- int n = max_size > chars_left ? chars_left : max_size;
+ int const n = max_size > chars_left ? chars_left : max_size;
if (n > 0)
{
diff --git a/ace/ETCL/ETCL_l.cpp b/ace/ETCL/ETCL_l.cpp
index 9ebb522747c..bb343092dfc 100644
--- a/ace/ETCL/ETCL_l.cpp
+++ b/ace/ETCL/ETCL_l.cpp
@@ -563,7 +563,7 @@ YY_MALLOC_DECL
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ETCL_ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ETCL_ECHO { size_t __dum_ret = fwrite( yytext, yyleng, 1, yyout ); (void) __dum_ret; }
#endif
//FUZZ: enable check_for_lack_ACE_OS
@@ -1542,14 +1542,14 @@ FILE *file;
#if defined (ACE_HAS_WINCE)
// Mimic the behavior as WinCE does not have isatty().
- if ((file != 0) && (file == fileno(file))) {
+ if ((file != 0) && (file == ACE_OS::fileno(file))) {
b->yy_is_interactive = 1;
}
else {
b->yy_is_interactive = 0;
}
#else
- b->yy_is_interactive = file ? (ACE_OS::isatty( fileno(file) ) > 0) : 0;
+ b->yy_is_interactive = file ? (ACE_OS::isatty( ACE_OS::fileno(file) ) > 0) : 0;
#endif // ACE_HAS_WINCE
}
diff --git a/ace/ETCL/ETCL_l.cpp.diff b/ace/ETCL/ETCL_l.cpp.diff
index 9709c130de2..2948f90be4f 100644
--- a/ace/ETCL/ETCL_l.cpp.diff
+++ b/ace/ETCL/ETCL_l.cpp.diff
@@ -3,35 +3,35 @@
@@ -1,15 +1,14 @@
+
/* A lexical scanner generated by flex */
-
+
/* Scanner skeleton version:
- * $Header$
+ * $Id$
*/
-
+
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-
+
-#include <stdio.h>
-
-
+
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
@@ -21,8 +20,7 @@
-
+
#ifdef __cplusplus
-
+
-#include <stdlib.h>
-#include <unistd.h>
+#include "ace/OS.h"
-
+
/* Use prototypes in function declarations. */
#define YY_USE_PROTOS
@@ -262,8 +260,8 @@
#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-
+
+
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
+//#define yywrap() 1
@@ -53,7 +53,7 @@
//
// = LIBRARY
// orbsvcs/ECTL
--//
+-//
+//
// = FILENAME
// ETCL.ll
@@ -61,37 +61,37 @@
@@ -462,12 +460,12 @@
//
// ========================================================================
-
+
-#include "ace/OS.h"
-
+#include "ETCL_Interpreter.h"
#include "ETCL_Constraint.h"
#include "ETCL_y.h"
-
+
-static const char * extract_string(char*);
+static const char* extract_string(char*);
+//static const char * extract_string(char*);
-
+
#define TAO_YY_LEX_DEBUG
-
+
@@ -475,12 +473,11 @@
#define TAO_YY_LEX_DEBUG TAO_OS::fprintf(stderr, "%s\n", yytext)
#endif /* TAO_CONSTRAINT_DEBUG */
-
+
-#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state)
+//#define YY_DECL int TAO_ETCL_yylex (TAO_ETCL_YYSTYPE *lvalp, void* state)
-
+
#define YY_BREAK
#define YY_NO_UNPUT
-
+
-#line 484 "lex.yy.c"
-
+
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -494,10 +491,6 @@
#endif
#endif
-
+
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
@@ -100,9 +100,9 @@
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif
@@ -556,11 +549,11 @@
-
+
/* Copy whatever the last rule matched to the standard output. */
-
+
-#ifndef ECHO
+#ifndef TAO_ETCL_ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
@@ -111,7 +111,7 @@
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define TAO_ETCL_ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif
-
+
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -628,13 +621,11 @@
YY_DECL
@@ -121,17 +121,17 @@
+ register char *yy_cp = 0;
+ register char *yy_bp = 0;
register int yy_act;
-
+
-#line 50 "ETCL.ll"
-
-
-#line 638 "lex.yy.c"
+//#line 50 "ETCL/ETCL.ll"
-
+
if ( yy_init )
{
@@ -719,240 +710,239 @@
-
+
case 1:
YY_RULE_SETUP
-#line 52 "ETCL.ll"
@@ -327,8 +327,8 @@
case 33:
YY_RULE_SETUP
-#line 84 "ETCL.ll"
--{
-- lvalp->constraint =
+-{
+- lvalp->constraint =
+//#line 84 "ETCL/ETCL.ll"
+{
+ yylval.constraint =
@@ -339,8 +339,8 @@
case 34:
YY_RULE_SETUP
-#line 89 "ETCL.ll"
--{
-- lvalp->constraint =
+-{
+- lvalp->constraint =
+//#line 89 "ETCL/ETCL.ll"
+{
+ yylval.constraint =
@@ -351,13 +351,13 @@
case 35:
YY_RULE_SETUP
-#line 94 "ETCL.ll"
--{
-- lvalp->constraint =
+-{
+- lvalp->constraint =
+//#line 94 "ETCL/ETCL.ll"
+{
+ yylval.constraint =
new TAO_ETCL_Literal_Constraint (ACE_OS::atoi (yytext));
-- TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER;
+- TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER;
+ TAO_YY_LEX_DEBUG; return TAO_ETCL_INTEGER;
}
YY_BREAK
@@ -367,22 +367,22 @@
+//#line 99 "ETCL/ETCL.ll"
{
double v;
-- sscanf (yytext, "%lf", &v);
-- lvalp->constraint =
+- sscanf (yytext, "%lf", &v);
+- lvalp->constraint =
+ sscanf (yytext, "%lf", &v);
+ yylval.constraint =
new TAO_ETCL_Literal_Constraint (v);
-- TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT;
+- TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT;
+ TAO_YY_LEX_DEBUG; return TAO_ETCL_FLOAT;
}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 106 "ETCL.ll"
--{
+-{
- lvalp->constraint =
- new TAO_ETCL_Literal_Constraint (extract_string (yytext));
-- TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING;
+- TAO_YY_LEX_DEBUG; return TAO_ETCL_STRING;
+//#line 106 "ETCL/ETCL.ll"
+{
+ yylval.constraint =
@@ -393,20 +393,20 @@
case 38:
YY_RULE_SETUP
-#line 111 "ETCL.ll"
--{
-- lvalp->constraint =
+-{
+- lvalp->constraint =
+//#line 111 "ETCL/ETCL.ll"
+{
+ yylval.constraint =
new TAO_ETCL_Identifier (yytext);
-- TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT;
+- TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT;
+ TAO_YY_LEX_DEBUG; return TAO_ETCL_IDENT;
}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 116 "ETCL.ll"
--{
+-{
+//#line 116 "ETCL/ETCL.ll"
+{
TAO_YY_LEX_DEBUG; break; // Ignore
@@ -415,7 +415,7 @@
case 40:
YY_RULE_SETUP
-#line 119 "ETCL.ll"
--{
+-{
+//#line 119 "ETCL/ETCL.ll"
+{
TAO_YY_LEX_DEBUG; break; // @@ TODO
@@ -431,11 +431,11 @@
-#line 956 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
-
+
@@ -1288,7 +1278,7 @@
return yy_is_jam ? 0 : yy_current_state;
}
-
+
-
+#if 0
#ifndef YY_NO_UNPUT
@@ -447,37 +447,37 @@
#endif /* ifndef YY_NO_UNPUT */
-
+#endif /* 0 */
-
+
#ifdef __cplusplus
static int yyinput()
@@ -1406,6 +1396,11 @@
return c;
}
-
+
+void yyflush_current_buffer (void)
+{
+ YY_FLUSH_BUFFER;
+}
+
-
+
#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
@@ -1516,11 +1511,6 @@
}
-
-
+
+
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-
+
#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
@@ -1537,15 +1527,18 @@
b->yy_input_file = file;
b->yy_fill_buffer = 1;
-
+
-#if YY_ALWAYS_INTERACTIVE
- b->yy_is_interactive = 1;
-#else
@@ -485,27 +485,27 @@
- b->yy_is_interactive = 0;
+#if defined (ACE_HAS_WINCE)
+ // Mimic the behavior as WinCE does not have isatty().
-+ if ((file != 0) && (file == fileno(file))) {
++ if ((file != 0) && (file == ACE_OS::fileno(file))) {
+ b->yy_is_interactive = 1;
+ }
+ else {
+ b->yy_is_interactive = 0;
+ }
#else
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+ b->yy_is_interactive = file ? (ACE_OS::isatty( ACE_OS::fileno(file) ) > 0) : 0;
-#endif
-#endif
+#endif // ACE_HAS_WINCE
+
}
-
-
+
+
@@ -1838,7 +1831,7 @@
return 0;
}
#endif
-#line 122 "ETCL.ll"
+//#line 122 "ETCL/ETCL.ll"
-
-
+
+
const char*
diff --git a/ace/Event_Handler.cpp b/ace/Event_Handler.cpp
index 42c8b36cd8e..dfbf1154034 100644
--- a/ace/Event_Handler.cpp
+++ b/ace/Event_Handler.cpp
@@ -377,6 +377,8 @@ ACE_Event_Handler_var::reset (ACE_Event_Handler *p)
// ---------------------------------------------------------------------
ACE_Notification_Buffer::ACE_Notification_Buffer (void)
+ : eh_ (0),
+ mask_ (ACE_Event_Handler::NULL_MASK)
{
ACE_TRACE ("ACE_Notification_Buffer::ACE_Notification_Buffer");
}
diff --git a/ace/Event_Handler.h b/ace/Event_Handler.h
index 3ccaf1d1aa0..99c5f2032a7 100644
--- a/ace/Event_Handler.h
+++ b/ace/Event_Handler.h
@@ -114,7 +114,7 @@ public:
/**
* Called when timer expires. @a current_time represents the current
- * time that the <Event_Handler> was selected for timeout
+ * time that the Event_Handler was selected for timeout
* dispatching and @a act is the asynchronous completion token that
* was passed in when <schedule_timer> was invoked.
*/
@@ -153,9 +153,8 @@ public:
* return a value more than zero and decide to resume the handler
* themseleves.
*
- * @note This method is only useful for the ACE_TP_Reactor. Sad
- * that we have to have this method in a class that is supposed to
- * be used across different components in ACE.
+ * @note This method has an affect only when used with the
+ * ACE_Dev_Poll_Reactor (and then, only on Linux) or the ACE_TP_Reactor.
*/
virtual int resume_handler (void);
diff --git a/ace/FIFO_Recv_Msg.h b/ace/FIFO_Recv_Msg.h
index b1c7afe3eb3..56e83d4f1a3 100644
--- a/ace/FIFO_Recv_Msg.h
+++ b/ace/FIFO_Recv_Msg.h
@@ -109,12 +109,12 @@ public:
ssize_t recv (void *buf, size_t len);
#if defined (ACE_HAS_STREAM_PIPES)
- /// Recv <data> and <cntl> message via Stream pipes.
+ /// Recv @a data and @a cntl message via Stream pipes.
ssize_t recv (ACE_Str_Buf *data,
ACE_Str_Buf *cntl,
int *flags);
- /// Recv <data> and <cntl> message via Stream pipes in "band" mode.
+ /// Recv @a data and @a cntl message via Stream pipes in "band" mode.
ssize_t recv (int *band,
ACE_Str_Buf *data,
ACE_Str_Buf *cntl,
diff --git a/ace/FIFO_Send_Msg.h b/ace/FIFO_Send_Msg.h
index a2e0affce8a..9b1a5e17abb 100644
--- a/ace/FIFO_Send_Msg.h
+++ b/ace/FIFO_Send_Msg.h
@@ -62,12 +62,12 @@ public:
ssize_t send (const void *buf, size_t len);
#if defined (ACE_HAS_STREAM_PIPES)
- /// Send <data> and <cntl> message via Stream pipes.
+ /// Send @a data and @a cntl message via Stream pipes.
ssize_t send (const ACE_Str_Buf *data,
const ACE_Str_Buf *cntl = 0,
int flags = 0);
- /// Send <data> and <cntl> message via Stream pipes in "band" mode.
+ /// Send @a data and @a cntl message via Stream pipes in "band" mode.
ssize_t send (int band,
const ACE_Str_Buf *data,
const ACE_Str_Buf *cntl = 0,
diff --git a/ace/File_Lock.cpp b/ace/File_Lock.cpp
index 88935c3a5d7..fa14a5feebb 100644
--- a/ace/File_Lock.cpp
+++ b/ace/File_Lock.cpp
@@ -26,8 +26,8 @@ ACE_File_Lock::dump (void) const
}
ACE_File_Lock::ACE_File_Lock (ACE_HANDLE h,
- int unlink_in_destructor)
- : removed_ (0),
+ bool unlink_in_destructor)
+ : removed_ (false),
unlink_in_destructor_ (unlink_in_destructor)
{
// ACE_TRACE ("ACE_File_Lock::ACE_File_Lock");
@@ -41,7 +41,7 @@ ACE_File_Lock::ACE_File_Lock (ACE_HANDLE h,
ACE_File_Lock::ACE_File_Lock (const ACE_TCHAR *name,
int flags,
mode_t perms,
- int unlink_in_destructor)
+ bool unlink_in_destructor)
: unlink_in_destructor_ (unlink_in_destructor)
{
// ACE_TRACE ("ACE_File_Lock::ACE_File_Lock");
@@ -59,7 +59,7 @@ ACE_File_Lock::open (const ACE_TCHAR *name,
mode_t perms)
{
// ACE_TRACE ("ACE_File_Lock::open");
- this->removed_ = 0;
+ this->removed_ = false;
return ACE_OS::flock_init (&this->lock_, flags, name, perms);
}
diff --git a/ace/File_Lock.h b/ace/File_Lock.h
index 0e1c9612e96..6d94269a909 100644
--- a/ace/File_Lock.h
+++ b/ace/File_Lock.h
@@ -44,15 +44,15 @@ public:
* zero value for <unlink_in_destructor>.
*/
ACE_File_Lock (ACE_HANDLE handle = ACE_INVALID_HANDLE,
- int unlink_in_destructor = 1);
+ bool unlink_in_destructor = true);
/// Open the @a filename with @a flags and @a mode and set the result
/// to <handle_>. If you don't want the file unlinked in the
- /// destructor pass a zero value for <unlink_in_destructor>.
+ /// destructor pass a false value for @a unlink_in_destructor.
ACE_File_Lock (const ACE_TCHAR *filename,
int flags,
mode_t mode = 0,
- int unlink_in_destructor = 1);
+ bool unlink_in_destructor = true);
/// Open the @a filename with @a flags and @a mode and set the result to
/// <handle_>.
@@ -64,8 +64,8 @@ public:
~ACE_File_Lock (void);
/// Remove a File lock by releasing it and closing down the
- /// <handle_>. If <unlink_file> is non-0 then we unlink the file.
- int remove (int unlink_file = 1);
+ /// <handle_>. If @a unlink_file is true then we unlink the file.
+ int remove (bool unlink_file = true);
/**
* Note, for interface uniformity with other synchronization
@@ -148,11 +148,11 @@ protected:
/// destructor. This flag isn't protected by a lock, so make sure
/// that you don't have multiple threads simultaneously calling
/// <remove> on the same object, which is a bad idea anyway...
- int removed_;
+ bool removed_;
/// Keeps track of whether to unlink the underlying file in the
/// destructor.
- int unlink_in_destructor_;
+ bool const unlink_in_destructor_;
private:
// = Prevent assignment and initialization.
diff --git a/ace/File_Lock.inl b/ace/File_Lock.inl
index bef9de9d063..46ac7015903 100644
--- a/ace/File_Lock.inl
+++ b/ace/File_Lock.inl
@@ -63,15 +63,15 @@ ACE_File_Lock::release (short whence, ACE_OFF_T start, ACE_OFF_T len)
}
ACE_INLINE int
-ACE_File_Lock::remove (int unlink_file)
+ACE_File_Lock::remove (bool unlink_file)
{
// ACE_TRACE ("ACE_File_Lock::remove");
int result = 0;
- if (this->removed_ == 0)
+ if (!this->removed_)
{
- this->removed_ = 1;
+ this->removed_ = true;
result = ACE_OS::flock_destroy (&this->lock_,
unlink_file);
}
@@ -90,7 +90,7 @@ ACE_File_Lock::set_handle (ACE_HANDLE h)
{
// ACE_TRACE ("ACE_File_Lock::set_handle");
this->lock_.handle_ = h;
- this->removed_ = 0;
+ this->removed_ = false;
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/FlReactor/FlReactor.cpp b/ace/FlReactor/FlReactor.cpp
index e41822cf1ab..8d5003b66d6 100644
--- a/ace/FlReactor/FlReactor.cpp
+++ b/ace/FlReactor/FlReactor.cpp
@@ -4,7 +4,7 @@
ACE_RCSID(ace, FlReactor, "$Id$")
-#include /**/ <FL/Fl.h>
+#include /**/ <FL/Fl.H>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
diff --git a/ace/FoxReactor/FoxReactor.cpp b/ace/FoxReactor/FoxReactor.cpp
index 38ad0a868d9..b8277c02228 100644
--- a/ace/FoxReactor/FoxReactor.cpp
+++ b/ace/FoxReactor/FoxReactor.cpp
@@ -118,7 +118,7 @@ ACE_FoxReactor::FoxWaitForMultipleEvents (int width,
}
-long ACE_FoxReactor::onFileEvents(FXObject* ob, FXSelector se, void* handle){
+long ACE_FoxReactor::onFileEvents(FXObject* /* ob */, FXSelector se, void* handle){
FXSelector sel=FXSELTYPE(se);
ACE_Select_Reactor_Handle_Set dispatch_set;
bool f=false;
@@ -137,9 +137,11 @@ long ACE_FoxReactor::onFileEvents(FXObject* ob, FXSelector se, void* handle){
f=true;
};
if(f) dispatch (1, dispatch_set);
+
+ return 1;
}
-long ACE_FoxReactor::onTimerEvents(FXObject* ob, FXSelector sel, void* handle)
+long ACE_FoxReactor::onTimerEvents(FXObject* /* ob */, FXSelector /* sel */, void* /* handle */)
{
// Deal with any timer events
ACE_Select_Reactor_Handle_Set handle_set;
@@ -147,6 +149,8 @@ long ACE_FoxReactor::onTimerEvents(FXObject* ob, FXSelector sel, void* handle)
// Set next timeout signal
this->reset_timeout ();
+
+ return 0;
}
int
diff --git a/ace/FoxReactor/FoxReactor.h b/ace/FoxReactor/FoxReactor.h
index 94ffd92508b..5033c8f61ac 100644
--- a/ace/FoxReactor/FoxReactor.h
+++ b/ace/FoxReactor/FoxReactor.h
@@ -28,7 +28,7 @@
#include "ace/Select_Reactor.h"
#include "ace/FoxReactor/ACE_FoxReactor_export.h"
-#include <fox/fx.h>
+#include <fx.h>
/**
* @class ACE_FoxReactor
diff --git a/ace/Framework_Component.cpp b/ace/Framework_Component.cpp
index 23bebc240f8..7c23fd70407 100644
--- a/ace/Framework_Component.cpp
+++ b/ace/Framework_Component.cpp
@@ -144,7 +144,7 @@ ACE_Framework_Repository::register_component (ACE_Framework_Component *fc)
if (i < this->total_size_)
{
this->component_vector_[i] = fc;
- this->current_size_++;
+ ++this->current_size_;
return 0;
}
diff --git a/ace/Free_List.h b/ace/Free_List.h
index b77931fc45b..78c6042512c 100644
--- a/ace/Free_List.h
+++ b/ace/Free_List.h
@@ -73,8 +73,8 @@ public:
/**
* Constructor takes a @a mode (i.e., ACE_FREE_LIST_WITH_POOL or
* ACE_PURE_FREE_LIST), a count of the number of nodes to
- * <prealloc>, a low and high water mark (<lwm> and <hwm>) that
- * indicate when to allocate more nodes, an increment value (<inc>)
+ * @a prealloc, a low and high water mark (@a lwm and @a hwm) that
+ * indicate when to allocate more nodes, an increment value (@a inc)
* that indicates how many nodes to allocate when the list must
* grow.
*/
diff --git a/ace/Functor.h b/ace/Functor.h
index f303bc09c97..ac57db22bef 100644
--- a/ace/Functor.h
+++ b/ace/Functor.h
@@ -89,8 +89,6 @@ template <class TYPE> class ACE_Equal_To;
template <class TYPE> class ACE_Less_Than;
/**
- * @class ACE_Hash<char>
- *
* @brief Function object for hashing a char
*/
template<>
@@ -102,8 +100,6 @@ public:
};
/**
- * @class ACE_Hash<signed char>
- *
* @brief Function object for hashing a signed char
*/
template<>
@@ -115,8 +111,6 @@ public:
};
/**
- * @class ACE_Hash<unsigned char>
- *
* @brief Function object for hashing an unsigned char
*/
template<>
@@ -131,8 +125,6 @@ public:
// @@ ADD HASHES FOR ACE TYPES
/**
- * @class ACE_Hash<ACE_INT16>
- *
* @brief Function object for hashing a 16-bit signed number
*/
template<>
@@ -144,8 +136,6 @@ public:
};
/**
- * @class ACE_Hash<ACE_UINT16>
- *
* @brief Function object for hashing a 16-bit unsigned number
*/
template<>
@@ -157,8 +147,6 @@ public:
};
/**
- * @class ACE_Hash<ACE_INT32>
- *
* @brief Function object for hashing a 32-bit signed number
*/
template<>
@@ -170,8 +158,6 @@ public:
};
/**
- * @class ACE_Hash<ACE_UINT32>
- *
* @brief Function object for hashing a 32-bit unsigned number
*/
template<>
@@ -183,8 +169,6 @@ public:
};
/**
- * @class ACE_Hash<ACE_UINT64>
- *
* @brief Function object for hashing a 64-bit unsigned number
*/
template<>
@@ -199,8 +183,6 @@ public:
#endif
/**
- * @class ACE_Hash<short>
- *
* @brief Function object for hashing a short number
*/
template<>
@@ -212,8 +194,6 @@ public:
};
/**
- * @class ACE_Hash<unsigned short>
- *
* @brief Function object for hashing an unsigned short number
*/
template<>
@@ -225,8 +205,6 @@ public:
};
/**
- * @class ACE_Hash<int>
- *
* @brief Function object for hashing an int number
*/
template<>
@@ -238,8 +216,6 @@ public:
};
/**
- * @class ACE_Hash<unsigned int>
- *
* @brief Function object for hashing an unsigned int number
*/
template<>
@@ -251,8 +227,6 @@ public:
};
/**
- * @class ACE_Hash<long>
- *
* @brief Function object for hashing a long number
*/
template<>
@@ -264,8 +238,6 @@ public:
};
/**
- * @class ACE_Hash<unsigned long>
- *
* @brief Function object for hashing an unsigned long number
*/
template<>
@@ -278,8 +250,6 @@ public:
#if !defined (ACE_LACKS_LONGLONG_T) && (ACE_SIZEOF_LONG < 8)
/**
- * @class ACE_Hash<ACE_INT64>
- *
* @brief Function object for hashing a signed 64-bit number
*/
template<>
@@ -295,8 +265,6 @@ public:
// emulation for it in ACE_U_LongLong.
#if (ACE_SIZEOF_LONG < 8)
/**
- * @class ACE_Hash<ACE_UINT64>
- *
* @brief Function object for hashing an unsigned 64-bit number
*/
template<>
@@ -309,8 +277,6 @@ public:
#endif /* ACE_SIZEOF_LONG < 8 */
/**
- * @class ACE_Hash<const char *>
- *
* @brief Function object for hashing a const string
*/
template<>
@@ -322,8 +288,6 @@ public:
};
/**
- * @class ACE_Hash<char *>
- *
* @brief Function object for hashing a string
*/
template<>
@@ -335,8 +299,6 @@ public:
};
/**
- * @class ACE_Hash<void *>
- *
* @brief Function object for hashing a void *
*/
template<>
@@ -347,8 +309,6 @@ public:
};
/**
- * @class ACE_Equal_To<const char *>
- *
* @brief Function object for determining whether two const strings are equal.
*/
template<>
@@ -361,8 +321,6 @@ public:
};
/**
- * @class ACE_Equal_To<char *>
- *
* @brief Function object for determining whether two non-const
* strings are equal.
*/
@@ -376,8 +334,6 @@ public:
};
/**
- * @class ACE_Equal_To<ACE_UINT16>
- *
* @brief Function object for determining whether two unsigned
* 16 bit ints are equal.
*/
@@ -391,8 +347,6 @@ public:
};
/**
- * @class ACE_Equal_To<ACE_INT16>
- *
* @brief Function object for determining whether two
* 16 bit ints are equal.
*/
@@ -406,8 +360,6 @@ public:
};
/**
- * @class ACE_Equal_To<ACE_UINT32>
- *
* @brief Function object for determining whether two unsigned
* 32 bit ints are equal.
*/
@@ -421,8 +373,6 @@ public:
};
/**
- * @class ACE_Equal_To<ACE_INT32>
- *
* @brief Function object for determining whether two
* 32 bit ints are equal.
*/
@@ -436,8 +386,6 @@ public:
};
/**
- * @class ACE_Equal_To<ACE_UINT64>
- *
* @brief Function object for determining whether two unsigned
* 64 bit ints are equal.
*/
@@ -451,8 +399,6 @@ public:
};
/**
- * @class ACE_Less_Than<const char*>
- *
* @brief Function object for determining whether the first const string
* is less than the second const string.
*/
@@ -466,8 +412,6 @@ public:
};
/**
- * @class ACE_Less_Than<char *>
- *
* @brief Function object for determining whether the first string
* is less than the second string.
*/
@@ -484,8 +428,6 @@ public:
# if ! defined (ACE_LACKS_NATIVE_WCHAR_T)
/**
- * @class ACE_Hash<wchar_t>
- *
* @brief Function object for hashing a wchar_t
*/
template<>
@@ -497,8 +439,6 @@ public:
};
# endif /* ACE_LACKS_NATIVE_WCHAR_T */
/**
- * @class ACE_Hash<const wchar_t *>
- *
* @brief Function object for hashing a const string
*/
template<>
@@ -510,8 +450,6 @@ public:
};
/**
- * @class ACE_Hash<wchar_t *>
- *
* @brief Function object for hashing a string
*/
template<>
@@ -523,8 +461,6 @@ public:
};
/**
- * @class ACE_Equal_To<const wchar_t *>
- *
* @brief Function object for determining whether two const strings are equal.
*/
template<>
@@ -537,8 +473,6 @@ public:
};
/**
- * @class ACE_Equal_To<wchar_t *>
- *
* @brief Function object for determining whether two non-const
* strings are equal.
*/
@@ -552,8 +486,6 @@ public:
};
/**
- * @class ACE_Less_Than<const wchar_t *>
- *
* @brief Function object for determining whether the first const string
* is less than the second const string.
*/
@@ -567,8 +499,6 @@ public:
};
/**
- * @class ACE_Less_Than<wchar_t *>
- *
* @brief Function object for determining whether the first string
* is less than the second string.
*/
diff --git a/ace/Functor_String.h b/ace/Functor_String.h
index 1e742251a98..1b9d8f90d6d 100644
--- a/ace/Functor_String.h
+++ b/ace/Functor_String.h
@@ -40,8 +40,6 @@ template <class TYPE> class ACE_Equal_To;
template <class TYPE> class ACE_Less_Than;
/**
- * @class ACE_Equal_To<ACE_CString>
- *
* @brief Function object for determining whether two ACE_CStrings are
* equal.
*/
@@ -55,8 +53,6 @@ public:
/**
- * @class ACE_Hash<ACE_CString>
- *
* @brief Function object for hashing a ACE_CString
*/
template<>
@@ -69,8 +65,6 @@ public:
/**
- * @class ACE_Less_Than<ACE_CString>
- *
* @brief Function object for determining whether the first const string
* is less than the second const string.
*/
@@ -87,9 +81,7 @@ public:
#if defined (ACE_USES_WCHAR)
/**
- * @class ACE_Equal_To<ACE_WString>
- *
- * @brief Function object for determining whether two ACE_CStrings are
+ * @brief Function object for determining whether two ACE_WStrings are
* equal.
*/
template<>
@@ -102,8 +94,6 @@ public:
/**
- * @class ACE_Hash<ACE_WString>
- *
* @brief Function object for hashing a ACE_WString
*/
template<>
@@ -115,10 +105,8 @@ public:
};
/**
- * @class ACE_Less_Than<ACE_WString>
- *
- * @brief Function object for determining whether the first const string
- * is less than the second const string.
+ * @brief Function object for determining whether the first const wstring
+ * is less than the second const wstring.
*/
template<>
class ACE_Export ACE_Less_Than<ACE_WString>
diff --git a/ace/Future.cpp b/ace/Future.cpp
index 97358b7f834..f83717c6f8f 100644
--- a/ace/Future.cpp
+++ b/ace/Future.cpp
@@ -54,7 +54,7 @@ ACE_Future_Rep<T>::dump (void) const
ACE_DEBUG ((LM_DEBUG,
"ref_count_ = %d\n",
(int) this->ref_count_));
- ACE_DEBUG ((LM_INFO,"value_: \n"));
+ ACE_DEBUG ((LM_INFO,"value_:\n"));
if (this->value_)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" (NON-NULL)\n")));
else
@@ -62,9 +62,9 @@ ACE_Future_Rep<T>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" (NULL)\n")));
//FUZZ: enable check_for_NULL
- ACE_DEBUG ((LM_INFO,"value_ready_: \n"));
+ ACE_DEBUG ((LM_INFO,"value_ready_:\n"));
this->value_ready_.dump ();
- ACE_DEBUG ((LM_INFO,"value_ready_mutex_: \n"));
+ ACE_DEBUG ((LM_INFO,"value_ready_mutex_:\n"));
this->value_ready_mutex_.dump ();
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
@@ -328,8 +328,7 @@ template <class T> int
ACE_Future<T>::cancel (const T &r)
{
this->cancel ();
- return this->future_rep_->set (r,
- *this);
+ return this->future_rep_->set (r, *this);
}
template <class T> int
@@ -346,8 +345,7 @@ template <class T> int
ACE_Future<T>::set (const T &r)
{
// Give the pointer to the result to the ACE_Future_Rep.
- return this->future_rep_->set (r,
- *this);
+ return this->future_rep_->set (r, *this);
}
template <class T> int
diff --git a/ace/Future_Set.cpp b/ace/Future_Set.cpp
index 3d04fe9ed5d..3bd4abe8156 100644
--- a/ace/Future_Set.cpp
+++ b/ace/Future_Set.cpp
@@ -71,7 +71,7 @@ ACE_Future_Set<T>::insert (ACE_Future<T> &future)
// If a new map entry was created, then attach to the future,
// otherwise we were already attached to the future or some error
// occurred so just delete the future holder.
- if ( result == 0 )
+ if (result == 0)
// Attach ourself to the ACE_Futures list of observer
future.attach (this);
else
diff --git a/ace/Future_Set.h b/ace/Future_Set.h
index 6e804248021..1e0c0b8e6ec 100644
--- a/ace/Future_Set.h
+++ b/ace/Future_Set.h
@@ -31,14 +31,14 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/**
* @class ACE_Future_Set
*
- * @brief This class implements a mechanism which allows the values of
+ * @brief This class implements a mechanism that allows the values of
* a collection of ACE_Future objects to be accessed by reader threads
* as they become available. The caller(s) provide the ACE_Future_Set
* (i.e. the observer...) with the collection of ACE_Future objects
- * (i.e. the subjects...) that are to be observed using the
- * the ACE_Future_Set::insert() method. The caller(s) may then iterate
- * over the collection in the order in which they become readable using
- * the ACE_Future_Set::next_readable() method.
+ * (i.e. the subjects...) that are to be observed using the the
+ * ACE_Future_Set::insert() method. The caller(s) may then iterate
+ * over the collection in the order in which they become readable
+ * using the ACE_Future_Set::next_readable() method.
*/
template <class T>
class ACE_Future_Set : public ACE_Future_Observer<T>
diff --git a/ace/Get_Opt.h b/ace/Get_Opt.h
index 5c8e9c62888..bb6636b02fd 100644
--- a/ace/Get_Opt.h
+++ b/ace/Get_Opt.h
@@ -182,14 +182,14 @@ public:
private:
void ACE_Get_Opt_Init (const ACE_TCHAR *optstring);
public:
- ACE_INLINE ACE_Get_Opt (int argc,
+ ACE_Get_Opt (int argc,
ACE_TCHAR **argv,
const ACE_TCHAR *optstring = ACE_TEXT (""),
int skip_args = 1,
int report_errors = 0,
int ordering = PERMUTE_ARGS,
int long_only = 0);
- ACE_INLINE ACE_Get_Opt (int argc,
+ ACE_Get_Opt (int argc,
ACE_TCHAR **argv,
const char *optstring,
int skip_args = 1,
diff --git a/ace/Guard_T.cpp b/ace/Guard_T.cpp
index d9c72e30be1..895c0d9ffdc 100644
--- a/ace/Guard_T.cpp
+++ b/ace/Guard_T.cpp
@@ -32,7 +32,7 @@ ACE_Guard<ACE_LOCK>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("mutex_ = %x\n"), this->lock_));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("owner_ = %d\n"), this->owner_));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP, this));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/Handle_Gobbler.inl b/ace/Handle_Gobbler.inl
index e44035a7aed..a95a81cba52 100644
--- a/ace/Handle_Gobbler.inl
+++ b/ace/Handle_Gobbler.inl
@@ -65,7 +65,7 @@ ACE_Handle_Gobbler::consume_handles (size_t n_handles_to_keep_available)
break;
}
}
- if (handle >= FD_SETSIZE)
+ if (handle >= static_cast<ACE_HANDLE>(FD_SETSIZE))
break;
this->handle_set_.set_bit (handle);
}
diff --git a/ace/Hash_Map_Manager_T.cpp b/ace/Hash_Map_Manager_T.cpp
index 527741f92fb..c503e603ccd 100644
--- a/ace/Hash_Map_Manager_T.cpp
+++ b/ace/Hash_Map_Manager_T.cpp
@@ -58,12 +58,24 @@ ACE_Hash_Map_Entry<EXT_ID, INT_ID>::key ()
return ext_id_;
}
+template <class EXT_ID, class INT_ID> const EXT_ID &
+ACE_Hash_Map_Entry<EXT_ID, INT_ID>::key () const
+{
+ return ext_id_;
+}
+
template <class EXT_ID, class INT_ID> INT_ID &
ACE_Hash_Map_Entry<EXT_ID, INT_ID>::item ()
{
return int_id_;
}
+template <class EXT_ID, class INT_ID> const INT_ID &
+ACE_Hash_Map_Entry<EXT_ID, INT_ID>::item () const
+{
+ return int_id_;
+}
+
template <class EXT_ID, class INT_ID> void
ACE_Hash_Map_Entry<EXT_ID, INT_ID>::dump (void) const
{
@@ -80,8 +92,8 @@ ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump
{
#if defined (ACE_HAS_DUMP)
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("total_size_ = %d"), this->total_size_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\ncur_size_ = %d"), this->cur_size_));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("total_size_ = %d\n"), this->total_size_));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("cur_size_ = %d\n"), this->cur_size_));
this->table_allocator_->dump ();
this->entry_allocator_->dump ();
this->lock_.dump ();
@@ -227,7 +239,7 @@ ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_
&this->table_[loc]);
this->table_[loc].next_ = entry;
entry->next_->prev_ = entry;
- this->cur_size_++;
+ ++this->cur_size_;
return 0;
}
else
@@ -254,7 +266,7 @@ ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybi
&this->table_[loc]);
this->table_[loc].next_ = entry;
entry->next_->prev_ = entry;
- this->cur_size_++;
+ ++this->cur_size_;
return 0;
}
else
diff --git a/ace/Hash_Map_Manager_T.h b/ace/Hash_Map_Manager_T.h
index 8c9c427ddd2..aaf0bcdf7c7 100644
--- a/ace/Hash_Map_Manager_T.h
+++ b/ace/Hash_Map_Manager_T.h
@@ -53,9 +53,15 @@ public:
/// Key accessor.
EXT_ID& key (void);
+ /// Read-only key accessor.
+ const EXT_ID& key (void) const;
+
/// Item accessor.
INT_ID& item (void);
+ /// Read-only item accessor.
+ const INT_ID& item (void) const;
+
/// Key used to look up an entry.
/// @deprecated Use key()
EXT_ID ext_id_;
@@ -553,9 +559,6 @@ protected:
/// Accessor of the underlying table
ACE_Hash_Map_Entry<EXT_ID, INT_ID> *table (void);
- /// Accessor of the current size attribute
- size_t cur_size (void) const;
-
private:
/**
* Array of ACE_Hash_Map_Entry *s, each of which points to an
diff --git a/ace/Hash_Map_Manager_T.inl b/ace/Hash_Map_Manager_T.inl
index b1ffacb8898..491a598730e 100644
--- a/ace/Hash_Map_Manager_T.inl
+++ b/ace/Hash_Map_Manager_T.inl
@@ -436,13 +436,6 @@ ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::table
return this->table_;
}
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-size_t
-ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::cur_size (void) const
-{
- return this->cur_size_;
-}
-
template <class EXT_ID,
class INT_ID,
class HASH_KEY,
diff --git a/ace/High_Res_Timer.cpp b/ace/High_Res_Timer.cpp
index accab008d36..e4f0d0817d1 100644
--- a/ace/High_Res_Timer.cpp
+++ b/ace/High_Res_Timer.cpp
@@ -152,9 +152,12 @@ ACE_High_Res_Timer::get_cpuinfo (void)
{
// If the line "cpu MHz : xxx" is present, then it's a
// reliable measure of the CPU speed - according to the
- // kernel-source.
- scale_factor = (ACE_UINT32) (mhertz + 0.5);
- break;
+ // kernel-source. It's possible to see a 0 value reported.
+ if (mhertz > 0.0)
+ {
+ scale_factor = (ACE_UINT32) (mhertz + 0.5);
+ break;
+ }
}
else if (::sscanf (buf, "bogomips : %lf\n", &bmips) == 1
|| ::sscanf (buf, "BogoMIPS : %lf\n", &bmips) == 1)
@@ -234,7 +237,7 @@ ACE_High_Res_Timer::global_scale_factor (void)
# endif /* ! ACE_WIN32 && ! (linux && __alpha__) */
# if !defined (ACE_WIN32)
- if (ACE_High_Res_Timer::global_scale_factor_ == 1u)
+ if (ACE_High_Res_Timer::global_scale_factor_ <= 1u)
// Failed to retrieve CPU speed from system, so calculate it.
ACE_High_Res_Timer::calibrate ();
# endif // (ACE_WIN32)
@@ -273,14 +276,11 @@ ACE_High_Res_Timer::calibrate (const ACE_UINT32 usec,
i < iterations;
++i)
{
- const ACE_Time_Value actual_start =
- ACE_OS::gettimeofday ();
- const ACE_hrtime_t start =
- ACE_OS::gethrtime ();
+ ACE_Time_Value const actual_start = ACE_OS::gettimeofday ();
+ ACE_hrtime_t const start = ACE_OS::gethrtime ();
ACE_OS::sleep (sleep_time);
- const ACE_hrtime_t stop =
- ACE_OS::gethrtime ();
- const ACE_Time_Value actual_delta =
+ ACE_hrtime_t const stop = ACE_OS::gethrtime ();
+ ACE_Time_Value const actual_delta =
ACE_OS::gettimeofday () - actual_start;
// Store the sample.
@@ -477,9 +477,9 @@ ACE_High_Res_Timer::print_total (const ACE_TCHAR *str,
// Separate to seconds and nanoseconds.
u_long total_secs =
- (u_long) (total_nanoseconds / (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS);
+ static_cast<u_long> (total_nanoseconds / (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS);
ACE_UINT32 extra_nsecs =
- (ACE_UINT32) (total_nanoseconds % (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS);
+ static_cast<ACE_UINT32> (total_nanoseconds % (ACE_UINT32) ACE_ONE_SECOND_IN_NSECS);
ACE_TCHAR buf[100];
if (count > 1)
diff --git a/ace/High_Res_Timer.inl b/ace/High_Res_Timer.inl
index 90ae2e47630..56df6e1f04b 100644
--- a/ace/High_Res_Timer.inl
+++ b/ace/High_Res_Timer.inl
@@ -82,7 +82,7 @@ ACE_High_Res_Timer::gettime (const ACE_OS::ACE_HRTimer_Op op)
// If there isn't a high-res timer, use gettimeofday ();
if (ACE_High_Res_Timer::global_scale_factor_status_ == -1)
{
- ACE_Time_Value tv = ACE_OS::gettimeofday ();
+ ACE_Time_Value const tv = ACE_OS::gettimeofday ();
// Return the time in microseconds because the global_scale_factor_
// is 1.
return tv.sec () * ACE_ONE_SECOND_IN_USECS + tv.usec ();
diff --git a/ace/INET_Addr.cpp b/ace/INET_Addr.cpp
index a40c84a5807..229dcaebf6e 100644
--- a/ace/INET_Addr.cpp
+++ b/ace/INET_Addr.cpp
@@ -702,18 +702,12 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[],
: ACE_Addr (determine_type (), sizeof (inet_addr_))
{
ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr");
-#if !defined (ACE_LACKS_HTONL)
this->reset ();
if (this->set (port_name,
- htonl (inet_address),
+ ACE_HTONL (inet_address),
protocol) == -1)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("ACE_INET_Addr::ACE_INET_Addr")));
-#else
- ACE_UNUSED_ARG (port_name);
- ACE_UNUSED_ARG (inet_address);
- ACE_UNUSED_ARG (protocol);
-#endif
}
#if defined (ACE_HAS_WCHAR)
@@ -723,18 +717,12 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[],
: ACE_Addr (determine_type (), sizeof (inet_addr_))
{
ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr");
-#if !defined (ACE_LACKS_HTONL)
this->reset ();
if (this->set (port_name,
- htonl (inet_address),
+ ACE_HTONL (inet_address),
protocol) == -1)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("ACE_INET_Addr::ACE_INET_Addr")));
-#else
- ACE_UNUSED_ARG (port_name);
- ACE_UNUSED_ARG (inet_address);
- ACE_UNUSED_ARG (protocol);
-#endif
}
#endif /* ACE_HAS_WCHAR */
diff --git a/ace/INET_Addr.inl b/ace/INET_Addr.inl
index a05a80db7fb..ab98d632f4e 100644
--- a/ace/INET_Addr.inl
+++ b/ace/INET_Addr.inl
@@ -88,15 +88,13 @@ ACE_INLINE u_short
ACE_INET_Addr::get_port_number (void) const
{
ACE_TRACE ("ACE_INET_Addr::get_port_number");
-#if defined (ACE_LACKS_NTOHS)
- ACE_NOTSUP_RETURN (0);
-#elif defined (ACE_HAS_IPV6)
+#if defined (ACE_HAS_IPV6)
if (this->get_type () == PF_INET)
- return ntohs (this->inet_addr_.in4_.sin_port);
+ return ACE_NTOHS (this->inet_addr_.in4_.sin_port);
else
- return ntohs (this->inet_addr_.in6_.sin6_port);
+ return ACE_NTOHS (this->inet_addr_.in6_.sin6_port);
#else
- return ntohs (this->inet_addr_.in4_.sin_port);
+ return ACE_NTOHS (this->inet_addr_.in4_.sin_port);
#endif /* ACE_HAS_IPV6 */
}
@@ -218,8 +216,8 @@ ACE_INET_Addr::is_multicast (void) const
return this->inet_addr_.in6_.sin6_addr.s6_addr[0] == 0xFF;
#endif /* ACE_HAS_IPV6 */
return
- this->inet_addr_.in4_.sin_addr.s_addr >= 0xE0000000 && // 224.0.0.0
- this->inet_addr_.in4_.sin_addr.s_addr <= 0xEFFFFFFF; // 239.255.255.255
+ (*static_cast<const unsigned char*> (
+ static_cast<const void*> (&this->inet_addr_.in4_.sin_addr.s_addr)) & 0xf0) == 0xe0;
}
#if defined (ACE_HAS_IPV6)
diff --git a/ace/Init_ACE.h b/ace/Init_ACE.h
index 164f61e1d70..596e2b5f591 100644
--- a/ace/Init_ACE.h
+++ b/ace/Init_ACE.h
@@ -6,8 +6,11 @@
*
* $Id$
*
- * Initialize ACE library services. Can be called only once per
- * program invocation.
+ * Initialize and finalize the ACE library services. You can
+ * generally execute the @a ACE::init() and @a ACE::fini() sequence
+ * multiple times, but be aware that nothing that ACE controls (e.g.,
+ * singletons, thread-specific services, loaded services, etc.) will
+ * survive the @a ACE::fini().
*/
//=============================================================================
@@ -28,17 +31,22 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE
{
/**
- * This class implements the functions for the initialization and
- * shutting down ACE. These functions are called only once per ACE
- * invokation.
- * @return Returns 0 on success, -1 on failure, and 1 if it had already been
- * called.
+ * This method initializes the ACE library services and initializes
+ * ACE's internal resources. Applications should not instantiate
+ * ACE classes or call methods on objects of these classes until @a
+ * ACE::init() returns successfully.
+
+ * @return Returns 0 on success, -1 on failure, and 1 if it had
+ * already been called.
*/
extern ACE_Export int init (void);
/**
- * Shut down ACE library services. Can be called only once per
- * program invocation.
+ * Finalize the ACE library services and releases ACE's internal
+ * resources. In general, do not instantiate ACE classes or call
+ * methods on objects of these classes after @a ACE::fini() has been
+ * called.
+ *
* @return Returns 0 on success, -1 on failure, and 1 if it had already been
* called.
*/
diff --git a/ace/Intrusive_List.cpp b/ace/Intrusive_List.cpp
index c0006792ce4..346bfa07562 100644
--- a/ace/Intrusive_List.cpp
+++ b/ace/Intrusive_List.cpp
@@ -36,13 +36,14 @@ ACE_Intrusive_List<T>::push_back (T *node)
this->head_ = node;
node->next (0);
node->prev (0);
- return;
}
-
- this->tail_->next (node);
- node->prev (this->tail_);
- node->next (0);
- this->tail_ = node;
+ else
+ {
+ this->tail_->next (node);
+ node->prev (this->tail_);
+ node->next (0);
+ this->tail_ = node;
+ }
}
template<class T> void
@@ -54,22 +55,24 @@ ACE_Intrusive_List<T>::push_front (T *node)
this->head_ = node;
node->next (0);
node->prev (0);
- return;
}
-
- this->head_->prev (node);
- node->next (this->head_);
- node->prev (0);
- this->head_ = node;
+ else
+ {
+ this->head_->prev (node);
+ node->next (this->head_);
+ node->prev (0);
+ this->head_ = node;
+ }
}
template<class T> T *
ACE_Intrusive_List<T>::pop_front (void)
{
T *node = this->head_;
- if (node == 0)
- return 0;
- this->unsafe_remove (node);
+ if (node != 0)
+ {
+ this->unsafe_remove (node);
+ }
return node;
}
@@ -77,9 +80,10 @@ template<class T> T *
ACE_Intrusive_List<T>::pop_back (void)
{
T *node = this->tail_;
- if (node == 0)
- return 0;
- this->unsafe_remove (node);
+ if (node != 0)
+ {
+ this->unsafe_remove (node);
+ }
return node;
}
diff --git a/ace/LSOCK.cpp b/ace/LSOCK.cpp
index 71f93fdde9c..3b3c46885bf 100644
--- a/ace/LSOCK.cpp
+++ b/ace/LSOCK.cpp
@@ -59,7 +59,8 @@ ACE_LSOCK::send_handle (const ACE_HANDLE handle) const
cmsgptr->cmsg_len = sizeof cmsgbuf;
send_msg.msg_control = cmsgbuf;
send_msg.msg_controllen = sizeof cmsgbuf;
- *(ACE_HANDLE *) CMSG_DATA (cmsgptr) = handle;
+ ACE_HANDLE *ph = (ACE_HANDLE *) CMSG_DATA (cmsgptr);
+ *ph = handle;
send_msg.msg_flags = 0;
#else
send_msg.msg_accrights = (char *) &handle;
@@ -143,7 +144,9 @@ ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, ssize_t *len) const
{
#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG)
// Close down the socket that was returned by the MSG_PEEK.
- ACE_OS::closesocket (*(ACE_HANDLE *) CMSG_DATA ((cmsghdr *) cmsgbuf));
+ cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf;
+ ACE_HANDLE * ph = (ACE_HANDLE *) CMSG_DATA (cmsgptr);
+ ACE_OS::closesocket (*ph);
recv_msg.msg_control = cmsgbuf;
recv_msg.msg_controllen = sizeof cmsgbuf;
#else
@@ -158,7 +161,8 @@ ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, ssize_t *len) const
{
#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG)
cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf;
- handle = *(ACE_HANDLE *) CMSG_DATA (cmsgptr);
+ ACE_HANDLE * ph = (ACE_HANDLE *) CMSG_DATA (cmsgptr);
+ handle = *ph;
#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */
return 1;
}
diff --git a/ace/LSOCK_CODgram.h b/ace/LSOCK_CODgram.h
index 667fa210f0d..029bfeab964 100644
--- a/ace/LSOCK_CODgram.h
+++ b/ace/LSOCK_CODgram.h
@@ -32,27 +32,58 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/**
* @class ACE_LSOCK_CODgram
*
- * @brief Defines the member functions for the <ACE_LSOCK> connected
+ * @brief Defines a fully specified (sometimes called "connected") UNIX-domain
* datagram abstraction.
+ *
+ * ACE_LSOCK_CODgram provides a way to use a UNIX-domain datagram socket in
+ * a situation where the local and peer addresses are fully known in advance.
+ * The "connection-oriented" part of "CODgram" is a misnomer. There is no
+ * connection used on this type of socket. It merely specifies that both
+ * endpoint addresses are known in advance of use. Furthermore, this class
+ * is more suited for use cases where a local endpoint wishes to communicate
+ * with a single, known peer and may or may not have a specified local address.
+ *
+ * If your use case requires receiving datagrams from multiple peers without
+ * previously known addresses, consider using ACE_LSOCK_Dgram instead.
*/
class ACE_Export ACE_LSOCK_CODgram : public ACE_SOCK_CODgram, public ACE_LSOCK
{
public:
- // = Initialization methods.
- /// Default constructor.
+ /// Default constructor; requires a call to open() prior to communication.
ACE_LSOCK_CODgram (void);
- /// Initiate a connected-datagram.
+ /**
+ * @name Initialization methods
+ */
+ //@{
+ /**
+ * Initialize a fully-specified datagram socket.
+ *
+ * @param remote_sap Remote/peer address. This should be an ACE_UNIX_Addr
+ * object. It specifies where all sent datagrams will
+ * be sent to.
+ * @param local_sap Local address. The local address to receive datagrams
+ * at. If not specified, an unused address is selected.
+ * If specified, should be an ACE_UNIX_Addr object.
+ *
+ * @sa ACE_UNIX_Addr
+ */
ACE_LSOCK_CODgram (const ACE_Addr &remote_sap,
const ACE_Addr &local_sap = ACE_Addr::sap_any,
int protocol_family = PF_UNIX,
int protocol = 0);
- /// Initiate a connected-datagram.
+ /**
+ * Initialize a fully-specified datagram socket.
+ *
+ * @retval 0 if no error.
+ * @retval -1 on error; check errno for an error reason.
+ */
int open (const ACE_Addr &remote_sap,
const ACE_Addr &local_sap = ACE_Addr::sap_any,
int protocol_family = PF_UNIX,
int protocol = 0);
+ //@}
/// Get underlying handle.
ACE_HANDLE get_handle (void) const;
diff --git a/ace/Lib_Find.cpp b/ace/Lib_Find.cpp
index 3caa58bf19e..49cc12d8b27 100644
--- a/ace/Lib_Find.cpp
+++ b/ace/Lib_Find.cpp
@@ -375,9 +375,9 @@ ACE::ldfind (const ACE_TCHAR* filename,
else if (pathlen > 0)
return 0;
#else
- ACE_TCHAR *ld_path;
+ ACE_TCHAR *ld_path = 0;
# if defined ACE_DEFAULT_LD_SEARCH_PATH
- ld_path = ACE_DEFAULT_LD_SEARCH_PATH;
+ ld_path = const_cast <ACE_TCHAR*> (ACE_DEFAULT_LD_SEARCH_PATH);
# else
# if defined (ACE_WIN32) || !defined (ACE_USES_WCHAR)
ld_path = ACE_OS::getenv (ACE_LD_SEARCH_PATH);
@@ -593,8 +593,8 @@ ACE::get_temp_dir (ACE_TCHAR *buffer, size_t buffer_len)
buffer);
// Make sure to return -1 if there is an error
- if (result == 0 && ::GetLastError () != ERROR_SUCCESS
- || result > static_cast<int> (buffer_len))
+ if ((result == 0 && ::GetLastError () != ERROR_SUCCESS)
+ || (result > static_cast<int> (buffer_len)))
result = -1;
#else /* ACE_WIN32 */
diff --git a/ace/Local_Tokens.h b/ace/Local_Tokens.h
index 90c9e400132..4f46f43fdab 100644
--- a/ace/Local_Tokens.h
+++ b/ace/Local_Tokens.h
@@ -270,7 +270,7 @@ public:
/// Destructor.
~ACE_TPQ_Iterator (void);
- /// Pass back the <next_item>.
+ /// Pass back the @a next_item.
int next (ACE_TPQ_Entry *&next_item);
/// Returns 1 when all items have been seen, else 0.
diff --git a/ace/Lock_Adapter_T.h b/ace/Lock_Adapter_T.h
index 117684a1a2a..866616d1bb1 100644
--- a/ace/Lock_Adapter_T.h
+++ b/ace/Lock_Adapter_T.h
@@ -43,7 +43,7 @@ public:
// = Initialization/Finalization methods.
- /// Constructor. All locking requests will be forwarded to <lock>.
+ /// Constructor. All locking requests will be forwarded to @a lock.
ACE_Lock_Adapter (ACE_LOCKING_MECHANISM &lock);
/// Constructor. Since no lock is provided by the user, one will be
diff --git a/ace/Log_Msg.cpp b/ace/Log_Msg.cpp
index 719b2a97141..57e2c6c1d42 100644
--- a/ace/Log_Msg.cpp
+++ b/ace/Log_Msg.cpp
@@ -17,6 +17,7 @@
#include "ace/OS_NS_sys_time.h"
#include "ace/OS_NS_wchar.h"
#include "ace/OS_NS_signal.h"
+#include "ace/os_include/os_typeinfo.h"
#if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE != 0)
# include "ace/Object_Manager_Base.h"
@@ -50,14 +51,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_ALLOC_HOOK_DEFINE(ACE_Log_Msg)
-// only used here... dhinton
-#if defined (ACE_HAS_SYS_SIGLIST)
-# if !defined (_sys_siglist)
-# define _sys_siglist sys_siglist
-# endif /* !defined (sys_siglist) */
-//extern char **_sys_siglist;
-#endif /* ACE_HAS_SYS_SIGLIST */
-
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
bool ACE_Log_Msg::key_created_ = 0;
# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || \
@@ -137,7 +130,7 @@ public:
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
//FUZZ: disable check_for_lack_ACE_OS
- static void close (void);
+ static void close (void) ACE_GCC_DESTRUCTOR_ATTRIBUTE;
//FUZZ: enable check_for_lack_ACE_OS
static ACE_Recursive_Thread_Mutex *get_lock (void);
@@ -263,7 +256,7 @@ ACE_TSS_CLEANUP_NAME (void *ptr)
if (log_msg->thr_desc()!=0)
log_msg->thr_desc()->log_msg_cleanup(log_msg);
else
- delete (ACE_Log_Msg *) ptr;
+ delete log_msg;
}
# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */
#endif /* ! ACE_MT_SAFE */
@@ -398,7 +391,9 @@ ACE_Log_Msg::instance (void)
{
ACE_NEW_RETURN (log_msg_cleanup, ACE_Msg_Log_Cleanup, 0);
// Register the instance for destruction at program termination.
- ACE_Object_Manager::at_exit (log_msg_cleanup);
+ ACE_Object_Manager::at_exit (log_msg_cleanup,
+ 0,
+ typeid (*log_msg_cleanup).name ());
}
return &log_msg_cleanup->object ();
@@ -919,7 +914,8 @@ ACE_Log_Msg::open (const ACE_TCHAR *prog_name,
* '@': print a void* pointer (in hexadecimal)
* 'r': call the function pointed to by the corresponding argument
* 'R': print return status
- * 'S': format the appropriate _sys_siglist entry corresponding to var-argument.
+ * 'S': print out the appropriate signal message corresponding
+ * to var-argument, e.g., as done by strsignal()
* 's': format a character string
* 'T': print timestamp in hour:minute:sec:usec format.
* 'D': print timestamp in month/day/year hour:minute:sec:usec format.
@@ -1022,7 +1018,7 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
// bp is pointer to where to put next part of logged message.
// bspace is the number of characters remaining in msg_.
ACE_TCHAR *bp = const_cast<ACE_TCHAR *> (this->msg ());
- size_t bspace = ACE_Log_Record::MAXLOGMSGLEN; // Leave room for Nul term.
+ size_t bspace = ACE_MAXLOGMSGLEN; // Leave room for Nul term.
if (this->msg_off_ <= ACE_Log_Record::MAXLOGMSGLEN)
bspace -= static_cast<size_t> (this->msg_off_);
@@ -1169,7 +1165,7 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
case 'A': // ACE_timer_t
{
ACE_OS::strcpy (fp, ACE_TEXT ("f"));
- double value = va_arg (argp, double);
+ double const value = va_arg (argp, double);
if (can_check)
this_len = ACE_OS::snprintf (bp, bspace, format, value);
else
@@ -1268,16 +1264,20 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
ACE_OS::strcpy (fp, ACE_TEXT ("ls: %ls"));
+ wchar_t *str = va_arg (argp, wchar_t *);
#else
ACE_OS::strcpy (fp, ACE_TEXT ("s: %s"));
+ ACE_TCHAR *str = va_arg (argp, ACE_TCHAR *);
#endif
if (can_check)
this_len = ACE_OS::snprintf
- (bp, bspace, format, va_arg (argp, ACE_TCHAR *),
+ (bp, bspace, format,
+ str ? str : ACE_TEXT ("(null)"),
ACE_TEXT_CHAR_TO_TCHAR (msg));
else
this_len = ACE_OS::sprintf
- (bp, format, va_arg (argp, ACE_TCHAR *),
+ (bp, format,
+ str ? str : ACE_TEXT ("(null)"),
ACE_TEXT_CHAR_TO_TCHAR (msg));
#if defined (ACE_WIN32)
}
@@ -1308,6 +1308,7 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
// it into a string. If this doesn't work it
// returns "unknown error" which is fine for
// our purposes.
+ ACE_TCHAR *str = va_arg (argp, ACE_TCHAR *);
if (lpMsgBuf == 0)
{
const ACE_TCHAR *message =
@@ -1316,12 +1317,12 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
if (can_check)
this_len = ACE_OS::snprintf
(bp, bspace, format,
- va_arg (argp, const ACE_TCHAR *),
+ str ? str : ACE_TEXT ("(null)"),
message);
else
this_len = ACE_OS::sprintf
(bp, format,
- va_arg (argp, const ACE_TCHAR *),
+ str ? str : ACE_TEXT ("(null)"),
message);
}
else
@@ -1330,12 +1331,12 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
if (can_check)
this_len = ACE_OS::snprintf
(bp, bspace, format,
- va_arg (argp, ACE_TCHAR *),
+ str ? str : ACE_TEXT ("(null)"),
lpMsgBuf);
else
this_len = ACE_OS::sprintf
(bp, format,
- va_arg (argp, ACE_TCHAR *),
+ str ? str : ACE_TEXT ("(null)"),
lpMsgBuf);
// Free the buffer.
::LocalFree (lpMsgBuf);
@@ -1347,27 +1348,133 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
}
case 'M': // Print the name of the priority of the message.
-#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
- ACE_OS::strcpy (fp, ACE_TEXT ("ls"));
+
+ // Look at the format precision specifier. .1 is interpreted
+ // as a single character printout, otherwise we print the name of
+ // the priority.
+
+ // So, did we find a .1 specifier? Do we need to override it?
+ if (format[1] == ACE_TEXT('.') &&
+ format[2] == ACE_TEXT('1'))
+ {
+ // Yup.
+ // Print a single character signifying the severity of the message
+ fp = format;
+ fp++;
+
+# if defined (ACE_USES_WCHAR)
+
+# if defined (ACE_WIN32) // Windows uses 'c' for a wide character
+ ACE_OS::strcpy (fp, ACE_TEXT ("c"));
+# else // Other platforms behave differently
+# if defined (HPUX) // HP-Unix compatible
+ ACE_OS::strcpy (fp, ACE_TEXT ("C"));
+# else // Other
+ ACE_OS::strcpy (fp, ACE_TEXT ("lc"));
+# endif /* HPUX */
+# endif
+
+# else /* ACE_USES_WCHAR */
+
+ // Non-unicode builds simply use a standard character format specifier
+ ACE_OS::strcpy (fp, ACE_TEXT ("c"));
+
+# endif /* ACE_USES_WCHAR */
+
+ // Below is an optimized (binary search based)
+ // version of the following simple piece of code:
+ //
+ // log_priority == LM_SHUTDOWN ? 'S' : // Shutdown
+ // log_priority == LM_TRACE ? 'T' : // Trace
+ // log_priority == LM_DEBUG ? 'D' : // Debug
+ // log_priority == LM_INFO ? 'I' : // Info
+ // log_priority == LM_NOTICE ? 'N' : // Notice
+ // log_priority == LM_WARNING ? 'W' : // Warning
+ // log_priority == LM_STARTUP ? 'U' : // Startup
+ // log_priority == LM_ERROR ? 'E' : // Error
+ // log_priority == LM_CRITICAL ? 'C' : // Critical
+ // log_priority == LM_ALERT ? 'A' : // Alert
+ // log_priority == LM_EMERGENCY ? '!' : // Emergency
+ // '?' // Unknown
+
+ if (can_check)
+ {
+ this_len = ACE_OS::snprintf
+ (bp, bspace, format,
+#if !defined (ACE_USES_WCHAR) || defined (ACE_WIN32)
+ (int)
#else
- ACE_OS::strcpy (fp, ACE_TEXT ("s"));
+ (wint_t)
#endif
- if (can_check)
- this_len = ACE_OS::snprintf
- (bp, bspace, format,
- ACE_Log_Record::priority_name (log_priority));
+ (log_priority <= LM_WARNING) ?
+ (log_priority <= LM_DEBUG) ?
+ (log_priority <= LM_TRACE) ?
+ (log_priority == LM_SHUTDOWN) ?
+ ACE_TEXT('S') : ACE_TEXT('T') : ACE_TEXT('D') :
+ (log_priority <= LM_NOTICE) ?
+ (log_priority == LM_INFO) ?
+ ACE_TEXT('I') : ACE_TEXT('N') : ACE_TEXT('W') :
+ (log_priority <= LM_CRITICAL) ?
+ (log_priority <= LM_ERROR) ?
+ (log_priority == LM_STARTUP) ?
+ ACE_TEXT('U') : ACE_TEXT('E') : ACE_TEXT('C') :
+ (log_priority <= LM_EMERGENCY) ?
+ (log_priority == LM_ALERT) ?
+ ACE_TEXT('A') : ACE_TEXT('!') : ACE_TEXT('?'));
+ }
+ else
+ {
+ this_len = ACE_OS::sprintf
+ (bp, format,
+#if !defined (ACE_USES_WCHAR) || defined (ACE_WIN32)
+ (int)
+#else
+ (wint_t)
+#endif
+ (log_priority <= LM_WARNING) ?
+ (log_priority <= LM_DEBUG) ?
+ (log_priority <= LM_TRACE) ?
+ (log_priority == LM_SHUTDOWN) ?
+ ACE_TEXT('S') : ACE_TEXT('T') : ACE_TEXT('D') :
+ (log_priority <= LM_NOTICE) ?
+ (log_priority == LM_INFO) ?
+ ACE_TEXT('I') : ACE_TEXT('N') : ACE_TEXT('W') :
+ (log_priority <= LM_CRITICAL) ?
+ (log_priority <= LM_ERROR) ?
+ (log_priority == LM_STARTUP) ?
+ ACE_TEXT('U') : ACE_TEXT('E') : ACE_TEXT('C') :
+ (log_priority <= LM_EMERGENCY) ?
+ (log_priority == LM_ALERT) ?
+ ACE_TEXT('A') : ACE_TEXT('!') : ACE_TEXT('?'));
+ }
+
+ ACE_UPDATE_COUNT (bspace, this_len);
+ }
else
- this_len = ACE_OS::sprintf
- (bp, format,
- ACE_Log_Record::priority_name (log_priority));
- ACE_UPDATE_COUNT (bspace, this_len);
+ {
+ // Nope, print out standard priority_name() string
+
+#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+ ACE_OS::strcpy (fp, ACE_TEXT ("ls"));
+#else
+ ACE_OS::strcpy (fp, ACE_TEXT ("s"));
+#endif
+ if (can_check)
+ this_len = ACE_OS::snprintf
+ (bp, bspace, format,
+ ACE_Log_Record::priority_name (log_priority));
+ else
+ this_len = ACE_OS::sprintf
+ (bp, format,
+ ACE_Log_Record::priority_name (log_priority));
+ ACE_UPDATE_COUNT (bspace, this_len);
+ }
break;
case 'm': // Format the string assocated with the errno value.
{
errno = 0;
- char *msg = 0;
- msg = ACE_OS::strerror (ACE::map_errno (this->errnum ()));
+ char *msg = ACE_OS::strerror (ACE::map_errno (this->errnum ()));
// Windows can try to translate the errnum using
// system calls if strerror() doesn't get anything useful.
#if defined (ACE_WIN32)
@@ -1526,36 +1633,14 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
case 'S': // format the string for with this signal number.
{
- int sig = va_arg (argp, int);
-#if defined (ACE_HAS_SYS_SIGLIST)
- if (sig >= 0 && sig < ACE_NSIG)
- {
- ACE_OS::strcpy (fp, ACE_TEXT ("s"));
- if (can_check)
- this_len = ACE_OS::snprintf
- (bp, bspace, format, _sys_siglist[sig]);
- else
- this_len = ACE_OS::sprintf
- (bp, format, _sys_siglist[sig]);
- }
- else
- {
- if (can_check)
- this_len = ACE_OS::snprintf
- (bp, bspace,
- ACE_TEXT("<unknown signal> %d"), sig);
- else
- this_len = ACE_OS::sprintf
- (bp, ACE_TEXT ("<unknown signal> %d"), sig);
- }
-#else
+ const int sig = va_arg (argp, int);
+ ACE_OS::strcpy (fp, ACE_TEXT ("s"));
if (can_check)
this_len = ACE_OS::snprintf
- (bp, bspace, ACE_TEXT ("signal %d"), sig);
+ (bp, bspace, format, ACE_OS::strsignal(sig));
else
this_len = ACE_OS::sprintf
- (bp, ACE_TEXT ("signal %d"), sig);
-#endif /* ACE_HAS_SYS_SIGLIST */
+ (bp, format, ACE_OS::strsignal(sig));
ACE_UPDATE_COUNT (bspace, this_len);
break;
}
@@ -1564,8 +1649,19 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
// Weekday Month day year hour:minute:sec.usec
{
ACE_TCHAR day_and_time[35];
- ACE::timestamp (day_and_time,
- sizeof day_and_time / sizeof (ACE_TCHAR));
+ // Did we find the flag indicating a time value argument
+ if (format[1] == ACE_TEXT('#'))
+ {
+ ACE_Time_Value* time_value = va_arg (argp, ACE_Time_Value*);
+ ACE::timestamp (*time_value,
+ day_and_time,
+ sizeof day_and_time / sizeof (ACE_TCHAR));
+ }
+ else
+ {
+ ACE::timestamp (day_and_time,
+ sizeof day_and_time / sizeof (ACE_TCHAR));
+ }
#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
ACE_OS::strcpy (fp, ACE_TEXT ("ls"));
#else
@@ -1589,14 +1685,33 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
#else
ACE_OS::strcpy (fp, ACE_TEXT ("s"));
#endif
- if (can_check)
- this_len = ACE_OS::snprintf
- (bp, bspace, format,
- ACE::timestamp (day_and_time, sizeof day_and_time / sizeof (ACE_TCHAR)));
+ // Did we find the flag indicating a time value argument
+ if (format[1] == ACE_TEXT('#'))
+ {
+ ACE_Time_Value* time_value = va_arg (argp, ACE_Time_Value*);
+ if (can_check)
+ this_len = ACE_OS::snprintf
+ (bp, bspace, format,
+ ACE::timestamp (*time_value,
+ day_and_time,
+ sizeof day_and_time / sizeof (ACE_TCHAR)));
+ else
+ this_len = ACE_OS::sprintf
+ (bp, format, ACE::timestamp (*time_value,
+ day_and_time,
+ sizeof day_and_time / sizeof (ACE_TCHAR)));
+ }
else
- this_len = ACE_OS::sprintf
- (bp, format, ACE::timestamp (day_and_time,
- sizeof day_and_time / sizeof (ACE_TCHAR)));
+ {
+ if (can_check)
+ this_len = ACE_OS::snprintf
+ (bp, bspace, format,
+ ACE::timestamp (day_and_time, sizeof day_and_time / sizeof (ACE_TCHAR)));
+ else
+ this_len = ACE_OS::sprintf
+ (bp, format, ACE::timestamp (day_and_time,
+ sizeof day_and_time / sizeof (ACE_TCHAR)));
+ }
ACE_UPDATE_COUNT (bspace, this_len);
break;
}
@@ -2196,7 +2311,6 @@ ACE_Log_Msg::log (ACE_Log_Record &log_record,
ACE_Log_Msg_Manager::custom_backend_->log (log_record);
}
-
// This must come last, after the other two print operations
// (see the <ACE_Log_Record::print> method for details).
if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_,
@@ -2232,7 +2346,7 @@ ACE_Log_Msg::log_hexdump (ACE_Log_Priority log_priority,
return 0;
ACE_TCHAR* buf = 0;
- const size_t buf_sz =
+ size_t const buf_sz =
ACE_Log_Record::MAXLOGMSGLEN - ACE_Log_Record::VERBOSE_LEN - 58;
ACE_NEW_RETURN (buf, ACE_TCHAR[buf_sz], -1);
@@ -2251,7 +2365,11 @@ ACE_Log_Msg::log_hexdump (ACE_Log_Priority log_priority,
if (text)
sz = ACE_OS::sprintf (msg_buf,
+#if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+ ACE_TEXT ("%ls - "),
+#else
ACE_TEXT ("%s - "),
+#endif
text);
sz += ACE_OS::sprintf (msg_buf + sz,
diff --git a/ace/Log_Msg.h b/ace/Log_Msg.h
index 81817028517..64f647d7229 100644
--- a/ace/Log_Msg.h
+++ b/ace/Log_Msg.h
@@ -32,18 +32,32 @@
#include "ace/Assert.h"
#if defined (ACE_NLOGGING)
-#define ACE_HEX_DUMP(X) do {} while (0)
-#define ACE_RETURN(Y) do { return (Y); } while (0)
-#define ACE_ERROR_RETURN(X, Y) return (Y)
-#define ACE_ERROR_BREAK(X) { break; }
-#define ACE_ERROR(X) do {} while (0)
-#define ACE_DEBUG(X) do {} while (0)
-#define ACE_ERROR_INIT(VALUE, FLAGS)
+#if !defined (ACE_HEX_DUMP)
+# define ACE_HEX_DUMP(X) do {} while (0)
+#endif
+#if !defined (ACE_RETURN)
+# define ACE_RETURN(Y) do { return (Y); } while (0)
+#endif
+#if !defined (ACE_ERROR_RETURN)
+# define ACE_ERROR_RETURN(X, Y) return (Y)
+#endif
+#if !defined (ACE_ERROR_BREAK)
+# define ACE_ERROR_BREAK(X) { break; }
+#endif
+#if !defined (ACE_ERROR)
+# define ACE_ERROR(X) do {} while (0)
+#endif
+#if !defined (ACE_DEBUG)
+# define ACE_DEBUG(X) do {} while (0)
+#endif
+#if !defined (ACE_ERROR_INIT)
+# define ACE_ERROR_INIT(VALUE, FLAGS)
+#endif
#else
#if !defined (ACE_HEX_DUMP)
#define ACE_HEX_DUMP(X) \
do { \
- int __ace_error = ACE_Log_Msg::last_error_adapter (); \
+ int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
ace___->conditional_set (__FILE__, __LINE__, 0, __ace_error); \
ace___->log_hexdump X; \
@@ -52,7 +66,7 @@
#if !defined (ACE_RETURN)
#define ACE_RETURN(Y) \
do { \
- int __ace_error = ACE_Log_Msg::last_error_adapter (); \
+ int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
ace___->set (__FILE__, __LINE__, Y, __ace_error, ace___->restart (), \
ace___->msg_ostream (), ace___->msg_callback ()); \
@@ -62,7 +76,7 @@
#if !defined (ACE_ERROR_RETURN)
#define ACE_ERROR_RETURN(X, Y) \
do { \
- int __ace_error = ACE_Log_Msg::last_error_adapter (); \
+ int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
ace___->conditional_set (__FILE__, __LINE__, Y, __ace_error); \
ace___->log X; \
@@ -72,7 +86,7 @@
#if !defined (ACE_ERROR)
#define ACE_ERROR(X) \
do { \
- int __ace_error = ACE_Log_Msg::last_error_adapter (); \
+ int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
ace___->conditional_set (__FILE__, __LINE__, -1, __ace_error); \
ace___->log X; \
@@ -81,7 +95,7 @@
#if !defined (ACE_DEBUG)
#define ACE_DEBUG(X) \
do { \
- int __ace_error = ACE_Log_Msg::last_error_adapter (); \
+ int const __ace_error = ACE_Log_Msg::last_error_adapter (); \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
ace___->conditional_set (__FILE__, __LINE__, 0, __ace_error); \
ace___->log X; \
@@ -91,7 +105,8 @@
#define ACE_ERROR_INIT(VALUE, FLAGS) \
do { \
ACE_Log_Msg *ace___ = ACE_Log_Msg::instance (); \
- ace___->set_flags (FLAGS); ace___->op_status (VALUE); \
+ ace___->set_flags (FLAGS); \
+ ace___->op_status (VALUE); \
} while (0)
#endif
#if !defined (ACE_ERROR_BREAK)
@@ -511,11 +526,16 @@ public:
* - '@': print a void* pointer (in hexadecimal)
* - 'r': call the function pointed to by the corresponding argument
* - 'R': print return status
- * - 'S': print out the appropriate _sys_siglist entry corresponding
- * to var-argument.
+ * - 'S': print out the appropriate signal message corresponding
+ * to var-argument, e.g., as done by strsignal()
* - 's': prints a ACE_TCHAR* character string (also see C and W)
- * - 'T': print timestamp in hour:minute:sec:usec format.
+ * - 'T': print timestamp in hour:minute:sec:usec format (plain option,
+ * i.e. without any flags, prints system supplied timestamp;
+ * with '#' flag added expects ACE_Time_Value* in argument list)
* - 'D': print timestamp as Weekday Month day year hour:minute:sec.usec
+ * (plain option, i.e. without any flags, prints system supplied
+ * timestamp; with '#' flag added expects ACE_Time_Value* in
+ * argument list)
* - 't': print thread id (1 if single-threaded)
* - 'u': print as unsigned int
* - 'w': prints a wide character
diff --git a/ace/Log_Msg_IPC.cpp b/ace/Log_Msg_IPC.cpp
index 82411a3cf92..f78a56564b6 100644
--- a/ace/Log_Msg_IPC.cpp
+++ b/ace/Log_Msg_IPC.cpp
@@ -64,21 +64,24 @@ ACE_Log_Msg_IPC::log (ACE_Log_Record &log_record)
// Insert contents of <log_record> into payload stream.
ACE_OutputCDR payload (max_payload_size);
- payload << log_record;
+ if (!(payload << log_record))
+ return -1;
// Get the number of bytes used by the CDR stream. If it becomes desireable
// to support payloads more than 4GB, this field will need to be changed
// to a 64-bit value.
- ACE_CDR::ULong length =
+ ACE_CDR::ULong const length =
ACE_Utils::truncate_cast<ACE_CDR::ULong> (payload.total_length ());
// Send a header so the receiver can determine the byte order and
// size of the incoming CDR stream.
ACE_OutputCDR header (ACE_CDR::MAX_ALIGNMENT + 8);
- header << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER);
+ if (!(header << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER)))
+ return -1;
// Store the size of the payload that follows
- header << ACE_CDR::ULong (length);
+ if (!(header << ACE_CDR::ULong (length)))
+ return -1;
// Use an iovec to send both buffer and payload simultaneously.
iovec iov[2];
@@ -87,7 +90,7 @@ ACE_Log_Msg_IPC::log (ACE_Log_Record &log_record)
iov[1].iov_base = payload.begin ()->rd_ptr ();
iov[1].iov_len = length;
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
// Use the <putpmsg> API if supported to ensure correct message
// queueing according to priority.
@@ -105,7 +108,7 @@ ACE_Log_Msg_IPC::log (ACE_Log_Record &log_record)
// We're running over sockets, so send header and payload
// efficiently using "gather-write".
return this->message_queue_.sendv_n (iov, 2);
-#endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_HAS_STREAM_LOG_MSG_IPC */
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Log_Msg_IPC.h b/ace/Log_Msg_IPC.h
index 8b39b9ec551..76b70b583a9 100644
--- a/ace/Log_Msg_IPC.h
+++ b/ace/Log_Msg_IPC.h
@@ -20,10 +20,12 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "ace/Default_Constants.h"
+
// IPC conduit between sender and client daemon. This should be
// included in the ACE_Log_Msg class, but due to "order of include"
// problems it can't be...
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
# include "ace/SPIPE_Connector.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
typedef ACE_SPIPE_Stream ACE_LOG_MSG_IPC_STREAM;
diff --git a/ace/Log_Msg_NT_Event_Log.cpp b/ace/Log_Msg_NT_Event_Log.cpp
index e22170c01dc..4883dee9409 100644
--- a/ace/Log_Msg_NT_Event_Log.cpp
+++ b/ace/Log_Msg_NT_Event_Log.cpp
@@ -106,11 +106,16 @@ ACE_Log_Msg_NT_Event_Log::log (ACE_Log_Record &log_record)
// CR-LF. Newline characters on their own do not appear correctly in
// the event viewer. We allow for a doubling in the size of the msg
// data for the worst case of all newlines.
- const ACE_TCHAR* src_msg_data = log_record.msg_data ();
- ACE_TCHAR msg_data [ACE_Log_Record::MAXLOGMSGLEN * 2];
+ const ACE_TCHAR *src_msg_data = log_record.msg_data ();
+ ACE_TCHAR msg_data [(ACE_Log_Record::MAXLOGMSGLEN * 2) + 1];
+ size_t maxlen = ACE_Log_Record::MAXLOGMSGLEN;
+ if (ACE_Log_Record::MAXLOGMSGLEN > log_record.msg_data_len ())
+ maxlen = log_record.msg_data_len ();
+
+ size_t end = 0;
for (size_t i = 0, j = 0;
- i < log_record.msg_data_len ();
+ i < maxlen;
++i)
{
if (src_msg_data[i] == '\n')
@@ -120,7 +125,10 @@ ACE_Log_Msg_NT_Event_Log::log (ACE_Log_Record &log_record)
}
else
msg_data[j++] = src_msg_data[i];
+
+ end = j;
}
+ msg_data[end] = '\0';
// Map the ACE log record type to an event log type.
WORD event_type;
diff --git a/ace/Log_Record.h b/ace/Log_Record.h
index a48b9a322bf..a42d5cb4685 100644
--- a/ace/Log_Record.h
+++ b/ace/Log_Record.h
@@ -83,7 +83,7 @@ public:
#if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
/// Write the contents of the logging record to the appropriate
- /// <ostream> if the corresponding type is enabled.
+ /// @a stream if the corresponding type is enabled.
int print (const ACE_TCHAR host_name[],
u_long verbose_flag,
ACE_OSTREAM_TYPE &stream);
diff --git a/ace/Log_Record.inl b/ace/Log_Record.inl
index aba217d93ef..1973a949746 100644
--- a/ace/Log_Record.inl
+++ b/ace/Log_Record.inl
@@ -20,17 +20,15 @@ ACE_INLINE void
ACE_Log_Record::encode (void)
{
ACE_TRACE ("ACE_Log_Record::encode");
-#if !defined (ACE_LACKS_HTONL)
- this->length_ = htonl (this->length_);
- this->type_ = htonl (this->type_);
+ this->length_ = ACE_HTONL (this->length_);
+ this->type_ = ACE_HTONL (this->type_);
// Make sure we don't enclose the sec() and usec() fields until
// they've been normalized.
// secs_ is commented out because it can be 64 bits. This method is
// deprecated; use the CDR operations instead.
- // this->secs_ = htonl (this->secs_);
- this->usecs_ = htonl (this->usecs_);
- this->pid_ = htonl (this->pid_);
-#endif /* ACE_LACKS_HTONL */
+ // this->secs_ = ACE_HTONL (this->secs_);
+ this->usecs_ = ACE_HTONL (this->usecs_);
+ this->pid_ = ACE_HTONL (this->pid_);
}
ACE_INLINE void
diff --git a/ace/Logging_Strategy.cpp b/ace/Logging_Strategy.cpp
index f4270527e02..d7cb0001293 100644
--- a/ace/Logging_Strategy.cpp
+++ b/ace/Logging_Strategy.cpp
@@ -386,11 +386,6 @@ ACE_Logging_Strategy::init (int argc, ACE_TCHAR *argv[])
if (this->reactor () == 0)
// Use singleton.
this->reactor (ACE_Reactor::instance ());
-
- this->reactor ()->schedule_timer
- (this, 0,
- ACE_Time_Value (this->interval_),
- ACE_Time_Value (this->interval_));
}
}
// Now set the flags for Log_Msg
@@ -551,6 +546,43 @@ ACE_Logging_Strategy::handle_timeout (const ACE_Time_Value &,
return 0;
}
+int
+ACE_Logging_Strategy::handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
+{
+ // This will reset reactor member and cancel timer events.
+ this->reactor (0);
+ return 0;
+}
+
+void
+ACE_Logging_Strategy::reactor (ACE_Reactor *r)
+{
+ if (this->reactor () != r)
+ {
+ if (this->reactor () && this->interval_ > 0 && this->max_size_ > 0)
+ {
+ this->reactor ()->cancel_timer (this);
+ }
+
+ ACE_Service_Object::reactor (r);
+
+ if (this->reactor ())
+ {
+ this->reactor ()->schedule_timer
+ (this, 0,
+ ACE_Time_Value (this->interval_),
+ ACE_Time_Value (this->interval_));
+ }
+ }
+}
+
+ACE_Reactor *
+ACE_Logging_Strategy::reactor (void) const
+{
+ return ACE_Service_Object::reactor ();
+}
+
void
ACE_Logging_Strategy::log_msg (ACE_Log_Msg *log_msg)
{
@@ -563,4 +595,11 @@ ACE_END_VERSIONED_NAMESPACE_DECL
// svc.conf file to dynamically initialize the state of the
// Logging_Strategy.
+ACE_STATIC_SVC_DEFINE (ACE_Logging_Strategy,
+ ACE_TEXT ("Logging_Strategy"),
+ ACE_Service_Type::SERVICE_OBJECT,
+ &ACE_SVC_NAME (ACE_Logging_Strategy),
+ ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
+ 0)
+
ACE_FACTORY_DEFINE (ACE, ACE_Logging_Strategy)
diff --git a/ace/Logging_Strategy.h b/ace/Logging_Strategy.h
index 443e88915ec..f93a8a3e364 100644
--- a/ace/Logging_Strategy.h
+++ b/ace/Logging_Strategy.h
@@ -93,13 +93,29 @@ public:
/**
* Timeout handler which tests logfile size. If the current logfile
- * size exceeds <max_size_>, the current logfile is closed, saved to
+ * size exceeds @c max_size_, the current logfile is closed, saved to
* logfile.old, and a new logfile is reopened.
*/
virtual int handle_timeout (const ACE_Time_Value& tv,
const void* arg);
/**
+ * This function helps to cancel timer events for this logging strategy
+ * in reactor during shutdown.
+ */
+ virtual int handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask);
+
+ /**
+ * Reactor accessors. If reactor changes then we need remove this
+ * event handler from previous reactor and scheduler for timer events
+ * in a new one.
+ */
+ virtual void reactor (ACE_Reactor *r);
+
+ virtual ACE_Reactor * reactor (void) const;
+
+ /**
* Parse arguments provided in svc.conf file.
* @arg '-f' Pass in the flags (such as OSTREAM, STDERR, LOGGER, VERBOSE,
* SILENT, VERBOSE_LITE) used to control logging.
@@ -110,7 +126,7 @@ public:
* @arg '-n' Set the program name for the %n format specifier.
* @arg '-N' The maximum number of logfiles that we want created.
* @arg '-o' Specifies that we want the no standard logfiles ordering
- * (fastest processing in <handle_timeout>). Default is not to
+ * (fastest processing in handle_timeout()). Default is not to
* order logfiles.
* @arg '-p' Pass in the process-wide priorities to either enable (e.g.,
* DEBUG, INFO, WARNING, NOTICE, ERROR, CRITICAL, ALERT,
@@ -136,10 +152,10 @@ protected:
void priorities (ACE_TCHAR *priority_string,
ACE_Log_Msg::MASK_TYPE mask);
- /// Current thread's priority mask set by <priorities>
+ /// Current thread's priority mask set by @c priorities
u_long thread_priority_mask_;
- /// Process-wide priority mask set by <priorities>
+ /// Process-wide priority mask set by @c priorities
u_long process_priority_mask_;
/// Flags we keep track of.
@@ -171,7 +187,7 @@ protected:
int count_;
/// Tells us what is the maximum log file to write. We will write
- /// <max_file_number_> + 1 files (includes the current log file).
+ /// @c max_file_number_ + 1 files (includes the current log file).
/// Default value is 1, i.e., 2 files by default.
int max_file_number_;
@@ -181,7 +197,7 @@ protected:
u_long interval_;
/// Maximum logfile size (in KB). Default value is
- /// <ACE_DEFAULT_MAX_LOGFILE_SIZE>.
+ /// ACE_DEFAULT_MAX_LOGFILE_SIZE.
u_long max_size_;
/// ACE_Log_Msg instance to work with
@@ -190,6 +206,8 @@ protected:
ACE_END_VERSIONED_NAMESPACE_DECL
+ACE_STATIC_SVC_DECLARE_EXPORT(ACE, ACE_Logging_Strategy)
+
ACE_FACTORY_DECLARE (ACE, ACE_Logging_Strategy)
#endif /* ACE_LOGGING_STRATEGY_H */
diff --git a/ace/MEM_Acceptor.cpp b/ace/MEM_Acceptor.cpp
index f8c6f0cd850..a6b000a29fc 100644
--- a/ace/MEM_Acceptor.cpp
+++ b/ace/MEM_Acceptor.cpp
@@ -192,7 +192,8 @@ ACE_MEM_Acceptor::accept (ACE_MEM_Stream &new_stream,
if (ACE::recv (new_handle, &client_signaling,
sizeof (ACE_INT16)) == -1)
ACE_ERROR_RETURN ((LM_DEBUG,
- ACE_TEXT ("ACE_MEM_Acceptor::%p error receiving strategy\n"), ACE_TEXT ("accept")),
+ ACE_TEXT ("ACE_MEM_Acceptor::%p error receiving strategy\n"),
+ ACE_TEXT ("accept")),
-1);
// Ensure minimum buffer size
diff --git a/ace/MEM_Acceptor.h b/ace/MEM_Acceptor.h
index 09b60e45c63..9d82579170c 100644
--- a/ace/MEM_Acceptor.h
+++ b/ace/MEM_Acceptor.h
@@ -58,7 +58,7 @@ public:
/// Default constructor.
ACE_MEM_Acceptor (void);
- /// destructor.
+ /// Destructor.
~ACE_MEM_Acceptor (void);
/// Initiate a passive mode socket.
diff --git a/ace/MEM_Connector.h b/ace/MEM_Connector.h
index a8ebd995b1c..a8e3949902e 100644
--- a/ace/MEM_Connector.h
+++ b/ace/MEM_Connector.h
@@ -67,7 +67,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -112,7 +112,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
diff --git a/ace/MEM_IO.cpp b/ace/MEM_IO.cpp
index 4fdbd50b72e..1b61ead04a7 100644
--- a/ace/MEM_IO.cpp
+++ b/ace/MEM_IO.cpp
@@ -54,7 +54,7 @@ ACE_Reactive_MEM_IO::recv_buf (ACE_MEM_SAP_Node *&buf,
buf = 0;
return 0;
}
- else if (retv != sizeof (ACE_OFF_T))
+ else if (retv != static_cast <ssize_t> (sizeof (ACE_OFF_T)))
{
// Nothing available or we are really screwed.
buf = 0;
@@ -75,26 +75,26 @@ ACE_Reactive_MEM_IO::send_buf (ACE_MEM_SAP_Node *buf,
{
return -1;
}
-
+
// The offset.
ACE_OFF_T offset =
ACE_Utils::truncate_cast<ACE_OFF_T> (
reinterpret_cast<char *> (buf)
- static_cast<char *> (this->shm_malloc_->base_addr ()));
-
+
// Send the offset value over the socket.
if (ACE::send (this->handle_,
(const char *) &offset,
sizeof (offset),
flags,
- timeout) != sizeof (offset))
+ timeout) != static_cast <ssize_t> (sizeof (offset)))
{
// unsucessful send, release the memory in the shared-memory.
this->release_buffer (buf);
return -1;
}
-
+
return ACE_Utils::truncate_cast<ssize_t> (buf->size ());
}
diff --git a/ace/MMAP_Memory_Pool.cpp b/ace/MMAP_Memory_Pool.cpp
index 02e82dcf4cf..841160808d9 100644
--- a/ace/MMAP_Memory_Pool.cpp
+++ b/ace/MMAP_Memory_Pool.cpp
@@ -44,7 +44,7 @@ ACE_MMAP_Memory_Pool::release (int destroy)
#endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1 */
if (destroy)
- this->mmap_.remove ();
+ this->mmap_.remove ();
else
this->mmap_.close ();
return 0;
@@ -69,9 +69,8 @@ ACE_MMAP_Memory_Pool::sync (int flags)
return this->mmap_.sync (len, flags);
}
-// Sync <len> bytes of the memory region to the backing store starting
-// at <addr_>.
-
+/// Sync @a len bytes of the memory region to the backing store starting
+/// at <addr_>.
int
ACE_MMAP_Memory_Pool::sync (void *addr, size_t len, int flags)
{
@@ -198,7 +197,7 @@ ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool (
{
if (this->signal_handler_.register_handler (SIGSEGV, this) == -1)
ACE_ERROR ((LM_ERROR,
- "%p\n", this->backing_store_name_));
+ ACE_TEXT("%p\n"), this->backing_store_name_));
}
#endif /* ACE_WIN32 */
}
@@ -311,12 +310,12 @@ ACE_MMAP_Memory_Pool::map_file (size_t map_size)
{
#if (ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1)
this->base_addr_ = this->mmap_.addr ();
-
+
if (obase_addr && this->base_addr_ != obase_addr)
{
ACE_BASED_POINTER_REPOSITORY::instance ()->unbind (obase_addr);
}
-
+
ACE_BASED_POINTER_REPOSITORY::instance ()->bind (this->base_addr_,
map_size);
#endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1 */
diff --git a/ace/Makefile.am b/ace/Makefile.am
index 3afaa862f37..536052c4bec 100644
--- a/ace/Makefile.am
+++ b/ace/Makefile.am
@@ -402,6 +402,9 @@ nobase_include_HEADERS += \
Atomic_Op.inl \
Atomic_Op_Sparc.h \
Atomic_Op_T.cpp \
+ Atomic_Op_GCC_T.h \
+ Atomic_Op_GCC_T.cpp \
+ Atomic_Op_GCC_T.inl \
Atomic_Op_T.h \
Atomic_Op_T.inl \
Auto_Event.h \
@@ -475,6 +478,7 @@ nobase_include_HEADERS += \
Containers_T.inl \
Copy_Disabled.h \
Countdown_Time.h \
+ Countdown_Time.inl \
DEV.h \
DEV.inl \
DEV_Addr.h \
@@ -1071,9 +1075,10 @@ nobase_include_HEADERS += \
Timer_Queue_T.cpp \
Timer_Queue_T.h \
Timer_Queue_T.inl \
- Timer_Queuefwd.h \
Timer_Wheel_T.cpp \
Timer_Wheel_T.h \
+ Tokenizer_T.cpp \
+ Tokenizer_T.h \
Timer_Hash.h \
Timer_Heap.h \
Timer_List.h \
@@ -1214,6 +1219,7 @@ nobase_include_HEADERS += \
os_include/os_tgmath.h \
os_include/os_time.h \
os_include/os_trace.h \
+ os_include/os_typeinfo.h \
os_include/os_ucontext.h \
os_include/os_ulimit.h \
os_include/os_unistd.h \
diff --git a/ace/Malloc.cpp b/ace/Malloc.cpp
index 9c6da58fb0a..ce6a235b820 100644
--- a/ace/Malloc.cpp
+++ b/ace/Malloc.cpp
@@ -145,10 +145,9 @@ ACE_Control_Block::ACE_Name_Node::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("pointer = %@"), (const char *) this->pointer_));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nnext_ = %@"), (ACE_Name_Node *) this->next_));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\nname_ = (%@, %s)"),
+ ACE_TEXT ("\nname_ = (%@, %C)\n"),
(const char *) this->name_,
(const char *) this->name_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/Malloc_T.cpp b/ace/Malloc_T.cpp
index 7e5b222d6f7..d0918128180 100644
--- a/ace/Malloc_T.cpp
+++ b/ace/Malloc_T.cpp
@@ -1055,8 +1055,7 @@ ACE_Malloc_LIFO_Iterator_T<ACE_MEM_POOL_2, ACE_LOCK, ACE_CB>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->curr_->dump ();
this->guard_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("name_ = %s"), this->name_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("name_ = %C\n"), this->name_));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
@@ -1150,8 +1149,7 @@ ACE_Malloc_FIFO_Iterator_T<ACE_MEM_POOL_2, ACE_LOCK, ACE_CB>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->curr_->dump ();
this->guard_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("name_ = %s"), this->name_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("name_ = %s\n"), this->name_));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/Map_T.h b/ace/Map_T.h
index 142d07803ce..a552e0f6d48 100644
--- a/ace/Map_T.h
+++ b/ace/Map_T.h
@@ -1145,11 +1145,11 @@ public:
/// Close down and release dynamically allocated resources.
virtual ~ACE_Hash_Map_Manager_Ex_Adapter (void);
- /// Initialize a <Map> with size @a length.
+ /// Initialize a Map with size @a length.
virtual int open (size_t length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator *alloc = 0);
- /// Close down a <Map> and release dynamically allocated resources.
+ /// Close down a Map and release dynamically allocated resources.
virtual int close (void);
/**
@@ -1204,7 +1204,7 @@ public:
virtual int bind_create_key (const VALUE &value);
/// Recovers the original key potentially modified by the map during
- /// <bind_modify_key>.
+ /// bind_modify_key().
virtual int recover_key (const KEY &modified_key,
KEY &original_key);
diff --git a/ace/Message_Block.cpp b/ace/Message_Block.cpp
index 8a73512f3c2..cac8a6f9a79 100644
--- a/ace/Message_Block.cpp
+++ b/ace/Message_Block.cpp
@@ -154,7 +154,7 @@ ACE_Data_Block::dump (void) const
ACE_TEXT ("cur_size_ = %u\n")
ACE_TEXT ("max_size_ = %u\n")
ACE_TEXT ("flags_ = %u\n")
- ACE_TEXT ("base_ = %u\n")
+ ACE_TEXT ("base_ = %@\n")
ACE_TEXT ("locking_strategy_ = %u\n")
ACE_TEXT ("reference_count_ = %u\n")
ACE_TEXT ("---------------------------\n"),
@@ -179,11 +179,11 @@ ACE_Message_Block::dump (void) const
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("-----( Message Block )-----\n")
ACE_TEXT ("priority_ = %d\n")
- ACE_TEXT ("next_ = %u\n")
- ACE_TEXT ("prev_ = %u\n")
- ACE_TEXT ("cont_ = %u\n")
- ACE_TEXT ("rd_ptr_ = %u\n")
- ACE_TEXT ("wr_ptr_ = %u\n")
+ ACE_TEXT ("next_ = %@\n")
+ ACE_TEXT ("prev_ = %@\n")
+ ACE_TEXT ("cont_ = %@\n")
+ ACE_TEXT ("rd_ptr_ = %@\n")
+ ACE_TEXT ("wr_ptr_ = %@\n")
ACE_TEXT ("---------------------------\n"),
this->priority_,
this->next_,
@@ -815,8 +815,10 @@ ACE_Data_Block::release_no_delete (ACE_Lock *lock)
}
// This is the case when no lock was passed in
else
- // Lock to be used is our lock
- lock_to_be_used = this->locking_strategy_;
+ {
+ // Lock to be used is our lock
+ lock_to_be_used = this->locking_strategy_;
+ }
// If there's a locking strategy then we need to acquire the lock
// before decrementing the count.
@@ -827,7 +829,9 @@ ACE_Data_Block::release_no_delete (ACE_Lock *lock)
result = this->release_i ();
}
else
- result = this->release_i ();
+ {
+ result = this->release_i ();
+ }
return result;
}
@@ -878,7 +882,7 @@ ACE_Message_Block::release (void)
// One guard for all
ACE_GUARD_RETURN (ACE_Lock, ace_mon, *lock, 0);
- // Call non-guarded release with <lock>
+ // Call non-guarded release with @a lock
destroy_dblock = this->release_i (lock);
}
// This is the case when we have a valid data block but no lock
@@ -980,6 +984,7 @@ ACE_Message_Block::~ACE_Message_Block (void)
this->prev_ = 0;
this->next_ = 0;
+ this->cont_ = 0;
}
ACE_Data_Block *
diff --git a/ace/Message_Block.h b/ace/Message_Block.h
index 00d7dfe5b2c..449df677d4b 100644
--- a/ace/Message_Block.h
+++ b/ace/Message_Block.h
@@ -214,14 +214,14 @@ public:
/**
* Create an initialized message of type @a type containing @a size
* bytes. The @a cont argument initializes the continuation field in
- * the <Message_Block>. If @a data == 0 then we create and own the
+ * the Message_Block. If @a data == 0 then we create and own the
* @a data, using @a allocator_strategy to get the data if it's non-0. If
* @a data != 0 we assume that we have ownership of the @a data till
* this object ceases to exist (and don't delete it during
* destruction). If @a locking_strategy is non-0 then this is used
* to protect regions of code that access shared state (e.g.,
* reference counting) from race conditions. Note that the @a size
- * of the <Message_Block> will be @a size, but the @a length will be 0
+ * of the Message_Block will be @a size, but the @a length will be 0
* until <wr_ptr> is set. The @a data_block_allocator is use to
* allocate the data blocks while the @a allocator_strategy is used
* to allocate the buffers contained by those.
@@ -393,7 +393,7 @@ public:
*/
int copy (const char *buf);
- /// Normalizes data in the top-level <Message_Block> to align with the base,
+ /// Normalizes data in the top-level Message_Block to align with the base,
/// i.e., it "shifts" the data pointed to by <rd_ptr> down to the <base> and
/// then readjusts <rd_ptr> to point to <base> and <wr_ptr> to point
/// to <base> + the length of the moved data. Returns -1 and does
@@ -405,7 +405,7 @@ public:
void reset (void);
/// Access all the allocators in the message block.
- /// @@todo: Not sure whether we would need finer control while
+ /// @todo Not sure whether we would need finer control while
/// trying to access allocators ie. a method for every allocator.
/**
* This method returns the allocators only from the first message
@@ -486,40 +486,40 @@ public:
/// Set the length of the message
void length (size_t n);
- /// Get the length of the <Message_Block>s, including chained
- /// <Message_Block>s.
+ /// Get the length of the Message_Blocks, including chained
+ /// Message_Blocks.
size_t total_length (void) const;
- /// Get the total number of bytes in all <Message_Block>s, including
- /// chained <Message_Block>s.
+ /// Get the total number of bytes in all Message_Blocks, including
+ /// chained Message_Blocks.
size_t total_size (void) const;
/// Get the total number of bytes and total length in all
- /// <Message_Block>s, including chained <Message_Block>s.
+ /// Message_Blocks, including chained Message_Blocks.
void total_size_and_length (size_t &mb_size,
size_t &mb_length) const;
- /// Get the number of bytes in the top-level <Message_Block> (i.e.,
- /// does not consider the bytes in chained <Message_Block>s).
+ /// Get the number of bytes in the top-level Message_Block (i.e.,
+ /// does not consider the bytes in chained Message_Blocks).
size_t size (void) const;
/**
- * Set the number of bytes in the top-level <Message_Block>,
- * reallocating space if necessary. However, the <rd_ptr_> and
- * <wr_ptr_> remain at the original offsets into the buffer, even if
+ * Set the number of bytes in the top-level Message_Block,
+ * reallocating space if necessary. However, the @c rd_ptr_ and
+ * @c wr_ptr_ remain at the original offsets into the buffer, even if
* it is reallocated. Returns 0 if successful, else -1.
*/
int size (size_t length);
- /// Get the number of allocated bytes in all <Message_Block>, including
- /// chained <Message_Block>s.
+ /// Get the number of allocated bytes in all Message_Block, including
+ /// chained Message_Blocks.
size_t total_capacity (void) const;
- /// Get the number of allocated bytes in the top-level <Message_Block>.
+ /// Get the number of allocated bytes in the top-level Message_Block.
size_t capacity (void) const;
/// Get the number of bytes available after the <wr_ptr_> in the
- /// top-level <Message_Block>.
+ /// top-level Message_Block.
size_t space (void) const;
//@}
@@ -552,14 +552,14 @@ public:
/// Set the continuation field.
void cont (ACE_Message_Block *);
- // = Pointer to the <Message_Block> directly ahead in the ACE_Message_Queue.
+ // = Pointer to the Message_Block directly ahead in the ACE_Message_Queue.
/// Get link to next message.
ACE_Message_Block *next (void) const;
/// Set link to next message.
void next (ACE_Message_Block *);
- // = Pointer to the <Message_Block> directly behind in the ACE_Message_Queue.
+ // = Pointer to the Message_Block directly behind in the ACE_Message_Queue.
/// Get link to prev message.
ACE_Message_Block *prev (void) const;
@@ -802,7 +802,7 @@ protected:
/**
* Decrease the reference count, but don't delete the object.
* Returns 0 if the object should be removed.
- * If <lock> is equal to the locking strategy then we assume that
+ * If @a lock is equal to the locking strategy then we assume that
* the lock is beign held by the current thread; this is used to
* release all the data blocks in a chain while holding a single
* lock.
diff --git a/ace/Message_Block.inl b/ace/Message_Block.inl
index 71537e9fc16..89d615582a4 100644
--- a/ace/Message_Block.inl
+++ b/ace/Message_Block.inl
@@ -397,7 +397,7 @@ ACE_Message_Block::replace_data_block (ACE_Data_Block *db)
if (db != 0)
{
// Set the read and write pointers in the <Message_Block> to point
- // to the buffer in the <ACE_Data_Block>.
+ // to the buffer in the ACE_Data_Block.
this->rd_ptr (this->data_block ()->base ());
this->wr_ptr (this->data_block ()->base ());
}
diff --git a/ace/Message_Queue_NT.cpp b/ace/Message_Queue_NT.cpp
index 3c4fbe99c64..ede04803e56 100644
--- a/ace/Message_Queue_NT.cpp
+++ b/ace/Message_Queue_NT.cpp
@@ -1,5 +1,6 @@
// $Id$
+#include "ace/Message_Queue.h"
#include "ace/Message_Queue_NT.h"
#include "ace/Log_Msg.h"
@@ -11,7 +12,6 @@ ACE_RCSID (ace,
Message_Queue_NT,
"$Id$")
-
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
diff --git a/ace/Message_Queue_T.cpp b/ace/Message_Queue_T.cpp
index fe88e47f661..762482949bb 100644
--- a/ace/Message_Queue_T.cpp
+++ b/ace/Message_Queue_T.cpp
@@ -9,6 +9,10 @@
#include "ace/Log_Msg.h"
#include "ace/OS_NS_sys_time.h"
+#if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+#include "ace/Message_Queue_NT.h"
+#endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
+
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
@@ -981,9 +985,9 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dump (void) const
this->cur_count_,
this->head_,
this->tail_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("not_full_cond: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("not_full_cond:\n")));
not_full_cond_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("not_empty_cond: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("not_empty_cond:\n")));
not_empty_cond_.dump ();
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
@@ -1028,12 +1032,12 @@ ACE_Message_Queue<ACE_SYNCH_USE>::ACE_Message_Queue (size_t hwm,
char pid_buf[sizeof (int) + 1];
ACE_OS::sprintf (pid_buf, "%d", ACE_OS::getpid ());
pid_buf[sizeof (int)] = '\0';
-
+
const int addr_nibbles = 2 * sizeof (ptrdiff_t);
char addr_buf[addr_nibbles + 1];
ACE_OS::sprintf (addr_buf, "%p", this);
addr_buf[addr_nibbles] = '\0';
-
+
ACE_CString name_str ("Message_Queue_");
name_str += pid_buf;
name_str += '_';
@@ -1138,6 +1142,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::deactivate_i (int pulse)
else
this->state_ = ACE_Message_Queue_Base::DEACTIVATED;
}
+
return previous_state;
}
@@ -1168,12 +1173,12 @@ ACE_Message_Queue<ACE_SYNCH_USE>::close (void)
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::close");
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
- int const result = this->deactivate_i ();
+ // There's no need to check the return value of deactivate_i() since
+ // it never fails!
+ this->deactivate_i ();
// Free up the remaining messages on the queue.
- this->flush_i ();
-
- return result;
+ return this->flush_i ();
}
template <ACE_SYNCH_DECL> int
@@ -1764,6 +1769,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_head (ACE_Message_Block *new_item,
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_head");
int queue_count = 0;
+ ACE_Notification_Strategy *notifier = 0;
{
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
@@ -1777,12 +1783,17 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_head (ACE_Message_Block *new_item,
return -1;
queue_count = this->enqueue_head_i (new_item);
-
if (queue_count == -1)
return -1;
- this->notify ();
+#if defined (ACE_HAS_MONITOR_POINTS) && (ACE_HAS_MONITOR_POINTS == 1)
+ this->monitor_->receive (this->cur_length_);
+#endif
+ notifier = this->notification_strategy_;
}
+
+ if (0 != notifier)
+ notifier->notify();
return queue_count;
}
@@ -1796,6 +1807,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_prio (ACE_Message_Block *new_item,
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_prio");
int queue_count = 0;
+ ACE_Notification_Strategy *notifier = 0;
{
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
@@ -1813,8 +1825,13 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_prio (ACE_Message_Block *new_item,
if (queue_count == -1)
return -1;
- this->notify ();
+#if defined (ACE_HAS_MONITOR_POINTS) && (ACE_HAS_MONITOR_POINTS == 1)
+ this->monitor_->receive (this->cur_length_);
+#endif
+ notifier = this->notification_strategy_;
}
+ if (0 != notifier)
+ notifier->notify ();
return queue_count;
}
@@ -1828,6 +1845,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_deadline (ACE_Message_Block *new_item,
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_deadline");
int queue_count = 0;
+ ACE_Notification_Strategy *notifier = 0;
{
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
@@ -1845,8 +1863,13 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_deadline (ACE_Message_Block *new_item,
if (queue_count == -1)
return -1;
- this->notify ();
+#if defined (ACE_HAS_MONITOR_POINTS) && (ACE_HAS_MONITOR_POINTS == 1)
+ this->monitor_->receive (this->cur_length_);
+#endif
+ notifier = this->notification_strategy_;
}
+ if (0 != notifier)
+ notifier->notify ();
return queue_count;
}
@@ -1867,6 +1890,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_tail (ACE_Message_Block *new_item,
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_tail");
int queue_count = 0;
+ ACE_Notification_Strategy *notifier = 0;
{
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
@@ -1884,8 +1908,13 @@ ACE_Message_Queue<ACE_SYNCH_USE>::enqueue_tail (ACE_Message_Block *new_item,
if (queue_count == -1)
return -1;
- this->notify ();
+#if defined (ACE_HAS_MONITOR_POINTS) && (ACE_HAS_MONITOR_POINTS == 1)
+ this->monitor_->receive (this->cur_length_);
+#endif
+ notifier = this->notification_strategy_;
}
+ if (0 != notifier)
+ notifier->notify ();
return queue_count;
}
@@ -1986,10 +2015,6 @@ ACE_Message_Queue<ACE_SYNCH_USE>::notify (void)
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::notify");
-#if defined (ACE_HAS_MONITOR_POINTS) && (ACE_HAS_MONITOR_POINTS == 1)
- this->monitor_->receive (this->cur_length_);
-#endif
-
// By default, don't do anything.
if (this->notification_strategy_ == 0)
return 0;
@@ -2212,7 +2237,7 @@ ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::dump (void) const
ACE_TRACE ("ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Message_Queue<ACE_SYNCH_USE> (base class): \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Message_Queue<ACE_SYNCH_USE> (base class):\n")));
this->ACE_Message_Queue<ACE_SYNCH_USE>::dump ();
ACE_DEBUG ((LM_DEBUG,
@@ -2229,7 +2254,7 @@ ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::dump (void) const
this->beyond_late_head_,
this->beyond_late_tail_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("message_strategy_ : \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("message_strategy_ :\n")));
message_strategy_.dump ();
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
@@ -2255,7 +2280,7 @@ ACE_Dynamic_Message_Queue<ACE_SYNCH_USE>::enqueue_i (ACE_Message_Block *new_item
// Refresh priority status boundaries in the queue.
result = this->refresh_queue (current_time);
-
+
if (result < 0)
{
return result;
@@ -2928,6 +2953,7 @@ ACE_Message_Queue_Factory<ACE_SYNCH_USE>::create_laxity_message_queue (size_t hw
// <ACE_Dynamic_Message_Queue>.
#if defined (ACE_VXWORKS)
+ // factory method for a wrapped VxWorks message queue
template <ACE_SYNCH_DECL>
ACE_Message_Queue_Vx *
@@ -2942,7 +2968,7 @@ ACE_Message_Queue_Factory<ACE_SYNCH_USE>::create_Vx_message_queue (size_t max_me
0);
return tmp;
}
- // factory method for a wrapped VxWorks message queue
+#endif /* defined (ACE_VXWORKS) */
#if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
@@ -2953,13 +2979,12 @@ ACE_Message_Queue_Factory<ACE_SYNCH_USE>::create_NT_message_queue (size_t max_th
ACE_Message_Queue_NT *tmp = 0;
ACE_NEW_RETURN (tmp,
- ACE_Message_Queue_NT (max_threads);
+ ACE_Message_Queue_NT (max_threads),
0);
return tmp;
}
#endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
-#endif /* defined (ACE_VXWORKS) */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Message_Queue_Vx.h b/ace/Message_Queue_Vx.h
index 421ebce99ea..535e1e25557 100644
--- a/ace/Message_Queue_Vx.h
+++ b/ace/Message_Queue_Vx.h
@@ -58,11 +58,11 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* * <peek_dequeue_head>.
* * <ACE_Message_Queue_Iterators>.
* * The ability to change low and high water marks after creation.
- * * <Message_Block> chains. The continuation field of ACE_Message_Block
+ * * Message_Block chains. The continuation field of ACE_Message_Block
* * is ignored; only the first block of a fragment chain is
* * recognized.
*/
-class ACE_Message_Queue_Vx : public ACE_Message_Queue<ACE_NULL_SYNCH>
+class ACE_Export ACE_Message_Queue_Vx: public ACE_Message_Queue<ACE_NULL_SYNCH>
{
public:
// = Initialization and termination methods.
diff --git a/ace/Module.cpp b/ace/Module.cpp
index 78723cf674b..cded99621cf 100644
--- a/ace/Module.cpp
+++ b/ace/Module.cpp
@@ -83,14 +83,14 @@ ACE_Module<ACE_SYNCH_USE>::link (ACE_Module<ACE_SYNCH_USE> *m)
}
template <ACE_SYNCH_DECL> int
-ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *mod_name,
+ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *module_name,
ACE_Task<ACE_SYNCH_USE> *writer_q,
ACE_Task<ACE_SYNCH_USE> *reader_q,
void *arg,
int flags /* = M_DELETE */)
{
ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::open");
- this->name (mod_name);
+ this->name (module_name);
this->arg_ = arg;
// We may already have readers and/or writers.
@@ -178,7 +178,7 @@ ACE_Module<ACE_SYNCH_USE>::~ACE_Module (void)
}
template <ACE_SYNCH_DECL>
-ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ACE_TCHAR *mod_name,
+ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ACE_TCHAR *module_name,
ACE_Task<ACE_SYNCH_USE> *writer_q,
ACE_Task<ACE_SYNCH_USE> *reader_q,
void *args,
@@ -190,7 +190,7 @@ ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ACE_TCHAR *mod_name,
this->q_pair_[0] = 0;
this->q_pair_[1] = 0;
- if (this->open (mod_name, writer_q, reader_q, args, flags) == -1)
+ if (this->open (module_name, writer_q, reader_q, args, flags) == -1)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("%p\n"),
ACE_TEXT ("ACE_Module")));
diff --git a/ace/Module.h b/ace/Module.h
index a13d88d5f92..2c90ad64160 100644
--- a/ace/Module.h
+++ b/ace/Module.h
@@ -94,8 +94,8 @@ public:
int flags = M_DELETE);
/**
- * Initialize the module with <module_name> as its identity
- * and <reader> and <writer> as its tasks. Previously register
+ * Initialize the module with @a module_name as its identity
+ * and @a reader> and @a writer as its tasks. Previously register
* reader or writers or closed down and deleted according to the
* value of flags_. Should not be called from within
* <ACE_Task::module_closed>.
@@ -174,7 +174,7 @@ public:
private:
/// Implements the close operation for either the reader or the
- /// writer task (depending on <which>).
+ /// writer task (depending on @a which).
int close_i (int which, int flags);
/// Pair of Tasks that form the "read-side" and "write-side" of the
diff --git a/ace/Monitor_Admin.h b/ace/Monitor_Admin.h
index 576baeaeb3d..491637c2e3a 100644
--- a/ace/Monitor_Admin.h
+++ b/ace/Monitor_Admin.h
@@ -50,10 +50,10 @@ namespace ACE
*/
class Monitor_Point_Auto_Updater : public ACE_Event_Handler
{
- public:
- /// Override of ACE base class method.
- virtual int handle_timeout (const ACE_Time_Value& interval,
- const void* monitor_point);
+ public:
+ /// Override of ACE base class method.
+ virtual int handle_timeout (const ACE_Time_Value& interval,
+ const void* monitor_point);
};
/**
diff --git a/ace/Monitor_Control/Auto_Update_Starter.cpp b/ace/Monitor_Control/Auto_Update_Starter.cpp
index fade10068f7..98bbd87374c 100644
--- a/ace/Monitor_Control/Auto_Update_Starter.cpp
+++ b/ace/Monitor_Control/Auto_Update_Starter.cpp
@@ -33,4 +33,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Auto_Update_Starter.h b/ace/Monitor_Control/Auto_Update_Starter.h
index 8359298cb8c..8339a18f02a 100644
--- a/ace/Monitor_Control/Auto_Update_Starter.h
+++ b/ace/Monitor_Control/Auto_Update_Starter.h
@@ -44,8 +44,8 @@ namespace ACE
*/
class MONITOR_CONTROL_Export Auto_Update_Starter : public ACE_Task_Base
{
- public:
- int svc (void);
+ public:
+ int svc (void);
};
}
}
diff --git a/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp b/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
index 8f6b3564da0..b76bb07aea4 100644
--- a/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
+++ b/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
@@ -2,7 +2,7 @@
#include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
-#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#if defined (__NetBSD__) || defined (__OpenBSD__)
#include "ace/Log_Msg.h"
#include "ace/OS_NS_stdio.h"
@@ -80,16 +80,30 @@ namespace ACE
p = ifa->ifa_name;
+#if defined (__OpenBSD__)
+ struct ifreq ifdr;
+#else
struct ifdatareq ifdr;
+#endif
memset (&ifdr, 0, sizeof (ifdr));
- strncpy (ifdr.ifdr_name, ifa->ifa_name, sizeof (ifdr));
+#if defined (__OpenBSD__)
+ struct if_data if_data;
+ ifdr.ifr_data = reinterpret_cast<caddr_t> (&if_data);
+ strncpy (ifdr.ifr_name, ifa->ifa_name, IFNAMSIZ-1);
+#else
+ strncpy (ifdr.ifdr_name, ifa->ifa_name, sizeof (ifdr));
+#endif
if (ioctl (fd, SIOCGIFDATA, &ifdr) == -1)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("SIOCGIFDATA failed\n")));
}
+#if defined (__OpenBSD__)
+ struct if_data * const ifi = &if_data;
+#else
struct if_data * const ifi = &ifdr.ifdr_data;
+#endif
if (this->lookup_str_ == "ibytes")
{
@@ -119,4 +133,4 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
-#endif /* defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) */
+#endif /* defined (__NetBSD__) || defined (__OpenBSD__) */
diff --git a/ace/Monitor_Control/BSD_Network_Interface_Monitor.h b/ace/Monitor_Control/BSD_Network_Interface_Monitor.h
index 19a8e7c2fbc..d9c1944599b 100644
--- a/ace/Monitor_Control/BSD_Network_Interface_Monitor.h
+++ b/ace/Monitor_Control/BSD_Network_Interface_Monitor.h
@@ -23,7 +23,7 @@
#include "ace/Monitor_Control/Monitor_Control_export.h"
-#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#if defined (__NetBSD__) || defined (__OpenBSD__)
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -63,7 +63,7 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
-#endif /* defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) */
+#endif /* defined (__NetBSD__) || defined (__OpenBSD__) */
#include /**/ "ace/post.h"
diff --git a/ace/Monitor_Control/Bytes_Received_Monitor.cpp b/ace/Monitor_Control/Bytes_Received_Monitor.cpp
index dc951403f47..3838610b5a1 100644
--- a/ace/Monitor_Control/Bytes_Received_Monitor.cpp
+++ b/ace/Monitor_Control/Bytes_Received_Monitor.cpp
@@ -24,8 +24,10 @@ namespace ACE
/// Scan format for /proc/net/dev
#elif defined (ACE_HAS_KSTAT)
, Solaris_Network_Interface_Monitor (ACE_TEXT ("rbytes"))
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, BSD_Network_Interface_Monitor (ACE_TEXT ("ibytes"))
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , FreeBSD_Network_Interface_Monitor (ACE_TEXT ("ibytes"))
#endif
{}
@@ -56,4 +58,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Bytes_Received_Monitor.h b/ace/Monitor_Control/Bytes_Received_Monitor.h
index 88b54a5c604..720d608965e 100644
--- a/ace/Monitor_Control/Bytes_Received_Monitor.h
+++ b/ace/Monitor_Control/Bytes_Received_Monitor.h
@@ -29,7 +29,9 @@
#include "ace/Monitor_Control/Linux_Network_Interface_Monitor.h"
#elif defined (ACE_HAS_KSTAT)
#include "ace/Monitor_Control/Solaris_Network_Interface_Monitor.h"
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+#include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
#include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
#else
#include "ace/Monitor_Control/Null_Network_Interface_Monitor.h"
@@ -56,8 +58,10 @@ namespace ACE
, public Linux_Network_Interface_Monitor
#elif defined (ACE_HAS_KSTAT)
, public Solaris_Network_Interface_Monitor
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, public BSD_Network_Interface_Monitor
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , public FreeBSD_Network_Interface_Monitor
#else
, public Null_Network_Interface_Monitor
#endif
diff --git a/ace/Monitor_Control/Bytes_Sent_Monitor.cpp b/ace/Monitor_Control/Bytes_Sent_Monitor.cpp
index 14a1e83c240..4f2ecf47d31 100644
--- a/ace/Monitor_Control/Bytes_Sent_Monitor.cpp
+++ b/ace/Monitor_Control/Bytes_Sent_Monitor.cpp
@@ -24,7 +24,9 @@ namespace ACE
/// Scan format for /proc/net/dev
#elif defined (ACE_HAS_KSTAT)
, Solaris_Network_Interface_Monitor (ACE_TEXT ("obytes"))
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , FreeBSD_Network_Interface_Monitor (ACE_TEXT ("obytes"))
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, BSD_Network_Interface_Monitor (ACE_TEXT ("obytes"))
#endif
{}
@@ -56,5 +58,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
-
diff --git a/ace/Monitor_Control/Bytes_Sent_Monitor.h b/ace/Monitor_Control/Bytes_Sent_Monitor.h
index 7f894093742..2bcdf90ed06 100644
--- a/ace/Monitor_Control/Bytes_Sent_Monitor.h
+++ b/ace/Monitor_Control/Bytes_Sent_Monitor.h
@@ -29,7 +29,9 @@
#include "ace/Monitor_Control/Linux_Network_Interface_Monitor.h"
#elif defined (ACE_HAS_KSTAT)
#include "ace/Monitor_Control/Solaris_Network_Interface_Monitor.h"
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+#include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
#include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
#else
#include "ace/Monitor_Control/Null_Network_Interface_Monitor.h"
@@ -56,8 +58,10 @@ namespace ACE
, public Linux_Network_Interface_Monitor
#elif defined (ACE_HAS_KSTAT)
, public Solaris_Network_Interface_Monitor
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, public BSD_Network_Interface_Monitor
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , public FreeBSD_Network_Interface_Monitor
#else
, public Null_Network_Interface_Monitor
#endif
diff --git a/ace/Monitor_Control/CPU_Load_Monitor.cpp b/ace/Monitor_Control/CPU_Load_Monitor.cpp
index e685f33c658..afede0fc5fb 100644
--- a/ace/Monitor_Control/CPU_Load_Monitor.cpp
+++ b/ace/Monitor_Control/CPU_Load_Monitor.cpp
@@ -252,4 +252,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Constraint_Interpreter.cpp b/ace/Monitor_Control/Constraint_Interpreter.cpp
index 297088b493e..42a3b854a84 100644
--- a/ace/Monitor_Control/Constraint_Interpreter.cpp
+++ b/ace/Monitor_Control/Constraint_Interpreter.cpp
@@ -60,5 +60,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
-
diff --git a/ace/Monitor_Control/Constraint_Visitor.cpp b/ace/Monitor_Control/Constraint_Visitor.cpp
index 64b1b48eaed..eb0f4941f8b 100644
--- a/ace/Monitor_Control/Constraint_Visitor.cpp
+++ b/ace/Monitor_Control/Constraint_Visitor.cpp
@@ -302,5 +302,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
-
diff --git a/ace/Monitor_Control/Constraint_Visitor.h b/ace/Monitor_Control/Constraint_Visitor.h
index 8c7ff59d44d..94b686307e4 100644
--- a/ace/Monitor_Control/Constraint_Visitor.h
+++ b/ace/Monitor_Control/Constraint_Visitor.h
@@ -84,4 +84,3 @@ ACE_END_VERSIONED_NAMESPACE_DECL
#include /**/ "ace/post.h"
#endif // CONSTRAINT_VISITOR_H
-
diff --git a/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp b/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp
new file mode 100644
index 00000000000..3d6e4b2e177
--- /dev/null
+++ b/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.cpp
@@ -0,0 +1,124 @@
+// $Id$
+
+#include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
+
+#if defined (__FreeBSD__) || defined (__Lynx__)
+
+#include "ace/Log_Msg.h"
+#include "ace/OS_NS_stdio.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/sysctl.h>
+#include <sys/time.h>
+#include <net/if.h>
+#include <net/if_mib.h>
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace ACE
+{
+ namespace Monitor_Control
+ {
+ FreeBSD_Network_Interface_Monitor::FreeBSD_Network_Interface_Monitor (
+ const ACE_TCHAR *lookup_str)
+ : value_ (0UL),
+ start_ (0UL),
+ lookup_str_ (lookup_str)
+ {
+ this->init();
+ }
+
+ void
+ FreeBSD_Network_Interface_Monitor::update_i (void)
+ {
+ this->fetch(this->value_);
+ this->value_ -= this->start_;
+ }
+
+ void
+ FreeBSD_Network_Interface_Monitor::clear_impl (void)
+ {
+ this->init();
+ }
+
+ void
+ FreeBSD_Network_Interface_Monitor::init (void)
+ {
+ this->fetch(this->start_);
+ this->value_ = 0UL;
+ }
+
+ void
+ FreeBSD_Network_Interface_Monitor::fetch (ACE_UINT64& value) const
+ {
+ ACE_UINT64 count = 0;
+
+ int req_name[5];
+ int ifcount;
+ size_t ifcount_len = sizeof(ifcount);
+
+ req_name[0] = CTL_NET;
+ req_name[1] = PF_LINK;
+ req_name[2] = NETLINK_GENERIC;
+ req_name[3] = IFMIB_SYSTEM;
+ req_name[4] = IFMIB_IFCOUNT;
+
+ if (::sysctl(req_name, 5, &ifcount, &ifcount_len, (void *)0, 0) == -1)
+ {
+ ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) %p\n"),
+ ACE_TEXT("sysctl failed")));
+
+ return;
+ }
+
+ for (int i = 1; i <= ifcount; i++)
+ {
+ int name[6];
+ struct ifmibdata ifmd;
+ size_t len = sizeof(ifmd);
+
+ name[0] = CTL_NET;
+ name[1] = PF_LINK;
+ name[2] = NETLINK_GENERIC;
+ name[3] = IFMIB_IFDATA;
+ name[4] = i;
+ name[5] = IFDATA_GENERAL;
+
+ if(::sysctl(name, 6, &ifmd, &len, (void *)0, 0) == -1)
+ {
+ ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) %p\n"),
+ ACE_TEXT("sysctl failed")));
+
+ break;
+ }
+
+ struct if_data * const ifi = &ifmd.ifmd_data;
+
+ if(this->lookup_str_ == "ibytes")
+ {
+ count += ifi->ifi_ibytes;
+ }
+ else if(this->lookup_str_ == "ipackets")
+ {
+ count += ifi->ifi_ipackets;
+ }
+ else if(this->lookup_str_ == "obytes")
+ {
+ count += ifi->ifi_obytes;
+ }
+ else if(this->lookup_str_ == "opackets")
+ {
+ count += ifi->ifi_opackets;
+ }
+
+ } // for
+
+ value = count;
+ }
+ }
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* defined (__FreeBSD__) || defined (__Lynx__) */
diff --git a/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h b/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h
new file mode 100644
index 00000000000..b5f577de1d4
--- /dev/null
+++ b/ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FreeBSD_Network_Interface_Monitor.h
+ *
+ * $Id$
+ *
+ * @author Boyan Kasarov
+ */
+//=============================================================================
+
+#ifndef FREEBSD_NETWORK_INTERFACE_MONITOR_H
+#define FREEBSD_NETWORK_INTERFACE_MONITOR_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/SString.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Monitor_Control/Monitor_Control_export.h"
+
+#if defined (__FreeBSD__) || defined (__Lynx__)
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace ACE
+{
+ namespace Monitor_Control
+ {
+ /**
+ * @class FreeBSD_Network_Interface_Monitor
+ *
+ * @brief Mixin class for network interface monitors compiled on
+ * FreeBSD machines.
+ */
+ class MONITOR_CONTROL_Export FreeBSD_Network_Interface_Monitor
+ {
+ protected:
+ FreeBSD_Network_Interface_Monitor (const ACE_TCHAR *lookup_str);
+
+ /// Platform-specific implementation.
+ void update_i (void);
+
+ /// Platform-specific reset.
+ void clear_impl (void);
+
+ protected:
+ ACE_UINT64 value_;
+
+ private:
+ void init (void);
+ void fetch (ACE_UINT64& value) const;
+
+ ACE_UINT64 start_;
+ ACE_CString lookup_str_;
+ };
+ }
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* defined (__FreeBSD__) || defined (__Lynx__) */
+
+#include /**/ "ace/post.h"
+
+#endif // FREEBSD_NETWORK_INTERFACE_MONITOR_H
diff --git a/ace/Monitor_Control/Makefile.am b/ace/Monitor_Control/Makefile.am
index 378b9aa757f..213cfa8246a 100644
--- a/ace/Monitor_Control/Makefile.am
+++ b/ace/Monitor_Control/Makefile.am
@@ -33,6 +33,7 @@ libACE_Monitor_Control_la_SOURCES = \
CPU_Load_Monitor.cpp \
Constraint_Interpreter.cpp \
Constraint_Visitor.cpp \
+ FreeBSD_Network_Interface_Monitor.cpp \
Linux_Network_Interface_Monitor.cpp \
Memory_Usage_Monitor.cpp \
Monitor_Group.cpp \
@@ -61,6 +62,7 @@ nobase_include_HEADERS = \
CPU_Load_Monitor.h \
Constraint_Interpreter.h \
Constraint_Visitor.h \
+ FreeBSD_Network_Interface_Monitor.h \
Linux_Network_Interface_Monitor.h \
Memory_Usage_Monitor.h \
Monitor_Control.h \
diff --git a/ace/Monitor_Control/Memory_Usage_Monitor.cpp b/ace/Monitor_Control/Memory_Usage_Monitor.cpp
index fe4bd690625..1647430c90c 100644
--- a/ace/Monitor_Control/Memory_Usage_Monitor.cpp
+++ b/ace/Monitor_Control/Memory_Usage_Monitor.cpp
@@ -76,4 +76,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Monitor_Control.mpc b/ace/Monitor_Control/Monitor_Control.mpc
index 3efb0bae9a6..f203de08b41 100644
--- a/ace/Monitor_Control/Monitor_Control.mpc
+++ b/ace/Monitor_Control/Monitor_Control.mpc
@@ -14,6 +14,7 @@ project(Monitor_Control) : acelib, ace_etcl_parser, ace_output, install {
Constraint_Interpreter.cpp
Constraint_Visitor.cpp
CPU_Load_Monitor.cpp
+ FreeBSD_Network_Interface_Monitor.cpp
Linux_Network_Interface_Monitor.cpp
Memory_Usage_Monitor.cpp
Monitor_Group.cpp
@@ -33,7 +34,7 @@ project(Monitor_Control) : acelib, ace_etcl_parser, ace_output, install {
Monitor_Control_utils.h
}
- specific (vc6, vc7, vc71, vc8, vc9, vc10, nmake) {
+ specific (prop:microsoft) {
lit_libs += pdh
}
verbatim (gnuace, local) {
diff --git a/ace/Monitor_Control/Monitor_Group.cpp b/ace/Monitor_Control/Monitor_Group.cpp
index 9c064fe2c42..c5329a4d1dc 100644
--- a/ace/Monitor_Control/Monitor_Group.cpp
+++ b/ace/Monitor_Control/Monitor_Group.cpp
@@ -65,4 +65,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Monitor_Query.cpp b/ace/Monitor_Control/Monitor_Query.cpp
index f7c8c4f789e..997ffcbcd6a 100644
--- a/ace/Monitor_Control/Monitor_Query.cpp
+++ b/ace/Monitor_Control/Monitor_Query.cpp
@@ -80,5 +80,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
-
diff --git a/ace/Monitor_Control/Num_Threads_Monitor.cpp b/ace/Monitor_Control/Num_Threads_Monitor.cpp
index 3aaa02c318a..8aba3d75ccf 100644
--- a/ace/Monitor_Control/Num_Threads_Monitor.cpp
+++ b/ace/Monitor_Control/Num_Threads_Monitor.cpp
@@ -94,4 +94,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Packets_Received_Monitor.cpp b/ace/Monitor_Control/Packets_Received_Monitor.cpp
index 1b7e4eaff36..b8ba8fbc8b8 100644
--- a/ace/Monitor_Control/Packets_Received_Monitor.cpp
+++ b/ace/Monitor_Control/Packets_Received_Monitor.cpp
@@ -24,7 +24,9 @@ namespace ACE
/// Scan format for /proc/net/dev
#elif defined (ACE_HAS_KSTAT)
, Solaris_Network_Interface_Monitor (ACE_TEXT ("ipackets"))
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , FreeBSD_Network_Interface_Monitor (ACE_TEXT ("ipackets"))
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, BSD_Network_Interface_Monitor (ACE_TEXT ("ipackets"))
#endif
{}
@@ -56,4 +58,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Packets_Received_Monitor.h b/ace/Monitor_Control/Packets_Received_Monitor.h
index b4e7c4a2654..bda86565bff 100644
--- a/ace/Monitor_Control/Packets_Received_Monitor.h
+++ b/ace/Monitor_Control/Packets_Received_Monitor.h
@@ -29,7 +29,9 @@
#include "ace/Monitor_Control/Linux_Network_Interface_Monitor.h"
#elif defined (ACE_HAS_KSTAT)
#include "ace/Monitor_Control/Solaris_Network_Interface_Monitor.h"
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+#include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
#include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
#else
#include "ace/Monitor_Control/Null_Network_Interface_Monitor.h"
@@ -56,8 +58,10 @@ namespace ACE
, public Linux_Network_Interface_Monitor
#elif defined (ACE_HAS_KSTAT)
, public Solaris_Network_Interface_Monitor
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, public BSD_Network_Interface_Monitor
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , public FreeBSD_Network_Interface_Monitor
#else
, public Null_Network_Interface_Monitor
#endif
diff --git a/ace/Monitor_Control/Packets_Sent_Monitor.cpp b/ace/Monitor_Control/Packets_Sent_Monitor.cpp
index 6dc7f62f99e..13b3725af6d 100644
--- a/ace/Monitor_Control/Packets_Sent_Monitor.cpp
+++ b/ace/Monitor_Control/Packets_Sent_Monitor.cpp
@@ -24,8 +24,10 @@ namespace ACE
/// Scan format for /proc/net/dev
#elif defined (ACE_HAS_KSTAT)
, Solaris_Network_Interface_Monitor (ACE_TEXT ("opackets"))
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, BSD_Network_Interface_Monitor (ACE_TEXT ("opackets"))
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , FreeBSD_Network_Interface_Monitor (ACE_TEXT ("opackets"))
#endif
{}
@@ -56,4 +58,3 @@ namespace ACE
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_HAS_MONITOR_FRAMEWORK==1 */
-
diff --git a/ace/Monitor_Control/Packets_Sent_Monitor.h b/ace/Monitor_Control/Packets_Sent_Monitor.h
index 0db9549051f..7643e4df798 100644
--- a/ace/Monitor_Control/Packets_Sent_Monitor.h
+++ b/ace/Monitor_Control/Packets_Sent_Monitor.h
@@ -29,7 +29,9 @@
#include "ace/Monitor_Control/Linux_Network_Interface_Monitor.h"
#elif defined (ACE_HAS_KSTAT)
#include "ace/Monitor_Control/Solaris_Network_Interface_Monitor.h"
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+#include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
#include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
#else
#include "ace/Monitor_Control/Null_Network_Interface_Monitor.h"
@@ -56,8 +58,10 @@ namespace ACE
, public Linux_Network_Interface_Monitor
#elif defined (ACE_HAS_KSTAT)
, public Solaris_Network_Interface_Monitor
-#elif defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
+#elif defined (__NetBSD__) || defined (__OpenBSD__)
, public BSD_Network_Interface_Monitor
+#elif defined (__FreeBSD__) || defined (__Lynx__)
+ , public FreeBSD_Network_Interface_Monitor
#else
, public Null_Network_Interface_Monitor
#endif
diff --git a/ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp b/ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp
index 4aecbca7490..f674078b69a 100644
--- a/ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp
+++ b/ace/Monitor_Control/Windows_Multi_Instance_Monitor.cpp
@@ -56,7 +56,7 @@ namespace ACE
{
Windows_Monitor *instance = new Windows_Monitor (path);
this->instances_.enqueue_tail (instance);
- path += lstrlen (path) + 1;
+ path += ACE_OS::strlen (path) + 1;
}
GlobalFree (paths);
diff --git a/ace/Monitor_Control_Types.cpp b/ace/Monitor_Control_Types.cpp
index c91056c067a..a1bf3399c2b 100644
--- a/ace/Monitor_Control_Types.cpp
+++ b/ace/Monitor_Control_Types.cpp
@@ -53,17 +53,20 @@ namespace ACE
Monitor_Control_Types::Constraint&
Monitor_Control_Types::Constraint::operator= (const Constraint& rhs)
{
- if (this->control_action != 0)
- {
- this->control_action->remove_ref ();
- }
-
- this->expr = rhs.expr;
- this->control_action = rhs.control_action;
-
- if (this->control_action != 0)
+ if (this != &rhs)
{
- this->control_action->add_ref ();
+ if (this->control_action != 0)
+ {
+ this->control_action->remove_ref ();
+ }
+
+ this->expr = rhs.expr;
+ this->control_action = rhs.control_action;
+
+ if (this->control_action != 0)
+ {
+ this->control_action->add_ref ();
+ }
}
return *this;
diff --git a/ace/Multihomed_INET_Addr.h b/ace/Multihomed_INET_Addr.h
index 34b99d2c49e..2a46e1b6aaf 100644
--- a/ace/Multihomed_INET_Addr.h
+++ b/ace/Multihomed_INET_Addr.h
@@ -61,11 +61,11 @@ public:
* AF_INET6. To specify IPv4, use AF_INET.
*/
ACE_Multihomed_INET_Addr(u_short port_number,
- const char primary_host_name[],
- int encode = 1,
- int address_family = AF_UNSPEC,
- const char *(secondary_host_names[]) = 0,
- size_t size = 0);
+ const char primary_host_name[],
+ int encode = 1,
+ int address_family = AF_UNSPEC,
+ const char *(secondary_host_names[]) = 0,
+ size_t size = 0);
/**
* Constructs an ACE_Multihomed_INET_Addr from a @a port_number,
@@ -91,6 +91,7 @@ public:
int address_family = AF_UNSPEC,
const wchar_t *(secondary_host_names[]) = 0,
size_t size = 0);
+
int set (u_short port_number,
const wchar_t primary_host_name[],
int encode = 1,
diff --git a/ace/Mutex.cpp b/ace/Mutex.cpp
index 406c1b3ed1c..2595aaba65e 100644
--- a/ace/Mutex.cpp
+++ b/ace/Mutex.cpp
@@ -22,6 +22,7 @@ ACE_ALLOC_HOOK_DEFINE(ACE_Mutex)
void
ACE_Mutex::dump (void) const
{
+#if defined (ACE_HAS_DUMP)
// ACE_TRACE ("ACE_Mutex::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
@@ -31,6 +32,7 @@ ACE_Mutex::dump (void) const
#endif /* ACE_HAS_PTHREADS || ACE_HAS_STHREADS */
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+#endif /* ACE_HAS_DUMP */
}
ACE_Mutex::ACE_Mutex (int type, const ACE_TCHAR *name,
diff --git a/ace/Name_Request_Reply.h b/ace/Name_Request_Reply.h
index 3a927e9f9e3..a3b70309944 100644
--- a/ace/Name_Request_Reply.h
+++ b/ace/Name_Request_Reply.h
@@ -205,7 +205,7 @@ public:
/// Default constructor.
ACE_Name_Reply (void);
- /// Create a <ACE_Name_Reply> message.
+ /// Create a ACE_Name_Reply message.
ACE_Name_Reply (ACE_UINT32 type, ACE_UINT32 err); // Type of reply.
/// Initialize length_ in order to ensure correct byte ordering
diff --git a/ace/Name_Space.cpp b/ace/Name_Space.cpp
index 2f15a9e71d3..22cc5b3f2db 100644
--- a/ace/Name_Space.cpp
+++ b/ace/Name_Space.cpp
@@ -42,7 +42,7 @@ ACE_Name_Binding::ACE_Name_Binding (const ACE_Name_Binding &s)
ACE_TRACE ("ACE_Name_Binding::ACE_Name_Binding");
}
-void
+const ACE_Name_Binding&
ACE_Name_Binding::operator = (const ACE_Name_Binding &s)
{
ACE_TRACE ("ACE_Name_Binding::operator =");
@@ -54,6 +54,8 @@ ACE_Name_Binding::operator = (const ACE_Name_Binding &s)
this->value_ = s.value_;
this->type_ = ACE_OS::strdup (s.type_);
}
+
+ return *this;
}
bool
diff --git a/ace/Name_Space.h b/ace/Name_Space.h
index fff070d1e96..1848443d37c 100644
--- a/ace/Name_Space.h
+++ b/ace/Name_Space.h
@@ -49,7 +49,7 @@ public:
ACE_Name_Binding (const ACE_Name_Binding &);
/// Assignment operator.
- void operator= (const ACE_Name_Binding &);
+ const ACE_Name_Binding& operator= (const ACE_Name_Binding &);
/// Destructor.
~ACE_Name_Binding (void);
diff --git a/ace/Naming_Context.cpp b/ace/Naming_Context.cpp
index b50af0285f8..334f5e1b368 100644
--- a/ace/Naming_Context.cpp
+++ b/ace/Naming_Context.cpp
@@ -415,8 +415,8 @@ ACE_Naming_Context::fini (void)
}
ACE_Name_Options::ACE_Name_Options (void)
- : debugging_ (0),
- verbosity_ (0),
+ : debugging_ (false),
+ verbosity_ (false),
use_registry_ (false),
nameserver_port_ (ACE_DEFAULT_SERVER_PORT),
nameserver_host_ (ACE_OS::strdup (ACE_DEFAULT_SERVER_HOST)),
@@ -580,7 +580,7 @@ ACE_Name_Options::parse_args (int argc, ACE_TCHAR *argv[])
}
break;
case 'd':
- this->debugging_ = 1;
+ this->debugging_ = true;
break;
case 'r':
this->use_registry_ = true;
@@ -613,7 +613,7 @@ ACE_Name_Options::parse_args (int argc, ACE_TCHAR *argv[])
#endif /* ACE_HAS_TRACE */
break;
case 'v':
- this->verbosity_ = 1;
+ this->verbosity_ = true;
break;
default:
ACE_OS::fprintf (stderr, "%s\n"
@@ -624,8 +624,8 @@ ACE_Name_Options::parse_args (int argc, ACE_TCHAR *argv[])
"\t[-p nameserver port]\n"
"\t[-s database name]\n"
"\t[-b base address]\n"
- "\t[-v] (verbose) \n"
- "\t[-r] (use Win32 Registry) \n",
+ "\t[-v] (verbose)\n"
+ "\t[-r] (use Win32 Registry)\n",
argv[0]);
/* NOTREACHED */
break;
diff --git a/ace/Naming_Context.h b/ace/Naming_Context.h
index 6cd91e3e212..a4b1dde2b32 100644
--- a/ace/Naming_Context.h
+++ b/ace/Naming_Context.h
@@ -337,17 +337,17 @@ public:
void use_registry (bool x);
/// Return debug status
- int debug (void);
+ bool debug (void);
/// Return verbose status
- int verbose (void);
+ bool verbose (void);
private:
/// Extra debugging info
- int debugging_;
+ bool debugging_;
/// Extra verbose messages
- int verbosity_;
+ bool verbosity_;
/// Use Win32 Registry
bool use_registry_;
diff --git a/ace/Naming_Context.inl b/ace/Naming_Context.inl
index 4c90343c1ee..88fedf0c3f2 100644
--- a/ace/Naming_Context.inl
+++ b/ace/Naming_Context.inl
@@ -14,7 +14,7 @@ ACE_Name_Options::use_registry (bool x)
this->use_registry_ = x;
}
-ACE_INLINE int
+ACE_INLINE bool
ACE_Name_Options::verbose (void)
{
ACE_TRACE ("ACE_Name_Options::verbose");
@@ -35,7 +35,7 @@ ACE_Name_Options::namespace_dir (void)
return this->namespace_dir_;
}
-ACE_INLINE int
+ACE_INLINE bool
ACE_Name_Options::debug (void)
{
ACE_TRACE ("ACE_Name_Options::debug");
diff --git a/ace/Notification_Queue.cpp b/ace/Notification_Queue.cpp
index a63477084dd..fde56ad3f0a 100644
--- a/ace/Notification_Queue.cpp
+++ b/ace/Notification_Queue.cpp
@@ -208,8 +208,7 @@ ACE_Notification_Queue::pop_next_notification(
return 0;
}
- ACE_Notification_Queue_Node * node =
- notify_queue_.pop_front();
+ ACE_Notification_Queue_Node * node = notify_queue_.pop_front();
current = node->get();
free_queue_.push_front(node);
diff --git a/ace/Null_Mutex.h b/ace/Null_Mutex.h
index 8d68c709d5a..3fcb08629d0 100644
--- a/ace/Null_Mutex.h
+++ b/ace/Null_Mutex.h
@@ -124,8 +124,6 @@ template <class ACE_LOCK>
class ACE_Guard;
/**
- * @class ACE_Guard<ACE_Null_Mutex>
- *
* @brief Template specialization of ACE_Guard for the
* ACE_Null_Mutex.
*
@@ -164,8 +162,8 @@ template <class ACE_LOCK>
class ACE_Write_Guard;
/**
- * @class ACE_Write_Guard<ACE_Null_Mutex>
- *
+ * @brief Template specialization of ACE_Write_Guard for the
+ * ACE_Null_Mutex.
*/
template<>
class ACE_Export ACE_Write_Guard<ACE_Null_Mutex>
@@ -188,8 +186,8 @@ template <class ACE_LOCK>
class ACE_Read_Guard;
/**
- * @class ACE_Read_Guard<ACE_Null_Mutex>
- *
+ * @brief Template specialization of ACE_Read)Guard for the
+ * ACE_Null_Mutex.
*/
template<>
class ACE_Export ACE_Read_Guard<ACE_Null_Mutex>
@@ -211,8 +209,8 @@ public:
template <class T> class ACE_Malloc_Lock_Adapter_T;
/**
- * @class ACE_Malloc_Lock_Adapter_T<ACE_Null_Mutex>
- *
+ * @brief Template specialization of ACE_Malloc_Lock_Adapter_T for the
+ * ACE_Null_Mutex.
*/
template<>
class ACE_Export ACE_Malloc_Lock_Adapter_T<ACE_Null_Mutex>
diff --git a/ace/Numeric_Limits.h b/ace/Numeric_Limits.h
index d50abb19f98..506b5a62ea6 100644
--- a/ace/Numeric_Limits.h
+++ b/ace/Numeric_Limits.h
@@ -37,7 +37,7 @@
# include "ace/Basic_Types.h"
#else
-# ifdef __MINGW32__
+# if defined __MINGW32__
// Windows defines min/max macros that interfere with the
// numeric_limits::min/max() traits. Undefine those macros before
// including <limits>.
diff --git a/ace/OS.inl b/ace/OS.inl
index 60928def53e..357498bb1ec 100644
--- a/ace/OS.inl
+++ b/ace/OS.inl
@@ -41,18 +41,6 @@ using std::strftime;
#if !defined (ACE_WIN32)
-// Matthew Stevens 7-10-95 Fix GNU GCC 2.7 for memchr() problem.
-# if defined (ACE_HAS_GNU_CSTRING_H)
-// Define this file to keep /usr/include/memory.h from being included.
-# include /**/ <cstring>
-# else
-# if defined (ACE_LACKS_MEMORY_H)
-# include "ace/os_include/os_string.h"
-# else
-# include /**/ <memory.h>
-# endif /* ACE_LACKS_MEMORY_H */
-# endif /* ACE_HAS_GNU_CSTRING_H */
-
// The following are #defines and #includes that must be visible for
// ACE to compile it's OS wrapper class implementation correctly. We
// put them inside of here to reduce compiler overhead if we're not
@@ -90,4 +78,3 @@ using std::strftime;
#endif
// ****************************************************************
-
diff --git a/ace/OS_Log_Msg_Attributes.inl b/ace/OS_Log_Msg_Attributes.inl
index 29725ef4d7c..e44d1b08a27 100644
--- a/ace/OS_Log_Msg_Attributes.inl
+++ b/ace/OS_Log_Msg_Attributes.inl
@@ -5,7 +5,17 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE
-ACE_OS_Log_Msg_Attributes::ACE_OS_Log_Msg_Attributes (void)
+ACE_OS_Log_Msg_Attributes::ACE_OS_Log_Msg_Attributes (void) :
+ ostream_ (0),
+ ostream_refcount_ (0),
+ priority_mask_ (0),
+ tracing_enabled_ (0),
+ restart_ (true),
+ trace_depth_ (0)
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ , seh_except_selector_ (0),
+ seh_except_handler_ (0)
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
{
}
diff --git a/ace/OS_Memory.h b/ace/OS_Memory.h
index 365c1d2446f..4c2951b48e1 100644
--- a/ace/OS_Memory.h
+++ b/ace/OS_Memory.h
@@ -238,7 +238,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL
# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC == 1)
# define ACE_throw_bad_alloc AfxThrowMemoryException ()
# else
-# define ACE_throw_bad_alloc throw ACE_bad_alloc ()
+# define ACE_throw_bad_alloc return 0
# endif
#endif /* ACE_NEW_THROWS_EXCEPTIONS */
@@ -266,7 +266,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
*
* ~(alignment - 1) = 1...110...0 = T2
*
- * Notice that there is a multiple of <alignment> in the range
+ * Notice that there is a multiple of @a alignment in the range
* [<value>,<value> + T1], also notice that if
*
* X = ( <value> + T1 ) & T2
@@ -276,7 +276,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* <value> <= X <= <value> + T1
*
* because the & operator only changes the last bits, and since X is a
- * multiple of <alignment> (its last bits are zero) we have found the
+ * multiple of @a alignment (its last bits are zero) we have found the
* multiple we wanted.
*/
/// Return the next integer aligned to a required boundary
diff --git a/ace/OS_NS_Thread.cpp b/ace/OS_NS_Thread.cpp
index e2ce61c53ee..51d95af4e7c 100644
--- a/ace/OS_NS_Thread.cpp
+++ b/ace/OS_NS_Thread.cpp
@@ -33,9 +33,9 @@ ACE_MUTEX_LOCK_CLEANUP_ADAPTER_NAME (void *args)
#if !defined(ACE_WIN32) && defined (__IBMCPP__) && (__IBMCPP__ >= 400)
# define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
(*THR_ID = ::_beginthreadex ((void(_Optlink*)(void*))ENTRY_POINT, STACK, STACKSIZE, ARGS), *THR_ID)
-#elif defined (ACE_HAS_WINCE) && defined (UNDER_CE) && (UNDER_CE >= 211)
+#elif defined (ACE_HAS_WINCE)
# define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
- CreateThread (0, STACKSIZE, (unsigned long (__stdcall *) (void *)) ENTRY_POINT, ARGS, (FLAGS) & CREATE_SUSPENDED, (unsigned long *) THR_ID)
+ CreateThread (0, STACKSIZE, (unsigned long (__stdcall *) (void *)) ENTRY_POINT, ARGS, (FLAGS) & (CREATE_SUSPENDED | STACK_SIZE_PARAM_IS_A_RESERVATION), (unsigned long *) THR_ID)
#elif defined(ACE_HAS_WTHREADS)
// Green Hills compiler gets confused when __stdcall is imbedded in
// parameter list, so we define the type ACE_WIN32THRFUNC_T and use it
@@ -117,17 +117,15 @@ ACE_OS_thread_key_t ACE_TSS_Emulation::native_tss_key_;
# if defined (ACE_HAS_THR_C_FUNC)
extern "C"
void
-ACE_TSS_Emulation_cleanup (void *ptr)
+ACE_TSS_Emulation_cleanup (void *)
{
- ACE_UNUSED_ARG (ptr);
// Really this must be used for ACE_TSS_Emulation code to make the TSS
// cleanup
}
# else
void
-ACE_TSS_Emulation_cleanup (void *ptr)
+ACE_TSS_Emulation_cleanup (void *)
{
- ACE_UNUSED_ARG (ptr);
// Really this must be used for ACE_TSS_Emulation code to make the TSS
// cleanup
}
@@ -1142,25 +1140,6 @@ ACE_OS::cleanup_tss (const u_int main_thread)
/*****************************************************************************/
#if defined (ACE_LACKS_COND_T)
-// NOTE: The ACE_OS::cond_* functions for some non-Unix platforms are
-// defined here either because they're too big to be inlined, or
-// to avoid use before definition if they were inline.
-
-// @@ The following functions could be inlined if i could figure where
-// to put it among the #ifdefs!
-int
-ACE_OS::condattr_init (ACE_condattr_t &attributes, int type)
-{
- attributes.type = type;
- return 0;
-}
-
-int
-ACE_OS::condattr_destroy (ACE_condattr_t &)
-{
- return 0;
-}
-
int
ACE_OS::cond_broadcast (ACE_cond_t *cv)
{
@@ -1171,7 +1150,7 @@ ACE_OS::cond_broadcast (ACE_cond_t *cv)
// This is needed to ensure that <waiters_> and <was_broadcast_> are
// consistent relative to each other.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- int have_waiters = 0;
+ bool have_waiters = false;
if (cv->waiters_ > 0)
{
@@ -1180,7 +1159,7 @@ ACE_OS::cond_broadcast (ACE_cond_t *cv)
// cond_wait() method know how to optimize itself. Be sure to
// set this with the <waiters_lock_> held.
cv->was_broadcast_ = 1;
- have_waiters = 1;
+ have_waiters = true;
}
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
int result = 0;
@@ -1318,10 +1297,10 @@ ACE_OS::cond_signal (ACE_cond_t *cv)
// value is not in an inconsistent internal state while being
// updated by another thread.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- int have_waiters = cv->waiters_ > 0;
+ bool const have_waiters = cv->waiters_ > 0;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
- if (have_waiters != 0)
+ if (have_waiters)
return ACE_OS::sema_post (&cv->sema_);
else
return 0; // No-op
@@ -1372,7 +1351,7 @@ ACE_OS::cond_wait (ACE_cond_t *cv,
// We're ready to return, so there's one less waiter.
--cv->waiters_;
- int last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
+ bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
// Release the lock so that other collaborating threads can make
// progress.
@@ -1439,16 +1418,14 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
// Prevent race conditions on the <waiters_> count.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- cv->waiters_++;
+ ++cv->waiters_;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
int result = 0;
ACE_Errno_Guard error (errno, 0);
- int msec_timeout;
+ int msec_timeout = 0;
- if (*timeout == ACE_Time_Value::zero)
- msec_timeout = 0; // Do a "poll."
- else
+ if (timeout != 0 && *timeout != ACE_Time_Value::zero)
{
// Note that we must convert between absolute time (which is
// passed as a parameter) and relative time (which is what
@@ -1457,9 +1434,7 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
// 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
+ if (relative_time > ACE_Time_Value::zero)
msec_timeout = relative_time.msec ();
}
@@ -1502,9 +1477,9 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
// Reacquire lock to avoid race conditions.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- cv->waiters_--;
+ --cv->waiters_;
- int last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
+ bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
@@ -1587,8 +1562,22 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_THREADS */
}
+#else
+int
+ACE_OS::cond_init (ACE_cond_t *cv, short type, const char *name, void *arg)
+{
+ ACE_condattr_t attributes;
+ if (ACE_OS::condattr_init (attributes, type) == 0
+ && ACE_OS::cond_init (cv, attributes, name, arg) == 0)
+ {
+ (void) ACE_OS::condattr_destroy (attributes);
+ return 0;
+ }
+ return -1;
+}
+#endif /* ACE_LACKS_COND_T */
-# if defined (ACE_HAS_WTHREADS)
+#if defined (ACE_WIN32) && defined (ACE_HAS_WTHREADS)
int
ACE_OS::cond_timedwait (ACE_cond_t *cv,
ACE_thread_mutex_t *external_mutex,
@@ -1600,18 +1589,31 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
if (timeout == 0)
return ACE_OS::cond_wait (cv, external_mutex);
+# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
+ int msec_timeout = 0;
+ int result = 0;
+
+ ACE_Time_Value relative_time (*timeout - ACE_OS::gettimeofday ());
+ // Watchout for situations where a context switch has caused the
+ // current time to be > the timeout.
+ if (relative_time > ACE_Time_Value::zero)
+ msec_timeout = relative_time.msec ();
+
+ ACE_OSCALL (ACE_ADAPT_RETVAL (::SleepConditionVariableCS (cv, external_mutex, msec_timeout),
+ result),
+ int, -1, result);
+ return result;
+#else
// Prevent race conditions on the <waiters_> count.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- cv->waiters_++;
+ ++cv->waiters_;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
int result = 0;
int error = 0;
- int msec_timeout;
+ int msec_timeout = 0;
- if (*timeout == ACE_Time_Value::zero)
- msec_timeout = 0; // Do a "poll."
- else
+ if (timeout != 0 && *timeout != ACE_Time_Value::zero)
{
// Note that we must convert between absolute time (which is
// passed as a parameter) and relative time (which is what
@@ -1620,9 +1622,7 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
// 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
+ if (relative_time > ACE_Time_Value::zero)
msec_timeout = relative_time.msec ();
}
@@ -1648,9 +1648,9 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
// Reacquire lock to avoid race conditions.
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- cv->waiters_--;
+ --cv->waiters_;
- int last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
+ bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
@@ -1677,6 +1677,7 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
ACE_OS::thread_mutex_lock (external_mutex);
errno = error;
return result;
+# endif
# else
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_THREADS */
@@ -1688,8 +1689,13 @@ ACE_OS::cond_wait (ACE_cond_t *cv,
{
ACE_OS_TRACE ("ACE_OS::cond_wait");
# if defined (ACE_HAS_THREADS)
+# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
+ int result;
+ ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::SleepConditionVariableCS (cv, external_mutex, INFINITE), result),
+ int, -1);
+#else
ACE_OS::thread_mutex_lock (&cv->waiters_lock_);
- cv->waiters_++;
+ ++cv->waiters_;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
int result = 0;
@@ -1720,7 +1726,7 @@ ACE_OS::cond_wait (ACE_cond_t *cv,
cv->waiters_--;
- int last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
+ bool const last_waiter = cv->was_broadcast_ && cv->waiters_ == 0;
ACE_OS::thread_mutex_unlock (&cv->waiters_lock_);
@@ -1747,25 +1753,12 @@ ACE_OS::cond_wait (ACE_cond_t *cv,
// Reset errno in case mutex_lock() also fails...
errno = error;
return result;
+#endif
# else
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_THREADS */
}
# endif /* ACE_HAS_WTHREADS */
-#else
-int
-ACE_OS::cond_init (ACE_cond_t *cv, short type, const char *name, void *arg)
-{
- ACE_condattr_t attributes;
- if (ACE_OS::condattr_init (attributes, type) == 0
- && ACE_OS::cond_init (cv, attributes, name, arg) == 0)
- {
- (void) ACE_OS::condattr_destroy (attributes);
- return 0;
- }
- return -1;
-}
-#endif /* ACE_LACKS_COND_T */
/*****************************************************************************/
// CONDITIONS END
@@ -1789,7 +1782,7 @@ ACE_OS::mutex_init (ACE_mutex_t *m,
ACE_UNUSED_ARG (name);
ACE_UNUSED_ARG (sa);
-# if defined (ACE_VXWORKS) && (ACE_VXWORKS >= 0x600) && (ACE_VXWORKS <= 0x620)
+# if defined (ACE_PTHREAD_MUTEXATTR_T_INITIALIZE)
/* Tests show that VxWorks 6.x pthread lib does not only
* require zeroing of mutex/condition objects to function correctly
* but also of the attribute objects.
@@ -1839,7 +1832,7 @@ ACE_OS::mutex_init (ACE_mutex_t *m,
if (result == 0)
{
-# if defined (ACE_VXWORKS)&& (ACE_VXWORKS >= 0x600) && (ACE_VXWORKS <= 0x620)
+# if defined (ACE_PTHREAD_MUTEX_T_INITIALIZE)
/* VxWorks 6.x API reference states:
* If the memory for the mutex variable object has been allocated
* dynamically, it is a good policy to always zero out the
@@ -1897,7 +1890,7 @@ ACE_OS::mutex_init (ACE_mutex_t *m,
ACE_FAIL_RETURN (-1);
else
{
- // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
+ // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
ACE_OS::set_errno_to_last_error ();
return 0;
}
@@ -1990,7 +1983,11 @@ ACE_OS::mutex_init (ACE_mutex_t *m,
if (m->proc_mutex_ == 0)
ACE_FAIL_RETURN (-1);
else
- return 0;
+ {
+ // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
+ ACE_OS::set_errno_to_last_error ();
+ return 0;
+ }
case USYNC_THREAD:
return ACE_OS::thread_mutex_init (&m->thr_mutex_,
lock_type,
@@ -2503,7 +2500,11 @@ ACE_OS::event_init (ACE_event_t *event,
if (*event == 0)
ACE_FAIL_RETURN (-1);
else
- return 0;
+ {
+ // Make sure to set errno to ERROR_ALREADY_EXISTS if necessary.
+ ACE_OS::set_errno_to_last_error ();
+ return 0;
+ }
#elif defined (ACE_HAS_THREADS)
ACE_UNUSED_ARG (sa);
event->eventdata_ = 0;
@@ -2979,7 +2980,7 @@ ACE_OS::event_timedwait (ACE_event_t *event,
// WaitForSingleObjects() expects).
// <timeout> parameter is given in absolute or relative value
// depending on parameter <use_absolute_time>.
- int msec_timeout;
+ int msec_timeout = 0;
if (use_absolute_time)
{
// Time is given in absolute time, we should use
@@ -2989,9 +2990,7 @@ ACE_OS::event_timedwait (ACE_event_t *event,
// Watchout for situations where a context switch has caused
// the current time to be > the timeout. Thanks to Norbert
// Rapp <NRapp@nexus-informatics.de> for pointing this.
- if (relative_time < ACE_Time_Value::zero)
- msec_timeout = 0;
- else
+ if (relative_time > ACE_Time_Value::zero)
msec_timeout = relative_time.msec ();
}
else
@@ -3422,7 +3421,7 @@ ACE_OS::rwlock_init (ACE_rwlock_t *rw,
rw->ref_count_ = 0;
rw->num_waiting_writers_ = 0;
rw->num_waiting_readers_ = 0;
- rw->important_writer_ = 0;
+ rw->important_writer_ = false;
result = 0;
}
ACE_OS::condattr_destroy (attributes);
@@ -3826,7 +3825,7 @@ ACE_OS::thr_create (ACE_THR_FUNC func,
# if defined (ACE_HAS_PTHREADS)
int result;
-# if defined (ACE_VXWORKS) && (ACE_VXWORKS >= 0x600) && (ACE_VXWORKS <= 0x620)
+# if defined (ACE_PTHREAD_ATTR_T_INITIALIZE)
/* Tests show that VxWorks 6.x pthread lib does not only
* require zeroing of mutex/condition objects to function correctly
* but also of the attribute objects.
@@ -4629,6 +4628,14 @@ ACE_OS::thr_get_affinity (ACE_hthread_t thr_id,
return -1;
}
return 0;
+#elif defined (ACE_HAS_TASKCPUAFFINITYSET)
+ ACE_UNUSED_ARG (cpu_set_size);
+ int result = 0;
+ if (ACE_ADAPT_RETVAL (::taskCpuAffinitySet (thr_id, *cpu_mask), result) == -1)
+ {
+ return -1;
+ }
+ return 0;
#else
ACE_UNUSED_ARG (thr_id);
ACE_UNUSED_ARG (cpu_set_size);
@@ -4671,6 +4678,13 @@ ACE_OS::thr_set_affinity (ACE_hthread_t thr_id,
return -1;
}
return 0;
+#elif defined (ACE_HAS_TASKCPUAFFINITYSET)
+ int result = 0;
+ if (ACE_ADAPT_RETVAL (::taskCpuAffinitySet (thr_id, *cpu_mask), result) == -1)
+ {
+ return -1;
+ }
+ return 0;
#else
ACE_UNUSED_ARG (thr_id);
ACE_UNUSED_ARG (cpu_set_size);
@@ -5126,59 +5140,62 @@ add_to_argv (int& argc, char** argv, int max_args, char* string)
size_t previous = 0;
size_t length = ACE_OS::strlen (string);
- // We use <= to make sure that we get the last argument
- for (size_t i = 0; i <= length; i++)
+ if (length > 0)
{
- // Is it a double quote that hasn't been escaped?
- if (string[i] == '\"' && (i == 0 || string[i - 1] != '\\'))
+ // We use <= to make sure that we get the last argument
+ for (size_t i = 0; i <= length; i++)
{
- indouble ^= 1;
- if (indouble)
+ // Is it a double quote that hasn't been escaped?
+ if (string[i] == '\"' && (i == 0 || string[i - 1] != '\\'))
{
- // We have just entered a double quoted string, so
- // save the starting position of the contents.
- previous = i + 1;
- }
- else
- {
- // We have just left a double quoted string, so
- // zero out the ending double quote.
- string[i] = '\0';
+ indouble ^= 1;
+ if (indouble)
+ {
+ // We have just entered a double quoted string, so
+ // save the starting position of the contents.
+ previous = i + 1;
+ }
+ else
+ {
+ // We have just left a double quoted string, so
+ // zero out the ending double quote.
+ string[i] = '\0';
+ }
}
- }
- else if (string[i] == '\\') // Escape the next character
- {
- // The next character is automatically
- // skipped because of the strcpy
- ACE_OS::strcpy (string + i, string + i + 1);
- length--;
- }
- else if (!indouble &&
- (ACE_OS::ace_isspace (string[i]) || string[i] == '\0'))
- {
- string[i] = '\0';
- if (argc < max_args)
+ else if (string[i] == '\\') // Escape the next character
{
- argv[argc] = string + previous;
- argc++;
+ // The next character is automatically skipped because
+ // of the memmove().
+ ACE_OS::memmove (string + i, string + i + 1, length);
+ --length;
}
- else
+ else if (!indouble &&
+ (ACE_OS::ace_isspace (string[i]) || string[i] == '\0'))
{
- ACE_OS::fprintf (stderr, "spae(): number of arguments "
- "limited to %d\n", max_args);
- }
+ string[i] = '\0';
+ if (argc < max_args)
+ {
+ argv[argc] = string + previous;
+ ++argc;
+ }
+ else
+ {
+ ACE_OS::fprintf (stderr, "spae(): number of arguments "
+ "limited to %d\n", max_args);
+ }
- // Skip over whitespace in between arguments
- for(++i; i < length && ACE_OS::ace_isspace (string[i]); ++i)
- {
- }
+ // Skip over whitespace in between arguments
+ for(++i; i < length && ACE_OS::ace_isspace (string[i]); ++i)
+ {
+ }
- // Save the starting point for the next time around
- previous = i;
+ // Save the starting point for the next time around
+ previous = i;
- // Make sure we don't skip over a character due
- // to the above loop to skip over whitespace
- i--;
+ // Make sure we don't skip over a character due
+ // to the above loop to skip over whitespace
+ --i;
+ }
}
}
}
@@ -5304,9 +5321,10 @@ vx_execae (FUNCPTR entry, char* arg, int prio, int opt, int stacksz, ...)
int argc = 1;
// Peel off arguments to run_main () and put into argv.
-
if (arg)
- add_to_argv(argc, argv, ACE_MAX_ARGS, arg);
+ {
+ add_to_argv(argc, argv, ACE_MAX_ARGS, arg);
+ }
// fill unused argv slots with 0 to get rid of leftovers
// from previous invocations
@@ -5335,4 +5353,18 @@ vx_execae (FUNCPTR entry, char* arg, int prio, int opt, int stacksz, ...)
// successful
return ret > 0 ? _vx_call_rc : 255;
}
+
+#ifdef ACE_AS_STATIC_LIBS
+/** Wind River workbench allows the user to spawn a kernel task as a
+ "Debug Configuration". Use this function as the entrypoint so that
+ the arguments are translated into the form that ace_main() requires.
+ */
+int ace_wb_exec (int arg0, int arg1, int arg2, int arg3, int arg4,
+ int arg5, int arg6, int arg7, int arg8, int arg9)
+{
+ return spaef ((FUNCPTR) ace_main, arg0, arg1, arg2, arg3, arg4,
+ arg5, arg6, arg7, arg8, arg9);
+}
+#endif /* ACE_AS_STATIC_LIBS */
+
#endif /* ACE_VXWORKS && !__RTP__ */
diff --git a/ace/OS_NS_Thread.h b/ace/OS_NS_Thread.h
index a188aecb24b..70d8d730b34 100644
--- a/ace/OS_NS_Thread.h
+++ b/ace/OS_NS_Thread.h
@@ -304,6 +304,9 @@ ACE_END_VERSIONED_NAMESPACE_DECL
# define THR_DAEMON 0 /* ignore in most places */
# define THR_JOINABLE 0 /* ignore in most places */
# define THR_SUSPENDED CREATE_SUSPENDED
+# if !defined (STACK_SIZE_PARAM_IS_A_RESERVATION)
+# define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
+# endif /* STACK_SIZE_PARAM_IS_A_RESERVATION */
# define THR_USE_AFX 0x01000000
# define THR_SCHED_FIFO 0
# define THR_SCHED_RR 0
@@ -314,7 +317,11 @@ ACE_END_VERSIONED_NAMESPACE_DECL
# define THR_SCOPE_SYSTEM 0
# endif /* ACE_HAS_PTHREADS / STHREADS / VXWORKS / WTHREADS **********/
-# if defined (ACE_LACKS_COND_T)
+# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
+
+typedef CONDITION_VARIABLE ACE_cond_t;
+
+# elif defined (ACE_LACKS_COND_T)
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -366,6 +373,14 @@ public:
size_t was_broadcast_;
};
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+# endif /* ACE_LACKS_COND_T */
+
+# if defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE) || defined (ACE_LACKS_COND_T)
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
struct ACE_Export ACE_condattr_t
{
int type;
@@ -378,7 +393,7 @@ struct ACE_Export ACE_mutexattr_t
ACE_END_VERSIONED_NAMESPACE_DECL
-# endif /* ACE_LACKS_COND_T */
+# endif /* ACE_HAS_WTHREADS_CONDITION_VARIABLE || ACE_LACKS_COND_T */
# if defined (ACE_LACKS_RWLOCK_T) && !defined (ACE_HAS_PTHREADS_UNIX98_EXT)
@@ -418,7 +433,7 @@ public:
int ref_count_;
/// Indicate that a reader is trying to upgrade
- int important_writer_;
+ bool important_writer_;
/// Condition for the upgrading reader
ACE_cond_t waiting_important_writer_;
@@ -1072,19 +1087,11 @@ namespace ACE_OS {
void cleanup_tss (const u_int main_thread);
//@{ @name A set of wrappers for condition variables.
-#if defined (ACE_LACKS_COND_T)
- extern ACE_Export
-#else
ACE_NAMESPACE_INLINE_FUNCTION
-#endif /* ACE_LACKS_COND_T */
int condattr_init (ACE_condattr_t &attributes,
int type = ACE_DEFAULT_SYNCH_TYPE);
-#if defined (ACE_LACKS_COND_T)
- extern ACE_Export
-#else
ACE_NAMESPACE_INLINE_FUNCTION
-#endif /* ACE_LACKS_COND_T */
int condattr_destroy (ACE_condattr_t &attributes);
#if defined (ACE_LACKS_COND_T)
@@ -1153,7 +1160,7 @@ namespace ACE_OS {
#endif /* ACE_LACKS_COND_T */
int cond_timedwait (ACE_cond_t *cv,
ACE_mutex_t *m,
- ACE_Time_Value *);
+ ACE_Time_Value *timeout);
#if defined (ACE_LACKS_COND_T)
extern ACE_Export
@@ -1164,20 +1171,12 @@ namespace ACE_OS {
ACE_mutex_t *m);
# if defined (ACE_WIN32) && defined (ACE_HAS_WTHREADS)
-# if defined (ACE_LACKS_COND_T)
extern ACE_Export
-# else
- ACE_NAMESPACE_INLINE_FUNCTION
-# endif /* ACE_LACKS_COND_T */
int cond_timedwait (ACE_cond_t *cv,
ACE_thread_mutex_t *m,
- ACE_Time_Value *);
+ ACE_Time_Value *timeout);
-# if defined (ACE_LACKS_COND_T)
extern ACE_Export
-# else
- ACE_NAMESPACE_INLINE_FUNCTION
-# endif /* ACE_LACKS_COND_T */
int cond_wait (ACE_cond_t *cv,
ACE_thread_mutex_t *m);
# endif /* ACE_WIN32 && ACE_HAS_WTHREADS */
@@ -1318,7 +1317,7 @@ namespace ACE_OS {
//@}
- /// Low-level interface to <priocntl>(2).
+ /// Low-level interface to @c priocntl(2).
/**
* Can't call the following priocntl, because that's a macro on
* Solaris.
@@ -1475,7 +1474,7 @@ namespace ACE_OS {
size_t nsops);
//@}
- /// Friendly interface to <priocntl>(2).
+ /// Friendly interface to @c priocntl(2).
extern ACE_Export
int set_scheduling_params (const ACE_Sched_Params &,
ACE_id_t id = ACE_SELF);
diff --git a/ace/OS_NS_Thread.inl b/ace/OS_NS_Thread.inl
index fca22852c23..5f584cdfe15 100644
--- a/ace/OS_NS_Thread.inl
+++ b/ace/OS_NS_Thread.inl
@@ -121,24 +121,15 @@ ACE_OS::thr_equal (ACE_thread_t t1, ACE_thread_t t2)
#endif /* ACE_HAS_PTHREADS */
}
-#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.cpp.
-
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);
-
-# elif defined (ACE_HAS_STHREADS)
+# else
attributes.type = 0;
-
-# endif /* ACE_HAS_PTHREADS vs. ACE_HAS_STHREADS */
+# endif /* ACE_HAS_PTHREADS */
return 0;
# else
ACE_UNUSED_ARG (attributes);
@@ -147,15 +138,14 @@ ACE_OS::condattr_destroy (ACE_condattr_t &attributes)
}
ACE_INLINE int
-ACE_OS::condattr_init (ACE_condattr_t &attributes,
- int type)
+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_VXWORKS) && (ACE_VXWORKS >= 0x600) && (ACE_VXWORKS <= 0x620)
+# 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.
@@ -174,17 +164,10 @@ ACE_OS::condattr_init (ACE_condattr_t &attributes,
result = -1; // ACE_ADAPT_RETVAL used it for intermediate status
return result;
-# elif defined (ACE_HAS_STHREADS)
+# else
attributes.type = type;
-
return 0;
-
-# else
- ACE_UNUSED_ARG (attributes);
- ACE_UNUSED_ARG (type);
- ACE_NOTSUP_RETURN (-1);
-
-# endif /* ACE_HAS_PTHREADS vs. ACE_HAS_STHREADS */
+# endif /* ACE_HAS_PTHREADS */
# else
ACE_UNUSED_ARG (attributes);
@@ -193,6 +176,12 @@ ACE_OS::condattr_init (ACE_condattr_t &attributes,
# 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)
{
@@ -208,6 +197,9 @@ ACE_OS::cond_broadcast (ACE_cond_t *cv)
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);
@@ -226,6 +218,9 @@ ACE_OS::cond_destroy (ACE_cond_t *cv)
# 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);
@@ -246,7 +241,7 @@ ACE_OS::cond_init (ACE_cond_t *cv,
# if defined (ACE_HAS_PTHREADS)
int result = -1;
-# if defined (ACE_VXWORKS) && (ACE_VXWORKS >= 0x600) && (ACE_VXWORKS <= 0x620)
+# 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
@@ -269,6 +264,9 @@ ACE_OS::cond_init (ACE_cond_t *cv,
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);
@@ -310,6 +308,9 @@ ACE_OS::cond_signal (ACE_cond_t *cv)
# 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);
@@ -331,6 +332,10 @@ ACE_OS::cond_wait (ACE_cond_t *cv,
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);
@@ -346,7 +351,7 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
{
ACE_OS_TRACE ("ACE_OS::cond_timedwait");
# if defined (ACE_HAS_THREADS)
- int result;
+ int result = 0;
timespec_t ts;
if (timeout != 0)
@@ -374,6 +379,22 @@ ACE_OS::cond_timedwait (ACE_cond_t *cv,
(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.
@@ -418,6 +439,8 @@ ACE_OS::event_init (ACE_event_t *event,
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,
@@ -467,30 +490,11 @@ ACE_OS::recursive_mutex_cond_unlock (ACE_recursive_thread_mutex_t *m,
// 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.
- //
- // For WinCE, the situation is a bit trickier. CE doesn't have
- // RecursionCount, and LockCount has changed semantics over time.
- // In CE 3 (and maybe 4?) LockCount is not an indicator of recursion;
- // instead, see when it's unlocked by watching the OwnerThread, which will
- // change to something other than the current thread when it's been
- // unlocked "enough" times. Note that checking for 0 (unlocked) is not
- // sufficient. Another thread may acquire the lock between our unlock and
- // checking the OwnerThread. So grab our thread ID value first, then
- // compare to it in the loop condition. NOTE - the problem with this
- // scheme is that we really want to unlock the mutex one _less_ times than
- // required to release it for another thread to acquire. With CE 5 we
- // can do this by watching LockCount alone. I _think_ it can be done by
- // watching LockCount on CE 4 as well (though its meaning is different),
- // but I'm leary of changing this code since a user reported success
- // with it.
- //
+
// 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.
-# if defined (ACE_HAS_WINCE) && (UNDER_CE < 500)
- ACE_thread_t me = ACE_OS::thr_self ();
-# endif /* ACE_HAS_WINCE && CE 4 or earlier */
state.relock_count_ = 0;
while (
@@ -498,13 +502,8 @@ ACE_OS::recursive_mutex_cond_unlock (ACE_recursive_thread_mutex_t *m,
m->LockCount > 0 && m->RecursionCount > 1
# else
// WinCE doesn't have RecursionCount and the LockCount semantic
- // has changed between versions; pre-Mobile 5 the LockCount
- // was 0-indexed, and Mobile 5 has it 1-indexed.
-# if (UNDER_CE < 500)
- m->LockCount > 0 && m->OwnerThread == (HANDLE)me
-# else
+ // Mobile 5 has it 1-indexed.
m->LockCount > 1
-# endif /* UNDER_CE < 500 */
# endif /* ACE_HAS_WINCE */
)
{
@@ -1090,7 +1089,7 @@ ACE_OS::rw_trywrlock_upgrade (ACE_rwlock_t *rw)
while (rw->ref_count_ > 1) // wait until only I am left
{
rw->num_waiting_writers_++; // prohibit any more readers
- rw->important_writer_ = 1;
+ rw->important_writer_ = true;
if (ACE_OS::cond_wait (&rw->waiting_important_writer_, &rw->lock_) == -1)
{
@@ -1098,7 +1097,7 @@ ACE_OS::rw_trywrlock_upgrade (ACE_rwlock_t *rw)
// we know that we have the lock again, we have this guarantee,
// but something went wrong
}
- rw->important_writer_ = 0;
+ rw->important_writer_ = false;
rw->num_waiting_writers_--;
}
if (result == 0)
@@ -1363,8 +1362,8 @@ ACE_OS::sema_destroy (ACE_sema_t *s)
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 r1 = ACE_OS::thread_mutex_destroy (&s->lock_);
- int r2 = ACE_OS::event_destroy (&s->count_nonzero_);
+ 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)
@@ -1572,15 +1571,15 @@ ACE_OS::sema_init (ACE_sema_t *s,
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);
+ return -1;
/* turn off nonblocking for fd_[0] */
if ((flags = ACE_OS::fcntl (s->fd_[0], F_GETFL, 0)) < 0)
- return (-1);
+ return -1;
flags &= ~O_NONBLOCK;
if (ACE_OS::fcntl (s->fd_[0], F_SETFL, flags) < 0)
- return (-1);
+ return -1;
//if (s->name_ && count)
if (creator && count)
@@ -1588,7 +1587,7 @@ ACE_OS::sema_init (ACE_sema_t *s,
char c = 1;
for (u_int i=0; i<count ;++i)
if (ACE_OS::write (s->fd_[1], &c, sizeof (char)) != 1)
- return (-1);
+ return -1;
}
// In the case of process scope semaphores we can already unlink the FIFO now that
@@ -1602,7 +1601,7 @@ ACE_OS::sema_init (ACE_sema_t *s,
ACE_OS::unlink (name);
}
- return (0);
+ return 0;
#elif defined (ACE_HAS_THREADS)
# if defined (ACE_HAS_STHREADS)
ACE_UNUSED_ARG (name);
@@ -1652,7 +1651,11 @@ ACE_OS::sema_init (ACE_sema_t *s,
ACE_FAIL_RETURN (-1);
/* NOTREACHED */
else
- return 0;
+ {
+ // 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;
@@ -1736,7 +1739,11 @@ ACE_OS::sema_init (ACE_sema_t *s,
ACE_FAIL_RETURN (-1);
/* NOTREACHED */
else
- return 0;
+ {
+ // 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;
@@ -1800,8 +1807,8 @@ ACE_OS::sema_post (ACE_sema_t *s)
# 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);
+ return 0;
+ return -1;
# elif defined (ACE_HAS_THREADS)
# if defined (ACE_HAS_STHREADS)
int result;
@@ -1890,10 +1897,10 @@ ACE_OS::sema_trywait (ACE_sema_t *s)
/* turn on nonblocking for s->fd_[0] */
if ((flags = ACE_OS::fcntl (s->fd_[0], F_GETFL, 0)) < 0)
- return (-1);
+ return -1;
flags |= O_NONBLOCK;
if (ACE_OS::fcntl (s->fd_[0], F_SETFL, flags) < 0)
- return (-1);
+ return -1;
// read sets errno to EAGAIN if no input
rc = ACE_OS::read (s->fd_[0], &c, sizeof (char));
@@ -2010,8 +2017,8 @@ ACE_OS::sema_wait (ACE_sema_t *s)
# elif defined (ACE_USES_FIFO_SEM)
char c;
if (ACE_OS::read (s->fd_[0], &c, sizeof (char)) == 1)
- return (0);
- return (-1);
+ return 0;
+ return -1;
# elif defined (ACE_HAS_THREADS)
# if defined (ACE_HAS_STHREADS)
int result;
@@ -2193,13 +2200,13 @@ ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv)
{
if (rc == 0)
errno = ETIME;
- return (-1);
+ return -1;
}
}
// try to read the signal *but* do *not* block
if (rc == 1 && ACE_OS::sema_trywait (s) == 0)
- return (0);
+ return 0;
// we were woken for input but someone beat us to it
// so we wait again if there is still time
@@ -2209,7 +2216,7 @@ ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv)
// make sure errno is set right
errno = ETIME;
- return (-1);
+ return -1;
# elif defined (ACE_HAS_THREADS)
# if defined (ACE_HAS_STHREADS)
ACE_UNUSED_ARG (s);
@@ -2455,15 +2462,13 @@ ACE_OS::sigtimedwait (const sigset_t *sset,
ACE_OS_TRACE ("ACE_OS::sigtimedwait");
#if defined (ACE_HAS_SIGTIMEDWAIT)
timespec_t ts;
- timespec_t *tsp;
+ timespec_t *tsp = 0;
if (timeout != 0)
{
ts = *timeout; // Calls ACE_Time_Value::operator timespec_t().
tsp = &ts;
}
- else
- tsp = 0;
ACE_OSCALL_RETURN (::sigtimedwait (sset, info, tsp),
int, -1);
@@ -2495,20 +2500,15 @@ ACE_OS::sigwait (sigset_t *sset, int *sig)
return *sig;
#endif /* _POSIX_C_SOURCE - 0 >= 199506L || _POSIX_PTHREAD_SEMANTICS */
# elif defined (ACE_HAS_PTHREADS)
- // LynxOS and Digital UNIX have their own hoops to jump through.
-# if defined (__Lynx__)
- // Second arg is a void **, which we don't need (the selected
- // signal number is returned).
- *sig = ::sigwait (sset, 0);
- return *sig;
-# elif defined (DIGITAL_UNIX) && defined (__DECCXX_VER)
+ // 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 /* ! __Lynx __ && ! (DIGITAL_UNIX && __DECCXX_VER) */
+# else /* !(DIGITAL_UNIX && __DECCXX_VER) */
# if defined (CYGWIN32)
// Cygwin has sigwait definition, but it is not implemented
ACE_UNUSED_ARG (sset);
@@ -2520,7 +2520,7 @@ ACE_OS::sigwait (sigset_t *sset, int *sig)
errno = ::sigwait (sset, sig);
return errno == 0 ? *sig : -1;
# endif /* CYGWIN32 */
-# endif /* ! __Lynx__ && ! (DIGITAL_UNIX && __DECCXX_VER) */
+# endif /* !(DIGITAL_UNIX && __DECCXX_VER) */
# elif defined (ACE_HAS_WTHREADS)
ACE_UNUSED_ARG (sset);
ACE_NOTSUP_RETURN (-1);
@@ -2676,11 +2676,12 @@ ACE_OS::thr_getprio (ACE_hthread_t ht_id, int &priority, int &policy)
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)
- priority = ::GetThreadPriority (ht_id);
-# else
+
+# if defined (ACE_HAS_WINCE) && !defined (ACE_LACKS_CE_THREAD_PRIORITY)
priority = ::CeGetThreadPriority (ht_id);
-# endif
+# 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)
@@ -3107,15 +3108,17 @@ ACE_OS::thr_setprio (ACE_hthread_t ht_id, int priority, int policy)
result),
int, -1);
# elif defined (ACE_HAS_WTHREADS)
-# if !defined (ACE_HAS_WINCE)
- ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::SetThreadPriority (ht_id, priority),
+
+# 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 (::CeSetThreadPriority (ht_id, priority),
+# else
+ ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::SetThreadPriority (ht_id, priority),
ace_result_),
int, -1);
-# endif /* ACE_HAS_WINCE */
+# 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
diff --git a/ace/OS_NS_arpa_inet.cpp b/ace/OS_NS_arpa_inet.cpp
index 0ebf8a3dcc6..5ad33ea732c 100644
--- a/ace/OS_NS_arpa_inet.cpp
+++ b/ace/OS_NS_arpa_inet.cpp
@@ -36,7 +36,7 @@ ACE_OS::inet_aton (const char *host_name, struct in_addr *addr)
addr->s_addr = ip_addr; // Network byte ordered
return 1;
}
-#elif defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x660)
+#elif defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x680)
// inet_aton() returns OK (0) on success and ERROR (-1) on failure.
// Must reset errno first. Refer to WindRiver SPR# 34949, SPR# 36026
::errnoSet(0);
diff --git a/ace/OS_NS_arpa_inet.inl b/ace/OS_NS_arpa_inet.inl
index 3f0b768adff..e90493dbda2 100644
--- a/ace/OS_NS_arpa_inet.inl
+++ b/ace/OS_NS_arpa_inet.inl
@@ -14,11 +14,11 @@ ACE_OS::inet_addr (const char *name)
#if defined (ACE_LACKS_INET_ADDR)
ACE_UNUSED_ARG (name);
ACE_NOTSUP_RETURN (0);
-#elif defined (ACE_HAS_NONCONST_GETBY)
+#elif defined (ACE_HAS_NONCONST_INET_ADDR)
return ::inet_addr (const_cast <char*> (name));
#else
return ::inet_addr (name);
-#endif /* ACE_HAS_NONCONST_GETBY */
+#endif /* ACE_HAS_NONCONST_INET_ADDR */
}
ACE_INLINE char *
diff --git a/ace/OS_NS_ctype.inl b/ace/OS_NS_ctype.inl
index c780d89f3b0..977ce001ad5 100644
--- a/ace/OS_NS_ctype.inl
+++ b/ace/OS_NS_ctype.inl
@@ -16,13 +16,13 @@ ACE_INLINE int
ACE_OS::ace_isalnum (ACE_TCHAR c)
{
#if defined (ACE_USES_WCHAR)
-# if defined (_MSC_VER) && (_MSC_VER >= 1300)
+# if defined (_MSC_VER)
// For MSVC 7.x, we need to prevent "illegal" character getting into
// isalnum, otherwise, it will crash the program.
return c > 0 && c < 0xFF && iswalnum (c);
# else
return iswalnum (c);
-# endif /* _MSC_VER && _MSC_VER >= 1300 */
+# endif /* _MSC_VER */
#else /* ACE_USES_WCHAR */
return isalnum ((unsigned char) c);
#endif /* ACE_USES_WCHAR */
@@ -123,9 +123,10 @@ ACE_INLINE int
ACE_OS::ace_isprint (ACE_TCHAR c)
{
#if defined (ACE_USES_WCHAR)
-# if defined (_WIN32_WCE) && (_WIN32_WCE <= 0x600)
- /* WinCE 6 and earlier have the bug that for tab (\t) the
- * iswprint returns true instead of false
+# if defined (ACE_LACKS_CORRECT_ISWPRINT_TAB)
+ /* The MS CRT has the bug that for tab (\t) iswprint returns true instead of
+ * false. This has been reported to Microsoft:
+ * https://connect.microsoft.com/VisualStudio/feedback ID# 381915
*/
if (c == 0x9)
{
diff --git a/ace/OS_NS_dirent.cpp b/ace/OS_NS_dirent.cpp
index d9d05b0b2d6..e0326a7ff6a 100644
--- a/ace/OS_NS_dirent.cpp
+++ b/ace/OS_NS_dirent.cpp
@@ -122,8 +122,7 @@ ACE_OS::readdir_emulation (ACE_DIR *d)
}
else
{
- int retval = ACE_TEXT_FindNextFile (d->current_handle_,
- &d->fdata_);
+ int const retval = ACE_TEXT_FindNextFile (d->current_handle_, &d->fdata_);
if (retval == 0)
{
// Make sure to close the handle explicitly to avoid a leak!
diff --git a/ace/OS_NS_dlfcn.inl b/ace/OS_NS_dlfcn.inl
index 5b5e4142bb3..46f73235c82 100644
--- a/ace/OS_NS_dlfcn.inl
+++ b/ace/OS_NS_dlfcn.inl
@@ -78,7 +78,7 @@ ACE_OS::dlerror (void)
{
ACE_OS_TRACE ("ACE_OS::dlerror");
# if defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
- const char *err;
+ const char *err = 0;
# if defined(_M_UNIX)
ACE_OSCALL (::_dlerror (), const char *, 0, err);
# else /* _M_UNIX */
diff --git a/ace/OS_NS_errno.h b/ace/OS_NS_errno.h
index c4ea9d57a8f..42894742c97 100644
--- a/ace/OS_NS_errno.h
+++ b/ace/OS_NS_errno.h
@@ -82,8 +82,10 @@ private:
#if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
# define ACE_ERRNO_TYPE ACE_CE_Errno
+# define ACE_ERRNO_GET ACE_CE_Errno::instance ()->operator int()
#else
# define ACE_ERRNO_TYPE int
+# define ACE_ERRNO_GET errno
#endif /* ACE_HAS_WINCE_BROKEN_ERRNO */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_fcntl.h b/ace/OS_NS_fcntl.h
index dcfa1eec934..1be2a4495da 100644
--- a/ace/OS_NS_fcntl.h
+++ b/ace/OS_NS_fcntl.h
@@ -44,10 +44,6 @@ namespace ACE_OS {
int cmd,
long arg = 0);
-#if !defined (ACE_DEFAULT_OPEN_PERMS)
-# define ACE_DEFAULT_OPEN_PERMS ACE_DEFAULT_FILE_PERMS
-#endif /* ACE_DEFAULT_OPEN_PERMS */
-
/// The O_APPEND flag is only partly supported on Win32. If you specify
/// O_APPEND, then the file pointer will be positioned at the end of
/// the file initially during open, but it is not re-positioned at
diff --git a/ace/OS_NS_math.h b/ace/OS_NS_math.h
index 49143738a79..257e4992f8e 100644
--- a/ace/OS_NS_math.h
+++ b/ace/OS_NS_math.h
@@ -88,12 +88,18 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_OS
{
/// This method computes the largest integral value not greater than x.
- ACE_NAMESPACE_INLINE_FUNCTION
- double floor (double x);
+ template <typename T>
+ T floor (T x)
+ {
+ return ACE_STD_NAMESPACE::floor (x);
+ }
/// This method computes the smallest integral value not less than x.
- ACE_NAMESPACE_INLINE_FUNCTION
- double ceil (double x);
+ template <typename T>
+ T ceil (T x)
+ {
+ return ACE_STD_NAMESPACE::ceil (x);
+ }
/// This method computes the base-2 logarithm of x.
ACE_NAMESPACE_INLINE_FUNCTION
diff --git a/ace/OS_NS_math.inl b/ace/OS_NS_math.inl
index 3cc3e37a5b5..ea0c6f21209 100644
--- a/ace/OS_NS_math.inl
+++ b/ace/OS_NS_math.inl
@@ -7,30 +7,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_OS {
ACE_INLINE double
- floor (double x)
- {
- // This method computes the largest integral value not greater than x.
- if(x > 0)
- return static_cast<long> (x);
- else if (static_cast<long> (x) == x)
- return x;
- else
- return static_cast<long>(x) - 1;
- }
-
- ACE_INLINE double
- ceil (double x)
- {
- // This method computes the smallest integral value not less than x.
- if (x < 0)
- return static_cast<long> (x);
- else if (static_cast<long> (x) == x)
- return x;
- else
- return static_cast<long> (x) + 1;
- }
-
- ACE_INLINE double
log2 (double x)
{
return ace_log2_helper (x);
diff --git a/ace/OS_NS_netdb.cpp b/ace/OS_NS_netdb.cpp
index bb53fdaf446..144a6ae733a 100644
--- a/ace/OS_NS_netdb.cpp
+++ b/ace/OS_NS_netdb.cpp
@@ -385,6 +385,60 @@ ACE_OS::getmacaddress (struct macaddr_node_t *node)
return 0;
+#elif defined (ACE_HAS_IPHONE) || defined (ACE_HAS_MAC_OSX)
+
+ const long BUFFERSIZE = 4000;
+ char buffer[BUFFERSIZE];
+
+ struct ifconf ifc;
+ struct ifreq* ifr = 0;
+
+ ACE_HANDLE handle =
+ ACE_OS::socket (AF_INET, SOCK_DGRAM, 0);
+
+ if (handle == ACE_INVALID_HANDLE)
+ {
+ return -1;
+ }
+
+ ifc.ifc_len = BUFFERSIZE;
+ ifc.ifc_buf = buffer;
+
+ if (ACE_OS::ioctl (handle, SIOCGIFCONF, &ifc) < 0)
+ {
+ ACE_OS::close (handle);
+ return -1;
+ }
+
+ for(char* ptr=buffer; ptr < buffer + ifc.ifc_len; )
+ {
+ ifr = (struct ifreq *) ptr;
+
+ if (ifr->ifr_addr.sa_family == AF_LINK)
+ {
+ if(ACE_OS::strcmp (ifr->ifr_name, "en0") == 0)
+ {
+ struct sockaddr_dl* sdl =
+ (struct sockaddr_dl *) &ifr->ifr_addr;
+
+ ACE_OS::memcpy (node->node,
+ LLADDR(sdl),
+ 6);
+ }
+ }
+
+ ptr += sizeof(ifr->ifr_name);
+
+ if(sizeof(ifr->ifr_addr) > ifr->ifr_addr.sa_len)
+ ptr += sizeof(ifr->ifr_addr);
+ else
+ ptr += ifr->ifr_addr.sa_len;
+ }
+
+ ACE_OS::close (handle);
+
+ return 0;
+
#else
ACE_UNUSED_ARG (node);
ACE_NOTSUP_RETURN (-1);
diff --git a/ace/OS_NS_netdb.inl b/ace/OS_NS_netdb.inl
index f86db157149..99c4745464c 100644
--- a/ace/OS_NS_netdb.inl
+++ b/ace/OS_NS_netdb.inl
@@ -410,12 +410,16 @@ ACE_OS::gethostbyname_r (const char *name,
# else
ACE_UNUSED_ARG (result);
ACE_UNUSED_ARG (buffer);
- ACE_UNUSED_ARG (h_errnop);
- //FUZZ: disable check_for_lack_ACE_OS
- ACE_SOCKCALL_RETURN (::gethostbyname (name),
- struct hostent *,
- 0);
+ // FUZZ: disable check_for_lack_ACE_OS
+ struct hostent *result2 = 0;
+ ACE_SOCKCALL (::gethostbyname (name),
+ struct hostent *,
+ 0,
+ result2);
+ if (result2 == 0 && h_errnop)
+ *h_errnop = errno;
+ return result2;
//FUZZ: enable check_for_lack_ACE_OS
# endif /* defined (ACE_HAS_REENTRANT_FUNCTIONS) && !defined (UNIXWARE) */
}
diff --git a/ace/OS_NS_pwd.h b/ace/OS_NS_pwd.h
index 821582b449d..7e3bef0907d 100644
--- a/ace/OS_NS_pwd.h
+++ b/ace/OS_NS_pwd.h
@@ -33,10 +33,6 @@
#endif
#define ACE_EXPORT_MACRO ACE_Export
-# if defined (ACE_HAS_BROKEN_R_ROUTINES)
-# undef getpwnam_r
-# endif /* ACE_HAS_BROKEN_R_ROUTINES */
-
struct passwd;
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_signal.h b/ace/OS_NS_signal.h
index 40c0e47a88c..000ccce7a0f 100644
--- a/ace/OS_NS_signal.h
+++ b/ace/OS_NS_signal.h
@@ -33,6 +33,84 @@
#endif
#define ACE_EXPORT_MACRO ACE_Export
+#if defined (__Lynx__)
+// LynxOS defines pthread_sigmask() in pthread.h
+# include "ace/os_include/os_pthread.h"
+#endif /* __Lynx__ */
+
+/*
+ * We inline and undef some functions that may be implemented
+ * as macros on some platforms. This way macro definitions will
+ * be usable later as there is no way to save the macro definition
+ * using the pre-processor.
+ *
+ */
+
+#if !defined (ACE_LACKS_SIGSET)
+inline int ace_sigemptyset_helper (sigset_t *s)
+{
+# if defined (sigemptyset)
+ return sigemptyset (s);
+# undef sigemptyset
+# else
+ return ACE_STD_NAMESPACE::sigemptyset (s);
+# endif /* defined (sigemptyset) */
+}
+
+inline int ace_sigfillset_helper (sigset_t *s)
+{
+# if defined (sigfillset)
+ return sigfillset (s);
+# undef sigfillset
+# else
+ return ACE_STD_NAMESPACE::sigfillset (s);
+# endif /* defined (sigfillset) */
+}
+
+inline int ace_sigaddset_helper (sigset_t *s, int signum)
+{
+# if defined (sigaddset)
+ return sigaddset (s, signum);
+# undef sigaddset
+# else
+ return ACE_STD_NAMESPACE::sigaddset (s, signum);
+# endif /* defined (sigaddset) */
+}
+
+inline int ace_sigdelset_helper (sigset_t *s, int signum)
+{
+# if defined (sigdelset)
+ return sigdelset (s, signum);
+# undef sigdelset
+# else
+ return ACE_STD_NAMESPACE::sigdelset (s, signum);
+# endif /* defined (sigdelset) */
+}
+
+inline int ace_sigismember_helper (sigset_t *s, int signum)
+{
+# if defined (sigismember)
+ return sigismember (s, signum);
+# undef sigismember
+# else
+ return ACE_STD_NAMESPACE::sigismember (s, signum);
+# endif /* defined (sigismember) */
+}
+#endif /* !defined (ACE_LACKS_SIGSET) */
+
+#if defined (ACE_HAS_SIGSUSPEND)
+inline int ace_sigsuspend_helper (const sigset_t *s)
+{
+# if defined (sigsuspend)
+ return sigsuspend (s);
+# undef sigsuspend
+# else
+ return ACE_STD_NAMESPACE::sigsuspend (s);
+# endif /* defined (sigsuspen) */
+}
+#endif /* ACE_HAS_SIGSUSPEND */
+
+
# if !defined (SIG_BLOCK)
# define SIG_BLOCK 1
# endif /* SIG_BLOCK */
@@ -133,7 +211,7 @@ namespace ACE_OS {
sigset_t *osp);
ACE_NAMESPACE_INLINE_FUNCTION
- int sigsuspend (const sigset_t *set);
+ int sigsuspend (const sigset_t *s);
ACE_NAMESPACE_INLINE_FUNCTION
int raise (const int signum);
diff --git a/ace/OS_NS_signal.inl b/ace/OS_NS_signal.inl
index 03a6bb18a56..e0a03a4965d 100644
--- a/ace/OS_NS_signal.inl
+++ b/ace/OS_NS_signal.inl
@@ -78,7 +78,7 @@ ACE_INLINE int
sigaddset (sigset_t *s, int signum)
{
ACE_OS_TRACE ("ACE_OS::sigaddset");
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
if (s == 0)
{
errno = EFAULT;
@@ -92,14 +92,14 @@ sigaddset (sigset_t *s, int signum)
*s |= (1 << (signum - 1)) ;
return 0 ;
#else
- ACE_OSCALL_RETURN (::sigaddset (s, signum), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+ return ace_sigaddset_helper (s, signum);
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE int
sigdelset (sigset_t *s, int signum)
{
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
if (s == 0)
{
errno = EFAULT;
@@ -113,14 +113,14 @@ sigdelset (sigset_t *s, int signum)
*s &= ~(1 << (signum - 1)) ;
return 0;
#else
- ACE_OSCALL_RETURN (::sigdelset (s, signum), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+ return ace_sigdelset_helper (s, signum);
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE int
sigemptyset (sigset_t *s)
{
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
if (s == 0)
{
errno = EFAULT;
@@ -129,14 +129,14 @@ sigemptyset (sigset_t *s)
*s = 0 ;
return 0;
#else
- ACE_OSCALL_RETURN (::sigemptyset (s), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+ return ace_sigemptyset_helper (s);
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE int
sigfillset (sigset_t *s)
{
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
if (s == 0)
{
errno = EFAULT;
@@ -145,14 +145,14 @@ sigfillset (sigset_t *s)
*s = ~(sigset_t) 0;
return 0 ;
#else
- ACE_OSCALL_RETURN (::sigfillset (s), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+ return ace_sigfillset_helper (s);
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE int
sigismember (sigset_t *s, int signum)
{
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
if (s == 0)
{
errno = EFAULT;
@@ -172,8 +172,8 @@ sigismember (sigset_t *s, int signum)
return -1; // Invalid signum, return error
}
# endif /* ACE_HAS_SIGISMEMBER_BUG */
- ACE_OSCALL_RETURN (::sigismember (s, signum), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+ return ace_sigismember_helper (s, signum);
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE ACE_SignalHandler
@@ -183,11 +183,11 @@ signal (int signum, ACE_SignalHandler func)
return 0;
else
# if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE) || !defined (ACE_LACKS_UNIX_SIGNALS)
-# if !defined (ACE_HAS_TANDEM_SIGNALS) && !defined (ACE_HAS_LYNXOS_SIGNALS)
+# if !defined (ACE_HAS_TANDEM_SIGNALS) && !defined (ACE_HAS_LYNXOS4_SIGNALS)
return ::signal (signum, func);
# else
return (ACE_SignalHandler) ::signal (signum, (void (*)(int)) func);
-# endif /* !ACE_HAS_TANDEM_SIGNALS */
+# endif /* !ACE_HAS_TANDEM_SIGNALS && !ACE_HAS_LYNXOS4_SIGNALS */
#else
// @@ WINCE: Don't know how to implement signal on WinCE (yet.)
ACE_UNUSED_ARG (signum);
@@ -199,30 +199,30 @@ signal (int signum, ACE_SignalHandler func)
ACE_INLINE int
sigprocmask (int how, const sigset_t *nsp, sigset_t *osp)
{
-#if defined (ACE_LACKS_SIGSET) || defined (ACE_LACKS_SIGSET_DEFINITIONS)
+#if defined (ACE_LACKS_SIGSET)
ACE_UNUSED_ARG (how);
ACE_UNUSED_ARG (nsp);
ACE_UNUSED_ARG (osp);
ACE_NOTSUP_RETURN (-1);
#else
ACE_OSCALL_RETURN (::sigprocmask (how, nsp, osp), int, -1);
-#endif /* ACE_LACKS_SIGSET || ACE_LACKS_SIGSET_DEFINITIONS */
+#endif /* ACE_LACKS_SIGSET */
}
ACE_INLINE int
-sigsuspend (const sigset_t *sigset)
+sigsuspend (const sigset_t *s)
{
#if defined (ACE_HAS_SIGSUSPEND)
- sigset_t s;
+ sigset_t sigset;
- if (sigset == 0)
+ if (s == 0)
{
- sigset = &s;
- ACE_OS::sigemptyset (&s);
+ ACE_OS::sigemptyset (&sigset);
+ s = &sigset;
}
- ACE_OSCALL_RETURN (::sigsuspend (sigset), int, -1);
+ return ace_sigsuspend_helper (s);
#else
- ACE_UNUSED_ARG (sigset);
+ ACE_UNUSED_ARG (s);
ACE_NOTSUP_RETURN (-1);
#endif /* ACE_HAS_SIGSUSPEND */
}
diff --git a/ace/OS_NS_stdio.cpp b/ace/OS_NS_stdio.cpp
index fdb3d69e373..946ad7b00fc 100644
--- a/ace/OS_NS_stdio.cpp
+++ b/ace/OS_NS_stdio.cpp
@@ -74,42 +74,6 @@ ACE_OS::ace_flock_t::dump (void) const
/*****************************************************************************/
-#if defined (ACE_USES_WCHAR)
-void ACE_OS::checkUnicodeFormat (FILE* fp)
-{
- if (fp != 0)
- {
- // Due to the ACE_TCHAR definition, all default input files, such as
- // svc.conf, have to be in Unicode format (small endian) on WinCE
- // because ACE has all 'char' converted into ACE_TCHAR.
- // However, for TAO, ASCII files, such as IOR file, can still be read
- // and be written without any error since given buffers are all in 'char'
- // type instead of ACE_TCHAR. Therefore, it is user's reponsibility to
- // select correct buffer type.
-
- // At this point, check if the file is Unicode or not.
- ACE_UINT16 first_two_bytes;
- size_t numRead =
- ACE_OS::fread(&first_two_bytes, sizeof (first_two_bytes), 1, fp);
-
- if (numRead == 1)
- {
- if ((first_two_bytes != 0xFFFE) && // not a small endian Unicode file
- (first_two_bytes != 0xFEFF)) // not a big endian Unicode file
- {
- // set file pointer back to the beginning
-#if defined (ACE_WIN32)
- ACE_OS::fseek(fp, 0, FILE_BEGIN);
-#else
- ACE_OS::fseek(fp, 0, SEEK_SET);
-#endif /* ACE_WIN32 */
- }
- }
- // if it is a Unicode file, file pointer will be right next to the first
- // two-bytes
- }
-}
-#endif // ACE_USES_WCHAR
#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
namespace
@@ -165,6 +129,11 @@ ACE_OS::fopen (const char *filename,
const ACE_TCHAR *mode)
{
ACE_OS_TRACE ("ACE_OS::fopen");
+#if defined (ACE_LACKS_FOPEN)
+ ACE_UNUSED_ARG (filename);
+ ACE_UNUSED_ARG (mode);
+ ACE_NOTSUP_RETURN (0);
+#else
int hmode = _O_TEXT;
// Let the chips fall where they may if the user passes in a NULL
@@ -197,9 +166,6 @@ ACE_OS::fopen (const char *filename,
# endif /* defined(ACE_HAS_NONCONST_FDOPEN) && !defined (ACE_USES_WCHAR)) */
if (fp != 0)
{
-# if defined (ACE_USES_WCHAR)
- checkUnicodeFormat(fp);
-# endif // ACE_USES_WCHAR
return fp;
}
::_close (fd);
@@ -208,6 +174,7 @@ ACE_OS::fopen (const char *filename,
ACE_OS::close (handle);
}
return 0;
+#endif
}
#if defined (ACE_HAS_WCHAR)
@@ -230,6 +197,11 @@ ACE_OS::fopen (const wchar_t *filename,
const ACE_TCHAR *mode)
{
ACE_OS_TRACE ("ACE_OS::fopen");
+#if defined (ACE_LACKS_FOPEN)
+ ACE_UNUSED_ARG (filename);
+ ACE_UNUSED_ARG (mode);
+ ACE_NOTSUP_RETURN (0);
+#else
int hmode = _O_TEXT;
for (const ACE_TCHAR *mode_ptr = mode; *mode_ptr != 0; mode_ptr++)
@@ -255,9 +227,6 @@ ACE_OS::fopen (const wchar_t *filename,
# endif /* defined(ACE_HAS_NONCONST_FDOPEN) && !defined (ACE_USES_WCHAR)) */
if (fp != 0)
{
-# if defined (ACE_USES_WCHAR)
- checkUnicodeFormat(fp);
-# endif // ACE_USES_WCHAR
return fp;
}
::_close (fd);
@@ -266,6 +235,7 @@ ACE_OS::fopen (const wchar_t *filename,
ACE_OS::close (handle);
}
return 0;
+#endif
}
#endif /* ACE_HAS_WCHAR */
@@ -278,10 +248,9 @@ int
ACE_OS::fprintf (FILE *fp, const char *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::fprintf");
- int result = 0;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vfprintf (fp, format, ap);
+ int const result = ACE_OS::vfprintf (fp, format, ap);
va_end (ap);
return result;
}
@@ -291,10 +260,9 @@ int
ACE_OS::fprintf (FILE *fp, const wchar_t *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::fprintf");
- int result = 0;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vfprintf (fp, format, ap);
+ int const result = ACE_OS::vfprintf (fp, format, ap);
va_end (ap);
return result;
}
@@ -304,10 +272,9 @@ int
ACE_OS::asprintf (char **bufp, const char *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::asprintf");
- int result;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vasprintf (bufp, format, ap);
+ int const result = ACE_OS::vasprintf (bufp, format, ap);
va_end (ap);
return result;
}
@@ -317,10 +284,9 @@ int
ACE_OS::asprintf (wchar_t **bufp, const wchar_t *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::asprintf");
- int result;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vasprintf (bufp, format, ap);
+ int const result = ACE_OS::vasprintf (bufp, format, ap);
va_end (ap);
return result;
}
@@ -330,10 +296,9 @@ int
ACE_OS::printf (const char *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::printf");
- int result;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vprintf (format, ap);
+ int const result = ACE_OS::vprintf (format, ap);
va_end (ap);
return result;
}
@@ -343,10 +308,9 @@ int
ACE_OS::printf (const wchar_t *format, ...)
{
// ACE_OS_TRACE ("ACE_OS::printf");
- int result;
va_list ap;
va_start (ap, format);
- result = ACE_OS::vprintf (format, ap);
+ int const result = ACE_OS::vprintf (format, ap);
va_end (ap);
return result;
}
@@ -358,7 +322,7 @@ ACE_OS::snprintf (char *buf, size_t maxlen, const char *format, ...)
// ACE_OS_TRACE ("ACE_OS::snprintf");
va_list ap;
va_start (ap, format);
- int result = ACE_OS::vsnprintf (buf, maxlen, format, ap);
+ int const result = ACE_OS::vsnprintf (buf, maxlen, format, ap);
va_end (ap);
return result;
}
@@ -370,7 +334,7 @@ ACE_OS::snprintf (wchar_t *buf, size_t maxlen, const wchar_t *format, ...)
// ACE_OS_TRACE ("ACE_OS::snprintf");
va_list ap;
va_start (ap, format);
- int result = ACE_OS::vsnprintf (buf, maxlen, format, ap);
+ int const result = ACE_OS::vsnprintf (buf, maxlen, format, ap);
va_end (ap);
return result;
}
@@ -382,7 +346,7 @@ ACE_OS::sprintf (char *buf, const char *format, ...)
// ACE_OS_TRACE ("ACE_OS::sprintf");
va_list ap;
va_start (ap, format);
- int result = ACE_OS::vsprintf (buf, format, ap);
+ int const result = ACE_OS::vsprintf (buf, format, ap);
va_end (ap);
return result;
}
@@ -394,7 +358,7 @@ ACE_OS::sprintf (wchar_t *buf, const wchar_t *format, ...)
// ACE_OS_TRACE ("ACE_OS::sprintf");
va_list ap;
va_start (ap, format);
- int result = ACE_OS::vsprintf (buf, format, ap);
+ int const result = ACE_OS::vsprintf (buf, format, ap);
va_end (ap);
return result;
}
@@ -406,7 +370,7 @@ ACE_OS::vasprintf_emulation(char **bufp, const char *format, va_list argptr)
{
va_list ap;
va_copy (ap, argptr);
- int size = ACE_OS::vsnprintf(0, 0, format, ap);
+ int size = ACE_OS::vsnprintf (0, 0, format, ap);
va_end (ap);
if (size != -1)
diff --git a/ace/OS_NS_stdio.h b/ace/OS_NS_stdio.h
index 3133628d5dc..e8b0fc589aa 100644
--- a/ace/OS_NS_stdio.h
+++ b/ace/OS_NS_stdio.h
@@ -34,6 +34,10 @@
# include "ace/os_include/os_unistd.h"
#endif /* CYGWIN32 || ACE_OPENVMS */
+#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
+# include "io.h"
+#endif
+
#if defined (ACE_EXPORT_MACRO)
# undef ACE_EXPORT_MACRO
#endif
@@ -108,7 +112,18 @@ inline int ace_ungetc_helper (int ch, FILE *fp)
#endif /* defined (ungetc) */
}
-
+#if !defined ACE_FILENO_EQUIVALENT
+inline ACE_HANDLE ace_fileno_helper (FILE *fp)
+{
+# if defined (fileno)
+ return (ACE_HANDLE)fileno (fp);
+# undef fileno
+# else
+ return (ACE_HANDLE)ACE_STD_NAMESPACE::fileno (fp);
+# endif /* defined (fileno) */
+}
+#endif /* !ACE_FILENO_EQUIVALENT */
+
#if !defined (ACE_LACKS_CUSERID) && !defined(ACE_HAS_ALT_CUSERID) \
&& !defined(ACE_WIN32) && !defined (ACE_VXWORKS)
/// Helper for the ACE_OS::cuserid() function
@@ -219,10 +234,6 @@ namespace ACE_OS {
ACE_NAMESPACE_INLINE_FUNCTION
int fclose (FILE *fp);
-# if defined (fdopen)
-# undef fdopen
-# endif /* fdopen */
-
ACE_NAMESPACE_INLINE_FUNCTION
FILE *fdopen (ACE_HANDLE handle, const ACE_TCHAR *mode);
@@ -298,6 +309,10 @@ namespace ACE_OS {
//@}
+
+ ACE_NAMESPACE_INLINE_FUNCTION
+ ACE_HANDLE fileno (FILE *stream);
+
#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
extern ACE_Export
#else
diff --git a/ace/OS_NS_stdio.inl b/ace/OS_NS_stdio.inl
index 3c610552f88..57cef932d32 100644
--- a/ace/OS_NS_stdio.inl
+++ b/ace/OS_NS_stdio.inl
@@ -370,7 +370,7 @@ ACE_OS::cuserid (char *user, size_t maxlen)
ACE_UNUSED_ARG (maxlen);
ACE_NOTSUP_RETURN (0);
#elif defined (ACE_WIN32)
- BOOL result = GetUserNameA (user, (u_long *) &maxlen);
+ BOOL const result = GetUserNameA (user, (u_long *) &maxlen);
if (result == FALSE)
ACE_FAIL_RETURN (0);
else
@@ -461,7 +461,7 @@ ACE_OS::cuserid (wchar_t *user, size_t maxlen)
ACE_UNUSED_ARG (maxlen);
ACE_NOTSUP_RETURN (0);
# elif defined (ACE_WIN32)
- BOOL result = GetUserNameW (user, (u_long *) &maxlen);
+ BOOL const result = GetUserNameW (user, (u_long *) &maxlen);
if (result == FALSE)
ACE_FAIL_RETURN (0);
else
@@ -498,9 +498,15 @@ ACE_OS::fdopen (ACE_HANDLE handle, const ACE_TCHAR *mode)
{
ACE_OS_TRACE ("ACE_OS::fdopen");
#if defined (ACE_HAS_WINCE)
+# if defined (ACE_HAS_NONCONST_WFDOPEN)
+ ACE_OSCALL_RETURN (::_wfdopen ((int)handle, const_cast <ACE_TCHAR*> (ACE_TEXT_ALWAYS_WCHAR (mode))),
+ FILE*,
+ 0);
+# else
ACE_OSCALL_RETURN (::_wfdopen (handle, ACE_TEXT_ALWAYS_WCHAR (mode)),
FILE*,
0);
+# endif
#elif defined (ACE_WIN32)
// kernel file handle -> FILE* conversion...
// Options: _O_APPEND, _O_RDONLY and _O_TEXT are lost
@@ -538,14 +544,6 @@ ACE_INLINE int
ACE_OS::fflush (FILE *fp)
{
ACE_OS_TRACE ("ACE_OS::fflush");
-#if defined (ACE_VXWORKS)
- if (fp == 0)
- {
- // Do not allow fflush(0) on VxWorks
- return 0;
- }
-#endif /* ACE_VXWORKS */
-
ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::fflush (fp), int, -1);
}
@@ -583,6 +581,16 @@ ACE_OS::fgets (wchar_t *buf, int size, FILE *fp)
}
#endif /* ACE_HAS_WCHAR && !ACE_LACKS_FGETWS */
+ACE_INLINE ACE_HANDLE
+ACE_OS::fileno (FILE *stream)
+{
+#if defined ACE_FILENO_EQUIVALENT
+ return (ACE_HANDLE)ACE_FILENO_EQUIVALENT (stream);
+#else
+ return ace_fileno_helper (stream);
+#endif
+}
+
#if !(defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
// Win32 PC implementation of fopen () is in OS_NS_stdio.cpp.
ACE_INLINE FILE *
@@ -873,7 +881,7 @@ ACE_OS::rewind (FILE *fp)
#else
// This isn't perfect since it doesn't reset EOF, but it's probably
// the closest we can get on WINCE.
- (void) fseek (fp, 0L, SEEK_SET);
+ (void) ::fseek (fp, 0L, SEEK_SET);
#endif /* ACE_HAS_WINCE */
}
@@ -1005,7 +1013,9 @@ ACE_OS::vsprintf (wchar_t *buffer, const wchar_t *format, va_list argptr)
# if (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500) || \
(defined (sun) && !(defined(_XOPEN_SOURCE) && (_XOPEN_VERSION-0==4))) || \
defined (ACE_HAS_DINKUM_STL) || defined (__DMC__) || \
- defined (ACE_HAS_VSWPRINTF) || defined (ACE_WIN32_VC9) || \
+ defined (ACE_HAS_VSWPRINTF) || \
+ (defined (ACE_WIN32_VC10) && !defined (ACE_HAS_WINCE)) || \
+ (defined (ACE_WIN32_VC9) && !defined (ACE_HAS_WINCE)) || \
(defined (ACE_WIN32_VC8) && !defined (ACE_HAS_WINCE) && \
_MSC_FULL_VER > 140050000)
@@ -1048,11 +1058,11 @@ ACE_OS::vsnprintf (char *buffer, size_t maxlen, const char *format, va_list ap)
result = ::_vsnprintf (buffer, maxlen, format, ap);
// Win32 doesn't regard a full buffer with no 0-terminate as an overrun.
- if (result == static_cast<int> (maxlen))
+ if (result == static_cast<int> (maxlen) && maxlen > 0)
buffer[maxlen-1] = '\0';
// Win32 doesn't 0-terminate the string if it overruns maxlen.
- if (result == -1)
+ if (result == -1 && maxlen > 0)
buffer[maxlen-1] = '\0';
# endif
// In out-of-range conditions, C99 defines vsnprintf() to return the number
@@ -1096,25 +1106,23 @@ ACE_OS::vsnprintf (wchar_t *buffer, size_t maxlen, const wchar_t *format, va_lis
result = ::_vsnwprintf (buffer, maxlen, format, ap);
// Win32 doesn't regard a full buffer with no 0-terminate as an overrun.
- if (result == static_cast<int> (maxlen))
+ if (result == static_cast<int> (maxlen) && maxlen > 0)
buffer[maxlen-1] = '\0';
// Win32 doesn't 0-terminate the string if it overruns maxlen.
- if (result == -1)
+ if (result == -1 && maxlen > 0)
buffer[maxlen-1] = '\0';
# else
result = vswprintf (buffer, maxlen, format, ap);
#endif
- // In out-of-range conditions, C99 defines vsnprintf() to return the number
- // of characters that would have been written if enough space was available.
- // Earlier variants of the vsnprintf() (e.g. UNIX98) defined it to return
- // -1. This method follows the C99 standard, but needs to guess at the
- // value; uses maxlen + 1.
+ // In out-of-range conditions, C99 defines vsnprintf() to return the
+ // number of characters that would have been written if enough space
+ // was available. Earlier variants of the vsnprintf() (e.g. UNIX98)
+ // defined it to return -1. This method follows the C99 standard,
+ // but needs to guess at the value; uses maxlen + 1.
if (result == -1)
- {
- result = static_cast <int> (maxlen + 1);
- }
+ result = static_cast <int> (maxlen + 1);
return result;
diff --git a/ace/OS_NS_stdlib.cpp b/ace/OS_NS_stdlib.cpp
index 66ebde8c3d1..d89835b7c0b 100644
--- a/ace/OS_NS_stdlib.cpp
+++ b/ace/OS_NS_stdlib.cpp
@@ -61,17 +61,11 @@ ACE_OS::exit (int status)
(*exit_hook_) ();
#endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER && !ACE_HAS_WINCE && !ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER */
-#if !defined (ACE_HAS_WINCE)
-# if defined (ACE_WIN32)
+#if defined (ACE_WIN32)
::ExitProcess ((UINT) status);
-# else
- ::exit (status);
-# endif /* ACE_WIN32 */
#else
- // @@ This is not exactly the same as ExitProcess. But this is the
- // closest one I can get.
- ::TerminateProcess (::GetCurrentProcess (), status);
-#endif /* ACE_HAS_WINCE */
+ ::exit (status);
+#endif /* ACE_WIN32 */
}
void
@@ -92,7 +86,7 @@ ACE_OS::free (void *ptr)
ACE_TCHAR *
ACE_OS::getenvstrings (void)
{
-#if defined (ACE_LACKS_ENV)
+#if defined (ACE_LACKS_GETENVSTRINGS)
ACE_NOTSUP_RETURN (0);
#elif defined (ACE_WIN32)
# if defined (ACE_USES_WCHAR)
@@ -116,7 +110,7 @@ ACE_OS::strenvdup (const ACE_TCHAR *str)
#if defined (ACE_HAS_WINCE)
// WinCE doesn't have environment variables so we just skip it.
return ACE_OS::strdup (str);
-#elif defined (ACE_LACKS_ENV)
+#elif defined (ACE_LACKS_STRENVDUP)
ACE_UNUSED_ARG (str);
ACE_NOTSUP_RETURN (0);
#else
@@ -596,7 +590,7 @@ ACE_OS::strtol_emulation (const char *nptr, char **endptr, int base)
}
#endif /* ACE_LACKS_STRTOL */
-#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOL)
+#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOL)
long
ACE_OS::wcstol_emulation (const wchar_t *nptr,
wchar_t **endptr,
@@ -734,7 +728,7 @@ ACE_OS::strtoul_emulation (const char *nptr,
#endif /* ACE_LACKS_STRTOUL */
-#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOUL)
+#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOUL)
unsigned long
ACE_OS::wcstoul_emulation (const wchar_t *nptr,
wchar_t **endptr,
@@ -871,7 +865,7 @@ ACE_OS::strtoll_emulation (const char *nptr,
}
#endif /* ACE_LACKS_STRTOLL */
-#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOLL)
+#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOLL)
ACE_INT64
ACE_OS::wcstoll_emulation (const wchar_t *nptr,
wchar_t **endptr,
@@ -1010,7 +1004,7 @@ ACE_OS::strtoull_emulation (const char *nptr,
}
#endif /* ACE_LACKS_STRTOULL */
-#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOULL)
+#if defined (ACE_HAS_WCHAR) && defined (ACE_LACKS_WCSTOULL)
ACE_UINT64
ACE_OS::wcstoull_emulation (const wchar_t *nptr,
wchar_t **endptr,
diff --git a/ace/OS_NS_stdlib.h b/ace/OS_NS_stdlib.h
index 0ff3fea27a2..9f5dcb340a7 100644
--- a/ace/OS_NS_stdlib.h
+++ b/ace/OS_NS_stdlib.h
@@ -35,10 +35,6 @@
#endif
#define ACE_EXPORT_MACRO ACE_Export
-# if defined (ACE_HAS_BROKEN_R_ROUTINES)
-# undef rand_r
-# endif /* ACE_HAS_BROKEN_R_ROUTINES */
-
// We need this for MVS... as well as Linux, etc...
// On Windows, we explicitly set this up as __cdecl so it's correct even
// if building with another calling convention, such as __stdcall.
@@ -52,6 +48,42 @@ extern "C" {
}
#endif /* ACE_WIN32 && _MSC_VER */
+// FreeBSD has atop macro (not related to ACE_OS::atop)
+#if defined (atop)
+# undef atop
+#endif
+
+/*
+ * We inline and undef some functions that may be implemented
+ * as macros on some platforms. This way macro definitions will
+ * be usable later as there is no way to save the macro definition
+ * using the pre-processor.
+ */
+
+#if !defined (ACE_LACKS_STRTOLL) && !defined (ACE_STRTOLL_EQUIVALENT)
+inline ACE_INT64 ace_strtoll_helper (const char *s, char **ptr, int base)
+{
+# if defined (strtoll)
+ return strtoll (s, ptr, base);
+# undef strtoll
+# else
+ return ACE_STD_NAMESPACE::strtoll (s, ptr, base);
+# endif /* strtoll */
+}
+#endif /* !ACE_LACKS_STRTOLL && !ACE_STRTOLL_EQUIVALENT */
+
+#if !defined (ACE_LACKS_STRTOULL) && !defined (ACE_STRTOULL_EQUIVALENT)
+inline ACE_INT64 ace_strtoull_helper (const char *s, char **ptr, int base)
+{
+# if defined (strtoull)
+ return strtoull (s, ptr, base);
+# undef strtoull
+# else
+ return ACE_STD_NAMESPACE::strtoull (s, ptr, base);
+# endif /* strtoull */
+}
+#endif /* !ACE_LACKS_STRTOULL && !ACE_STRTOULL_EQUIVALENT */
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_OS {
@@ -62,50 +94,72 @@ namespace ACE_OS {
*
*/
//@{
-
-
ACE_NAMESPACE_INLINE_FUNCTION
void _exit (int status = 0);
ACE_NAMESPACE_INLINE_FUNCTION
void abort (void);
+ /**
+ * Register an at exit hook. The @a name can be used to analyze shutdown
+ * problems
+ */
ACE_NAMESPACE_INLINE_FUNCTION
- int atexit (ACE_EXIT_HOOK func);
+ int atexit (ACE_EXIT_HOOK func, const char* name = 0);
+ /*
+ * Convert string to integer
+ */
ACE_NAMESPACE_INLINE_FUNCTION
int atoi (const char *s);
# if defined (ACE_HAS_WCHAR)
+ /*
+ * Convert string to integer
+ */
ACE_NAMESPACE_INLINE_FUNCTION
int atoi (const wchar_t *s);
# endif /* ACE_HAS_WCHAR */
+ /*
+ * Convert string to long
+ */
ACE_NAMESPACE_INLINE_FUNCTION
long atol (const char *s);
+ /*
+ * Convert string to long
+ */
# if defined (ACE_HAS_WCHAR)
ACE_NAMESPACE_INLINE_FUNCTION
long atol (const wchar_t *s);
# endif /* ACE_HAS_WCHAR */
+ /*
+ * Convert string to double
+ */
ACE_NAMESPACE_INLINE_FUNCTION
double atof (const char *s);
+ /*
+ * Convert string to double
+ */
# if defined (ACE_HAS_WCHAR)
ACE_NAMESPACE_INLINE_FUNCTION
double atof (const wchar_t *s);
# endif /* ACE_HAS_WCHAR */
// atop not in spec
-# if defined (atop)
-# undef atop
-# endif /* atop */
-
+ /*
+ * Convert string to pointer
+ */
ACE_NAMESPACE_INLINE_FUNCTION
void *atop (const char *s);
# if defined (ACE_HAS_WCHAR)
+ /*
+ * Convert string to pointer
+ */
ACE_NAMESPACE_INLINE_FUNCTION
void *atop (const wchar_t *s);
# endif /* ACE_HAS_WCHAR */
@@ -188,7 +242,7 @@ namespace ACE_OS {
#else
extern ACE_Export
ACE_TCHAR *mktemp (ACE_TCHAR *s);
-#endif /* !ACE_LACKS_MSTEMP */
+#endif /* !ACE_LACKS_MKTEMP */
ACE_NAMESPACE_INLINE_FUNCTION
int putenv (const char *string);
@@ -209,6 +263,12 @@ namespace ACE_OS {
ACE_COMPARE_FUNC);
ACE_NAMESPACE_INLINE_FUNCTION
+ int setenv(const char *envname, const char *envval, int overwrite);
+
+ ACE_NAMESPACE_INLINE_FUNCTION
+ int unsetenv(const char *name);
+
+ ACE_NAMESPACE_INLINE_FUNCTION
int rand (void);
ACE_NAMESPACE_INLINE_FUNCTION
diff --git a/ace/OS_NS_stdlib.inl b/ace/OS_NS_stdlib.inl
index 94dfe2272b8..ad0ddebe9b2 100644
--- a/ace/OS_NS_stdlib.inl
+++ b/ace/OS_NS_stdlib.inl
@@ -44,9 +44,9 @@ ACE_OS::abort (void)
}
ACE_INLINE int
-ACE_OS::atexit (ACE_EXIT_HOOK func)
+ACE_OS::atexit (ACE_EXIT_HOOK func, const char* name)
{
- return ACE_OS_Object_Manager::instance ()->at_exit (func);
+ return ACE_OS_Object_Manager::instance ()->at_exit (func, name);
}
ACE_INLINE int
@@ -59,7 +59,7 @@ ACE_OS::atoi (const char *s)
ACE_INLINE int
ACE_OS::atoi (const wchar_t *s)
{
-#if defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (ACE_HAS_WTOI)
ACE_OSCALL_RETURN (::_wtoi (s), int, -1);
#else /* ACE_WIN32 */
return ACE_OS::atoi (ACE_Wide_To_Ascii (s).char_rep ());
@@ -77,7 +77,7 @@ ACE_OS::atol (const char *s)
ACE_INLINE long
ACE_OS::atol (const wchar_t *s)
{
-#if defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (ACE_HAS_WTOL)
ACE_OSCALL_RETURN (::_wtol (s), long, -1);
#else /* ACE_WIN32 */
return ACE_OS::atol (ACE_Wide_To_Ascii (s).char_rep ());
@@ -105,10 +105,6 @@ ACE_OS::atof (const wchar_t *s)
}
#endif /* ACE_HAS_WCHAR */
-#if defined (atop)
-# undef atop
-#endif /* atop */
-
ACE_INLINE void *
ACE_OS::atop (const char *s)
{
@@ -171,24 +167,24 @@ ACE_INLINE char *
ACE_OS::getenv (const char *symbol)
{
ACE_OS_TRACE ("ACE_OS::getenv");
-#if defined (ACE_LACKS_ENV)
+#if defined (ACE_LACKS_GETENV)
ACE_UNUSED_ARG (symbol);
ACE_NOTSUP_RETURN (0);
-#else /* ACE_LACKS_ENV */
+#else /* ACE_LACKS_GETENV */
ACE_OSCALL_RETURN (::getenv (symbol), char *, 0);
-#endif /* ACE_LACKS_ENV */
+#endif /* ACE_LACKS_GETENV */
}
#if defined (ACE_HAS_WCHAR) && defined (ACE_WIN32)
ACE_INLINE wchar_t *
ACE_OS::getenv (const wchar_t *symbol)
{
-#if defined (ACE_LACKS_ENV)
+#if defined (ACE_LACKS_GETENV)
ACE_UNUSED_ARG (symbol);
ACE_NOTSUP_RETURN (0);
#else
ACE_OSCALL_RETURN (::_wgetenv (symbol), wchar_t *, 0);
-#endif /* ACE_LACKS_ENV */
+#endif /* ACE_LACKS_GETENV */
}
#endif /* ACE_HAS_WCHAR && ACE_WIN32 */
@@ -305,21 +301,11 @@ ACE_OS::mktemp (wchar_t *s)
#endif /* !ACE_LACKS_MKTEMP */
-#if defined (INTEGRITY)
-extern "C" {
- int putenv (char *string);
-}
-#endif
-
ACE_INLINE int
ACE_OS::putenv (const char *string)
{
ACE_OS_TRACE ("ACE_OS::putenv");
-#if defined (ACE_HAS_WINCE)
- // WinCE don't have the concept of environment variables.
- ACE_UNUSED_ARG (string);
- ACE_NOTSUP_RETURN (-1);
-#elif defined (ACE_LACKS_PUTENV) && defined (ACE_HAS_SETENV)
+#if defined (ACE_LACKS_PUTENV) && defined (ACE_HAS_SETENV)
int result = 0;
char *sp = ACE_OS::strchr (const_cast <char *> (string), '=');
if (sp)
@@ -328,7 +314,7 @@ ACE_OS::putenv (const char *string)
if (stmp)
{
stmp[sp - string] = '\0';
- ACE_OSCALL (::setenv (stmp, sp+sizeof (char), 1), int, -1, result);
+ result = ACE_OS::setenv (stmp, sp+sizeof (char), 1);
ACE_OS::free (stmp);
}
else
@@ -338,15 +324,46 @@ ACE_OS::putenv (const char *string)
}
}
else
- ACE_OSCALL (::setenv (string, "", 1), int, -1, result);
+ {
+ result = ACE_OS::setenv (string, "", 1);
+ }
return result;
-#elif defined (ACE_LACKS_ENV) || defined (ACE_LACKS_PUTENV)
+#elif defined (ACE_LACKS_PUTENV)
ACE_UNUSED_ARG (string);
ACE_NOTSUP_RETURN (0);
#else /* ! ACE_HAS_WINCE */
ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::putenv (const_cast <char *> (string)), int, -1);
-#endif /* ACE_HAS_WINCE */
+#endif /* ACE_LACKS_PUTENV && ACE_HAS_SETENV */
+}
+
+ACE_INLINE int
+ACE_OS::setenv(const char *envname, const char *envval, int overwrite)
+{
+#if defined (ACE_LACKS_SETENV)
+ ACE_UNUSED_ARG (envname);
+ ACE_UNUSED_ARG (envval);
+ ACE_UNUSED_ARG (overwrite);
+ ACE_NOTSUP_RETURN (-1);
+#else
+ ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::setenv (envname, envval, overwrite), int, -1);
+#endif
+}
+
+ACE_INLINE int
+ACE_OS::unsetenv(const char *name)
+{
+#if defined (ACE_LACKS_UNSETENV)
+ ACE_UNUSED_ARG (name);
+ ACE_NOTSUP_RETURN (-1);
+#else
+# if defined (ACE_HAS_VOID_UNSETENV)
+ ::unsetenv (name);
+ return 0;
+#else
+ ACE_OSCALL_RETURN (ACE_STD_NAMESPACE::unsetenv (name), int, -1);
+# endif /* ACE_HAS_VOID_UNSETENV */
+#endif /* ACE_LACKS_UNSETENV */
}
#if defined (ACE_HAS_WCHAR) && defined (ACE_WIN32)
@@ -354,13 +371,12 @@ ACE_INLINE int
ACE_OS::putenv (const wchar_t *string)
{
ACE_OS_TRACE ("ACE_OS::putenv");
-#if defined (ACE_HAS_WINCE)
- // WinCE doesn't have the concept of environment variables.
+#if defined (ACE_LACKS_PUTENV)
ACE_UNUSED_ARG (string);
ACE_NOTSUP_RETURN (-1);
#else
ACE_OSCALL_RETURN (::_wputenv (string), int, -1);
-#endif /* ACE_HAS_WINCE */
+#endif /* ACE_LACKS_PUTENV */
}
#endif /* ACE_HAS_WCHAR && ACE_WIN32 */
@@ -545,7 +561,7 @@ ACE_OS::strtoll (const char *s, char **ptr, int base)
#elif defined (ACE_STRTOLL_EQUIVALENT)
return ACE_STRTOLL_EQUIVALENT (s, ptr, base);
#else
- return ::strtoll (s, ptr, base);
+ return ace_strtoll_helper (s, ptr, base);
#endif /* ACE_LACKS_STRTOLL */
}
@@ -571,7 +587,7 @@ ACE_OS::strtoull (const char *s, char **ptr, int base)
#elif defined (ACE_STRTOULL_EQUIVALENT)
return ACE_STRTOULL_EQUIVALENT (s, ptr, base);
#else
- return ::strtoull (s, ptr, base);
+ return ace_strtoull_helper (s, ptr, base);
#endif /* ACE_LACKS_STRTOULL */
}
diff --git a/ace/OS_NS_string.cpp b/ace/OS_NS_string.cpp
index be63e28e450..280679bf337 100644
--- a/ace/OS_NS_string.cpp
+++ b/ace/OS_NS_string.cpp
@@ -1,8 +1,9 @@
// $Id$
+#include "ace/ACE.h"
#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_stdlib.h"
-#include "ace/ACE.h"
ACE_RCSID (ace,
OS_NS_string,
@@ -12,14 +13,6 @@ ACE_RCSID (ace,
# include "ace/OS_NS_string.inl"
#endif /* ACE_HAS_INLINED_OSCALLS */
-#if defined (ACE_HAS_WCHAR)
-# include "ace/OS_NS_stdlib.h"
-#endif /* ACE_HAS_WCHAR */
-
-#if !defined (ACE_LACKS_STRERROR)
-# include "ace/OS_NS_stdio.h"
-#endif /* ACE_LACKS_STRERROR */
-
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#if defined (ACE_LACKS_MEMCHR)
@@ -125,6 +118,9 @@ ACE_OS::strerror (int errnum)
errmsg = ret_errortext;
ACE_SECURECRTCALL (strerror_s (ret_errortext, sizeof(ret_errortext), errnum),
char *, 0, errmsg);
+ if (errnum < 0 || errnum >= _sys_nerr)
+ g = EINVAL;
+
return errmsg;
#elif defined (ACE_WIN32)
if (errnum < 0 || errnum >= _sys_nerr)
@@ -147,12 +143,48 @@ ACE_OS::strerror (int errnum)
* Just returns "Unknown Error" all the time.
*/
char *
-ACE_OS::strerror_emulation (int errnum)
+ACE_OS::strerror_emulation (int)
{
- return "Unknown Error";
+ return const_cast <char*> ("Unknown Error");
}
#endif /* ACE_LACKS_STRERROR */
+
+char *
+ACE_OS::strsignal (int signum)
+{
+ static char signal_text[128];
+#if defined (ACE_HAS_STRSIGNAL)
+ char *ret_val = 0;
+
+# if defined (ACE_NEEDS_STRSIGNAL_RANGE_CHECK)
+ if (signum < 0 || signum >= ACE_NSIG)
+ ret_val = 0;
+ else
+# endif /* (ACE_NEEDS_STRSIGNAL_RANGE_CHECK */
+ ret_val = ACE_STD_NAMESPACE::strsignal (signum);
+
+ if (ret_val <= reinterpret_cast<char *> (0))
+ {
+ ACE_OS::sprintf (signal_text, "Unknown signal: %d", signum);
+ ret_val = signal_text;
+ }
+ return ret_val;
+#else
+ if (signum < 0 || signum >= ACE_NSIG)
+ {
+ ACE_OS::sprintf (signal_text, "Unknown signal: %d", signum);
+ return signal_text;
+ }
+# if defined (ACE_SYS_SIGLIST)
+ return ACE_SYS_SIGLIST[signum];
+# else
+ ACE_OS::sprintf (signal_text, "Signal: %d", signum);
+ return signal_text;
+# endif /* ACE_SYS_SIGLIST */
+#endif /* ACE_HAS_STRSIGNAL */
+}
+
const char *
ACE_OS::strnchr (const char *s, int c, size_t len)
{
@@ -167,8 +199,12 @@ const ACE_WCHAR_T *
ACE_OS::strnchr (const ACE_WCHAR_T *s, ACE_WCHAR_T c, size_t len)
{
for (size_t i = 0; i < len; ++i)
- if (s[i] == c)
- return s + i;
+ {
+ if (s[i] == c)
+ {
+ return s + i;
+ }
+ }
return 0;
}
@@ -189,8 +225,10 @@ ACE_OS::strnstr (const char *s1, const char *s2, size_t len2)
for (size_t i = 0; i <= len; i++)
{
if (ACE_OS::memcmp (s1 + i, s2, len2) == 0)
- // Found a match! Return the index.
- return s1 + i;
+ {
+ // Found a match! Return the index.
+ return s1 + i;
+ }
}
return 0;
@@ -200,20 +238,22 @@ const ACE_WCHAR_T *
ACE_OS::strnstr (const ACE_WCHAR_T *s1, const ACE_WCHAR_T *s2, size_t len2)
{
// Substring length
- const size_t len1 = ACE_OS::strlen (s1);
+ size_t const len1 = ACE_OS::strlen (s1);
// Check if the substring is longer than the string being searched.
if (len2 > len1)
return 0;
// Go upto <len>
- const size_t len = len1 - len2;
+ size_t const len = len1 - len2;
for (size_t i = 0; i <= len; i++)
{
if (ACE_OS::memcmp (s1 + i, s2, len2 * sizeof (ACE_WCHAR_T)) == 0)
- // Found a match! Return the index.
- return s1 + i;
+ {
+ // Found a match! Return the index.
+ return s1 + i;
+ }
}
return 0;
@@ -293,7 +333,9 @@ ACE_OS::strsncpy (char *dst, const char *src, size_t maxlen)
{
*rdst = '\0';
if (rsrc != 0)
- strncat (rdst, rsrc, --rmaxlen);
+ {
+ ACE_OS::strncat (rdst, rsrc, --rmaxlen);
+ }
}
else
{
@@ -313,11 +355,13 @@ ACE_OS::strsncpy (ACE_WCHAR_T *dst, const ACE_WCHAR_T *src, size_t maxlen)
if (rmaxlen > 0)
{
- if (rdst!=rsrc)
+ if (rdst!= rsrc)
{
*rdst = ACE_TEXT_WIDE ('\0');
if (rsrc != 0)
- strncat (rdst, rsrc, --rmaxlen);
+ {
+ ACE_OS::strncat (rdst, rsrc, --rmaxlen);
+ }
}
else
{
@@ -339,11 +383,11 @@ ACE_OS::strtok_r_emulation (char *s, const char *tokens, char **lasts)
*lasts = s;
if (*s == 0) // We have reached the end
return 0;
- size_t l_org = ACE_OS::strlen (s);
+ size_t const l_org = ACE_OS::strlen (s);
s = ::strtok (s, tokens);
if (s == 0)
return 0;
- const size_t l_sub = ACE_OS::strlen (s);
+ size_t const l_sub = ACE_OS::strlen (s);
if (s + l_sub < *lasts + l_org)
*lasts = s + l_sub + 1;
else
diff --git a/ace/OS_NS_string.h b/ace/OS_NS_string.h
index 0c5214c06de..b126075e70e 100644
--- a/ace/OS_NS_string.h
+++ b/ace/OS_NS_string.h
@@ -183,11 +183,9 @@ namespace ACE_OS {
wchar_t *strecpy (wchar_t *s, const wchar_t *t);
#endif /* ACE_HAS_WCHAR */
- /*
- ** Returns a system error message. If the supplied errnum is out of range,
- ** a string of the form "Unknown error %d" is used to format the string
- ** whose pointer is returned and errno is set to EINVAL.
- */
+ /// Returns a system error message. If the supplied errnum is out of range,
+ /// a string of the form "Unknown error %d" is used to format the string
+ /// whose pointer is returned and errno is set to EINVAL.
extern ACE_Export
char *strerror (int errnum);
@@ -197,6 +195,14 @@ namespace ACE_OS {
char *strerror_emulation (int errnum);
#endif /* ACE_LACKS_STRERROR */
+
+ /// Returns a string describing the signal number passed in the
+ /// argument signum. If the supplied signal number is out of range,
+ /// a string of the form "Unknown signal %d" is used to format the string
+ /// whose pointer is returned.
+ extern ACE_Export
+ char *strsignal (int signum);
+
/// Finds the length of a string (char version).
ACE_NAMESPACE_INLINE_FUNCTION
size_t strlen (const char *s);
diff --git a/ace/OS_NS_stropts.cpp b/ace/OS_NS_stropts.cpp
index 4bde7d4ae9c..4a4023e0054 100644
--- a/ace/OS_NS_stropts.cpp
+++ b/ace/OS_NS_stropts.cpp
@@ -47,7 +47,6 @@ ACE_OS::ioctl (ACE_HANDLE socket,
# endif /* ACE_HAS_WINSOCK2 */
}
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
int
ACE_OS::ioctl (ACE_HANDLE socket,
unsigned long io_control_code,
@@ -190,6 +189,5 @@ ACE_OS::ioctl (ACE_HANDLE socket,
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_WINSOCK2 */
}
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_stropts.h b/ace/OS_NS_stropts.h
index 762d0c1fbc2..a17e9052fd0 100644
--- a/ace/OS_NS_stropts.h
+++ b/ace/OS_NS_stropts.h
@@ -126,7 +126,6 @@ namespace ACE_OS {
ACE_OVERLAPPED *overlapped,
ACE_OVERLAPPED_COMPLETION_FUNC func);
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
/// QoS-enabled @c ioctl when the I/O control code is either
/// SIO_SET_QOS or SIO_GET_QOS.
extern ACE_Export
@@ -138,7 +137,6 @@ namespace ACE_OS {
unsigned long buffer = 0,
ACE_OVERLAPPED *overlapped = 0,
ACE_OVERLAPPED_COMPLETION_FUNC func = 0);
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
ACE_NAMESPACE_INLINE_FUNCTION
int isastream (ACE_HANDLE handle);
diff --git a/ace/OS_NS_sys_mman.inl b/ace/OS_NS_sys_mman.inl
index 03306ad018a..95d1899d055 100644
--- a/ace/OS_NS_sys_mman.inl
+++ b/ace/OS_NS_sys_mman.inl
@@ -75,10 +75,14 @@ ACE_OS::mmap (void *addr,
if (ACE_BIT_ENABLED (flags, MAP_PRIVATE))
{
-# if !defined(ACE_HAS_WINCE)
+# if defined(ACE_HAS_WINCE)
+ // PAGE_WRITECOPY is not avaible on CE, but this should be the same
+ // as PAGE_READONLY according to MSDN
+ nt_flags = FILE_MAP_ALL_ACCESS;
+# else
prot = PAGE_WRITECOPY;
-# endif // ACE_HAS_WINCE
nt_flags = FILE_MAP_COPY;
+# endif // ACE_HAS_WINCE
}
else if (ACE_BIT_ENABLED (flags, MAP_SHARED))
{
@@ -93,7 +97,7 @@ ACE_OS::mmap (void *addr,
{
SECURITY_ATTRIBUTES sa_buffer;
SECURITY_DESCRIPTOR sd_buffer;
- const LPSECURITY_ATTRIBUTES attr =
+ LPSECURITY_ATTRIBUTES const attr =
ACE_OS::default_win32_security_attributes_r (sa,
&sa_buffer,
&sd_buffer);
@@ -116,20 +120,20 @@ ACE_OS::mmap (void *addr,
DWORD low_off = ACE_LOW_PART (off);
DWORD high_off = ACE_HIGH_PART (off);
-# if !defined (ACE_HAS_WINCE)
+# if defined (ACE_HAS_WINCE)
+ void *addr_mapping = ::MapViewOfFile (*file_mapping,
+ nt_flags,
+ high_off,
+ low_off,
+ len);
+# else
void *addr_mapping = ::MapViewOfFileEx (*file_mapping,
nt_flags,
high_off,
low_off,
len,
addr);
-# else
- void *addr_mapping = ::MapViewOfFile (*file_mapping,
- nt_flags,
- high_off,
- low_off,
- len);
-# endif /* ! ACE_HAS_WINCE */
+# endif /* ACE_HAS_WINCE */
// Only close this down if we used the temporary.
if (file_mapping == &local_handle)
@@ -239,7 +243,7 @@ ACE_OS::shm_open (const ACE_TCHAR *filename,
ACE_OS_TRACE ("ACE_OS::shm_open");
#if defined (ACE_HAS_SHM_OPEN)
ACE_UNUSED_ARG (sa);
-#if defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x650)
+#if defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670)
// With VxWorks the file should just start with / and no other
// slashes, so replace all other / by _
ACE_TCHAR buf [MAXPATHLEN + 1];
@@ -271,7 +275,7 @@ ACE_OS::shm_unlink (const ACE_TCHAR *path)
{
ACE_OS_TRACE ("ACE_OS::shm_unlink");
#if defined (ACE_HAS_SHM_OPEN)
-#if defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x650)
+#if defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670)
// With VxWorks the file should just start with / and no other
// slashes, so replace all other / by _
ACE_TCHAR buf [MAXPATHLEN + 1];
diff --git a/ace/OS_NS_sys_sendfile.cpp b/ace/OS_NS_sys_sendfile.cpp
index 9bd3537e54d..ce6cf66e3e9 100644
--- a/ace/OS_NS_sys_sendfile.cpp
+++ b/ace/OS_NS_sys_sendfile.cpp
@@ -15,7 +15,7 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-#ifndef ACE_HAS_SENDFILE
+#if defined ACE_HAS_SENDFILE && ACE_HAS_SENDFILE == 0
ssize_t
ACE_OS::sendfile_emulation (ACE_HANDLE out_fd,
ACE_HANDLE in_fd,
@@ -48,6 +48,6 @@ ACE_OS::sendfile_emulation (ACE_HANDLE out_fd,
return r;
}
-#endif /* !ACE_HAS_SENDFILE */
+#endif /* ACE_HAS_SENDFILE==0 */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_sendfile.h b/ace/OS_NS_sys_sendfile.h
index a7983dadec9..03112b058e5 100644
--- a/ace/OS_NS_sys_sendfile.h
+++ b/ace/OS_NS_sys_sendfile.h
@@ -22,6 +22,7 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Basic_Types.h" /* For ssize_t and off_t. */
+#include "ace/config-all.h"
#if defined (ACE_EXPORT_MACRO)
# undef ACE_EXPORT_MACRO
@@ -40,13 +41,13 @@ namespace ACE_OS
off_t * offset,
size_t count);
-#ifndef ACE_HAS_SENDFILE
+#if defined ACE_HAS_SENDFILE && ACE_HAS_SENDFILE == 0
extern ACE_Export
ssize_t sendfile_emulation (ACE_HANDLE out_fd,
ACE_HANDLE in_fd,
off_t * offset,
size_t count);
-#endif /* !ACE_HAS_SENDFILE */
+#endif /* ACE_HAS_SENDFILE==0 */
}
diff --git a/ace/OS_NS_sys_sendfile.inl b/ace/OS_NS_sys_sendfile.inl
index 1c468354b3e..d79186017be 100644
--- a/ace/OS_NS_sys_sendfile.inl
+++ b/ace/OS_NS_sys_sendfile.inl
@@ -2,9 +2,9 @@
//
// $Id$
-#ifdef ACE_HAS_SENDFILE
+#if defined ACE_HAS_SENDFILE && ACE_HAS_SENDFILE == 1
# include <sys/sendfile.h>
-#endif /* ACE_HAS_SENDFILE */
+#endif /* ACE_HAS_SENDFILE==1 */
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -14,11 +14,11 @@ ACE_OS::sendfile (ACE_HANDLE out_fd,
off_t * offset,
size_t count)
{
-#ifdef ACE_HAS_SENDFILE
+#if defined ACE_HAS_SENDFILE && ACE_HAS_SENDFILE == 1
return ::sendfile (out_fd, in_fd, offset, count);
#else
return ACE_OS::sendfile_emulation (out_fd, in_fd, offset, count);
-#endif /* ACE_HAS_SENDFILE */
+#endif /* ACE_HAS_SENDFILE==1 */
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_socket.cpp b/ace/OS_NS_sys_socket.cpp
index bbf468f4e63..06d523c2ea0 100644
--- a/ace/OS_NS_sys_socket.cpp
+++ b/ace/OS_NS_sys_socket.cpp
@@ -14,7 +14,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
int ACE_OS::socket_initialized_;
#endif /* ACE_WIN32 */
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
ACE_HANDLE
ACE_OS::accept (ACE_HANDLE handle,
struct sockaddr *addr,
@@ -95,7 +94,6 @@ ACE_OS::join_leaf (ACE_HANDLE socket,
ACE_NOTSUP_RETURN (ACE_INVALID_HANDLE);
# endif /* ACE_HAS_WINSOCK2 */
}
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
int
ACE_OS::socket_init (int version_high, int version_low)
diff --git a/ace/OS_NS_sys_socket.h b/ace/OS_NS_sys_socket.h
index 036ba2e8e29..fb5a47a59a0 100644
--- a/ace/OS_NS_sys_socket.h
+++ b/ace/OS_NS_sys_socket.h
@@ -74,24 +74,22 @@ namespace ACE_OS
# endif /* ACE_WIN32 */
//@{ @name A set of wrappers for sockets.
- /// BSD-style <accept> (no QoS).
+ /// BSD-style @c accept (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION
ACE_HANDLE accept (ACE_HANDLE handle,
struct sockaddr *addr,
int *addrlen);
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
/**
- * QoS-enabled <accept>, which passes @a qos_params to <accept>. If
- * the OS platform doesn't support QoS-enabled <accept> then the
- * @a qos_params are ignored and the BSD-style <accept> is called.
+ * QoS-enabled @c accept, which passes @a qos_params to @c accept. If
+ * the OS platform doesn't support QoS-enabled @c accept then the
+ * @a qos_params are ignored and the BSD-style @c accept is called.
*/
extern ACE_Export
ACE_HANDLE accept (ACE_HANDLE handle,
struct sockaddr *addr,
int *addrlen,
const ACE_Accept_QoS_Params &qos_params);
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
ACE_NAMESPACE_INLINE_FUNCTION
int bind (ACE_HANDLE s,
@@ -102,24 +100,22 @@ namespace ACE_OS
ACE_NAMESPACE_INLINE_FUNCTION
int closesocket (ACE_HANDLE s);
- /// BSD-style <connect> (no QoS).
+ /// BSD-style @c connect (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION
int connect (ACE_HANDLE handle,
struct sockaddr *addr,
int addrlen);
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
/**
- * QoS-enabled <connect>, which passes @a qos_params to <connect>.
- * If the OS platform doesn't support QoS-enabled <connect> then the
- * @a qos_params are ignored and the BSD-style <connect> is called.
+ * QoS-enabled @c connect, which passes @a qos_params to @c connect.
+ * If the OS platform doesn't support QoS-enabled @c connect then the
+ * @a qos_params are ignored and the BSD-style @c connect is called.
*/
extern ACE_Export
int connect (ACE_HANDLE handle,
const sockaddr *addr,
int addrlen,
const ACE_QoS_Params &qos_params);
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
/// Retrieve information about available transport protocols
/// installed on the local machine. Windows specific...
@@ -144,14 +140,12 @@ namespace ACE_OS
char *optval,
int *optlen);
-#if !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500))
/// Joins a leaf node into a QoS-enabled multi-point session.
extern ACE_Export
ACE_HANDLE join_leaf (ACE_HANDLE socket,
const sockaddr *name,
int namelen,
const ACE_QoS_Params &qos_params);
-#endif /* !(defined (ACE_HAS_WINCE) && (UNDER_CE < 500)) */
ACE_NAMESPACE_INLINE_FUNCTION
int listen (ACE_HANDLE handle,
diff --git a/ace/OS_NS_sys_socket.inl b/ace/OS_NS_sys_socket.inl
index 041f9a2da23..6fa4c34e15b 100644
--- a/ace/OS_NS_sys_socket.inl
+++ b/ace/OS_NS_sys_socket.inl
@@ -520,15 +520,12 @@ ACE_OS::recvv (ACE_HANDLE handle,
0,
0);
# else
- int i, chunklen;
- char *chunkp = 0;
-
// Step through the buffers requested by caller; for each one, cycle
// through reads until it's filled or an error occurs.
- for (i = 0; i < n && result > 0; ++i)
+ for (int i = 0; i < n && result > 0; ++i)
{
- chunkp = buffers[i].iov_base; // Point to part of chunk being read
- chunklen = buffers[i].iov_len; // Track how much to read to chunk
+ char *chunkp = buffers[i].iov_base; // Point to part of chunk being read
+ int chunklen = buffers[i].iov_len; // Track how much to read to chunk
while (chunklen > 0 && result > 0)
{
result = ::recv ((SOCKET) handle, chunkp, chunklen, 0);
@@ -753,7 +750,7 @@ ACE_OS::sendv (ACE_HANDLE handle,
// Winsock 2 has WSASend and can do this directly, but Winsock 1
// needs to do the sends one-by-one.
-# if (ACE_HAS_WINSOCK2 != 0)
+# if (ACE_HAS_WINSOCK2 != 0) && !defined (ACE_DONT_USE_WSASEND)
result = ::WSASend ((SOCKET) handle,
(WSABUF *) buffers,
n,
@@ -878,7 +875,7 @@ ACE_OS::setsockopt (ACE_HANDLE handle,
-1,
result);
#if defined (WSAEOPNOTSUPP)
- if (result == -1 && errno == WSAEOPNOTSUPP)
+ if (result == -1 && (errno == WSAEOPNOTSUPP || errno == WSAENOPROTOOPT))
#else
if (result == -1)
#endif /* WSAEOPNOTSUPP */
diff --git a/ace/OS_NS_sys_stat.inl b/ace/OS_NS_sys_stat.inl
index af93d2e2fa2..b34d5bdeda0 100644
--- a/ace/OS_NS_sys_stat.inl
+++ b/ace/OS_NS_sys_stat.inl
@@ -261,7 +261,7 @@ namespace ACE_OS
}
return 0;
#elif defined (__BORLANDC__) \
- || (defined (_MSC_VER) && _MSC_VER >= 1300) \
+ || defined (_MSC_VER) \
|| defined (__MINGW32__)
ACE_OSCALL_RETURN (ACE_WSTAT_FUNC_NAME (file, stp), int, -1);
#else /* ACE_HAS_WINCE */
diff --git a/ace/OS_NS_sys_time.h b/ace/OS_NS_sys_time.h
index 898c57f8155..54680c8e416 100644
--- a/ace/OS_NS_sys_time.h
+++ b/ace/OS_NS_sys_time.h
@@ -37,22 +37,8 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_OS
{
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-// Something is a bit brain-damaged here and I'm not sure what... this code
-// compiled before the OS reorg for ACE 5.4. Since then it hasn't - eVC
-// complains that the operators that return ACE_Time_Value are C-linkage
-// functions that can't return a C++ class. The only way I've found to
-// defeat this is to wrap the whole class in extern "C++".
-// - Steve Huston, 23-Aug-2004
-extern "C++" {
-#endif
-
ACE_NAMESPACE_INLINE_FUNCTION
ACE_Time_Value gettimeofday (void);
-
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-}
-#endif
} /* namespace ACE_OS */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_time.inl b/ace/OS_NS_sys_time.inl
index 604df97926d..0067c079b39 100644
--- a/ace/OS_NS_sys_time.inl
+++ b/ace/OS_NS_sys_time.inl
@@ -5,22 +5,12 @@
#include "ace/os_include/sys/os_time.h"
#include "ace/os_include/os_errno.h"
-#if defined (ACE_VXWORKS)
+#if defined (ACE_VXWORKS) || defined (ACE_HAS_CLOCK_GETTIME_REALTIME)
# include "ace/OS_NS_time.h"
-#endif /* ACE_VXWORKS */
+#endif /* ACE_VXWORKS || ACE_HAS_CLOCK_REALTIME */
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-// Something is a bit brain-damaged here and I'm not sure what... this code
-// compiled before the OS reorg for ACE 5.4. Since then it hasn't - eVC
-// complains that the operators that return ACE_Time_Value are C-linkage
-// functions that can't return a C++ class. The only way I've found to
-// defeat this is to wrap the whole class in extern "C++".
-// - Steve Huston, 23-Aug-2004
-extern "C++" {
-#endif
-
ACE_INLINE ACE_Time_Value
ACE_OS::gettimeofday (void)
{
@@ -31,7 +21,7 @@ ACE_OS::gettimeofday (void)
int result = 0;
#endif // !defined (ACE_WIN32)
-#if (0)
+#if defined (ACE_HAS_CLOCK_GETTIME_REALTIME)
struct timespec ts;
ACE_OSCALL (ACE_OS::clock_gettime (CLOCK_REALTIME, &ts), int, -1, result);
@@ -48,13 +38,6 @@ ACE_OS::gettimeofday (void)
FILETIME tfile;
::GetSystemTimeAsFileTime (&tfile);
return ACE_Time_Value (tfile);
-#if 0
- // From Todd Montgomery...
- struct _timeb tb;
- ::_ftime (&tb);
- tv.tv_sec = tb.time;
- tv.tv_usec = 1000 * tb.millitm;
-#endif /* 0 */
#elif defined (ACE_HAS_AIX_HI_RES_TIMER)
timebasestruct_t tb;
@@ -89,8 +72,4 @@ ACE_OS::gettimeofday (void)
#endif // !defined (ACE_WIN32)
}
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-}
-#endif
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_utsname.cpp b/ace/OS_NS_sys_utsname.cpp
index 77fbf50faf8..e8943a064cf 100644
--- a/ace/OS_NS_sys_utsname.cpp
+++ b/ace/OS_NS_sys_utsname.cpp
@@ -101,10 +101,17 @@ ACE_OS::uname (ACE_utsname *name)
ACE_OS::strcpy (subtype, "Pentium Pro");
else if (sinfo.wProcessorLevel == 7) // I'm guessing here
ACE_OS::strcpy (subtype, "Pentium II");
+ else
+ ACE_OS::sprintf (subtype, "%d", sinfo.wProcessorLevel);
break;
case PROCESSOR_ARCHITECTURE_MIPS:
ACE_OS::strcpy (processor, "MIPS");
- ACE_OS::strcpy (subtype, "R4000");
+ if (sinfo.wProcessorLevel == 3)
+ ACE_OS::strcpy (subtype, "R3000");
+ else if (sinfo.wProcessorLevel == 4)
+ ACE_OS::strcpy (subtype, "R4000");
+ else
+ ACE_OS::sprintf (subtype, "%d", sinfo.wProcessorLevel);
break;
case PROCESSOR_ARCHITECTURE_ALPHA:
ACE_OS::strcpy (processor, "Alpha");
@@ -213,7 +220,7 @@ ACE_OS::uname (ACE_utsname *name)
# endif /* ACE_LACKS_HOSTNAME */
#elif defined (ACE_VXWORKS)
- size_t maxnamelen = sizeof name->nodename;
+ size_t const maxnamelen = sizeof name->nodename;
ACE_OS::strcpy (name->sysname, "VxWorks");
ACE_OS::strcpy (name->release, kernelVersion());
ACE_OS::strcpy (name->version, sysBspRev ());
diff --git a/ace/OS_NS_time.cpp b/ace/OS_NS_time.cpp
index 19be27b7579..132d200175a 100644
--- a/ace/OS_NS_time.cpp
+++ b/ace/OS_NS_time.cpp
@@ -319,6 +319,7 @@ ACE_OS::mktime (struct tm *t)
t_sys.wMonth = t->tm_mon + 1; // SYSTEMTIME is 1-indexed, tm is 0-indexed
t_sys.wYear = t->tm_year + 1900; // SYSTEMTIME is real; tm is since 1900
t_sys.wDayOfWeek = t->tm_wday; // Ignored in below function call.
+ t_sys.wMilliseconds = 0;
if (SystemTimeToFileTime (&t_sys, &t_file) == 0)
return -1;
ACE_Time_Value tv (t_file);
diff --git a/ace/OS_NS_time.h b/ace/OS_NS_time.h
index 5e927229c38..c22e4d2f004 100644
--- a/ace/OS_NS_time.h
+++ b/ace/OS_NS_time.h
@@ -36,11 +36,6 @@
#endif
#define ACE_EXPORT_MACRO ACE_Export
-# if defined (ACE_HAS_BROKEN_R_ROUTINES)
-# undef ctime_r
-# undef asctime_r
-# endif /* ACE_HAS_BROKEN_R_ROUTINES */
-
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
// Type-safe, and unsigned.
@@ -99,7 +94,8 @@ inline long ace_timezone()
#if !defined (ACE_LACKS_DIFFTIME)
-# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T)
+# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T) \
+ && defined (_MSC_VER)
// The WinCE 6.0 SDK ships with a diff_time that uses __time32_t as type
// not time_t. This resolves in compilation warnings because time_t
// can be 64bit. Disable at this momemt the warning for just this method
@@ -121,7 +117,8 @@ inline double ace_difftime(time_t t1, time_t t0)
{
return difftime (t1, t0);
}
-# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T)
+# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T) \
+ && defined (_MSC_VER)
# pragma warning (pop)
# endif
#endif /* !ACE_LACKS_DIFFTIME */
@@ -194,10 +191,6 @@ namespace ACE_OS
#endif
ACE_TCHAR *ctime_r (const time_t *clock, ACE_TCHAR *buf, int buflen);
-# if defined (difftime)
-# undef difftime
-# endif /* difftime */
-
#if !defined (ACE_LACKS_DIFFTIME)
ACE_NAMESPACE_INLINE_FUNCTION
#else
@@ -266,10 +259,6 @@ namespace ACE_OS
ACE_NAMESPACE_INLINE_FUNCTION
time_t time (time_t *tloc = 0);
-# if defined (timezone)
-# undef timezone
-# endif /* timezone */
-
ACE_NAMESPACE_INLINE_FUNCTION
long timezone (void);
diff --git a/ace/OS_NS_time.inl b/ace/OS_NS_time.inl
index cf4a1b105ff..3fbbb3a7f98 100644
--- a/ace/OS_NS_time.inl
+++ b/ace/OS_NS_time.inl
@@ -97,9 +97,7 @@ ACE_INLINE ACE_TCHAR *
ACE_OS::ctime (const time_t *t)
{
ACE_OS_TRACE ("ACE_OS::ctime");
-#if defined (ACE_HAS_BROKEN_CTIME)
- ACE_OSCALL_RETURN (::asctime (::localtime (t)), char *, 0);
-#elif defined (ACE_HAS_WINCE)
+#if defined (ACE_HAS_WINCE)
static ACE_TCHAR buf [ctime_buf_size];
return ACE_OS::ctime_r (t,
buf,
@@ -124,7 +122,7 @@ ACE_OS::ctime (const time_t *t)
# else
ACE_OSCALL_RETURN (::ctime (t), char *, 0);
# endif /* ACE_USES_WCHAR */
-# endif /* ACE_HAS_BROKEN_CTIME */
+# endif /* ACE_HAS_WINCE */
}
#if !defined (ACE_HAS_WINCE) /* CE version in OS.cpp */
@@ -334,8 +332,9 @@ ACE_OS::gethrtime (const ACE_HRTimer_Op op)
ACE_OS::clock_gettime (
#if defined (ACE_HAS_CLOCK_GETTIME_MONOTONIC)
CLOCK_MONOTONIC,
-#endif /* !ACE_HAS_CLOCK_GETTIME_MONOTONIC */
+#else
CLOCK_REALTIME,
+#endif /* !ACE_HAS_CLOCK_GETTIME_MONOTONIC */
&ts);
// Carefully create the return value to avoid arithmetic overflow
diff --git a/ace/OS_NS_unistd.cpp b/ace/OS_NS_unistd.cpp
index 059d2799dea..8f48a8e3f24 100644
--- a/ace/OS_NS_unistd.cpp
+++ b/ace/OS_NS_unistd.cpp
@@ -19,6 +19,11 @@ ACE_RCSID (ace, OS_NS_unistd, "$Id$")
#include "ace/os_include/sys/os_pstat.h"
#include "ace/os_include/sys/os_sysctl.h"
+#if defined ACE_HAS_VXCPULIB
+# include "vxCpuLib.h"
+# include "cpuset.h"
+#endif /* ACE_HAS_VXCPULIB */
+
#if defined (ACE_NEEDS_FTRUNCATE)
extern "C" int
ftruncate (ACE_HANDLE handle, long len)
@@ -64,6 +69,10 @@ ACE_OS::argv_to_string (int argc,
bool substitute_env_args,
bool quote_args)
{
+#if defined (ACE_LACKS_STRENVDUP)
+ ACE_UNUSED_ARG (substitute_env_args);
+#endif /* ACE_LACKS_STRENVDUP */
+
if (argc <= 0 || argv == 0 || argv[0] == 0)
return 0;
@@ -75,7 +84,7 @@ ACE_OS::argv_to_string (int argc,
for (int i = 0; i < argc; ++i)
{
-#if !defined (ACE_LACKS_ENV)
+#if !defined (ACE_LACKS_STRENVDUP)
// Account for environment variables.
if (substitute_env_args
&& ACE_OS::strchr (argv[i], ACE_TEXT ('$')) != 0)
@@ -98,7 +107,7 @@ ACE_OS::argv_to_string (int argc,
return 0;
}
}
-#endif /* ACE_LACKS_ENV */
+#endif /* ACE_LACKS_STRENVDUP */
// If must quote, we only do it if the arg contains spaces, or
// is empty. Perhaps a check for other c | ord(c) <= 32 is in
// order?
@@ -127,7 +136,8 @@ ACE_OS::argv_to_string (int argc,
++quotes;
}
argv_p[i] =
- (ACE_TCHAR *) ACE_OS::malloc (ACE_OS::strlen (temp) * sizeof (ACE_TCHAR) + quotes + 3);
+ (ACE_TCHAR *) ACE_OS::malloc ((ACE_OS::strlen (temp) + quotes + 3)
+ * sizeof (ACE_TCHAR));
if (argv_p[i] == 0)
{
ACE_OS::free (argv_p);
@@ -378,6 +388,8 @@ ACE_OS::num_processors (void)
SYSTEM_INFO sys_info;
::GetSystemInfo (&sys_info);
return sys_info.dwNumberOfProcessors;
+#elif defined (ACE_HAS_VXCPULIB)
+ return vxCpuConfiguredGet();
#elif defined (_SC_NPROCESSORS_CONF)
return ::sysconf (_SC_NPROCESSORS_CONF);
#elif defined (ACE_HAS_SYSCTL)
@@ -418,6 +430,20 @@ ACE_OS::num_processors_online (void)
mask >>= 1;
}
return active_processors;
+#elif defined (ACE_HAS_VXCPULIB)
+ long num_cpu = 0;
+ cpuset_t cpuset;
+ CPUSET_ZERO (cpuset);
+ cpuset = vxCpuEnabledGet();
+ unsigned int const maxcpu = vxCpuConfiguredGet();
+ for (unsigned int i =0; i < maxcpu; i++)
+ {
+ if (CPUSET_ISSET (cpuset, i))
+ {
+ ++num_cpu;
+ }
+ }
+ return num_cpu;
#elif defined (_SC_NPROCESSORS_ONLN)
return ::sysconf (_SC_NPROCESSORS_ONLN);
#elif defined (ACE_HAS_SYSCTL)
@@ -619,7 +645,7 @@ ACE_OS::pwrite (ACE_HANDLE handle,
0,
&original_high_position,
FILE_CURRENT);
-
+
if (original_low_position == INVALID_SET_FILE_POINTER
&& GetLastError () != NO_ERROR)
{
@@ -652,7 +678,7 @@ ACE_OS::pwrite (ACE_HANDLE handle,
{
return -1;
}
- else
+ else
{
result = ::GetOverlappedResult (handle,
&overlapped,
@@ -668,7 +694,7 @@ ACE_OS::pwrite (ACE_HANDLE handle,
if (::SetFilePointer (handle,
low_offset,
&high_offset,
- FILE_BEGIN) == INVALID_SET_FILE_POINTER
+ FILE_BEGIN) == INVALID_SET_FILE_POINTER
&& ::GetLastError () != NO_ERROR)
{
ACE_OS::set_errno_to_last_error ();
@@ -741,6 +767,10 @@ ACE_OS::string_to_argv (ACE_TCHAR *buf,
ACE_TCHAR **&argv,
bool substitute_env_args)
{
+#if defined (ACE_LACKS_STRENVDUP)
+ ACE_UNUSED_ARG (substitute_env_args);
+#endif /* ACE_LACKS_STRENVDUP */
+
// Reset the number of arguments
argc = 0;
@@ -834,7 +864,7 @@ ACE_OS::string_to_argv (ACE_TCHAR *buf,
*cp = ACE_TEXT ('\0');
-#if !defined (ACE_LACKS_ENV)
+#if !defined (ACE_LACKS_STRENVDUP)
// Check for environment variable substitution here.
if (substitute_env_args) {
argv[i] = ACE_OS::strenvdup (argp);
@@ -848,7 +878,7 @@ ACE_OS::string_to_argv (ACE_TCHAR *buf,
}
}
else
-#endif /* ACE_LACKS_ENV */
+#endif /* ACE_LACKS_STRENVDUP */
{
argv[i] = ACE_OS::strdup (argp);
diff --git a/ace/OS_NS_unistd.h b/ace/OS_NS_unistd.h
index b44188cb45a..dc718d3a40a 100644
--- a/ace/OS_NS_unistd.h
+++ b/ace/OS_NS_unistd.h
@@ -99,6 +99,9 @@ namespace ACE_OS
ACE_HANDLE dup (ACE_HANDLE handle);
ACE_NAMESPACE_INLINE_FUNCTION
+ ACE_HANDLE dup (ACE_HANDLE handle, pid_t pid);
+
+ ACE_NAMESPACE_INLINE_FUNCTION
int dup2 (ACE_HANDLE oldfd,
ACE_HANDLE newfd);
diff --git a/ace/OS_NS_unistd.inl b/ace/OS_NS_unistd.inl
index 7a9f5471ce8..ac103088ed2 100644
--- a/ace/OS_NS_unistd.inl
+++ b/ace/OS_NS_unistd.inl
@@ -23,7 +23,7 @@
# include "ace/os_include/os_unistd.h"
#endif /* ACE_HAS_ACCESS_EMULATION */
-#if defined (ACE_VXWORKS) && (((ACE_VXWORKS >= 0x620) && (ACE_VXWORKS <= 0x660)) || defined (ACE_HAS_VXWORKS551_MEDUSA))
+#if defined (ACE_VXWORKS) && (((ACE_VXWORKS >= 0x620) && (ACE_VXWORKS <= 0x680)) || defined (ACE_HAS_VXWORKS551_MEDUSA))
# if defined (__RTP__)
# include "ace/os_include/os_strings.h"
# else
@@ -49,7 +49,7 @@ ACE_OS::access (const char *path, int amode)
ACE_OS::fclose (handle);
return 0;
}
- return (-1);
+ return -1;
# else
ACE_UNUSED_ARG (path);
ACE_UNUSED_ARG (amode);
@@ -216,6 +216,39 @@ ACE_OS::dup (ACE_HANDLE handle)
#endif /* ACE_LACKS_DUP */
}
+ACE_INLINE ACE_HANDLE
+ACE_OS::dup(ACE_HANDLE handle, pid_t pid)
+{
+ ACE_OS_TRACE("ACE_OS::dup");
+#if defined (ACE_LACKS_DUP)
+ ACE_UNUSED_ARG (handle);
+ ACE_UNUSED_ARG (pid);
+ ACE_NOTSUP_RETURN (ACE_INVALID_HANDLE);
+#elif defined (ACE_WIN32)
+ ACE_HANDLE new_fd;
+ ACE_HANDLE hTargetProcess = ::OpenProcess (PROCESS_DUP_HANDLE,
+ FALSE,
+ pid);
+ if(::DuplicateHandle(::GetCurrentProcess (),
+ handle,
+ hTargetProcess,
+ &new_fd,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS))
+ {
+ ::CloseHandle (hTargetProcess);
+ return new_fd;
+ }
+ else
+ ACE_FAIL_RETURN (ACE_INVALID_HANDLE);
+ /*NOTREACHED*/
+#else
+ ACE_UNUSED_ARG (pid);
+ ACE_OSCALL_RETURN(::dup(handle), ACE_HANDLE, ACE_INVALID_HANDLE);
+#endif /*ACE_WIN32 && !ACE_HAS_WINCE*/
+}
+
ACE_INLINE int
ACE_OS::dup2 (ACE_HANDLE oldhandle, ACE_HANDLE newhandle)
{
@@ -589,9 +622,13 @@ ACE_OS::isatty (ACE_HANDLE handle)
ACE_UNUSED_ARG (handle);
return 0;
#else
- int fd = ::_open_osfhandle (intptr_t (handle), 0);
- int status = ::_isatty (fd);
- ::_close (fd);
+ int const fd = ::_open_osfhandle (intptr_t (handle), 0);
+ int status = 0;
+ if (fd != -1)
+ {
+ status = ::_isatty (fd);
+ ::_close (fd);
+ }
return status;
#endif /* ACE_LACKS_ISATTY */
}
diff --git a/ace/OS_NS_wchar.cpp b/ace/OS_NS_wchar.cpp
index 194e4a9a1da..2563abb930f 100644
--- a/ace/OS_NS_wchar.cpp
+++ b/ace/OS_NS_wchar.cpp
@@ -84,7 +84,7 @@ ACE_OS::wcscmp_emulation (const ACE_WCHAR_T *string1,
{
while (*string1 == *string2++)
if (*string1++ == 0)
- return (0);
+ return 0;
return (*string1 - *--string2);
}
#endif /* !ACE_HAS_WCHAR || ACE_LACKS_WCSCMP */
@@ -157,7 +157,7 @@ ACE_OS::wcsicmp_emulation (const wchar_t *s, const wchar_t *t)
size_t
ACE_OS::wcslen_emulation (const ACE_WCHAR_T *string)
{
- const ACE_WCHAR_T *s;
+ const ACE_WCHAR_T *s = 0;
for (s = string; *s; ++s)
continue;
@@ -178,14 +178,14 @@ ACE_OS::wcsncat_emulation (ACE_WCHAR_T *destination,
const ACE_WCHAR_T *s = source;
while (*d != 0)
- d++;
+ ++d;
do
{
if ((*d = *s++) == 0)
break;
- d++;
+ ++d;
} while (--count != 0);
*d = 0;
@@ -285,7 +285,7 @@ wchar_t *
ACE_OS::wcspbrk_emulation (const wchar_t *string,
const wchar_t *charset)
{
- const wchar_t *scanp;
+ const wchar_t *scanp = 0;
int c, sc;
while ((c = *string++) != 0)
@@ -335,7 +335,7 @@ ACE_OS::wcsspn_emulation (const wchar_t *string,
const wchar_t *charset)
{
const wchar_t *p = string;
- const wchar_t *spanp;
+ const wchar_t *spanp = 0;
wchar_t c, sc;
// Skip any characters in charset, excluding the terminating \0.
diff --git a/ace/OS_QoS.cpp b/ace/OS_QoS.cpp
index 0b2c23f11c6..4798ef4c20a 100644
--- a/ace/OS_QoS.cpp
+++ b/ace/OS_QoS.cpp
@@ -363,7 +363,7 @@ void
ACE_QoS::provider_specific (const iovec &ps)
{
#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
- this->ProviderSpecific = (WSABUF) ((iovec &) ps);
+ this->ProviderSpecific = (WSABUF) (const_cast <iovec &> (ps));
#else
ACE_UNUSED_ARG (ps);
#endif /* ACE_HAS_WINSOCK2 */
diff --git a/ace/OS_Thread_Adapter.h b/ace/OS_Thread_Adapter.h
index 44576daff90..66f3c8e4c3d 100644
--- a/ace/OS_Thread_Adapter.h
+++ b/ace/OS_Thread_Adapter.h
@@ -63,7 +63,6 @@ protected:
/// Ensure that this object is allocated on the heap.
~ACE_OS_Thread_Adapter (void);
-
};
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_main.cpp b/ace/OS_main.cpp
index 47c6992339a..e12f70ab46d 100644
--- a/ace/OS_main.cpp
+++ b/ace/OS_main.cpp
@@ -45,7 +45,8 @@ int ace_os_main_i (int argc, char *argv[]) /* user's entry point, e.g., main */
return vx_ace_main_i_ptr ? (*vx_ace_main_i_ptr) (argc, argv) : (-1); /* what the user calls "main" */
}
# else /* !ACE_VXWORKS && !__RTP__ */
-int ace_os_main_i (int argc, char *argv[]) /* user's entry point, e.g., main */
+ACE_Export int
+ace_os_main_i (int argc, char *argv[]) /* user's entry point, e.g., main */
{
ACE_MAIN_OBJECT_MANAGER
return ace_main_i (argc, argv); /* what the user calls "main" */
@@ -102,11 +103,16 @@ ACE_END_VERSIONED_NAMESPACE_DECL
// CE only gets a command line string; no argv. So we need to convert it
// when the main entrypoint expects argc/argv. ACE_ARGV supports this.
# include "ace/OS_NS_string.h"
+# include "ace/OS_NS_ctype.h"
# include "ace/ACE.h"
# include "ace/ARGV.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+ACE_Main_Base::~ACE_Main_Base ()
+{
+}
+
int ACE_Main_Base::run (HINSTANCE,
HINSTANCE,
LPWSTR lpCmdLine,
@@ -116,8 +122,18 @@ int ACE_Main_Base::run (HINSTANCE,
ACE_TCHAR msg_file [MAXPATHLEN];
if (ACE_TEXT_GetModuleFileName (0, msg_file, MAXPATHLEN))
{
- ACE_OS::strcpy (cmdline, msg_file);
- ACE_OS::strcat (cmdline, ACE_TEXT (" "));
+ bool quote = false;
+ for (size_t i(0); !quote && msg_file[i]; ++i)
+ {
+ if (ACE_OS::ace_isspace (msg_file[i])) quote = true;
+ }
+ ACE_TCHAR *cmd_iter = cmdline;
+ if (quote)
+ {
+ *cmd_iter++ = ACE_TEXT ('"');
+ }
+ ACE_OS::strcpy (cmd_iter, msg_file);
+ ACE_OS::strcat (cmd_iter, quote ? ACE_TEXT ("\" ") : ACE_TEXT (" "));
}
else
{
diff --git a/ace/OS_main.h b/ace/OS_main.h
index ec7a43945dd..5749d471198 100644
--- a/ace/OS_main.h
+++ b/ace/OS_main.h
@@ -141,14 +141,14 @@ ace_main_i
# define main \
ACE_MAIN (int, char *[]); /* forward decl to gobble up the 'int' if there is one */ \
ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
-int ace_os_main_i (int, char *[]); \
+ACE_Export int ace_os_main_i (int, char *[]); \
ACE_END_VERSIONED_NAMESPACE_DECL \
int \
ACE_MAIN (int argc, char *argv[]) /* user's entry point, e.g., main */ \
{ \
return ace_os_main_i (argc, argv); /* what the user calls "main" */ \
} \
-int \
+ACE_Proper_Export_Flag int \
ace_main_i
# elif !defined (ACE_HAS_WINCE)
@@ -238,6 +238,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
class ACE_Export ACE_Main_Base
{
public:
+ virtual ~ACE_Main_Base (void);
int run (HINSTANCE, HINSTANCE, LPWSTR, int);
virtual int run_i (int, ACE_TCHAR *[]) = 0;
};
diff --git a/ace/Object_Manager.cpp b/ace/Object_Manager.cpp
index f6986c58c6e..525b426f265 100644
--- a/ace/Object_Manager.cpp
+++ b/ace/Object_Manager.cpp
@@ -294,7 +294,7 @@ ACE_Object_Manager::init (void)
// NOTE this only works for intel based windows builds.
# ifdef _M_IX86
- HMODULE hKernel32 = LoadLibrary (ACE_TEXT ("kernel32.dll"));
+ HMODULE hKernel32 = ACE_TEXT_LoadLibrary (ACE_TEXT ("kernel32.dll"));
if (hKernel32)
{
void *pOrgEntry =
@@ -444,7 +444,8 @@ ACE_Object_Manager::instance (void)
int
ACE_Object_Manager::at_exit_i (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param)
+ void *param,
+ const char* name)
{
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon,
*instance_->internal_lock_, -1));
@@ -462,7 +463,7 @@ ACE_Object_Manager::at_exit_i (void *object,
return -1;
}
- return exit_info_.at_exit_i (object, cleanup_hook, param);
+ return exit_info_.at_exit_i (object, cleanup_hook, param, name);
}
int
@@ -556,7 +557,9 @@ ACE_Object_Manager::get_singleton_lock (ACE_Thread_Mutex *&lock)
// termination. This call will cause us to grab the
// ACE_Object_Manager::instance ()->internal_lock_
// again; that's why it is a recursive lock.
- ACE_Object_Manager::at_exit (lock_adapter);
+ ACE_Object_Manager::at_exit (lock_adapter,
+ 0,
+ typeid (*lock_adapter).name ());
}
}
}
diff --git a/ace/Object_Manager.h b/ace/Object_Manager.h
index bb2d4f83b50..1e7a5845b74 100644
--- a/ace/Object_Manager.h
+++ b/ace/Object_Manager.h
@@ -237,13 +237,13 @@ public:
* Register an ACE_Cleanup object for cleanup at process
* termination. The object is deleted via the
* <ace_cleanup_destroyer>. If you need more flexiblity, see the
- * <other at_exit> method below. For OS's that do not have
+ * @c other at_exit method below. For OS's that do not have
* processes, cleanup takes place at the end of <main>. Returns 0
* on success. On failure, returns -1 and sets errno to: EAGAIN if
* shutting down, ENOMEM if insufficient virtual memory, or EEXIST
* if the object (or array) had already been registered.
*/
- static int at_exit (ACE_Cleanup *object, void *param = 0);
+ static int at_exit (ACE_Cleanup *object, void *param = 0, const char* name = 0);
#if defined (ACE_HAS_TSS_EMULATION)
static int init_tss (void);
@@ -266,7 +266,8 @@ public:
*/
static int at_exit (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param);
+ void *param,
+ const char* name = 0);
static int remove_at_exit (void *object);
@@ -275,7 +276,8 @@ public:
/// when the current thread exits instead of when the program terminates.
static int at_thread_exit (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param);
+ void *param,
+ const char* name);
#endif /* 0 */
/// Unique identifiers for preallocated objects. Please see
@@ -345,7 +347,7 @@ private:
/// Register an object or array for deletion at program termination.
/// See description of static version above for return values.
- int at_exit_i (void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param);
+ int at_exit_i (void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param, const char* name);
/// Remove an object for deletion at program termination.
/// See description of static version above for return values.
diff --git a/ace/Object_Manager.inl b/ace/Object_Manager.inl
index 38f485a90d9..bcff772f605 100644
--- a/ace/Object_Manager.inl
+++ b/ace/Object_Manager.inl
@@ -7,24 +7,28 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE
int
ACE_Object_Manager::at_exit (ACE_Cleanup *object,
- void *param)
+ void *param,
+ const char* name)
{
return ACE_Object_Manager::instance ()->at_exit_i (
object,
(ACE_CLEANUP_FUNC) ACE_CLEANUP_DESTROYER_NAME,
- param);
+ param,
+ name);
}
ACE_INLINE
int
ACE_Object_Manager::at_exit (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
- void *param)
+ void *param,
+ const char* name)
{
return ACE_Object_Manager::instance ()->at_exit_i (
object,
cleanup_hook,
- param);
+ param,
+ name);
}
ACE_INLINE
diff --git a/ace/Object_Manager_Base.cpp b/ace/Object_Manager_Base.cpp
index 4197d0d114d..8740359e1b4 100644
--- a/ace/Object_Manager_Base.cpp
+++ b/ace/Object_Manager_Base.cpp
@@ -394,11 +394,12 @@ ACE_OS_Object_Manager::fini (void)
int ace_exit_hook_marker = 0;
int
-ACE_OS_Object_Manager::at_exit (ACE_EXIT_HOOK func)
+ACE_OS_Object_Manager::at_exit (ACE_EXIT_HOOK func, const char* name)
{
return exit_info_.at_exit_i (&ace_exit_hook_marker,
reinterpret_cast <ACE_CLEANUP_FUNC> (func),
- 0);
+ 0,
+ name);
}
void
diff --git a/ace/Object_Manager_Base.h b/ace/Object_Manager_Base.h
index 77e8c6802c0..6a685f41d06 100644
--- a/ace/Object_Manager_Base.h
+++ b/ace/Object_Manager_Base.h
@@ -205,7 +205,7 @@ public:
static ACE_OS_Object_Manager *instance (void);
/// For <ACE_OS::atexit> support.
- int at_exit (ACE_EXIT_HOOK func);
+ int at_exit (ACE_EXIT_HOOK func, const char* name = 0);
//private:
/// Singleton instance pointer.
diff --git a/ace/Obstack_T.cpp b/ace/Obstack_T.cpp
index ecce0636b2d..dc1d0acfc6c 100644
--- a/ace/Obstack_T.cpp
+++ b/ace/Obstack_T.cpp
@@ -19,11 +19,11 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_ALLOC_HOOK_DEFINE(ACE_Obstack_T)
-template <class CHAR> void
-ACE_Obstack_T<CHAR>::dump (void) const
+template <class ACE_CHAR_T> void
+ACE_Obstack_T<ACE_CHAR_T>::dump (void) const
{
#if defined (ACE_HAS_DUMP)
- ACE_TRACE ("ACE_Obstack_T<CHAR>::dump");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("size_ = %d\n"), this->size_));
@@ -33,13 +33,13 @@ ACE_Obstack_T<CHAR>::dump (void) const
#endif /* ACE_HAS_DUMP */
}
-template <class CHAR> int
-ACE_Obstack_T<CHAR>::request (size_t len)
+template <class ACE_CHAR_T> int
+ACE_Obstack_T<ACE_CHAR_T>::request (size_t len)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::request");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::request");
// normalize the length.
- len *= sizeof (CHAR);
+ len *= sizeof (ACE_CHAR_T);
// Check to see if there's room for the requested length, including
// any part of an existing string, if any.
@@ -89,15 +89,15 @@ ACE_Obstack_T<CHAR>::request (size_t len)
return 0;
}
-template <class CHAR> CHAR *
-ACE_Obstack_T<CHAR>::grow (CHAR c)
+template <class ACE_CHAR_T> ACE_CHAR_T *
+ACE_Obstack_T<ACE_CHAR_T>::grow (ACE_CHAR_T c)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::grow");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::grow");
if (this->request (1) == 0)
{
- CHAR *retv = reinterpret_cast<CHAR *> (this->curr_->cur_);
- this->curr_->cur_ += sizeof (CHAR);
+ ACE_CHAR_T *retv = reinterpret_cast<ACE_CHAR_T *> (this->curr_->cur_);
+ this->curr_->cur_ += sizeof (ACE_CHAR_T);
*retv = c;
return retv;
}
@@ -105,10 +105,10 @@ ACE_Obstack_T<CHAR>::grow (CHAR c)
return 0;
}
-template <class CHAR> ACE_Obchunk *
-ACE_Obstack_T<CHAR>::new_chunk (void)
+template <class ACE_CHAR_T> ACE_Obchunk *
+ACE_Obstack_T<ACE_CHAR_T>::new_chunk (void)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::new_chunk");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::new_chunk");
ACE_Obchunk *temp = 0;
@@ -120,15 +120,15 @@ ACE_Obstack_T<CHAR>::new_chunk (void)
return temp;
}
-template <class CHAR>
-ACE_Obstack_T<CHAR>::ACE_Obstack_T (size_t size,
+template <class ACE_CHAR_T>
+ACE_Obstack_T<ACE_CHAR_T>::ACE_Obstack_T (size_t size,
ACE_Allocator *allocator_strategy)
: allocator_strategy_ (allocator_strategy),
size_ (size),
head_ (0),
curr_ (0)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::ACE_Obstack");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::ACE_Obstack");
if (this->allocator_strategy_ == 0)
ACE_ALLOCATOR (this->allocator_strategy_,
@@ -138,10 +138,10 @@ ACE_Obstack_T<CHAR>::ACE_Obstack_T (size_t size,
this->curr_ = this->head_;
}
-template <class CHAR>
-ACE_Obstack_T<CHAR>::~ACE_Obstack_T (void)
+template <class ACE_CHAR_T>
+ACE_Obstack_T<ACE_CHAR_T>::~ACE_Obstack_T (void)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::~ACE_Obstack_T");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::~ACE_Obstack_T");
ACE_Obchunk *temp = this->head_;
@@ -154,23 +154,23 @@ ACE_Obstack_T<CHAR>::~ACE_Obstack_T (void)
}
}
-template <class CHAR> CHAR *
-ACE_Obstack_T<CHAR>::copy (const CHAR *s,
+template <class ACE_CHAR_T> ACE_CHAR_T *
+ACE_Obstack_T<ACE_CHAR_T>::copy (const ACE_CHAR_T *s,
size_t len)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::copy");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::copy");
if (this->request (len) != 0)
return 0;
- size_t tsize = len * sizeof (CHAR);
+ size_t tsize = len * sizeof (ACE_CHAR_T);
ACE_OS::memcpy (this->curr_->cur_, s, tsize);
this->curr_->cur_ += tsize ;
return this->freeze ();
}
-template <class CHAR> void
-ACE_Obstack_T<CHAR>::unwind (void* obj)
+template <class ACE_CHAR_T> void
+ACE_Obstack_T<ACE_CHAR_T>::unwind (void* obj)
{
if (obj >= this->curr_->contents_ && obj < this->curr_->end_)
this->curr_->block_ = this->curr_->cur_ = reinterpret_cast<char*> (obj);
@@ -178,8 +178,8 @@ ACE_Obstack_T<CHAR>::unwind (void* obj)
this->unwind_i (obj);
}
-template <class CHAR> void
-ACE_Obstack_T<CHAR>::unwind_i (void* obj)
+template <class ACE_CHAR_T> void
+ACE_Obstack_T<ACE_CHAR_T>::unwind_i (void* obj)
{
ACE_Obchunk* curr = this->head_;
while (curr != 0 && (curr->contents_ > obj || curr->end_ < obj))
@@ -194,29 +194,29 @@ ACE_Obstack_T<CHAR>::unwind_i (void* obj)
ACE_TEXT ("Deletion of non-existent object.\n%a")));
}
-template <class CHAR> void
-ACE_Obstack_T<CHAR>::release (void)
+template <class ACE_CHAR_T> void
+ACE_Obstack_T<ACE_CHAR_T>::release (void)
{
- ACE_TRACE ("ACE_Obstack_T<CHAR>::release");
+ ACE_TRACE ("ACE_Obstack_T<ACE_CHAR_T>::release");
this->curr_ = this->head_;
this->curr_->block_ = this->curr_->cur_ = this->curr_->contents_;
}
-template <class CHAR> void
-ACE_Obstack_T<CHAR>::grow_fast (CHAR c)
+template <class ACE_CHAR_T> void
+ACE_Obstack_T<ACE_CHAR_T>::grow_fast (ACE_CHAR_T c)
{
- * (reinterpret_cast<CHAR *> (this->curr_->cur_)) = c;
- this->curr_->cur_ += sizeof (CHAR);
+ * (reinterpret_cast<ACE_CHAR_T *> (this->curr_->cur_)) = c;
+ this->curr_->cur_ += sizeof (ACE_CHAR_T);
}
-template <class CHAR> CHAR *
-ACE_Obstack_T<CHAR>::freeze (void)
+template <class ACE_CHAR_T> ACE_CHAR_T *
+ACE_Obstack_T<ACE_CHAR_T>::freeze (void)
{
- CHAR *retv = reinterpret_cast<CHAR *> (this->curr_->block_);
- * (reinterpret_cast<CHAR *> (this->curr_->cur_)) = 0;
+ ACE_CHAR_T *retv = reinterpret_cast<ACE_CHAR_T *> (this->curr_->block_);
+ * (reinterpret_cast<ACE_CHAR_T *> (this->curr_->cur_)) = 0;
- this->curr_->cur_ += sizeof (CHAR);
+ this->curr_->cur_ += sizeof (ACE_CHAR_T);
this->curr_->block_ = this->curr_->cur_;
return retv;
}
diff --git a/ace/Obstack_T.h b/ace/Obstack_T.h
index 3e24ab31925..ed1d1d20259 100644
--- a/ace/Obstack_T.h
+++ b/ace/Obstack_T.h
@@ -34,12 +34,12 @@ class ACE_Allocator;
* The implementation is similar to the GNU obstack utility,
* which is used extensively in the GCC compiler.
*/
-template <class CHAR>
+template <class ACE_CHAR_T>
class ACE_Obstack_T
{
public:
// = Initialization and termination methods.
- ACE_Obstack_T (size_t size = (4096 * sizeof (CHAR)) - sizeof (ACE_Obchunk),
+ ACE_Obstack_T (size_t size = (4096 * sizeof (ACE_CHAR_T)) - sizeof (ACE_Obchunk),
ACE_Allocator *allocator_strategy = 0);
~ACE_Obstack_T (void);
@@ -47,32 +47,32 @@ public:
/// a new string. Return -1 if fail, 0 if success.
int request (size_t len);
- /// Inserting a new CHAR \a c into the current building
+ /// Inserting a new ACE_CHAR_T \a c into the current building
/// block without freezing (null terminating) the block.
/// This function will create new chunk by checking the
/// boundary of current Obchunk. Return
/// the location \a c gets inserted to, or 0 if error.
- CHAR *grow (CHAR c);
+ ACE_CHAR_T *grow (ACE_CHAR_T c);
- /// Inserting a new CHAR \a c into the current building
+ /// Inserting a new ACE_CHAR_T \a c into the current building
/// block without freezing (null terminating) the block and without
/// checking for out-of-bound error.
- void grow_fast (CHAR c);
+ void grow_fast (ACE_CHAR_T c);
/// Freeze the current building block by null terminating it.
/// Return the starting address of the current building block, 0
/// if error occurs.
- CHAR *freeze (void);
+ ACE_CHAR_T *freeze (void);
/// Copy the data into the current Obchunk and freeze the current
/// block. Return the starting address of the current building
/// block, 0 if error occurs. @a len specify the string length,
/// not the actually data size.
- CHAR *copy (const CHAR *data,
+ ACE_CHAR_T *copy (const ACE_CHAR_T *data,
size_t len);
/// Return the maximum @a length or @a size of a string that can be put
- /// into this Obstack. @a size = @a length * sizeof (CHAR).
+ /// into this Obstack. @a size = @a length * sizeof (ACE_CHAR_T).
///
/// @deprecated No need to use this function as you can put objects of
/// arbitrary lengths into the obstack now.
diff --git a/ace/Obstack_T.inl b/ace/Obstack_T.inl
index 1eddbdcf4e6..411b6aea1e0 100644
--- a/ace/Obstack_T.inl
+++ b/ace/Obstack_T.inl
@@ -4,14 +4,14 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <class CHAR> ACE_INLINE size_t
-ACE_Obstack_T<CHAR>::length () const
+template <class ACE_CHAR_T> ACE_INLINE size_t
+ACE_Obstack_T<ACE_CHAR_T>::length () const
{
- return this->size_ / sizeof (CHAR);
+ return this->size_ / sizeof (ACE_CHAR_T);
}
-template <class CHAR> ACE_INLINE size_t
-ACE_Obstack_T<CHAR>::size () const
+template <class ACE_CHAR_T> ACE_INLINE size_t
+ACE_Obstack_T<ACE_CHAR_T>::size () const
{
return this->size_;
}
diff --git a/ace/POSIX_Asynch_IO.cpp b/ace/POSIX_Asynch_IO.cpp
index 2bb9155fcf8..5d354093d69 100644
--- a/ace/POSIX_Asynch_IO.cpp
+++ b/ace/POSIX_Asynch_IO.cpp
@@ -815,7 +815,7 @@ ACE_POSIX_Asynch_Accept::open (const ACE_Handler::Proxy_Ptr &handler_proxy,
if (this->flg_open_)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("%N:%l:ACE_POSIX_Asynch_Accept::open:")
- ACE_TEXT("acceptor already open \n")),
+ ACE_TEXT("acceptor already open\n")),
-1);
if (-1 == ACE_POSIX_Asynch_Operation::open (handler_proxy,
@@ -2075,8 +2075,8 @@ ACE_POSIX_Asynch_Transmit_File::transmit_file (ACE_HANDLE file,
if (file_size == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "Error:%N:%l:%p\n",
- "POSIX_Asynch_Transmit_File:filesize failed"),
+ ACE_TEXT("Error:%N:%l:%p\n"),
+ ACE_TEXT("POSIX_Asynch_Transmit_File:filesize failed")),
-1);
if (bytes_to_write == 0)
@@ -2084,8 +2084,8 @@ ACE_POSIX_Asynch_Transmit_File::transmit_file (ACE_HANDLE file,
if (offset > (size_t) file_size)
ACE_ERROR_RETURN ((LM_ERROR,
- "Error:%p\n",
- "Asynch_Transmit_File:File size is less than offset"),
+ ACE_TEXT("Error:%p\n"),
+ ACE_TEXT("Asynch_Transmit_File:File size is less than offset")),
-1);
if (offset != 0)
diff --git a/ace/POSIX_CB_Proactor.cpp b/ace/POSIX_CB_Proactor.cpp
index 3ce4218090a..62c624bdb8f 100644
--- a/ace/POSIX_CB_Proactor.cpp
+++ b/ace/POSIX_CB_Proactor.cpp
@@ -135,9 +135,9 @@ ACE_POSIX_CB_Proactor::handle_events_i (u_long milli_seconds)
if (lerror != ETIME && // timeout
lerror != EINTR ) // interrupted system call
ACE_ERROR ((LM_ERROR,
- "%N:%l:(%P | %t)::%p\n",
- "ACE_POSIX_CB_Proactor::handle_events:"
- "semaphore acquire failed"
+ ACE_TEXT("%N:%l:(%P | %t)::%p\n"),
+ ACE_TEXT("ACE_POSIX_CB_Proactor::handle_events:")
+ ACE_TEXT("semaphore acquire failed")
));
}
diff --git a/ace/POSIX_Proactor.cpp b/ace/POSIX_Proactor.cpp
index 67443daab77..9a43ff8d814 100644
--- a/ace/POSIX_Proactor.cpp
+++ b/ace/POSIX_Proactor.cpp
@@ -685,9 +685,9 @@ ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager (ACE_POSIX_AIOCB_Pr
0) // Proactor
== -1)
ACE_ERROR ((LM_ERROR,
- "%N:%l:%p\n",
- "ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager:"
- "Open on Read Stream failed"));
+ ACE_TEXT("%N:%l:%p\n"),
+ ACE_TEXT("ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager:")
+ ACE_TEXT("Open on Read Stream failed")));
// Issue an asynch_read on the read_stream of the notify pipe.
if (this->read_stream_.read (this->message_block_,
@@ -696,9 +696,9 @@ ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager (ACE_POSIX_AIOCB_Pr
0) // Priority
== -1)
ACE_ERROR ((LM_ERROR,
- "%N:%l:%p\n",
- "ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager:"
- "Read from pipe failed"));
+ ACE_TEXT("%N:%l:%p\n"),
+ ACE_TEXT("ACE_AIOCB_Notify_Pipe_Manager::ACE_AIOCB_Notify_Pipe_Manager:")
+ ACE_TEXT("Read from pipe failed")));
}
ACE_AIOCB_Notify_Pipe_Manager::~ACE_AIOCB_Notify_Pipe_Manager (void)
@@ -1126,8 +1126,8 @@ ACE_POSIX_Asynch_Result * ACE_POSIX_AIOCB_Proactor::getq_result (void)
// don't waste time if queue is empty - it is normal
// or check queue size before dequeue_head
// ACE_ERROR_RETURN ((LM_ERROR,
-// "%N:%l:(%P | %t):%p\n",
-// "ACE_POSIX_AIOCB_Proactor::getq_result failed"),
+// ACE_TEXT("%N:%l:(%P | %t):%p\n"),
+// ACE_TEXT("ACE_POSIX_AIOCB_Proactor::getq_result failed")),
// 0);
return result;
@@ -1239,11 +1239,14 @@ ACE_POSIX_AIOCB_Proactor::get_result_status (ACE_POSIX_Asynch_Result *asynch_res
transfer_count = 0;
// Get the error status of the aio_ operation.
- error_status = aio_error (asynch_result);
+ // The following aio_ptr anathema is required to work around a bug in an over-aggressive
+ // optimizer in GCC 4.1.2.
+ aiocb *aio_ptr (asynch_result);
+ error_status = aio_error (aio_ptr);
if (error_status == EINPROGRESS)
return 0; // not completed
- ssize_t op_return = aio_return (asynch_result);
+ ssize_t op_return = aio_return (aio_ptr);
if (op_return > 0)
transfer_count = static_cast<size_t> (op_return);
// else transfer_count is already 0, error_status reports the error.
@@ -1425,16 +1428,18 @@ ACE_POSIX_AIOCB_Proactor::start_aio_i (ACE_POSIX_Asynch_Result *result)
const ACE_TCHAR *ptype = 0;
// Start IO
-
+ // The following aio_ptr anathema is required to work around a bug in
+ // the optimizer for GCC 4.1.2
+ aiocb * aio_ptr (result);
switch (result->aio_lio_opcode )
{
case LIO_READ :
ptype = ACE_TEXT ("read ");
- ret_val = aio_read (result);
+ ret_val = aio_read (aio_ptr);
break;
case LIO_WRITE :
ptype = ACE_TEXT ("write");
- ret_val = aio_write (result);
+ ret_val = aio_write (aio_ptr);
break;
default:
ptype = ACE_TEXT ("?????");
@@ -1656,8 +1661,8 @@ ACE_POSIX_SIG_Proactor::ACE_POSIX_SIG_Proactor (const sigset_t signal_set,
// Empty the signal set first.
if (sigemptyset (&this->RT_completion_signals_) == -1)
ACE_ERROR ((LM_ERROR,
- "Error:(%P | %t):%p\n",
- "sigemptyset failed"));
+ ACE_TEXT("Error:(%P | %t):%p\n"),
+ ACE_TEXT("sigemptyset failed")));
// For each signal number present in the <signal_set>, add it to
// the signal set we use, and also set up its process signal action
@@ -1669,9 +1674,9 @@ ACE_POSIX_SIG_Proactor::ACE_POSIX_SIG_Proactor (const sigset_t signal_set,
si);
if (member == -1)
ACE_ERROR ((LM_ERROR,
- "%N:%l:(%P | %t)::%p\n",
- "ACE_POSIX_SIG_Proactor::ACE_POSIX_SIG_Proactor:"
- "sigismember failed"));
+ ACE_TEXT("%N:%l:(%P | %t)::%p\n"),
+ ACE_TEXT("ACE_POSIX_SIG_Proactor::ACE_POSIX_SIG_Proactor:")
+ ACE_TEXT("sigismember failed")));
else if (member == 1)
{
sigaddset (&this->RT_completion_signals_, si);
@@ -1724,8 +1729,8 @@ ACE_POSIX_SIG_Proactor::notify_completion (int sig_num)
pid_t const pid = ACE_OS::getpid ();
if (pid == (pid_t) -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "Error:%N:%l(%P | %t):%p",
- "<getpid> failed"),
+ ACE_TEXT("Error:%N:%l(%P | %t):%p"),
+ ACE_TEXT("<getpid> failed")),
-1);
// Set the signal information.
@@ -1742,8 +1747,8 @@ ACE_POSIX_SIG_Proactor::notify_completion (int sig_num)
if (errno != EAGAIN)
ACE_ERROR_RETURN ((LM_ERROR,
- "Error:%N:%l:(%P | %t):%p\n",
- "<sigqueue> failed"),
+ ACE_TEXT("Error:%N:%l:(%P | %t):%p\n"),
+ ACE_TEXT("<sigqueue> failed")),
-1);
return -1;
}
@@ -1834,8 +1839,8 @@ ACE_POSIX_SIG_Proactor::setup_signal_handler (int signal_number) const
0);
if (sigaction_return == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "Error:%p\n",
- "Proactor couldnt do sigaction for the RT SIGNAL"),
+ ACE_TEXT("Error:%p\n"),
+ ACE_TEXT("Proactor couldnt do sigaction for the RT SIGNAL")),
-1);
#else
ACE_UNUSED_ARG(signal_number);
diff --git a/ace/Pagefile_Memory_Pool.cpp b/ace/Pagefile_Memory_Pool.cpp
index 9fa2a5f9302..1651bd2777f 100644
--- a/ace/Pagefile_Memory_Pool.cpp
+++ b/ace/Pagefile_Memory_Pool.cpp
@@ -95,6 +95,10 @@ ACE_Pagefile_Memory_Pool::ACE_Pagefile_Memory_Pool (const ACE_TCHAR *backing_sto
ACE_TEXT ("_"));
}
+ACE_Pagefile_Memory_Pool::~ACE_Pagefile_Memory_Pool (void)
+{
+}
+
void *
ACE_Pagefile_Memory_Pool::acquire (size_t nbytes,
size_t &rounded_bytes)
diff --git a/ace/Pagefile_Memory_Pool.h b/ace/Pagefile_Memory_Pool.h
index a82e5706c3f..76951771a73 100644
--- a/ace/Pagefile_Memory_Pool.h
+++ b/ace/Pagefile_Memory_Pool.h
@@ -67,6 +67,9 @@ public:
ACE_Pagefile_Memory_Pool (const ACE_TCHAR *backing_store_name = 0,
const OPTIONS *options = 0);
+ /// Destructor
+ virtual ~ACE_Pagefile_Memory_Pool (void);
+
/// Ask system for initial chunk of shared memory.
void *init_acquire (size_t nbytes,
size_t &rounded_bytes,
diff --git a/ace/Parse_Node.cpp b/ace/Parse_Node.cpp
index bcd9cb7229e..6ede4e2bb89 100644
--- a/ace/Parse_Node.cpp
+++ b/ace/Parse_Node.cpp
@@ -11,6 +11,8 @@
#include "ace/OS_NS_string.h"
#include "ace/ARGV.h"
+#include <list>
+
ACE_RCSID (ace,
Parse_Node,
"$Id$")
@@ -45,10 +47,21 @@ ACE_Stream_Node::apply (ACE_Service_Gestalt *config, int &yyerrno)
ACE_Stream_Type *st =
dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (sst->type ()));
- for (const ACE_Static_Node *module = dynamic_cast<const ACE_Static_Node*> (this->mods_);
+ // The modules were linked as popped off the yacc stack, so they're in
+ // reverse order from the way they should be pushed onto the stream.
+ // So traverse mods_ and and reverse the list, then iterate over it to push
+ // the modules in the stream in the correct order.
+ std::list<const ACE_Static_Node *> mod_list;
+ const ACE_Static_Node *module;
+ for (module = dynamic_cast<const ACE_Static_Node*> (this->mods_);
module != 0;
module = dynamic_cast<ACE_Static_Node*> (module->link()))
+ mod_list.push_front (module);
+
+ std::list<const ACE_Static_Node *>::const_iterator iter;
+ for (iter = mod_list.begin (); iter != mod_list.end (); ++iter)
{
+ module = *iter;
ACE_ARGV args (module->parameters ());
const ACE_Service_Type *mst = module->record (config);
@@ -64,6 +77,7 @@ ACE_Stream_Node::apply (ACE_Service_Gestalt *config, int &yyerrno)
module->name ()));
}
++yyerrno;
+ continue; // Don't try anything else with this one
}
ACE_Module_Type const * const mt1 =
diff --git a/ace/Pipe.cpp b/ace/Pipe.cpp
index aa87ab740eb..dbc5024cb2a 100644
--- a/ace/Pipe.cpp
+++ b/ace/Pipe.cpp
@@ -29,8 +29,7 @@ ACE_Pipe::dump (void) const
ACE_TRACE ("ACE_Pipe::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("handles_[0] = %d"), this->handles_[0]));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nhandles_[1] = %d"), this->handles_[1]));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nhandles_[1] = %d\n"), this->handles_[1]));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
@@ -40,7 +39,7 @@ ACE_Pipe::open (int buffer_size)
{
ACE_TRACE ("ACE_Pipe::open");
-#if defined (ACE_LACKS_SOCKETPAIR) || defined (__Lynx__)
+#if defined (ACE_LACKS_SOCKETPAIR)
ACE_INET_Addr my_addr;
ACE_SOCK_Acceptor acceptor;
ACE_SOCK_Connector connector;
@@ -97,9 +96,10 @@ ACE_Pipe::open (int buffer_size)
}
# endif /* ! ACE_LACKS_TCP_NODELAY */
-# if defined (ACE_LACKS_SOCKET_BUFSIZ)
+# if defined (ACE_LACKS_SO_RCVBUF) && defined (ACE_LACKS_SO_SNDBUF)
ACE_UNUSED_ARG (buffer_size);
-# else /* ! ACE_LACKS_SOCKET_BUFSIZ */
+# endif
+# if !defined (ACE_LACKS_SO_RCVBUF)
if (reader.set_option (SOL_SOCKET,
SO_RCVBUF,
reinterpret_cast <void *> (&buffer_size),
@@ -109,16 +109,18 @@ ACE_Pipe::open (int buffer_size)
this->close ();
return -1;
}
- else if (writer.set_option (SOL_SOCKET,
- SO_SNDBUF,
- reinterpret_cast <void *> (&buffer_size),
- sizeof (buffer_size)) == -1
+# endif /* !ACE_LACKS_SO_RCVBUF */
+# if !defined (ACE_LACKS_SO_SNDBUF)
+ if (writer.set_option (SOL_SOCKET,
+ SO_SNDBUF,
+ reinterpret_cast <void *> (&buffer_size),
+ sizeof (buffer_size)) == -1
&& errno != ENOTSUP)
{
this->close ();
return -1;
}
-# endif /* ! ACE_LACKS_SOCKET_BUFSIZ */
+# endif /* !ACE_LACKS_SO_SNDBUF */
#elif defined (ACE_HAS_STREAM_PIPES) || defined (__QNX__)
ACE_UNUSED_ARG (buffer_size);
@@ -156,9 +158,10 @@ ACE_Pipe::open (int buffer_size)
ACE_TEXT ("%p\n"),
ACE_TEXT ("socketpair")),
-1);
-# if defined (ACE_LACKS_SOCKET_BUFSIZ)
+# if defined (ACE_LACKS_SO_SNDBUF) && defined (ACE_LACKS_SO_RCVBUF)
ACE_UNUSED_ARG (buffer_size);
-# else /* ! ACE_LACKS_SOCKET_BUFSIZ */
+# endif
+# if !defined (ACE_LACKS_SO_RCVBUF)
if (ACE_OS::setsockopt (this->handles_[0],
SOL_SOCKET,
SO_RCVBUF,
@@ -169,6 +172,8 @@ ACE_Pipe::open (int buffer_size)
this->close ();
return -1;
}
+# endif
+# if !defined (ACE_LACKS_SO_SNDBUF)
if (ACE_OS::setsockopt (this->handles_[1],
SOL_SOCKET,
SO_SNDBUF,
@@ -179,7 +184,7 @@ ACE_Pipe::open (int buffer_size)
this->close ();
return -1;
}
-# endif /* ! ACE_LACKS_SOCKET_BUFSIZ */
+# endif /* ! ACE_LACKS_SO_SNDBUF */
# if defined (ACE_OPENVMS) && !defined (ACE_LACKS_TCP_NODELAY)
int one = 1;
// OpenVMS implements socketpair(AF_UNIX...) by returning AF_INET sockets.
diff --git a/ace/Pipe.h b/ace/Pipe.h
index 4d2f2b13cd0..76aea73959e 100644
--- a/ace/Pipe.h
+++ b/ace/Pipe.h
@@ -122,7 +122,7 @@ public:
* This is an interface to ::readv, that doesn't use the struct
* iovec explicitly. The ... can be passed as an arbitrary number
* of (char *ptr, int len) tuples. However, the count N is the
- * *total* number of trailing arguments, *not* a couple of the
+ * *total* number of trailing arguments, *not* a count of the
* number of tuple pairs!
*/
ssize_t recv (size_t n, ...) const;
diff --git a/ace/Process.cpp b/ace/Process.cpp
index acd4b7c9ab5..087d68fb7a2 100644
--- a/ace/Process.cpp
+++ b/ace/Process.cpp
@@ -22,6 +22,7 @@
#include "ace/Countdown_Time.h"
#include "ace/Truncate.h"
#include "ace/Vector_T.h"
+#include "ace/Tokenizer_T.h"
#if defined (ACE_VXWORKS) && (ACE_VXWORKS > 0x600) && defined (__RTP__)
# include <rtpLib.h>
@@ -138,7 +139,6 @@ ACE_Process::spawn (ACE_Process_Options &options)
// like other OS environment. Therefore, it is user's whole responsibility to call
// 'ACE_Process_Options::process_name(const ACE_TCHAR *name)' to set the proper
// process name (the execution file name with path if needed).
-
BOOL fork_result =
ACE_TEXT_CreateProcess (options.process_name(),
options.command_line_buf(),
@@ -794,9 +794,9 @@ ACE_Process::convert_env_buffer (const char* env) const
#endif
ACE_Process_Options::ACE_Process_Options (bool inherit_environment,
- int command_line_buf_len,
- int env_buf_len,
- int max_env_args)
+ size_t command_line_buf_len,
+ size_t env_buf_len,
+ size_t max_env_args)
:
#if !defined (ACE_HAS_WINCE)
inherit_environment_ (inherit_environment),
@@ -826,7 +826,7 @@ ACE_Process_Options::ACE_Process_Options (bool inherit_environment,
max_environment_args_ (max_env_args),
max_environ_argv_index_ (max_env_args - 1),
#endif /* !ACE_HAS_WINCE */
- command_line_argv_calculated_ (0),
+ command_line_argv_calculated_ (false),
command_line_buf_ (0),
command_line_copy_ (0),
command_line_buf_len_ (command_line_buf_len),
@@ -838,6 +838,12 @@ ACE_Process_Options::ACE_Process_Options (bool inherit_environment,
command_line_buf_[0] = '\0';
process_name_[0] = '\0';
+#if defined (ACE_HAS_WINCE)
+ ACE_UNUSED_ARG(inherit_environment);
+ ACE_UNUSED_ARG(env_buf_len);
+ ACE_UNUSED_ARG(max_env_args);
+#endif
+
#if !defined (ACE_HAS_WINCE)
working_directory_[0] = '\0';
ACE_NEW (environment_buf_,
@@ -997,8 +1003,11 @@ ACE_Process_Options::setenv (const ACE_TCHAR *variable_name,
va_start (argp, format);
// Add the rest of the varargs.
- size_t tmp_buflen = DEFAULT_COMMAND_LINE_BUF_LEN > buflen
- ? static_cast<size_t> (DEFAULT_COMMAND_LINE_BUF_LEN) : buflen;
+ size_t tmp_buflen = buflen;
+ if (DEFAULT_COMMAND_LINE_BUF_LEN > buflen)
+ {
+ tmp_buflen = DEFAULT_COMMAND_LINE_BUF_LEN;
+ }
int retval = 0;
ACE_TCHAR *stack_buf = 0;
@@ -1174,22 +1183,37 @@ ACE_Process_Options::~ACE_Process_Options (void)
int
ACE_Process_Options::command_line (const ACE_TCHAR *const argv[])
{
- // @@ Factor out the code between this
int i = 0;
if (argv[i])
{
ACE_OS::strcat (command_line_buf_, argv[i]);
+
while (argv[++i])
{
- ACE_OS::strcat (command_line_buf_,
- ACE_TEXT (" "));
- ACE_OS::strcat (command_line_buf_,
- argv[i]);
+ // Check to see if the next argument will overflow the
+ // command_line buffer.
+ size_t const cur_len =
+ ACE_OS::strlen (command_line_buf_)
+ + ACE_OS::strlen (argv[i])
+ + 2;
+
+ if (cur_len > command_line_buf_len_)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("ACE_Process:command_line: ")
+ ACE_TEXT ("command line is ")
+ ACE_TEXT ("longer than %d\n"),
+ command_line_buf_len_),
+ 1);
+ }
+
+ ACE_OS::strcat (command_line_buf_, ACE_TEXT (" "));
+ ACE_OS::strcat (command_line_buf_, argv[i]);
}
}
- command_line_argv_calculated_ = 0;
+ command_line_argv_calculated_ = false;
return 0; // Success.
}
@@ -1219,7 +1243,7 @@ ACE_Process_Options::command_line (const ACE_TCHAR *format, ...)
// Useless macro.
va_end (argp);
- command_line_argv_calculated_ = 0;
+ command_line_argv_calculated_ = false;
return 0;
}
@@ -1231,7 +1255,7 @@ ACE_Process_Options::command_line (const ACE_TCHAR *format, ...)
int
ACE_Process_Options::command_line (const ACE_ANTI_TCHAR *format, ...)
{
- ACE_ANTI_TCHAR *anti_clb;
+ ACE_ANTI_TCHAR *anti_clb = 0;
ACE_NEW_RETURN (anti_clb,
ACE_ANTI_TCHAR[this->command_line_buf_len_],
-1);
@@ -1253,7 +1277,7 @@ ACE_Process_Options::command_line (const ACE_ANTI_TCHAR *format, ...)
delete [] anti_clb;
- command_line_argv_calculated_ = 0;
+ command_line_argv_calculated_ = false;
return 0;
}
#endif /* ACE_HAS_WCHAR && !ACE_HAS_WINCE */
@@ -1274,9 +1298,9 @@ ACE_Process_Options::env_buf (void)
ACE_TCHAR * const *
ACE_Process_Options::command_line_argv (void)
{
- if (command_line_argv_calculated_ == 0)
+ if (!command_line_argv_calculated_)
{
- command_line_argv_calculated_ = 1;
+ command_line_argv_calculated_ = true;
// We need to free up any previous allocated memory first.
ACE::strdelete (command_line_copy_);
diff --git a/ace/Process.h b/ace/Process.h
index 0ab94c2f7a7..111f29c0435 100644
--- a/ace/Process.h
+++ b/ace/Process.h
@@ -82,9 +82,9 @@ public:
* max strlen for command-line arguments.
*/
ACE_Process_Options (bool inherit_environment = true,
- int command_line_buf_len = DEFAULT_COMMAND_LINE_BUF_LEN,
- int env_buf_len = ENVIRONMENT_BUFFER,
- int max_env_args = MAX_ENVIRONMENT_ARGS);
+ size_t command_line_buf_len = DEFAULT_COMMAND_LINE_BUF_LEN,
+ size_t env_buf_len = ENVIRONMENT_BUFFER,
+ size_t max_env_args = MAX_ENVIRONMENT_ARGS);
/// Destructor.
~ACE_Process_Options (void);
@@ -388,7 +388,7 @@ protected:
size_t environment_buf_index_;
/// Pointer to environment_argv_.
- int environment_argv_index_;
+ size_t environment_argv_index_;
/// Pointer to buffer of the environment settings.
ACE_TCHAR *environment_buf_;
@@ -400,17 +400,17 @@ protected:
ACE_TCHAR **environment_argv_;
/// Maximum number of environment variables. Configurable
- int max_environment_args_;
+ size_t max_environment_args_;
/// Maximum index of environment_argv_ buffer
- int max_environ_argv_index_;
+ size_t max_environ_argv_index_;
/// The current working directory.
ACE_TCHAR working_directory_[MAXPATHLEN + 1];
#endif /* !ACE_HAS_WINCE */
/// Ensures command_line_argv is only calculated once.
- int command_line_argv_calculated_;
+ bool command_line_argv_calculated_;
/// Pointer to buffer of command-line arguments. E.g., "-f foo -b bar".
ACE_TCHAR *command_line_buf_;
@@ -420,7 +420,7 @@ protected:
ACE_TCHAR *command_line_copy_;
/// Max length of command_line_buf_
- int command_line_buf_len_;
+ size_t command_line_buf_len_;
/// Argv-style command-line arguments.
ACE_TCHAR *command_line_argv_[MAX_COMMAND_LINE_OPTIONS];
@@ -495,14 +495,14 @@ public:
*/
virtual void child (pid_t parent);
- /// Called by a <Process_Manager> that is removing this Process from
+ /// Called by a Process_Manager that is removing this Process from
/// its table of managed Processes. Default is to do nothing.
virtual void unmanage (void);
/**
- * Wait for the process we've created to exit. If <status> != 0, it
+ * Wait for the process we've created to exit. If @a status != 0, it
* points to an integer where the function store the exit status of
- * child process to. If <wait_options> == <WNOHANG> then return 0
+ * child process to. If @a wait_options == @c WNOHANG then return 0
* and don't block if the child process hasn't exited yet. A return
* value of -1 represents the <wait> operation failed, otherwise,
* the child process id is returned.
@@ -514,7 +514,7 @@ public:
* Timed wait for the process we've created to exit. A return value
* of -1 indicates that the something failed; 0 indicates that a
* timeout occurred. Otherwise, the child's process id is returned.
- * If <status> != 0, it points to an integer where the function
+ * If @a status != 0, it points to an integer where the function
* stores the child's exit status.
*
* @note On UNIX platforms this function uses <ualarm>, i.e., it
@@ -531,7 +531,7 @@ public:
int kill (int signum = SIGINT);
/**
- * Terminate the process abruptly using <ACE::terminate_process>.
+ * Terminate the process abruptly using ACE::terminate_process().
* This call doesn't give the process a chance to cleanup, so use it
* with caution...
*/
@@ -591,6 +591,7 @@ protected:
/// Set of handles that were passed to the child process.
ACE_Handle_Set handles_passed_;
+
/// Handle duplicates made for the child process.
ACE_Handle_Set dup_handles_;
@@ -602,7 +603,6 @@ private:
#endif
};
-
/**
* @class ACE_Managed_Process
*
diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index 773326da2c9..6ec7c96eee8 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -19,6 +19,7 @@
#include "ace/OS_NS_signal.h"
#include "ace/OS_NS_unistd.h"
#include "ace/OS_NS_sys_time.h"
+#include "ace/os_include/os_typeinfo.h"
#include "ace/Truncate.h"
ACE_RCSID (ace,
@@ -131,11 +132,13 @@ ACE_Process_Manager::instance (void)
#if defined ACE_HAS_SIG_C_FUNC
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
ACE_Process_Manager_cleanup,
- 0);
+ 0,
+ typeid (*ACE_Process_Manager::instance_).name ());
#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
ACE_Process_Manager::cleanup,
- 0);
+ 0,
+ typeid (*ACE_Process_Manager::instance_).name ());
#endif /* ACE_HAS_SIG_C_FUNC */
}
@@ -162,11 +165,13 @@ ACE_Process_Manager::instance (ACE_Process_Manager *tm)
#if defined ACE_HAS_SIG_C_FUNC
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
ACE_Process_Manager_cleanup,
- 0);
+ 0,
+ typeid (*ACE_Process_Manager::instance_).name ());
#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
ACE_Process_Manager::cleanup,
- 0);
+ 0,
+ typeid (*ACE_Process_Manager::instance_).name ());
#endif /* ACE_HAS_SIG_C_FUNC */
ACE_Process_Manager::instance_ = tm;
@@ -256,11 +261,12 @@ ACE_Process_Manager::ACE_Process_Manager (size_t size,
{
ACE_TRACE ("ACE_Process_Manager::ACE_Process_Manager");
- if (this->open (size,
- r) == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("ACE_Process_Manager")));
+ if (this->open (size, r) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("ACE_Process_Manager")));
+ }
}
// Close up and release all resources.
@@ -686,7 +692,7 @@ ACE_Process_Manager::find_proc (pid_t pid)
{
ACE_TRACE ("ACE_Process_Manager::find_proc");
- for (size_t i = 0; i < this->current_count_; ++i)
+ for (size_t i = 0; i < this->current_count_; ++i)
{
if (pid == this->process_table_[i].process_->getpid ())
{
@@ -841,7 +847,7 @@ ACE_Process_Manager::wait (pid_t pid,
// WAIT_OBJECT_0 is a pointless comparison because
// WAIT_OBJECT_0 is zero and DWORD is unsigned long, so this
// test is skipped for Green Hills. Same for mingw.
-# if defined (ghs) || defined (__MINGW32__) || (defined (_MSC_VER) && _MSC_VER >= 1300)
+# if defined (ghs) || defined (__MINGW32__) || defined (_MSC_VER)
ACE_ASSERT (result < WAIT_OBJECT_0 + this->current_count_);
# else
ACE_ASSERT (result >= WAIT_OBJECT_0
diff --git a/ace/Process_Manager.h b/ace/Process_Manager.h
index fae20ed0488..03dfaae0070 100644
--- a/ace/Process_Manager.h
+++ b/ace/Process_Manager.h
@@ -337,9 +337,9 @@ public:
//@}
protected:
- // = These methods allow a <Process_Manager> to be an <Event_Handler>.
+ // = These methods allow a <Process_Manager> to be an Event_Handler.
- // As an <Event_Handler>, the <Process_Manager> automagically
+ // As an Event_Handler, the <Process_Manager> automagically
// detects child Processes exiting and calls notify_proc_handler()
// and remove(). This means that you don't have to (shouldn't!)
// call the wait(...) methods yourself.
diff --git a/ace/Process_Mutex.h b/ace/Process_Mutex.h
index c2fb3c702da..97666f91201 100644
--- a/ace/Process_Mutex.h
+++ b/ace/Process_Mutex.h
@@ -46,36 +46,48 @@ class ACE_Time_Value;
* @class ACE_Process_Mutex
*
* @brief A wrapper for mutexes that can be used across processes on
- * the same host machine, as well as within a process, of
- * course.
+ * the same host machine, as well as within a process, of course.
*
* @attention The mechanism upon which @c ACE_Process_Mutex is based
* can be configured at build time to be either @c ACE_SV_Semaphore_Complex
- * (on platforms that support it) or @c ACE_Mutex. On platforms that
- * require interprocess mutexes be allocated from shared memory (Pthreads
- * and UI Threads are examples), @c ACE_SV_Semaphore_Complex provides a
- * more reliable mechanism for implementing inter-process mutex than
- * @c ACE_Mutex. However, at least on some platforms,
- * @c ACE_SV_Semaphore_Complex is limited to a small number of
- * objects by the underlying System V IPC kernel parameters. If you
- * want to force use of @c ACE_Mutex as the underlying mechanism, set
- * @c ACE_USES_MUTEX_FOR_PROCESS_MUTEX in your @c config.h file.
- * Also, if you require the ability to do a timed @c acquire(), you must
- * set @c ACE_USES_MUTEX_FOR_PROCESS_MUTEX, as timed acquire does not
- * work with System V semaphores.
- * @attention Currently there is also the operational difference between
- * pthreads and semaphores based @c. For semaphore base @c the semaphore
- * is destroyed after the last instance of @c in OS. In contrary, pthread based
- * @c is destroyed when the owner, namely the process which created the
- * first instance of @c destroys the mutex. For protable applications it is better
- * to always ensure that the owner of the mutex destroys it after the
- * other processes.
+ * (on platforms that support it) or @c ACE_Mutex. On platforms that offer
+ * System V IPC (the @c ACE_HAS_SYSV_IPC config macro is defined)
+ * @c ACE_SV_Semaphore_Complex is the default because it is more convenient
+ * and easy to use. @c ACE_Mutex is the default on all other platforms.
+ * On platforms where ACE_SV_Semaphore_Complex is used by default, the
+ * mechanism can be changed to ACE_Mutex when ACE is built by adding
+ * @code
+ * #define ACE_USES_MUTEX_FOR_PROCESS_MUTEX
+ * @endcode
+ * to your @c config.h file.
+ * @par
+ * Consider these tradeoffs when evaluating whether or not to change
+ * the default:
+ * - Some platforms (e.g., Pthreads and UI Threads) require interprocess
+ * mutexes to be allocated from shared memory. On these platforms, using
+ * ACE_Mutex as the underlying mechanism requires that ACE_Process_Mutex
+ * objects be allocated in shared memory. Using ACE_SV_Semaphore_Complex
+ * avoids this restriction.
+ * - System V IPC kernel parameters have a low default limit on some
+ * platforms. This would restrict the number of ACE_Process_Mutex objects
+ * that can be in use simultaneously when using ACE_SV_Semaphore_Complex.
+ * - If you require the ability to do a timed @c acquire(), you must
+ * use ACE_Mutex as the underlying mechanism because timed acquire does not
+ * work with System V semaphores.
+ * - When using ACE_Mutex on a Pthreads-based platform, an ACE_Process_Mutex
+ * object is deleted when the process which created the object destroys
+ * it, regardless of whether or not there are other processes still
+ * accessing the ACE_Process_Mutex. Using ACE_SV_Semaphore_Complex avoids
+ * this problem; the semaphore is destroyed when the last use of the
+ * object ends. For portable applications it is better to always ensure
+ * that the owner of the mutex destroys it after all other processes have
+ * stopped using it.
*/
class ACE_Export ACE_Process_Mutex
{
public:
/**
- * Create a Process_Mutex, passing in the optional @c name.
+ * Create an ACE_Process_Mutex.
*
* @param name optional, null-terminated string containing the name of
* the object. Multiple users of the same @c ACE_Process_Mutex must use
@@ -93,8 +105,7 @@ public:
#if defined (ACE_HAS_WCHAR)
/**
- * Create a Process_Mutex, passing in the optional @c name. (@c wchar_t
- * version)
+ * Create an ACE_Process_Mutex (@c wchar_t version)
*
* @param name optional, null-terminated string containing the name of
* the object. Multiple users of the same @c ACE_Process_Mutex must use
@@ -111,6 +122,12 @@ public:
mode_t mode = ACE_DEFAULT_FILE_PERMS);
#endif /* ACE_HAS_WCHAR */
+ /**
+ * Destructor.
+ *
+ * @note The destructor will not release an acquired mutex except
+ * on Windows.
+ */
~ACE_Process_Mutex (void);
/**
diff --git a/ace/Process_Semaphore.h b/ace/Process_Semaphore.h
index 61665207d82..29a7b0b0406 100644
--- a/ace/Process_Semaphore.h
+++ b/ace/Process_Semaphore.h
@@ -135,8 +135,6 @@ protected:
template <class T> class ACE_Malloc_Lock_Adapter_T;
/**
- * @class ACE_Malloc_Lock_Adapter_T<ACE_Process_Semaphore>
- *
* @brief Template specialization of ACE_Malloc_Lock_Adapter_T for
* ACE_Process_Semaphore.
*
diff --git a/ace/QoS/QoS_Session_Impl.cpp b/ace/QoS/QoS_Session_Impl.cpp
index e46b6e4422b..d7bd3f2523a 100644
--- a/ace/QoS/QoS_Session_Impl.cpp
+++ b/ace/QoS/QoS_Session_Impl.cpp
@@ -346,7 +346,7 @@ ACE_RAPI_Session::sending_qos (const ACE_QoS &ace_qos)
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "rapi_sender () call succeeds with PATH Tear! \n"));
+ "rapi_sender () call succeeds with PATH Tear!\n"));
return 0;
}
@@ -421,7 +421,7 @@ ACE_RAPI_Session::sending_qos (const ACE_QoS &ace_qos)
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "rapi_sender () call succeeds ! \n"));
+ "rapi_sender () call succeeds !\n"));
return 0;
}
@@ -456,7 +456,7 @@ ACE_RAPI_Session::receiving_qos (const ACE_QoS &ace_qos)
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "rapi_reserve () for RESV Tear call succeeds \n"));
+ "rapi_reserve () for RESV Tear call succeeds\n"));
return 0;
}
@@ -524,7 +524,7 @@ ACE_RAPI_Session::receiving_qos (const ACE_QoS &ace_qos)
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "rapi_reserve () call succeeds \n"));
+ "rapi_reserve () call succeeds\n"));
return 0;
}
@@ -689,7 +689,7 @@ ACE_GQoS_Session::qos (ACE_SOCK *socket,
-1);
else
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Setting QoS with ACE_OS::ioctl () succeeds \n")));
+ ACE_TEXT ("Setting QoS with ACE_OS::ioctl () succeeds\n")));
return 0;
}
diff --git a/ace/QoS/qos.mpc b/ace/QoS/qos.mpc
index 5e9dc059ac8..965b2989d09 100644
--- a/ace/QoS/qos.mpc
+++ b/ace/QoS/qos.mpc
@@ -7,7 +7,7 @@ project(QoS) : acelib, ace_output, install {
dynamicflags = ACE_QoS_BUILD_DLL
macros += ACE_HAS_QOS
- specific(bmake, nmake, em3, vc6, vc7, vc71, vc8, vc9, vc10) {
+ specific(prop:windows) {
macros += ACE_HAS_WINSOCK2_GQOS
}
diff --git a/ace/README b/ace/README
index 13a0f82fed0..da3f1f1688c 100644
--- a/ace/README
+++ b/ace/README
@@ -208,10 +208,6 @@ ACE_HAS_STDARG_THR_DEST Platform has void (*)(...)
prototype for
pthread_key_create()
destructor (e.g., LynxOS).
-ACE_HAS_STL_MAP_CONFLICT Used when users want to
- compile ACE with STL and STL
- map class conflicts with
- <net/if.h> map struct.
ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS Platform/compiler supports
Win32 structural exceptions
ACE_HAS_READ_TIMEDWAIT
@@ -249,10 +245,6 @@ ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
ACE_HAS_BROKEN_ACCEPT_ADDR Platform can't correctly deal
with a NULL addr to accept()
(e.g, VxWorks).
-ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS Compiler can't handle const char *
- as rvalue in conditional operator.
-ACE_HAS_BROKEN_CTIME Compiler/platform uses macro
- for ctime (e.g., MVS)
ACE_HAS_BROKEN_DGRAM_SENDV Platform sendv() does not work
properly with datagrams,
i.e. it fails when the iovec
@@ -313,13 +305,6 @@ ACE_HAS_EBCDIC Compile in the ACE code set classes
that support EBCDIC.
ACE_HAS_EXCEPTIONS Compiler supports C++
exception handling
-ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS Compiler does not call
- unexpected exception handler
- if exception not listed in
- exception specification is
- thrown. In particular, the
- exception specification is not
- respected.
ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT When a base-class is a
specialization of a class template
then this class template must be
@@ -339,9 +324,6 @@ ACE_HAS_GETRUSAGE_PROTOTYPE Platform has a getrusage ()
prototype in sys/resource.h
that differs from the one in
ace/OS.i.
-ACE_HAS_GNU_CSTRING_H Denotes that GNU has cstring.h
- as standard which redefines
- memchr()
ACE_HAS_GPERF The GPERF utility is compiled
for this platform
ACE_HAS_GETIFADDRS This platform has ifaddrs.h and
@@ -562,9 +544,6 @@ ACE_HAS_SIGINFO_T Platform supports SVR4
ACE_HAS_SIGSUSPEND Platform supports sigsuspend()
ACE_HAS_SIGISMEMBER_BUG Platform has bug with
sigismember() (HP/UX 11).
-ACE_HAS_SIG_MACROS Platform/compiler has macros
- for sig{empty,fill,add,del}set
- (e.g., SCO and FreeBSD)
ACE_HAS_SIGNAL_OBJECT_AND_WAIT Platform supports the Win32
SignalObjectAndWait() function
(WinNT 4.0 and beyond).
@@ -614,7 +593,6 @@ ACE_HAS_WCSDUP_EMULATION Use ACE's wcsdup() emulation (even
ACE_HAS_STRNLEN Platform supports strnlen(3).
ACE_HAS_STREAMS Platform supports STREAMS
ACE_HAS_STREAM_PIPES Platform supports STREAM pipes
-ACE_HAS_STRERROR Compiler/platform supports strerror ()
ACE_HAS_STRICT Use the STRICT compilation mode on Win32.
ACE_HAS_STRING_CLASS Platform/Compiler supports a
String class (e.g., GNU or
@@ -645,16 +623,12 @@ ACE_HAS_SYSV_SYSINFO Platform supports system
ACE_HAS_SYSV_IPC Platform supports System V IPC
(most versions of UNIX, but
not Win32)
-ACE_HAS_SYS_ERRLIST Platform/compiler supports
- _sys_errlist symbol
ACE_HAS_SYS_FILIO_H Platform provides
<sys/filio.h> header
ACE_HAS_SYS_LOADAVG_H Compiler/platform contains the
<sys/loadavg.h> file.
ACE_HAS_SYS_PSTAT_H Compiler/platform contains the
<sys/pstat.h> file.
-ACE_HAS_SYS_SIGLIST Compiler/platform supports
- _sys_siglist array
ACE_HAS_SYS_SOCKIO_H Compiler/platform provides the
sockio.h file
ACE_HAS_SYS_SYSCALL_H Compiler/platform contains the
@@ -869,17 +843,6 @@ ACE_LACKS_OPENDIR Platform lacks opendir and the opendir
emulation must be used
ACE_LACKS_READDIR Platform lacks readdir and the readdir
emulation must be used
-ACE_LACKS_CMSG_DATA_MACRO Platform has
- ACE_HAS_4_4BSD_SENDMSG_RECVMSG but does
- not define CMSG_DATA (cmsg) macro.
-ACE_LACKS_CMSG_DATA_MEMBER Platform has
- ACE_HAS_4_4BSD_SENDMSG_RECVMSG but its
- cmsghdr structure does not contain
- an 'unsigned char cmsg_data[0]'
- member. (This may be
- 'unsigned char __cmsg_data[0]' on some
- platforms, in which case we need
- another macro.)
ACE_LACKS_COND_TIMEDWAIT_RESET pthread_cond_timedwait does
*not* reset the time argument
when the lock is acquired.
@@ -1009,7 +972,6 @@ ACE_LACKS_PUTENV_PROTOTYPE Platform/compiler lacks the
LynxOS)
ACE_LACKS_PWD_REENTRANT_FUNCTIONS Platform lacks getpwnam_r()
methods (e.g., SGI 6.2).
-ACE_LACKS_SID Platform lacks setsid()
ACE_LACKS_QSORT Compiler/platform lacks the
standard C library qsort()
function
@@ -1062,7 +1024,6 @@ ACE_LACKS_SIGSET Platform lacks signal sets
(e.g., Chorus and Win32)
ACE_LACKS_STRPTIME Platform/compiler lacks the strptime()
function.
-ACE_LACKS_STRCHR Platform/compiler lacks strchr()
ACE_LACKS_WCSCHR Platform/compiler lacks wcschr()
ACE_LACKS_STRDUP Platform/compiler lacks strdup()
ACE_LACKS_WCSDUP Platform/compiler lacks wcsdup()
@@ -1566,25 +1527,6 @@ ACE_HAS_STREAM_PIPES:
No sysV.4 streams.
-ACE_HAS_STRERROR:
------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if not defined, does a:
- #define strerror(err) sys_errlist[err]
-
- Solaris:
- /usr/include/string.h
-
- HPUX:
- set it.
- in /usr/include/sys/errno.h and string.h
- extern char *strerror (int);
-
-
ACE_HAS_SVR4_DYNAMIC_LINKING:
-----------------------------
@@ -1715,27 +1657,6 @@ ACE_HAS_SYS_FILIO_H:
use #ifdef HP-UX to modify sysincludes.h
-ACE_HAS_SYS_SIGLIST:
---------------------
-
- Used in:
- ace/OS.h
- libsrc/Log_Msg/Log_Msg.C
-
- Notes:
- if not defined, does a:
- extern const char **_sys_siglist;
-
- Solaris:
- This is an array holding signal descriptions.
-
- HPUX:
- don't set.
- Some additional work is required. In libsrc/Log_Msg/Log_Msg.C,
- sys_siglist is used regardless of ACE_HAS_SYS_SIGLIST.
- have to add #ifdefs to remove them.
-
-
ACE_HAS_TEMPLATE_TYPEDEFS:
--------------------------
diff --git a/ace/RW_Process_Mutex.h b/ace/RW_Process_Mutex.h
index 318d9752fe0..27fc88de750 100644
--- a/ace/RW_Process_Mutex.h
+++ b/ace/RW_Process_Mutex.h
@@ -22,7 +22,6 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Default_Constants.h"
-#include "ace/OS_NS_fcntl.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -44,17 +43,11 @@ class ACE_Export ACE_RW_Process_Mutex
public:
/// Create a cross-process readers/writer mutex, passing in the optional
/// @a name, @a flags and @a mode \sa ACE_File_Lock.
- /// If not specified, a name is generated and flags and mode are set
- /// to default platform values.
-#if defined (ACE_WIN32)
+ /// If not specified, a name is generated and flags and mode are set
+ /// to default platform values.
ACE_RW_Process_Mutex (const ACE_TCHAR *name = 0,
int flags = O_CREAT|O_RDWR,
- mode_t mode = ACE_DEFAULT_OPEN_PERMS);
-#else
- ACE_RW_Process_Mutex (const ACE_TCHAR *name = 0,
- int flags = O_CREAT|O_RDWR,
- mode_t mode = S_IRUSR | S_IWUSR );
-#endif /* ACE_WIN32 */
+ mode_t mode = ACE_DEFAULT_RW_PROCESS_MUTEX_PERMS);
~ACE_RW_Process_Mutex (void);
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp
index ed9d70be269..8b8be61d4df 100644
--- a/ace/Reactor.cpp
+++ b/ace/Reactor.cpp
@@ -477,7 +477,9 @@ ACE_Reactor::notify (ACE_Event_Handler *event_handler,
// First, try to remember this reactor in the event handler, in case
// the event handler goes away before the notification is delivered.
if (event_handler != 0 && event_handler->reactor () == 0)
- event_handler->reactor (this);
+ {
+ event_handler->reactor (this);
+ }
return this->implementation ()->notify (event_handler, mask, tv);
}
diff --git a/ace/Reactor.h b/ace/Reactor.h
index 423c736bbbb..1e20c358bf7 100644
--- a/ace/Reactor.h
+++ b/ace/Reactor.h
@@ -281,8 +281,8 @@ public:
* that were dispatched, 0 if the @a max_wait_time elapsed without
* dispatching any handlers, or -1 if an error occurs.
*
- * The only difference between <alertable_handle_events> and
- * <handle_events> is that in the alertable case, the eventloop will
+ * The only difference between alertable_handle_events() and
+ * handle_events() is that in the alertable case, the eventloop will
* return when the system queues an I/O completion routine or an
* Asynchronous Procedure Call.
*/
@@ -294,8 +294,8 @@ public:
* @a max_wait_time value is a reference and can therefore never be
* NULL.
*
- * The only difference between <alertable_handle_events> and
- * <handle_events> is that in the alertable case, the eventloop will
+ * The only difference between alertable_handle_events() and
+ * handle_events() is that in the alertable case, the eventloop will
* return when the system queues an I/O completion routine or an
* Asynchronous Procedure Call.
*/
@@ -380,7 +380,7 @@ public:
* Shorthand for calling
* register_handler(ACE_HANDLE,ACE_Event_Handler*,ACE_Reactor_Mask),
* multiple times for the same @a event_handler and @a masks but
- * different <handles>.
+ * different @a handles.
*/
int register_handler (const ACE_Handle_Set &handles,
ACE_Event_Handler *event_handler,
@@ -524,7 +524,7 @@ public:
* Resume @a handles.
*
* Shorthand for calling resume_handler(ACE_HANDLE) with multiple
- * <handles>.
+ * @a handles.
*/
int resume_handler (const ACE_Handle_Set &handles);
@@ -703,7 +703,7 @@ public:
* Set the maximum number of times that ACE_Reactor will
* iterate and dispatch the ACE_Event_Handlers that are passed in
* via the notify queue before breaking out of its
- * <ACE_Message_Queue::dequeue> loop. By default, this is set to
+ * ACE_Message_Queue::dequeue() loop. By default, this is set to
* -1, which means "iterate until the queue is empty." Setting this
* to a value like "1 or 2" will increase "fairness" (and thus
* prevent starvation) at the expense of slightly higher dispatching
@@ -715,7 +715,7 @@ public:
* Get the maximum number of times that the ACE_Reactor will
* iterate and dispatch the ACE_Event_Handler's that are passed in
* via the notify queue before breaking out of its
- * <ACE_Message_Queue::dequeue> loop.
+ * ACE_Message_Queue::dequeue() loop.
*/
int max_notify_iterations (void);
diff --git a/ace/Reactor_Impl.h b/ace/Reactor_Impl.h
index feddde8ad51..18a82034e3a 100644
--- a/ace/Reactor_Impl.h
+++ b/ace/Reactor_Impl.h
@@ -91,7 +91,7 @@ public:
ACE_Notification_Buffer &buffer) = 0;
/**
* Set the maximum number of times that the <handle_input> method
- * will iterate and dispatch the <ACE_Event_Handlers> that are
+ * will iterate and dispatch the ACE_Event_Handlers that are
* passed in via the notify queue before breaking out of the event
* loop. By default, this is set to -1, which means "iterate until
* the queue is empty." Setting this to a value like "1 or 2" will
@@ -102,7 +102,7 @@ public:
/**
* Get the maximum number of times that the <handle_input> method
- * will iterate and dispatch the <ACE_Event_Handlers> that are
+ * will iterate and dispatch the ACE_Event_Handlers that are
* passed in via the notify queue before breaking out of its event
* loop.
*/
@@ -263,15 +263,15 @@ public:
ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask) = 0;
- /// Register @a event_handler with all the <handles> in the <Handle_Set>.
+ /// Register @a event_handler with all the @a handles in the <Handle_Set>.
virtual int register_handler (const ACE_Handle_Set &handles,
ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask) = 0;
/**
- * Register <new_sh> to handle the signal @a signum using the
- * <new_disp>. Returns the <old_sh> that was previously registered
- * (if any), along with the <old_disp> of the signal handler.
+ * Register @a new_sh to handle the signal @a signum using the
+ * @a new_disp. Returns the @a old_sh that was previously registered
+ * (if any), along with the @a old_disp of the signal handler.
*/
virtual int register_handler (int signum,
ACE_Event_Handler *new_sh,
@@ -279,8 +279,8 @@ public:
ACE_Event_Handler **old_sh = 0,
ACE_Sig_Action *old_disp = 0) = 0;
- /// Registers <new_sh> to handle a set of signals <sigset> using the
- /// <new_disp>.
+ /// Registers @a new_sh to handle a set of signals @a sigset using the
+ /// @a new_disp.
virtual int register_handler (const ACE_Sig_Set &sigset,
ACE_Event_Handler *new_sh,
ACE_Sig_Action *new_disp = 0) = 0;
@@ -303,7 +303,7 @@ public:
ACE_Reactor_Mask mask) = 0;
/**
- * Removes all handles in <handle_set>. If @a mask ==
+ * Removes all handles in @a handle_set. If @a mask ==
* ACE_Event_Handler::DONT_CALL then the <handle_close> method of
* the associated <event_handler>s is not invoked.
*/
@@ -321,7 +321,7 @@ public:
ACE_Sig_Action *old_disp = 0,
int sigkey = -1) = 0;
- /// Calls <remove_handler> for every signal in <sigset>.
+ /// Calls <remove_handler> for every signal in @a sigset.
virtual int remove_handler (const ACE_Sig_Set &sigset) = 0;
// = Suspend and resume Handlers.
@@ -333,7 +333,7 @@ public:
/// Suspend @a handle temporarily.
virtual int suspend_handler (ACE_HANDLE handle) = 0;
- /// Suspend all <handles> in handle set temporarily.
+ /// Suspend all @a handles in handle set temporarily.
virtual int suspend_handler (const ACE_Handle_Set &handles) = 0;
/// Suspend all <handles> temporarily.
@@ -346,7 +346,7 @@ public:
/// Resume @a handle.
virtual int resume_handler (ACE_HANDLE handle) = 0;
- /// Resume all <handles> in handle set.
+ /// Resume all @a handles in handle set.
virtual int resume_handler (const ACE_Handle_Set &handles) = 0;
/// Resume all <handles>.
@@ -427,7 +427,7 @@ public:
virtual int schedule_wakeup (ACE_HANDLE handle,
ACE_Reactor_Mask masks_to_be_added) = 0;
- /// Clear @a masks_to_be_cleared from the <event_handler>'s entry.
+ /// Clear @a masks_to_be_cleared from the @a event_handler's entry.
virtual int cancel_wakeup (ACE_Event_Handler *event_handler,
ACE_Reactor_Mask masks_to_be_cleared) = 0;
@@ -449,7 +449,7 @@ public:
/**
* Set the maximum number of times that ACE_Reactor_Impl will
- * iterate and dispatch the <ACE_Event_Handlers> that are passed in
+ * iterate and dispatch the ACE_Event_Handlers that are passed in
* via the notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop. By default, this is set to
* -1, which means "iterate until the queue is empty." Setting this
@@ -461,7 +461,7 @@ public:
/**
* Get the maximum number of times that the ACE_Reactor_Impl will
- * iterate and dispatch the <ACE_Event_Handlers> that are passed in
+ * iterate and dispatch the ACE_Event_Handlers that are passed in
* via the notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop.
*/
@@ -512,7 +512,7 @@ public:
/// Wake up all threads in waiting in the event loop
virtual void wakeup_all_threads (void) = 0;
- /// Transfers ownership of Reactor_Impl to the <new_owner>.
+ /// Transfers ownership of Reactor_Impl to the @a new_owner.
virtual int owner (ACE_thread_t new_owner, ACE_thread_t *old_owner = 0) = 0;
/// Return the ID of the "owner" thread.
diff --git a/ace/Recursive_Thread_Mutex.cpp b/ace/Recursive_Thread_Mutex.cpp
index f930aa164d4..c0b67604bae 100644
--- a/ace/Recursive_Thread_Mutex.cpp
+++ b/ace/Recursive_Thread_Mutex.cpp
@@ -82,7 +82,7 @@ int
ACE_Recursive_Thread_Mutex::get_nesting_level (void)
{
// ACE_TRACE ("ACE_Recursive_Thread_Mutex::get_nesting_level");
-#if defined (ACE_HAS_WINCE) || defined (ACE_HAS_VXTHREADS) || defined (ACE_HAS_PHARLAP)
+#if defined (ACE_HAS_VXTHREADS) || defined (ACE_HAS_PHARLAP) || defined (ACE_HAS_WINCE)
ACE_NOTSUP_RETURN (-1);
#elif defined (ACE_HAS_RECURSIVE_MUTEXES)
# if defined (ACE_WIN32)
diff --git a/ace/Recursive_Thread_Mutex.h b/ace/Recursive_Thread_Mutex.h
index 38effc66afb..65807b64b47 100644
--- a/ace/Recursive_Thread_Mutex.h
+++ b/ace/Recursive_Thread_Mutex.h
@@ -151,6 +151,9 @@ public:
int get_nesting_level (void);
/// Returns a reference to the recursive mutex;
+ ACE_recursive_thread_mutex_t &lock (void);
+
+ /// @deprecated Returns a reference to the recursive mutex;
ACE_recursive_thread_mutex_t &mutex (void);
/// Returns a reference to the recursive mutex's internal mutex;
diff --git a/ace/Recursive_Thread_Mutex.inl b/ace/Recursive_Thread_Mutex.inl
index 0269de24d6b..6a7b55dc6a2 100644
--- a/ace/Recursive_Thread_Mutex.inl
+++ b/ace/Recursive_Thread_Mutex.inl
@@ -5,7 +5,7 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE ACE_recursive_thread_mutex_t &
-ACE_Recursive_Thread_Mutex::mutex (void)
+ACE_Recursive_Thread_Mutex::lock (void)
{
return lock_;
}
diff --git a/ace/Registry.cpp b/ace/Registry.cpp
index d20913634de..ee1863a8b88 100644
--- a/ace/Registry.cpp
+++ b/ace/Registry.cpp
@@ -842,11 +842,14 @@ ACE_Registry::Binding_Iterator::Iteration_State::iterator (Binding_Iterator *ite
}
-ACE_Registry::Binding_Iterator::Iteration_State::Iteration_State ()
+ACE_Registry::Binding_Iterator::Iteration_State::Iteration_State (void)
: index_ (0)
{
}
+ACE_Registry::Binding_Iterator::Iteration_State::~Iteration_State (void)
+{
+}
// Next entry
int
@@ -1075,6 +1078,9 @@ ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_co
const ACE_TCHAR *machine_name)
{
#if defined (ACE_HAS_WINCE)
+ ACE_UNUSED_ARG(naming_context);
+ ACE_UNUSED_ARG(predefined);
+ ACE_UNUSED_ARG(machine_name);
return -1;
#else
long result = -1;
@@ -1088,6 +1094,7 @@ ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_co
predefined,
&naming_context.key_);
if (predefined == HKEY_CURRENT_USER || predefined == HKEY_CLASSES_ROOT)
+ {
// Make sure that for these types, the machine is local
if (machine_name == 0 ||
ACE_Predefined_Naming_Contexts::is_local_host (machine_name))
@@ -1097,6 +1104,7 @@ ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_co
}
else
result = -1;
+ }
ACE_REGISTRY_CALL_RETURN (result);
#endif // ACE_HAS_WINCE
diff --git a/ace/Registry.h b/ace/Registry.h
index e7a882ee357..6d54479887f 100644
--- a/ace/Registry.h
+++ b/ace/Registry.h
@@ -460,7 +460,10 @@ public:
{
public:
/// Constructor
- Iteration_State ();
+ Iteration_State (void);
+
+ /// Destructor
+ virtual ~Iteration_State (void);
/// Set the iterator reference.
void iterator (Binding_Iterator *iterator);
diff --git a/ace/Registry_Name_Space.cpp b/ace/Registry_Name_Space.cpp
index c2dd3618887..bca6bd1ed39 100644
--- a/ace/Registry_Name_Space.cpp
+++ b/ace/Registry_Name_Space.cpp
@@ -254,7 +254,10 @@ ACE_Registry_Name_Space::list_name_entries (ACE_BINDING_SET &set,
value,
type);
if (result != 0)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("ACE_Registry::Naming_Context::resolve")), result);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("ACE_Registry::Naming_Context::resolve")),
+ result);
// Complete binding
ACE_Name_Binding binding (key, value, type);
diff --git a/ace/Remote_Tokens.cpp b/ace/Remote_Tokens.cpp
index ce60205a77a..6e998f6c1f3 100644
--- a/ace/Remote_Tokens.cpp
+++ b/ace/Remote_Tokens.cpp
@@ -157,12 +157,16 @@ ACE_Remote_Token_Proxy::request_reply (ACE_Token_Request &request,
ACE_SOCK_Stream *peer = ACE_Token_Connections::instance ()->get_connection ();
if (peer == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) %p\n", "BIG PROBLEMS with get_connection"), -1);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT("(%P|%t) %p\n"),
+ ACE_TEXT("BIG PROBLEMS with get_connection")), -1);
// Transmit request via a blocking send.
if (peer->send_n (buffer, length) != length)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("send_n failed")), -1);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("send_n failed")), -1);
else
{
ACE_Token_Reply reply;
diff --git a/ace/Reverse_Lock_T.h b/ace/Reverse_Lock_T.h
index 98b39ef561e..348adbf7686 100644
--- a/ace/Reverse_Lock_T.h
+++ b/ace/Reverse_Lock_T.h
@@ -77,7 +77,7 @@ public:
// = Initialization/Finalization methods.
- /// Constructor. All locking requests will be forwarded to <lock>.
+ /// Constructor. All locking requests will be forwarded to @a lock.
ACE_Reverse_Lock (ACE_LOCKING_MECHANISM &lock,
ACE_Acquire_Method::METHOD_TYPE acquire_method = ACE_Acquire_Method::ACE_REGULAR);
diff --git a/ace/SOCK.h b/ace/SOCK.h
index 1defcba62dd..f78f693e3c1 100644
--- a/ace/SOCK.h
+++ b/ace/SOCK.h
@@ -125,7 +125,6 @@ protected:
* pointer/reference.
*/
~ACE_SOCK (void);
-
};
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/SOCK_Connector.h b/ace/SOCK_Connector.h
index cbd343d1722..842a69c65bc 100644
--- a/ace/SOCK_Connector.h
+++ b/ace/SOCK_Connector.h
@@ -71,7 +71,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -121,7 +121,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -168,7 +168,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -222,7 +222,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
diff --git a/ace/SOCK_Dgram.cpp b/ace/SOCK_Dgram.cpp
index 2a76eafd02b..e8b0108747f 100644
--- a/ace/SOCK_Dgram.cpp
+++ b/ace/SOCK_Dgram.cpp
@@ -16,7 +16,7 @@
#endif /* __ACE_INLINE__ */
#if defined (ACE_HAS_IPV6) && defined (ACE_WIN32)
-#include /**/ <Iphlpapi.h>
+#include /**/ <iphlpapi.h>
#endif
ACE_RCSID (ace,
@@ -60,13 +60,12 @@ ACE_SOCK_Dgram::recv (iovec *io_vec,
// Check the status of the current socket to make sure there's data
// to recv (or time out).
- int select_width;
# if defined (ACE_WIN32)
// This arg is ignored on Windows and causes pointer truncation
// warnings on 64-bit compiles.
- select_width = 0;
+ int select_width = 0;
# else
- select_width = int (this->get_handle ()) + 1;
+ int select_width = int (this->get_handle ()) + 1;
# endif /* ACE_WIN32 */
switch (ACE_OS::select (select_width,
handle_set,
@@ -459,13 +458,12 @@ ACE_SOCK_Dgram::recv (void *buf,
handle_set.set_bit (this->get_handle ());
// Check the status of the current socket.
- int select_width;
#if defined (ACE_WIN32)
// This arg is ignored on Windows and causes pointer truncation
// warnings on 64-bit compiles.
- select_width = 0;
+ int select_width = 0;
#else
- select_width = int (this->get_handle ()) + 1;
+ int select_width = int (this->get_handle ()) + 1;
#endif /* ACE_WIN32 */
switch (ACE_OS::select (select_width,
handle_set,
@@ -498,13 +496,12 @@ ACE_SOCK_Dgram::send (const void *buf,
handle_set.set_bit (this->get_handle ());
// Check the status of the current socket.
- int select_width;
#if defined (ACE_WIN32)
// This arg is ignored on Windows and causes pointer truncation
// warnings on 64-bit compiles.
- select_width = 0;
+ int select_width = 0;
#else
- select_width = int (this->get_handle ()) + 1;
+ int select_width = int (this->get_handle ()) + 1;
#endif /* ACE_WIN32 */
switch (ACE_OS::select (select_width,
0,
diff --git a/ace/SOCK_Dgram_Bcast.cpp b/ace/SOCK_Dgram_Bcast.cpp
index b2a1f2e9204..d8fac47ec9d 100644
--- a/ace/SOCK_Dgram_Bcast.cpp
+++ b/ace/SOCK_Dgram_Bcast.cpp
@@ -117,8 +117,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
SO_BROADCAST,
(char *) &one,
sizeof one) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: setsockopt failed"),
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: setsockopt failed")),
-1);
#if !defined (ACE_WIN32) && !defined(__INTERIX)
@@ -135,8 +135,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
if (ACE_OS::ioctl (s,
SIOCGIFCONF,
(char *) &ifc) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface configuration)"),
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface configuration)")),
ACE_INVALID_HANDLE);
struct ifreq *ifr = ifc.ifc_req;
@@ -213,8 +213,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
if (ifr->ifr_addr.sa_family != 0
|| ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- "warning %p: sa_family: %d\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: Not AF_INET",
+ ACE_TEXT("warning %p: sa_family: %d\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: Not AF_INET"),
ifr->ifr_addr.sa_family));
continue;
}
@@ -226,17 +226,17 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
SIOCGIFFLAGS,
(char *) &flags) == -1)
{
- ACE_ERROR ((LM_ERROR, "%p [%s]\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface flags)",
- flags.ifr_name));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%p [%s]\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get interface flags)"),
+ flags.ifr_name));
continue;
}
if (ACE_BIT_ENABLED (flags.ifr_flags,
IFF_UP) == 0)
{
- ACE_ERROR ((LM_ERROR, "%p [%s]\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: Network interface is not up",
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%p [%s]\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: Network interface is not up"),
flags.ifr_name));
continue;
}
@@ -251,8 +251,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
if (ACE_OS::ioctl (s,
SIOCGIFBRDADDR,
(char *) &if_req) == -1)
- ACE_ERROR ((LM_ERROR, "%p [%s]\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get broadaddr)",
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%p [%s]\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: ioctl (get broadaddr)"),
flags.ifr_name));
else
{
@@ -268,8 +268,8 @@ ACE_SOCK_Dgram_Bcast::mk_broadcast (const ACE_TCHAR *host_name)
else
{
if (host_name != 0)
- ACE_ERROR ((LM_ERROR, "%p [%s]\n",
- "ACE_SOCK_Dgram_Bcast::mk_broadcast: Broadcast is not enable for this interface.",
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("%p [%s]\n"),
+ ACE_TEXT("ACE_SOCK_Dgram_Bcast::mk_broadcast: Broadcast is not enable for this interface."),
flags.ifr_name));
}
}
diff --git a/ace/SOCK_Dgram_Mcast.cpp b/ace/SOCK_Dgram_Mcast.cpp
index 0d7d0b70d2e..fa38997b4ff 100644
--- a/ace/SOCK_Dgram_Mcast.cpp
+++ b/ace/SOCK_Dgram_Mcast.cpp
@@ -13,7 +13,7 @@
#endif
#if defined (ACE_HAS_IPV6) && defined (ACE_WIN32)
-#include /**/ <Iphlpapi.h>
+#include /**/ <iphlpapi.h>
#endif
#if !defined (__ACE_INLINE__)
diff --git a/ace/SOCK_IO.cpp b/ace/SOCK_IO.cpp
index 18f52ad1efd..36a7d171456 100644
--- a/ace/SOCK_IO.cpp
+++ b/ace/SOCK_IO.cpp
@@ -44,13 +44,12 @@ ACE_SOCK_IO::recvv (iovec *io_vec,
io_vec->iov_base = 0;
// Check the status of the current socket.
- int select_width;
# if defined (ACE_WIN32)
// This arg is ignored on Windows and causes pointer truncation
// warnings on 64-bit compiles.
- select_width = 0;
+ int select_width = 0;
# else
- select_width = int (this->get_handle ()) + 1;
+ int select_width = int (this->get_handle ()) + 1;
# endif /* ACE_WIN32 */
switch (ACE_OS::select (select_width,
handle_set,
diff --git a/ace/SOCK_SEQPACK_Acceptor.h b/ace/SOCK_SEQPACK_Acceptor.h
index 95234c36caa..54bbc223bf9 100644
--- a/ace/SOCK_SEQPACK_Acceptor.h
+++ b/ace/SOCK_SEQPACK_Acceptor.h
@@ -56,30 +56,29 @@ public:
* @c SO_REUSEADDR to reuse this address.
*/
ACE_SOCK_SEQPACK_Acceptor (const ACE_Addr &local_sap,
- int reuse_addr = 0,
- int protocol_family = PF_UNSPEC,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 132);
+ int reuse_addr = 0,
+ int protocol_family = PF_UNSPEC,
+ int backlog = ACE_DEFAULT_BACKLOG,
+ int protocol = 132);
/// Multihomed version of same
ACE_SOCK_SEQPACK_Acceptor (const ACE_Multihomed_INET_Addr &local_sap,
- int reuse_addr = 0,
- int protocol_family = PF_UNSPEC,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 132);
+ int reuse_addr = 0,
+ int protocol_family = PF_UNSPEC,
+ int backlog = ACE_DEFAULT_BACKLOG,
+ int protocol = 132);
/// Initialize a passive-mode QoS-enabled acceptor socket. Returns 0
/// on success and -1 on failure.
ACE_SOCK_SEQPACK_Acceptor (const ACE_Addr &local_sap,
- ACE_Protocol_Info *protocolinfo,
- ACE_SOCK_GROUP g,
- u_long flags,
- int reuse_addr,
- int protocol_family = PF_UNSPEC,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 132);
-
+ ACE_Protocol_Info *protocolinfo,
+ ACE_SOCK_GROUP g,
+ u_long flags,
+ int reuse_addr,
+ int protocol_family = PF_UNSPEC,
+ int backlog = ACE_DEFAULT_BACKLOG,
+ int protocol = 132);
/**
* Initialize a passive-mode BSD-style acceptor socket (no QoS).
diff --git a/ace/SOCK_SEQPACK_Connector.h b/ace/SOCK_SEQPACK_Connector.h
index aaac7c77a49..49cf0b8c2dc 100644
--- a/ace/SOCK_SEQPACK_Connector.h
+++ b/ace/SOCK_SEQPACK_Connector.h
@@ -79,7 +79,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -129,7 +129,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The set of local addresses for SCTP to
* bind to.
@@ -178,7 +178,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -228,7 +228,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The set of local addresses for SCTP to
* bind to.
diff --git a/ace/SPIPE_Stream.h b/ace/SPIPE_Stream.h
index 9293224b7ed..b69c8f23bed 100644
--- a/ace/SPIPE_Stream.h
+++ b/ace/SPIPE_Stream.h
@@ -84,12 +84,12 @@ public:
/// Recv bytes via STREAM pipes using "band" mode.
ssize_t recv (void *buf, size_t len) const;
- /// Send <cntl> and <data> via STREAM pipes.
+ /// Send @a cntl and @a data via STREAM pipes.
ssize_t send (const ACE_Str_Buf *cntl,
const ACE_Str_Buf *data,
int flags = 0) const;
- /// Recv <cntl> and <data> via STREAM pipes.
+ /// Recv @a cntl and @a data via STREAM pipes.
ssize_t recv (ACE_Str_Buf *cntl,
ACE_Str_Buf *data,
int *flags) const;
@@ -144,7 +144,7 @@ public:
ssize_t sendv_n (const iovec iov[],
int len) const;
- /// Receive an <iovec> of size @a len to the stream.
+ /// Receive an <iovec> of size @a len from the stream.
ssize_t recvv_n (iovec iov[],
int len) const;
diff --git a/ace/SPIPE_Stream.inl b/ace/SPIPE_Stream.inl
index 94ca51dcf65..e70bd5367fe 100644
--- a/ace/SPIPE_Stream.inl
+++ b/ace/SPIPE_Stream.inl
@@ -111,7 +111,7 @@ ACE_SPIPE_Stream::send_handle (ACE_HANDLE handle) const
DWORD procID;
WSAPROTOCOL_INFO protInfo;
ssize_t res = this->recv(&procID, sizeof(procID));
- if (res != sizeof(procID))
+ if (res != static_cast <ssize_t> (sizeof(procID)))
{
if(res != -1)
errno = ENXIO;
@@ -123,7 +123,7 @@ ACE_SPIPE_Stream::send_handle (ACE_HANDLE handle) const
return -1;
}
res = this->send(&protInfo, sizeof(protInfo));
- if (res != sizeof(protInfo))
+ if (res != static_cast <ssize_t> (sizeof(protInfo)))
{
if(res != -1)
errno = ENXIO;
@@ -131,7 +131,7 @@ ACE_SPIPE_Stream::send_handle (ACE_HANDLE handle) const
}
// This is just for synchronization, we will ignore the data
res = this->recv(&procID, sizeof(procID));
- if (res != sizeof(procID))
+ if (res != static_cast <ssize_t> (sizeof(procID)))
{
if(res != -1)
errno = ENXIO;
@@ -165,14 +165,14 @@ ACE_SPIPE_Stream::recv_handle (ACE_HANDLE &handle) const
pid_t procID = ACE_OS::getpid();
WSAPROTOCOL_INFO protInfo;
ssize_t res = this->send(&procID, sizeof(procID));
- if (res != sizeof(procID))
+ if (res != static_cast <ssize_t> (sizeof(procID)))
{
if(res != -1)
errno = ENXIO;
return -1;
}
res = this->recv(&protInfo, sizeof(protInfo));
- if (res != sizeof(protInfo))
+ if (res != static_cast <ssize_t> (sizeof(protInfo)))
{
if(res != -1)
errno = ENXIO;
@@ -187,7 +187,7 @@ ACE_SPIPE_Stream::recv_handle (ACE_HANDLE &handle) const
// Since it does not matter what the data is, just send something to
// synchronize the end of the exchange
res = this->send(&procID, sizeof(procID));
- if (res != sizeof(procID))
+ if (res != static_cast <ssize_t> (sizeof(procID)))
{
if(res != -1)
errno = ENXIO;
diff --git a/ace/SSL/SSL_Asynch_Stream.cpp b/ace/SSL/SSL_Asynch_Stream.cpp
index c3625fdfce2..d357c8c4f33 100644
--- a/ace/SSL/SSL_Asynch_Stream.cpp
+++ b/ace/SSL/SSL_Asynch_Stream.cpp
@@ -97,7 +97,6 @@ ACE_SSL_Asynch_Stream::ACE_SSL_Asynch_Stream (
ACE_SSL_Asynch_Stream::Stream_Type s_type,
ACE_SSL_Context * context)
: type_ (s_type),
- handle_ (ACE_INVALID_HANDLE),
proactor_ (0),
ext_handler_ (0),
ext_read_result_ (0),
@@ -265,7 +264,7 @@ ACE_SSL_Asynch_Stream::open (ACE_Handler & handler,
// Get a proactor for/from the user.
this->proactor_ = this->get_proactor (proactor, handler);
this->ext_handler_ = & handler;
- this->handle_ = handle;
+ this->handle (handle);
// Open internal input stream
if (this->bio_istream_.open (*this, // real callbacks to this
@@ -347,7 +346,7 @@ ACE_SSL_Asynch_Stream::read (ACE_Message_Block & message_block,
ACE_NEW_RETURN (this->ext_read_result_,
ACE_SSL_Asynch_Read_Stream_Result (
*this->ext_handler_,
- this->handle_,
+ this->handle (),
message_block,
bytes_to_read,
act,
@@ -390,7 +389,7 @@ ACE_SSL_Asynch_Stream::write (ACE_Message_Block & message_block,
ACE_NEW_RETURN (this->ext_write_result_,
ACE_SSL_Asynch_Write_Stream_Result (
*this->ext_handler_,
- this->handle_,
+ this->handle (),
message_block,
bytes_to_write,
act,
diff --git a/ace/SSL/SSL_Asynch_Stream.h b/ace/SSL/SSL_Asynch_Stream.h
index 266410851f0..1957c023468 100644
--- a/ace/SSL/SSL_Asynch_Stream.h
+++ b/ace/SSL/SSL_Asynch_Stream.h
@@ -379,9 +379,6 @@ protected:
/// Stream Type ST_CLIENT/ST_SERVER
Stream_Type type_;
- /// The real file/socket handle
- ACE_HANDLE handle_;
-
/// The proactor
ACE_Proactor * proactor_;
diff --git a/ace/SSL/SSL_Context.cpp b/ace/SSL/SSL_Context.cpp
index 2d71688c3c2..2512e716ce7 100644
--- a/ace/SSL/SSL_Context.cpp
+++ b/ace/SSL/SSL_Context.cpp
@@ -236,7 +236,11 @@ ACE_SSL_Context::set_mode (int mode)
if (this->context_ != 0)
return -1;
+#if OPENSSL_VERSION_NUMBER >= 0x10000002
+ const SSL_METHOD *method = 0;
+#else
SSL_METHOD *method = 0;
+#endif
switch (mode)
{
diff --git a/ace/SSL/SSL_SOCK_Acceptor.inl b/ace/SSL/SSL_SOCK_Acceptor.inl
index 7fd8cb04095..fbbfaf2ccda 100644
--- a/ace/SSL/SSL_SOCK_Acceptor.inl
+++ b/ace/SSL/SSL_SOCK_Acceptor.inl
@@ -76,7 +76,7 @@ ACE_SSL_SOCK_Acceptor::close (void)
{
ACE_TRACE ("ACE_SSL_SOCK_Acceptor::close ()");
- int result = this->acceptor_.close ();
+ int const result = this->acceptor_.close ();
this->set_handle (ACE_INVALID_HANDLE);
return result;
diff --git a/ace/SSL/SSL_SOCK_Connector.h b/ace/SSL/SSL_SOCK_Connector.h
index 747235bd0f8..e07c05190d0 100644
--- a/ace/SSL/SSL_SOCK_Connector.h
+++ b/ace/SSL/SSL_SOCK_Connector.h
@@ -86,7 +86,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -137,7 +137,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -191,7 +191,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
@@ -242,7 +242,7 @@ public:
* amount of time passes before the connection is made,
* this method returns -1 and errno == ETIME. Note
* the difference between this case and when a blocking
- * connect is attmpted that TCP times out - in the latter
+ * connect is attempted that TCP times out - in the latter
* case, errno will be ETIMEDOUT.
* @param local_sap (optional) The local address to bind to. If it's
* the default value of @c ACE_Addr::sap_any then the
diff --git a/ace/SString.cpp b/ace/SString.cpp
index 5ba108655aa..c95e4279dc5 100644
--- a/ace/SString.cpp
+++ b/ace/SString.cpp
@@ -333,212 +333,6 @@ ACE_SString::substring (size_type offset,
// ************************************************************
-ACE_Tokenizer::ACE_Tokenizer (ACE_TCHAR *buffer)
- : buffer_ (buffer),
- index_ (0),
- preserves_index_ (0),
- delimiter_index_ (0)
-{
-}
-
-int
-ACE_Tokenizer::delimiter (ACE_TCHAR d)
-{
- if (delimiter_index_ == MAX_DELIMITERS)
- return -1;
-
- delimiters_[delimiter_index_].delimiter_ = d;
- delimiters_[delimiter_index_].replace_ = 0;
- delimiter_index_++;
- return 0;
-}
-
-int
-ACE_Tokenizer::delimiter_replace (ACE_TCHAR d,
- ACE_TCHAR replacement)
-{
- // Make it possible to replace delimiters on-the-fly, e.g., parse
- // string until certain token count and then copy rest of the
- // original string.
- for (int i = 0; i < delimiter_index_; i++)
- if (delimiters_[i].delimiter_ == d)
- {
- delimiters_[i].replacement_ = replacement;
- delimiters_[i].replace_ = 1;
- return 0;
- }
-
- if (delimiter_index_ >= MAX_DELIMITERS)
- return -1;
-
- delimiters_[delimiter_index_].delimiter_ = d;
- delimiters_[delimiter_index_].replacement_ = replacement;
- delimiters_[delimiter_index_].replace_ = 1;
- delimiter_index_++;
- return 0;
-}
-
-int
-ACE_Tokenizer::preserve_designators (ACE_TCHAR start,
- ACE_TCHAR stop,
- int strip)
-{
- if (preserves_index_ == MAX_PRESERVES)
- return -1;
-
- preserves_[preserves_index_].start_ = start;
- preserves_[preserves_index_].stop_ = stop;
- preserves_[preserves_index_].strip_ = strip;
- preserves_index_++;
- return 0;
-}
-
-int
-ACE_Tokenizer::is_delimiter (ACE_TCHAR d,
- int &replace,
- ACE_TCHAR &r)
-{
- replace = 0;
-
- for (int x = 0; x < delimiter_index_; x++)
- if (delimiters_[x].delimiter_ == d)
- {
- if (delimiters_[x].replace_)
- {
- r = delimiters_[x].replacement_;
- replace = 1;
- }
- return 1;
- }
-
- return 0;
-}
-
-int
-ACE_Tokenizer::is_preserve_designator (ACE_TCHAR start,
- ACE_TCHAR &stop,
- int &strip)
-{
- for (int x = 0; x < preserves_index_; x++)
- if (preserves_[x].start_ == start)
- {
- stop = preserves_[x].stop_;
- strip = preserves_[x].strip_;
- return 1;
- }
-
- return 0;
-}
-
-ACE_TCHAR *
-ACE_Tokenizer::next (void)
-{
- // Check if the previous pass was the last one in the buffer.
- if (index_ == -1)
- {
- index_ = 0;
- return 0;
- }
-
- ACE_TCHAR replacement = 0;
- int replace;
- ACE_TCHAR *next_token;
-
- // Skip all leading delimiters.
- for (;;)
- {
- // Check for end of string.
- if (buffer_[index_] == '\0')
- {
- // If we hit EOS at the start, return 0.
- index_ = 0;
- return 0;
- }
-
- if (this->is_delimiter (buffer_[index_],
- replace,
- replacement))
- index_++;
- else
- break;
- }
-
- // When we reach this point, buffer_[index_] is a non-delimiter and
- // not EOS - the start of our next_token.
- next_token = buffer_ + index_;
-
- // A preserved region is it's own token.
- ACE_TCHAR stop;
- int strip;
- if (this->is_preserve_designator (buffer_[index_],
- stop,
- strip))
- {
- while (++index_)
- {
- if (buffer_[index_] == '\0')
- {
- index_ = -1;
- goto EXIT_LABEL;
- }
-
- if (buffer_[index_] == stop)
- break;
- }
-
- if (strip)
- {
- // Skip start preserve designator.
- next_token += 1;
- // Zap the stop preserve designator.
- buffer_[index_] = '\0';
- // Increment to the next token.
- index_++;
- }
-
- goto EXIT_LABEL;
- }
-
- // Step through finding the next delimiter or EOS.
- for (;;)
- {
- // Advance pointer.
- index_++;
-
- // Check for delimiter.
- if (this->is_delimiter (buffer_[index_],
- replace,
- replacement))
- {
- // Replace the delimiter.
- if (replace != 0)
- buffer_[index_] = replacement;
-
- // Move the pointer up and return.
- index_++;
- goto EXIT_LABEL;
- }
-
- // A preserve designator signifies the end of this token.
- if (this->is_preserve_designator (buffer_[index_],
- stop,
- strip))
- goto EXIT_LABEL;
-
- // Check for end of string.
- if (buffer_[index_] == '\0')
- {
- index_ = -1;
- goto EXIT_LABEL;
- }
- }
-
-EXIT_LABEL:
- return next_token;
-}
-
-// *************************************************************
-
#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
template char ACE_String_Base<char>::NULL_String_;
template ACE_WSTRING_TYPE ACE_String_Base<ACE_WSTRING_TYPE>::NULL_String_;
diff --git a/ace/SString.h b/ace/SString.h
index b52c732ef55..c9a94c7165e 100644
--- a/ace/SString.h
+++ b/ace/SString.h
@@ -39,6 +39,12 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
template class ACE_Export ACE_String_Base<char>;
template class ACE_Export ACE_String_Base<ACE_WSTRING_TYPE>;
+
+template class ACE_Export ACE_String_Base_Iterator<char>;
+template class ACE_Export ACE_String_Base_Iterator<ACE_WSTRING_TYPE>;
+
+template class ACE_Export ACE_String_Base_Const_Iterator<char>;
+template class ACE_Export ACE_String_Base_Const_Iterator<ACE_WSTRING_TYPE>;
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT */
/**
@@ -196,7 +202,7 @@ public:
/// slot of the first location that matches, else @c npos.
size_type strstr (const ACE_SString &s) const;
- /// Find <str> starting at pos. Returns the slot of the first
+ /// Find @a str starting at pos. Returns the slot of the first
/// location that matches (will be >= pos), else npos.
size_type find (const ACE_SString &str, size_type pos = 0) const;
@@ -204,11 +210,11 @@ public:
/// location that matches (will be >= pos), else npos.
size_type find (const char *s, size_type pos = 0) const;
- /// Find <c> starting at pos. Returns the slot of the first
+ /// Find @a c starting at pos. Returns the slot of the first
/// location that matches (will be >= pos), else npos.
size_type find (char c, size_type pos = 0) const;
- /// Find <c> starting at pos (counting from the end). Returns the
+ /// Find @a c starting at pos (counting from the end). Returns the
/// slot of the first location that matches, else npos.
size_type rfind (char c, size_type pos = npos) const;
@@ -256,208 +262,6 @@ typedef ACE_WString ACE_TString;
typedef ACE_CString ACE_TString;
#endif /* ACE_USES_WCHAR */
-
-// ************************************************************
-
-/**
- * @class ACE_Tokenizer
- *
- * @brief Tokenizer
- *
- * Tokenizes a buffer. Allows application to set delimiters and
- * preserve designators. Does not allow special characters, yet
- * (e.g., printf ("\"like a quoted string\"")).
- */
-class ACE_Export ACE_Tokenizer
-{
-public:
- /**
- * \a buffer will be parsed. Notice that ACE_Tokenizer will modify
- * \a buffer if you use <code> delimiter_replace </code> or <code>
- * preserve_designators </code> to do character substitution.
- * @note You should NOT pass a constant string or string literal
- * to this constructor, since ACE_Tokenizer will try to modify
- * the string.
- * \sa preserve_designators
- * \sa preserve_designators
- */
- ACE_Tokenizer (ACE_TCHAR *buffer);
-
- /**
- * \a d is a delimiter.
- * \return Returns 0 on success, -1 if there is no memory left.
- *
- * <B>Example:</B>
- * \verbatim
- char buf[30];
- ACE_OS::strcpy(buf, "William/Joseph/Hagins");
-
- ACE_Tokenizer tok (buf);
- tok.delimiter ('/');
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William/Joseph/Hagins
- Joseph/Hagins
- Hagins \endverbatim
- */
- int delimiter (ACE_TCHAR d);
-
- /**
- * \a d is a delimiter and, when found, will be replaced by
- * \a replacement.
- * \return 0 on success, -1 if there is no memory left.
- *
- * <B>Example:</B>
- * \verbatim
- char buf[30];
- ACE_OS::strcpy(buf, "William/Joseph/Hagins");
-
- ACE_Tokenizer tok (buf);
- tok.delimiter_replace ('/', 0);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William
- Joseph
- Hagins \endverbatim
- */
- int delimiter_replace (ACE_TCHAR d, ACE_TCHAR replacement);
-
- /**
- * Extract string between a pair of designator characters.
- * For instance, quotes, or '(' and ')'.
- * \a start specifies the begin designator.
- * \a stop specifies the end designator.
- * \a strip If \a strip == 1, then the preserve
- * designators will be stripped from the tokens returned by next.
- * \return 0 on success, -1 if there is no memory left.
- *
- * <B>Example with strip = 0:</B>
- * \verbatim
- char buf[30];
- ACE_OS::strcpy(buf, "William(Joseph)Hagins");
-
- ACE_Tokenizer tok (buf);
- tok.preserve_designators ('(', ')', 0);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William(Joseph)Hagins
- (Joseph)Hagins
- )Hagins \endverbatim
- *
- * <B>Example with strip = 1:</B>
- * \verbatim
- char buf[30];
- ACE_OS::strcpy(buf, "William(Joseph)Hagins");
-
- ACE_Tokenizer tok (buf);
- tok.preserve_designators ('(', ')', 1);
- for (char *p = tok.next (); p; p = tok.next ())
- cout << p << endl;
- \endverbatim
- *
- * This will print out:
- * \verbatim
- William
- Joseph
- Hagins \endverbatim
- */
- int preserve_designators (ACE_TCHAR start, ACE_TCHAR stop, int strip=1);
-
- /// Returns the next token.
- ACE_TCHAR *next (void);
-
- enum {
- MAX_DELIMITERS=16,
- MAX_PRESERVES=16
- };
-
-protected:
- /// Returns 1 if <d> is a delimiter, 0 otherwise. If <d> should be
- /// replaced with @a r, <replace> is set to 1, otherwise 0.
- int is_delimiter (ACE_TCHAR d, int &replace, ACE_TCHAR &r);
-
- /**
- * If <start> is a start preserve designator, returns 1 and sets
- * <stop> to the stop designator. Returns 0 if <start> is not a
- * preserve designator.
- */
- int is_preserve_designator (ACE_TCHAR start, ACE_TCHAR &stop, int &strip);
-
- ACE_TCHAR *buffer_;
- int index_;
-
- /**
- * @class Preserve_Entry
- *
- * @brief Preserve Entry
- *
- * Defines a set of characters that designate an area that
- * should not be parsed, but should be treated as a complete
- * token. For instance, in: (this is a preserve region), start
- * would be a left paren -(- and stop would be a right paren
- * -)-. The strip determines whether the designators should be
- * removed from the token.
- */
- class Preserve_Entry
- {
- public:
- /**
- * E.g., "(".
- * E.g., ")".
- * Whether the designators should be removed from the token.
- */
- ACE_TCHAR start_;
- ACE_TCHAR stop_;
- int strip_;
- };
-
- /// The application can specify MAX_PRESERVES preserve designators.
- Preserve_Entry preserves_[MAX_PRESERVES];
-
- /// Pointer to the next free spot in preserves_.
- int preserves_index_;
-
- /**
- * @class Delimiter_Entry
- *
- * @brief Delimiter Entry
- *
- * Describes a delimiter for the tokenizer.
- */
- class Delimiter_Entry
- {
- public:
- /**
- * Most commonly a space ' '.
- * What occurrences of delimiter_ should be replaced with.
- * Whether replacement_ should be used. This should be replaced
- * with a technique that sets replacement_ = delimiter by
- * default. I'll do that next iteration.
- */
- ACE_TCHAR delimiter_;
- ACE_TCHAR replacement_;
- int replace_;
- };
-
- /// The tokenizer allows MAX_DELIMITERS number of delimiters.
- Delimiter_Entry delimiters_[MAX_DELIMITERS];
-
- /// Pointer to the next free space in delimiters_.
- int delimiter_index_;
-};
-
// ****************************************************************
/**
diff --git a/ace/SStringfwd.h b/ace/SStringfwd.h
index fb28ee8a469..cab3ecfe8ec 100644
--- a/ace/SStringfwd.h
+++ b/ace/SStringfwd.h
@@ -33,7 +33,7 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <class CHAR> class ACE_String_Base; // Forward declaration.
+template <class ACE_CHAR_T> class ACE_String_Base; // Forward declaration.
typedef ACE_WCHAR_T ACE_WSTRING_TYPE;
diff --git a/ace/SUN_Proactor.cpp b/ace/SUN_Proactor.cpp
index 8b280045b97..1fd7ec23b48 100644
--- a/ace/SUN_Proactor.cpp
+++ b/ace/SUN_Proactor.cpp
@@ -112,8 +112,8 @@ ACE_SUN_Proactor::handle_events_i (ACE_Time_Value *delta)
default: // EFAULT
ACE_ERROR_RETURN ((LM_ERROR,
- "%N:%l:(%P | %t)::%p \nNumAIO=%d\n",
- "ACE_SUN_Proactor::handle_events: aiowait failed",
+ ACE_TEXT("%N:%l:(%P | %t)::%p \nNumAIO=%d\n"),
+ ACE_TEXT("ACE_SUN_Proactor::handle_events: aiowait failed"),
num_started_aio_),
-1);
}
@@ -202,9 +202,9 @@ ACE_SUN_Proactor::find_completed_aio (aio_result_t *result,
transfer_count) == 0)
{ // should never be
ACE_ERROR ((LM_ERROR,
- "%N:%l:(%P | %t)::%p\n",
- "ACE_SUN_Proactor::find_completed_aio:"
- "should never be !!!\n"));
+ ACE_TEXT("%N:%l:(%P | %t)::%p\n"),
+ ACE_TEXT("ACE_SUN_Proactor::find_completed_aio:")
+ ACE_TEXT("should never be !!!\n")));
return 0;
}
diff --git a/ace/SV_Semaphore_Simple.cpp b/ace/SV_Semaphore_Simple.cpp
index 64256eb001d..918e55f2a26 100644
--- a/ace/SV_Semaphore_Simple.cpp
+++ b/ace/SV_Semaphore_Simple.cpp
@@ -138,15 +138,15 @@ ACE_SV_Semaphore_Simple::name_2_key (const char *name)
// Basically "hash" the values in the <name>. This won't
// necessarily guarantee uniqueness of all keys.
// But (IMHO) CRC32 is good enough for most purposes (Carlos)
-#if defined (ACE_WIN64) || defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (_MSC_VER)
// The cast below is legit...
# pragma warning(push)
# pragma warning(disable : 4312)
-#endif /* ACE_WIN64 */
+#endif /* defined (ACE_WIN32) && defined (_MSC_VER) */
return (key_t) ACE::crc32 (name);
-#if defined (ACE_WIN64) || defined (ACE_WIN32)
+#if defined (ACE_WIN32) && defined (_MSC_VER)
# pragma warning(pop)
-#endif /* ACE_WIN64 */
+#endif /* defined (ACE_WIN32) && defined (_MSC_VER) */
}
// Open or create a ACE_SV_Semaphore. We return 1 if all is OK, else
diff --git a/ace/SV_Semaphore_Simple.h b/ace/SV_Semaphore_Simple.h
index 8950369225e..42dbc7c906b 100644
--- a/ace/SV_Semaphore_Simple.h
+++ b/ace/SV_Semaphore_Simple.h
@@ -29,7 +29,7 @@
#if defined (ACE_WIN32)
// Default semaphore key and mutex name
# if !defined (ACE_DEFAULT_SEM_KEY)
-# define ACE_DEFAULT_SEM_KEY "ACE_SEM_KEY"
+# define ACE_DEFAULT_SEM_KEY const_cast <char*>("ACE_SEM_KEY")
# endif /* ACE_DEFAULT_SEM_KEY */
#else /* !defined (ACE_WIN32) */
// Default semaphore key
diff --git a/ace/Select_Reactor_Base.cpp b/ace/Select_Reactor_Base.cpp
index e86008aaf85..d6d90752655 100644
--- a/ace/Select_Reactor_Base.cpp
+++ b/ace/Select_Reactor_Base.cpp
@@ -691,7 +691,9 @@ ACE_Select_Reactor_Notify::notify (ACE_Event_Handler *event_handler,
ACE_Event_Handler_var safe_handler (event_handler);
if (event_handler)
- event_handler->add_reference ();
+ {
+ event_handler->add_reference ();
+ }
ACE_Notification_Buffer buffer (event_handler, mask);
@@ -718,7 +720,9 @@ ACE_Select_Reactor_Notify::notify (ACE_Event_Handler *event_handler,
sizeof buffer,
timeout);
if (n == -1)
- return -1;
+ {
+ return -1;
+ }
// No failures.
safe_handler.release ();
@@ -800,14 +804,9 @@ ACE_Select_Reactor_Notify::dispatch_notify (ACE_Notification_Buffer &buffer)
more_messages_queued,
next);
- if (result == 0)
+ if (result == 0 || result == -1)
{
- return 0;
- }
-
- if (result == -1)
- {
- return -1;
+ return result;
}
if(more_messages_queued)
@@ -874,6 +873,25 @@ ACE_Select_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
{
ACE_TRACE ("ACE_Select_Reactor_Notify::read_notify_pipe");
+ // This is kind of a weird, fragile beast. We first read with a
+ // regular read. The read side of this socket is non-blocking, so
+ // the read may end up being short.
+ //
+ // If the read is short, then we do a recv_n to insure that we block
+ // and read the rest of the buffer.
+ //
+ // Now, you might be tempted to say, "why don't we just replace the
+ // first recv with a recv_n?" I was, too. But that doesn't work
+ // because of how the calling code in handle_input() works. In
+ // handle_input, the event will only be dispatched if the return
+ // value from read_notify_pipe() is > 0. That means that we can't
+ // return zero from this func unless it's an EOF condition.
+ //
+ // Thus, the return value semantics for this are:
+ // -1: nothing read, fatal, unrecoverable error
+ // 0: nothing read at all
+ // 1: complete buffer read
+
ssize_t const n = ACE::recv (handle, (char *) &buffer, sizeof buffer);
if (n > 0)
@@ -887,9 +905,9 @@ ACE_Select_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
// doesn't work we're in big trouble since the input stream
// won't be aligned correctly. I'm not sure quite what to
// do at this point. It's probably best just to return -1.
- if (ACE::recv (handle,
- ((char *) &buffer) + n,
- remainder) != remainder)
+ if (ACE::recv_n (handle,
+ ((char *) &buffer) + n,
+ remainder) != remainder)
return -1;
}
@@ -916,6 +934,9 @@ ACE_Select_Reactor_Notify::handle_input (ACE_HANDLE handle)
int result = 0;
ACE_Notification_Buffer buffer;
+ // If there is only one buffer in the pipe, this will loop and call
+ // read_notify_pipe() twice. The first time will read the buffer, and
+ // the second will read the fact that the pipe is empty.
while ((result = this->read_notify_pipe (handle, buffer)) > 0)
{
// Dispatch the buffer
diff --git a/ace/Select_Reactor_Base.h b/ace/Select_Reactor_Base.h
index b8f86fa7d32..565dd2c4afb 100644
--- a/ace/Select_Reactor_Base.h
+++ b/ace/Select_Reactor_Base.h
@@ -180,6 +180,11 @@ public:
/// Read one of the notify call on the @a handle into the
/// @a buffer. This could be because of a thread trying to unblock
/// the Reactor_Impl
+ ///
+ /// Return value semantics for this are:
+ /// -1: nothing read, fatal, unrecoverable error
+ /// 0: nothing read at all
+ /// 1: complete buffer read
virtual int read_notify_pipe (ACE_HANDLE handle,
ACE_Notification_Buffer &buffer);
@@ -502,7 +507,7 @@ protected:
/// appropriate point specified by <requeue_position_>.
virtual void renew (void) = 0;
- /// Check to see if the <Event_Handler> associated with @a handle is
+ /// Check to see if the Event_Handler associated with @a handle is
/// suspended. Returns 0 if not, 1 if so.
virtual int is_suspended_i (ACE_HANDLE handle) = 0;
@@ -570,7 +575,7 @@ protected:
/**
* True if state has changed during dispatching of
- * <ACE_Event_Handlers>, else false. This is used to determine
+ * ACE_Event_Handlers, else false. This is used to determine
* whether we need to make another trip through the
* <Select_Reactor>'s <wait_for_multiple_events> loop.
*/
diff --git a/ace/Select_Reactor_T.cpp b/ace/Select_Reactor_T.cpp
index 1eb5a17d79d..30666cbf11f 100644
--- a/ace/Select_Reactor_T.cpp
+++ b/ace/Select_Reactor_T.cpp
@@ -211,8 +211,11 @@ ACE_Select_Reactor_T<ACE_SELECT_REACTOR_TOKEN>::notify (ACE_Event_Handler *eh,
// Pass over both the Event_Handler *and* the mask to allow the
// caller to dictate which Event_Handler method the receiver
// invokes. Note that this call can timeout.
-
- ssize_t const n = this->notify_handler_->notify (eh, mask, timeout);
+ ssize_t n = -1;
+ if (this->notify_handler_)
+ {
+ n = this->notify_handler_->notify (eh, mask, timeout);
+ }
return n == -1 ? -1 : 0;
}
@@ -1493,13 +1496,12 @@ ACE_Select_Reactor_T<ACE_SELECT_REACTOR_TOKEN>::check_handles (void)
// variant since fstat always returns an error on socket FDs.
rd_mask.set_bit (h);
- int select_width;
# if defined (ACE_WIN32)
// This arg is ignored on Windows and causes pointer truncation
// warnings on 64-bit compiles.
- select_width = 0;
+ int select_width = 0;
# else
- select_width = int (h) + 1;
+ int select_width = int (h) + 1;
# endif /* ACE_WIN32 */
if (ACE_OS::select (select_width,
diff --git a/ace/Select_Reactor_T.h b/ace/Select_Reactor_T.h
index 458f7ebac73..f7648793a33 100644
--- a/ace/Select_Reactor_T.h
+++ b/ace/Select_Reactor_T.h
@@ -271,7 +271,7 @@ public:
ACE_Reactor_Mask mask);
/**
- * Removes the @a mask bind of <Event_Handler> whose handle is
+ * Removes the @a mask bind of Event_Handler whose handle is
* @a handle from the Select_Reactor. If there are no more bindings
* for this @a eh then it is removed from the Select_Reactor.
*/
@@ -279,8 +279,8 @@ public:
ACE_Reactor_Mask);
/**
- * Removes all the @a mask bindings for handles in the <handle_set>
- * bind of <Event_Handler>. If there are no more bindings for any
+ * Removes all the @a mask bindings for handles in the @a handle_set
+ * bind of Event_Handler. If there are no more bindings for any
* of these handlers then they are removed from the Select_Reactor.
*/
virtual int remove_handler (const ACE_Handle_Set &handle_set,
@@ -288,7 +288,7 @@ public:
/**
* Remove the ACE_Event_Handler currently associated with @a signum.
- * <sigkey> is ignored in this implementation since there is only
+ * @a sigkey is ignored in this implementation since there is only
* one instance of a signal handler. Install the new disposition
* (if given) and return the previous disposition (if desired by the
* caller). Returns 0 on success and -1 if @a signum is invalid.
@@ -298,7 +298,7 @@ public:
ACE_Sig_Action *old_disp = 0,
int sigkey = -1);
- /// Calls <remove_handler> for every signal in <sigset>.
+ /// Calls <remove_handler> for every signal in @a sigset.
virtual int remove_handler (const ACE_Sig_Set &sigset);
// = Suspend and resume Handlers.
@@ -306,24 +306,24 @@ public:
/// Temporarily suspend the <Event_Handler> associated with @a eh.
virtual int suspend_handler (ACE_Event_Handler *eh);
- /// Temporarily suspend the <Event_Handler> associated with @a handle.
+ /// Temporarily suspend the Event_Handler associated with @a handle.
virtual int suspend_handler (ACE_HANDLE handle);
- /// Suspend all <handles> in handle set temporarily.
+ /// Suspend all @a handles in handle set temporarily.
virtual int suspend_handler (const ACE_Handle_Set &handles);
/// Suspend all the <Event_Handlers> in the Select_Reactor.
virtual int suspend_handlers (void);
- /// Resume a temporarily suspend <Event_Handler> associated with
+ /// Resume a temporarily suspend Event_Handler associated with
/// @a eh.
virtual int resume_handler (ACE_Event_Handler *eh);
- /// Resume a temporarily suspended <Event_Handler> associated with
+ /// Resume a temporarily suspended Event_Handler associated with
/// @a handle.
virtual int resume_handler (ACE_HANDLE handle);
- /// Resume all <handles> in handle set.
+ /// Resume all @a handles in handle set.
virtual int resume_handler (const ACE_Handle_Set &handles);
/// Resume all the <Event_Handlers> in the Select_Reactor.
@@ -373,8 +373,8 @@ public:
/**
* Cancel all <event_handlers> that match the address of
- * <event_handler>. If @a dont_call_handle_close is 0 then the
- * <handle_close> method of <event_handler> will be invoked.
+ * @a event_handler. If @a dont_call_handle_close is 0 then the
+ * <handle_close> method of @a event_handler will be invoked.
* Returns number of handler's cancelled.
*/
virtual int cancel_timer (ACE_Event_Handler *event_handler,
@@ -384,7 +384,7 @@ public:
* Cancel the single ACE_Event_Handler that matches the @a timer_id
* value (which was returned from the <schedule> method). If arg is
* non-NULL then it will be set to point to the ``magic cookie''
- * argument passed in when the <Event_Handler> was registered. This
+ * argument passed in when the Event_Handler was registered. This
* makes it possible to free up the memory and avoid memory leaks.
* If @a dont_call_handle_close is 0 then the <handle_close> method
* of <event_handler> will be invoked. Returns 1 if cancellation
@@ -416,7 +416,7 @@ public:
/**
* Called by a thread when it wants to unblock the Select_Reactor.
* This wakeups the <ACE_Select_Reactor> if currently blocked in
- * <select>/<poll>. Pass over both the <Event_Handler> *and* the
+ * <select>/<poll>. Pass over both the Event_Handler *and* the
* @a mask to allow the caller to dictate which <Event_Handler>
* method the <Select_Reactor> will invoke. The ACE_Time_Value
* indicates how long to blocking trying to notify the
@@ -431,7 +431,7 @@ public:
/**
* Set the maximum number of times that the
* <ACE_Select_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify pipe before breaking out of its <recv> loop. By default,
* this is set to -1, which means "iterate until the pipe is empty."
* Setting this to a value like "1 or 2" will increase "fairness"
@@ -443,7 +443,7 @@ public:
/**
* Get the maximum number of times that the
* <ACE_Select_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify pipe before breaking out of its <recv> loop.
*/
virtual int max_notify_iterations (void);
@@ -556,7 +556,7 @@ protected:
ACE_Event_Handler *eh,
ACE_Reactor_Mask mask);
- /// Register a set of <handles>.
+ /// Register a set of @a handles.
virtual int register_handler_i (const ACE_Handle_Set &handles,
ACE_Event_Handler *handler,
ACE_Reactor_Mask mask);
@@ -566,7 +566,7 @@ protected:
virtual int remove_handler_i (ACE_HANDLE handle,
ACE_Reactor_Mask);
- /// Remove a set of <handles>.
+ /// Remove a set of @a handles.
virtual int remove_handler_i (const ACE_Handle_Set &handles,
ACE_Reactor_Mask);
@@ -642,8 +642,8 @@ protected:
/**
* Dispatch all the input/output/except handlers that are enabled in
- * the <dispatch_set>. Updates <number_of_active_handles> and
- * <number_of_handlers_dispatched> according to the behavior of the
+ * the @a dispatch_set. Updates @a number_of_active_handles and
+ * @a number_of_handlers_dispatched according to the behavior of the
* number Returns -1 if the state of the <wait_set_> has changed,
* else 0.
*/
@@ -654,9 +654,9 @@ protected:
/**
* Factors the dispatching of an io handle set (each WRITE, EXCEPT
* or READ set of handles). It updates the
- * <number_of_handlers_dispatched> and invokes this->notify_handle
+ * @a number_of_handlers_dispatched and invokes this->notify_handle
* for all the handles in <dispatch_set> using the @a mask,
- * <ready_set> and <callback> parameters. Must return -1 if
+ * <ready_set> and @a callback parameters. Must return -1 if
* this->state_changed otherwise it must return 0.
*/
virtual int dispatch_io_set (int number_of_active_handles,
@@ -666,7 +666,7 @@ protected:
ACE_Handle_Set& ready_mask,
ACE_EH_PTMF callback);
- /// Notify the appropriate <callback> in the context of the @a eh
+ /// Notify the appropriate @a callback in the context of the @a eh
/// associated with @a handle that a particular event has occurred.
virtual void notify_handle (ACE_HANDLE handle,
ACE_Reactor_Mask mask,
diff --git a/ace/Semaphore.cpp b/ace/Semaphore.cpp
index 06de81756ed..104d2e517f0 100644
--- a/ace/Semaphore.cpp
+++ b/ace/Semaphore.cpp
@@ -20,11 +20,13 @@ ACE_ALLOC_HOOK_DEFINE(ACE_Semaphore)
void
ACE_Semaphore::dump (void) const
{
+#if defined (ACE_HAS_DUMP)
// ACE_TRACE ("ACE_Semaphore::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+#endif /* ACE_HAS_DUMP */
}
ACE_Semaphore::ACE_Semaphore (unsigned int count,
diff --git a/ace/Service_Config.cpp b/ace/Service_Config.cpp
index d6a2f753c4a..2b2b47da179 100644
--- a/ace/Service_Config.cpp
+++ b/ace/Service_Config.cpp
@@ -47,7 +47,7 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::ACE_Threading_Helper ()
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) Failed to create thread key: %p\n"),
- ""));
+ ACE_TEXT ("")));
}
}
@@ -56,8 +56,8 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::set (void* p)
{
if (ACE_Thread::setspecific (key_, p) == -1)
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Service Config failed to set thread key value: %p\n"),
- ""));
+ ACE_TEXT ("(%P|%t) Service Config failed to set thread key value: %p\n"),
+ ACE_TEXT("")));
}
void*
@@ -67,7 +67,7 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::get (void)
if (ACE_Thread::getspecific (key_, &temp) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) Service Config failed to get thread key value: %p\n"),
- ""),
+ ACE_TEXT("")),
0);
return temp;
}
@@ -110,7 +110,7 @@ ACE_Service_Config_Guard::ACE_Service_Config_Guard (ACE_Service_Gestalt * psg)
{
if (ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SCG:<ctor=%@>")
+ ACE_TEXT ("ACE (%P|%t) - SCG:<ctor=%@>")
ACE_TEXT (" - config=%@ repo=%@ superceded by repo=%@\n"),
this,
this->saved_.get (),
@@ -273,48 +273,52 @@ ACE_Service_Config::open_i (const ACE_TCHAR program_name[],
const ACE_TCHAR *key = logger_key;
if (key == 0 || ACE_OS::strcmp (key, ACE_DEFAULT_LOGGER_KEY) == 0)
- // Only use the static <logger_key_> if the caller doesn't
- // override it in the parameter list or if the key supplied is
- // equal to the default static logger key.
- key = ACE_Service_Config::current()->logger_key_;
+ {
+ // Only use the static <logger_key_> if the caller doesn't
+ // override it in the parameter list or if the key supplied is
+ // equal to the default static logger key.
+ key = ACE_Service_Config::current()->logger_key_;
+ }
else
- ACE_SET_BITS (flags, ACE_Log_Msg::LOGGER);
+ {
+ ACE_SET_BITS (flags, ACE_Log_Msg::LOGGER);
+ }
if (log_msg->open (program_name,
flags,
key) == -1)
return -1;
- if (ACE::debug ())
- ACE_DEBUG ((LM_STARTUP,
- ACE_TEXT ("starting up daemon %n\n")));
+ if (ACE::debug ())
+ ACE_DEBUG ((LM_STARTUP,
+ ACE_TEXT ("starting up daemon %n\n")));
- // Initialize the Service Repository (this will still work if
- // user forgets to define an object of type ACE_Service_Config).
- ACE_Service_Repository::instance (ACE_Service_Gestalt::MAX_SERVICES);
+ // Initialize the Service Repository (this will still work if
+ // user forgets to define an object of type ACE_Service_Config).
+ ACE_Service_Repository::instance (ACE_Service_Gestalt::MAX_SERVICES);
- // Initialize the ACE_Reactor (the ACE_Reactor should be the
- // same size as the ACE_Service_Repository).
- ACE_Reactor::instance ();
+ // Initialize the ACE_Reactor (the ACE_Reactor should be the
+ // same size as the ACE_Service_Repository).
+ ACE_Reactor::instance ();
- // There's no point in dealing with this on NT since it doesn't
- // really support signals very well...
+ // There's no point in dealing with this on NT since it doesn't
+ // really support signals very well...
#if !defined (ACE_LACKS_UNIX_SIGNALS)
- // Only attempt to register a signal handler for positive
- // signal numbers.
- if (ACE_Service_Config::signum_ > 0)
- {
- ACE_Sig_Set ss;
- ss.sig_add (ACE_Service_Config::signum_);
- if ((ACE_Reactor::instance () != 0) &&
- (ACE_Reactor::instance ()->register_handler
- (ss, ACE_Service_Config::signal_handler_) == -1))
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("can't register signal handler\n")));
- }
+ // Only attempt to register a signal handler for positive
+ // signal numbers.
+ if (ACE_Service_Config::signum_ > 0)
+ {
+ ACE_Sig_Set ss;
+ ss.sig_add (ACE_Service_Config::signum_);
+ if ((ACE_Reactor::instance () != 0) &&
+ (ACE_Reactor::instance ()->register_handler
+ (ss, ACE_Service_Config::signal_handler_) == -1))
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("can't register signal handler\n")));
+ }
#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 0;
+ return 0;
}
/// Return the global configuration instance. Always returns the same
diff --git a/ace/Service_Config.h b/ace/Service_Config.h
index 9bf6ea93afa..0c3a5bdd64b 100644
--- a/ace/Service_Config.h
+++ b/ace/Service_Config.h
@@ -367,6 +367,8 @@ private:
* - '-d' Turn on debugging mode
* - '-f' Specifies a configuration file name other than the default
* svc.conf. Can be specified multiple times to use multiple files.
+ * If any configuration file is provided with this option then
+ * the default svc.conf will be ignored.
* - '-k' Specifies the rendezvous point to use for the ACE distributed
* logger.
* - '-y' Explicitly enables the use of static services. This flag
@@ -380,7 +382,13 @@ private:
* - '-S' Specifies a service directive string. Enclose the string in quotes
* and escape any embedded quotes with a backslash. This option
* specifies service directives without the need for a configuration
- * file.
+ * file. Can be specified multiple times.
+ *
+ * Note: Options '-f' and '-S' complement each other. Directives from files
+ * and from '-S' option are processed together in the following order. First,
+ * all files are processed in the order they are specified in @a argv
+ * parameter. Second, all directive strings are executed in the order the
+ * directives appear in @a argv parameter.
*
* @param argc The number of commandline arguments.
* @param argv The array with commandline arguments
diff --git a/ace/Service_Gestalt.cpp b/ace/Service_Gestalt.cpp
index ad0522b318f..892e1b00a75 100644
--- a/ace/Service_Gestalt.cpp
+++ b/ace/Service_Gestalt.cpp
@@ -74,7 +74,6 @@ ACE_Service_Type_Dynamic_Guard::ACE_Service_Type_Dynamic_Guard
/// Destructor
-
ACE_Service_Type_Dynamic_Guard::~ACE_Service_Type_Dynamic_Guard (void)
{
const ACE_Service_Type *tmp = 0;
@@ -290,9 +289,8 @@ ACE_Service_Gestalt::init_i (void)
}
-// Add the default statically-linked services to the Service
-// Repository.
-
+/// Add the default statically-linked services to the Service
+/// Repository.
int
ACE_Service_Gestalt::load_static_svcs (void)
{
@@ -318,7 +316,6 @@ ACE_Service_Gestalt::load_static_svcs (void)
/// Find a static service descriptor by name
-
int
ACE_Service_Gestalt::find_static_svc_descriptor (const ACE_TCHAR* name,
ACE_Static_Svc_Descriptor **ssd) const
@@ -346,7 +343,6 @@ ACE_Service_Gestalt::find_static_svc_descriptor (const ACE_TCHAR* name,
}
/// @brief
-
const ACE_Static_Svc_Descriptor*
ACE_Service_Gestalt::find_processed_static_svc (const ACE_TCHAR* name)
{
@@ -372,7 +368,6 @@ ACE_Service_Gestalt::find_processed_static_svc (const ACE_TCHAR* name)
///
/// This is part of the mechanism ensuring distinct local instances
/// for static service objects, loaded in another repository.
-
void
ACE_Service_Gestalt::add_processed_static_svc
(const ACE_Static_Svc_Descriptor *assd)
@@ -449,10 +444,6 @@ ACE_Service_Gestalt::dump (void) const
#endif /* ACE_HAS_DUMP */
}
-
-
-///
-
int
ACE_Service_Gestalt::initialize (const ACE_TCHAR *svc_name,
const ACE_TCHAR *parameters)
@@ -602,17 +593,16 @@ ACE_Service_Gestalt::initialize (const ACE_Service_Type_Factory *stf,
#endif /* (ACE_USES_CLASSIC_SVC_CONF == 1) */
-// Dynamically link the shared object file and retrieve a pointer to
-// the designated shared object in this file.
-// @note This is obsolete (and error-prone) in the presense of dynamic
-// services with their own static services. This method will allow those
-// static services to register *before* the dynamic service that owns them.
-// Upon finalization of the static services the process may crash, because
-// the dynamic service's DLL may have been already released, together with
-// the memory in which the static services reside.
-// It may not crash, for instance, when the first static service to register
-// is the same as the dynamic service being loaded. You should be so lucky! ..
-
+/// Dynamically link the shared object file and retrieve a pointer to
+/// the designated shared object in this file.
+/// @note This is obsolete (and error-prone) in the presense of dynamic
+/// services with their own static services. This method will allow those
+/// static services to register *before* the dynamic service that owns them.
+/// Upon finalization of the static services the process may crash, because
+/// the dynamic service's DLL may have been already released, together with
+/// the memory in which the static services reside.
+/// It may not crash, for instance, when the first static service to register
+/// is the same as the dynamic service being loaded. You should be so lucky! ..
int
ACE_Service_Gestalt::initialize (const ACE_Service_Type *sr,
const ACE_TCHAR *parameters)
@@ -644,8 +634,8 @@ ACE_Service_Gestalt::initialize (const ACE_Service_Type *sr,
}
-// Dynamically link the shared object file and retrieve a pointer to
-// the designated shared object in this file.
+/// Dynamically link the shared object file and retrieve a pointer to
+/// the designated shared object in this file.
int
ACE_Service_Gestalt::initialize_i (const ACE_Service_Type *sr,
const ACE_TCHAR *parameters)
@@ -703,12 +693,11 @@ ACE_Service_Gestalt::remove (const ACE_TCHAR svc_name[])
return this->repo_->remove (svc_name);
}
-// Suspend <svc_name>. Note that this will not unlink the service
-// from the daemon if it was dynamically linked, it will mark it as
-// being suspended in the Service Repository and call the <suspend>
-// member function on the appropriate <ACE_Service_Object>. A service
-// can be resumed later on by calling the <resume> method...
-
+/// Suspend @a svc_name. Note that this will not unlink the service
+/// from the daemon if it was dynamically linked, it will mark it as
+/// being suspended in the Service Repository and call the <suspend>
+/// member function on the appropriate <ACE_Service_Object>. A service
+/// can be resumed later on by calling the <resume> method...
int
ACE_Service_Gestalt::suspend (const ACE_TCHAR svc_name[])
{
@@ -858,14 +847,20 @@ ACE_Service_Gestalt::get_xml_svc_conf (ACE_DLL &xmldll)
if (xmldll.open (ACE_TEXT ("ACEXML_XML_Svc_Conf_Parser")) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("ACE (%P|%t) Failure to open ACEXML_XML_Svc_Conf_Parser: %p\n"),
- "ACE_Service_Config::get_xml_svc_conf"),
+ ACE_TEXT("ACE_Service_Config::get_xml_svc_conf")),
0);
void * foo =
xmldll.symbol (ACE_TEXT ("_ACEXML_create_XML_Svc_Conf_Object"));
- ACE_XML_Svc_Conf::Factory factory =
- reinterpret_cast<ACE_XML_Svc_Conf::Factory> (foo);
+#if defined (ACE_OPENVMS) && (!defined (__INITIAL_POINTER_SIZE) || (__INITIAL_POINTER_SIZE < 64))
+ int const temp_p = reinterpret_cast<int> (foo);
+#else
+ intptr_t const temp_p = reinterpret_cast<intptr_t> (foo);
+#endif
+
+ ACE_XML_Svc_Conf::Factory factory = reinterpret_cast<ACE_XML_Svc_Conf::Factory> (temp_p);
+
if (factory == 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("ACE (%P|%t) Unable to resolve factory: %p\n"),
@@ -942,8 +937,7 @@ ACE_Service_Gestalt::process_file (const ACE_TCHAR file[])
#else
ACE_DLL dll;
- auto_ptr<ACE_XML_Svc_Conf>
- xml_svc_conf (this->get_xml_svc_conf (dll));
+ auto_ptr<ACE_XML_Svc_Conf> xml_svc_conf (this->get_xml_svc_conf (dll));
if (xml_svc_conf.get () == 0)
return -1;
@@ -1020,8 +1014,8 @@ ACE_Service_Gestalt::init_svc_conf_file_queue (void)
int
-ACE_Service_Gestalt::open_i (const ACE_TCHAR /*program_name*/[],
- const ACE_TCHAR* /*logger_key*/,
+ACE_Service_Gestalt::open_i (const ACE_TCHAR program_name[],
+ const ACE_TCHAR* logger_key,
bool ignore_static_svcs,
bool ignore_default_svc_conf_file,
bool ignore_debug_flag)
@@ -1030,7 +1024,7 @@ ACE_Service_Gestalt::open_i (const ACE_TCHAR /*program_name*/[],
int result = 0;
ACE_Log_Msg *log_msg = ACE_LOG_MSG;
- no_static_svcs_ = ignore_static_svcs;
+ this->no_static_svcs_ = ignore_static_svcs;
// Record the current log setting upon entering this thread.
u_long old_process_mask = log_msg->priority_mask
@@ -1056,6 +1050,31 @@ ACE_Service_Gestalt::open_i (const ACE_TCHAR /*program_name*/[],
if (this->init_i () != 0)
return -1;
+ u_long flags = log_msg->flags ();
+
+ // Only use STDERR if the caller hasn't already set the flags.
+ if (flags == 0)
+ flags = (u_long) ACE_Log_Msg::STDERR;
+
+ const ACE_TCHAR *key = logger_key;
+
+ if (key == 0 || ACE_OS::strcmp (key, ACE_DEFAULT_LOGGER_KEY) == 0)
+ {
+ // Only use the static <logger_key_> if the caller doesn't
+ // override it in the parameter list or if the key supplied is
+ // equal to the default static logger key.
+ key = this->logger_key_;
+ }
+ else
+ {
+ ACE_SET_BITS (flags, ACE_Log_Msg::LOGGER);
+ }
+
+ if (log_msg->open (program_name,
+ flags,
+ key) == -1)
+ return -1;
+
if (!ignore_debug_flag)
{
// If -d was included as a startup parameter, the user wants debug
@@ -1073,10 +1092,10 @@ ACE_Service_Gestalt::open_i (const ACE_TCHAR /*program_name*/[],
result = -1;
else
{
- if (this->process_commandline_directives () == -1)
+ if (this->process_directives (ignore_default_svc_conf_file) == -1)
result = -1;
else
- result = this->process_directives (ignore_default_svc_conf_file);
+ result = this->process_commandline_directives ();
}
@@ -1222,6 +1241,8 @@ ACE_Service_Gestalt::process_directives (bool ignore_default_svc_conf_file)
ACE_TString *sptr = 0;
ACE_TString default_svc_conf (ACE_DEFAULT_SVC_CONF);
+ int failed = 0;
+
// Iterate through all the svc.conf files.
for (ACE_SVC_QUEUE_ITERATOR iter (*this->svc_conf_file_queue_);
iter.next (sptr) != 0;
@@ -1233,9 +1254,10 @@ ACE_Service_Gestalt::process_directives (bool ignore_default_svc_conf_file)
int result = this->process_file (sptr->fast_rep ());
if (result < 0)
return result;
+ failed += result;
}
- return 0;
+ return failed;
} /* process_directives () */
diff --git a/ace/Service_Gestalt.h b/ace/Service_Gestalt.h
index 55b9e1c4db5..7d30d89aa82 100644
--- a/ace/Service_Gestalt.h
+++ b/ace/Service_Gestalt.h
@@ -82,10 +82,15 @@ public:
MAX_SERVICES = ACE_DEFAULT_SERVICE_REPOSITORY_SIZE
};
+ enum
+ {
+ DEFAULT_SIZE = ACE_DEFAULT_SERVICE_GESTALT_SIZE
+ };
+
/// Constructor either associates the instance with the process-wide
/// singleton instance of ACE_Service_Repository, or creates and
/// manages its own instance of the specified size.
- ACE_Service_Gestalt (size_t size = 1024,
+ ACE_Service_Gestalt (size_t size = DEFAULT_SIZE,
bool svc_repo_is_owned = true,
bool no_static_svcs = true);
@@ -102,16 +107,16 @@ public:
* is typically either a STREAM pipe or a socket address. If
* @a ignore_static_svcs is true then static services are not loaded,
* otherwise, they are loaded. If @a ignore_default_svc_conf_file is
- * true then the <svc.conf> configuration file will be ignored.
+ * true then the @c svc.conf configuration file will be ignored.
* Returns zero upon success, -1 if the file is not found or cannot
* be opened (errno is set accordingly), otherwise returns the
* number of errors encountered loading the services in the
* specified svc.conf configuration file. If @a ignore_debug_flag is
* true then the application is responsible for setting the
- * <ACE_Log_Msg::priority_mask> appropriately.
+ * ACE_Log_Msg::priority_mask appropriately.
*/
int open (const ACE_TCHAR program_name[],
- const ACE_TCHAR *logger_key = ACE_DEFAULT_LOGGER_KEY,
+ const ACE_TCHAR *logger_key = 0,
bool ignore_static_svcs = true,
bool ignore_default_svc_conf_file = false,
bool ignore_debug_flag = false);
@@ -132,6 +137,8 @@ public:
* - '-d' Turn on debugging mode
* - '-f' Specifies a configuration file name other than the default
* svc.conf. Can be specified multiple times to use multiple files.
+ * If any configuration file is provided with this option then
+ * the default svc.conf will be ignored.
* - '-k' Specifies the rendezvous point to use for the ACE distributed
* logger.
* - '-y' Explicitly enables the use of static services. This flag
@@ -145,7 +152,13 @@ public:
* - '-S' Specifies a service directive string. Enclose the string in quotes
* and escape any embedded quotes with a backslash. This option
* specifies service directives without the need for a configuration
- * file.
+ * file. Can be specified multiple times.
+ *
+ * Note: Options '-f' and '-S' complement each other. Directives from files
+ * and from '-S' option are processed together in the following order. First,
+ * all files are processed in the order they are specified in @a argv
+ * parameter. Second, all directive strings are executed in the order the
+ * directives appear in @a argv parameter.
*
* @param argc The number of commandline arguments.
* @param argv The array with commandline arguments
@@ -168,7 +181,7 @@ public:
*/
int open (int argc,
ACE_TCHAR *argv[],
- const ACE_TCHAR *logger_key = ACE_DEFAULT_LOGGER_KEY,
+ const ACE_TCHAR *logger_key = 0,
bool ignore_static_svcs = true,
bool ignore_default_svc_conf_file = false,
bool ignore_debug_flag = false);
@@ -217,7 +230,7 @@ public:
/**
* Handle the command-line options intended for the
- * ACE_Service_Gestalt. Note that <argv[0]> is assumed to be the
+ * ACE_Service_Gestalt. Note that @c argv[0] is assumed to be the
* program name.
*
* The arguments that are valid in a call to this method are
@@ -232,21 +245,20 @@ public:
* Please observe the difference between options '-f' that looks
* for a list of files and here a list of services.
*/
- int parse_args (int argc, ACE_TCHAR *argv[]);
+ int parse_args (int argc, ACE_TCHAR *argv[]);
/**
* Process (or re-process) service configuration requests that are
* provided in the svc.conf file(s). Returns the number of errors
* that occurred.
*/
- int process_directives (bool ignore_default_svc_conf_file);
+ int process_directives (bool ignore_default_svc_conf_file);
/// Tidy up and perform last rites when ACE_Service_Config is shut
- /// down. This method calls <close_svcs>. Returns 0.
+ /// down. This method calls @c close_svcs. Returns 0.
int close (void);
-
- // Registers a service descriptor for a static service object
+ /// Registers a service descriptor for a static service object
int insert (ACE_Static_Svc_Descriptor *stsd);
// = Utility methods.
@@ -288,9 +300,9 @@ public:
/**
* Suspend @a svc_name. Note that this will not unlink the service
* from the daemon if it was dynamically linked, it will mark it as
- * being suspended in the Service Repository and call the <suspend>
+ * being suspended in the Service Repository and call the @c suspend()
* member function on the appropriate ACE_Service_Object. A
- * service can be resumed later on by calling the <RESUME> member
+ * service can be resumed later on by calling the @c resume() member
* function...
*/
int suspend (const ACE_TCHAR svc_name[]);
@@ -333,12 +345,12 @@ protected:
* errors that occurred on failure and 0 otherwise.
*/
int open_i (const ACE_TCHAR program_name[],
- const ACE_TCHAR *logger_key = ACE_DEFAULT_LOGGER_KEY,
+ const ACE_TCHAR *logger_key = 0,
bool ignore_static_svcs = true,
bool ignore_default_svc_conf_file = false,
bool ignore_debug_flag = false);
- /// Initialize the <svc_conf_file_queue_> if necessary.
+ /// Initialize the @c svc_conf_file_queue_ if necessary.
int init_svc_conf_file_queue (void);
/// Add the default statically-linked services to the
@@ -380,12 +392,12 @@ protected:
protected:
- // Maintain a queue of services to be configured from the
- // command-line.
+ /// Maintain a queue of services to be configured from the
+ /// command-line.
typedef ACE_Unbounded_Queue<ACE_TString> ACE_SVC_QUEUE;
typedef ACE_Unbounded_Queue_Iterator<ACE_TString> ACE_SVC_QUEUE_ITERATOR;
- // Maintain a set of the statically linked service descriptors.
+ /// Maintain a set of the statically linked service descriptors.
typedef ACE_Unbounded_Set<ACE_Static_Svc_Descriptor *>
ACE_STATIC_SVCS;
@@ -431,7 +443,8 @@ protected:
/// Queue of services specified on the command-line.
ACE_SVC_QUEUE* svc_queue_;
- /** Queue of svc.conf files specified on the command-line.
+ /**
+ * Queue of svc.conf files specified on the command-line.
* @@ This should probably be made to handle unicode filenames...
*/
ACE_SVC_QUEUE* svc_conf_file_queue_;
@@ -491,7 +504,6 @@ private:
size_t repo_begin_;
ACE_TCHAR const * const name_;
-
# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
ACE_Guard< ACE_Recursive_Thread_Mutex > repo_monitor_;
#endif
diff --git a/ace/Service_Object.cpp b/ace/Service_Object.cpp
index 9f3aa8e527f..16d650271d3 100644
--- a/ace/Service_Object.cpp
+++ b/ace/Service_Object.cpp
@@ -21,12 +21,12 @@ ACE_RCSID (ace,
Service_Object,
"$Id$")
- ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_ALLOC_HOOK_DEFINE(ACE_Service_Object)
- ACE_ALLOC_HOOK_DEFINE(ACE_Service_Type)
+ACE_ALLOC_HOOK_DEFINE(ACE_Service_Type)
- void
+void
ACE_Service_Type::dump (void) const
{
#if defined (ACE_HAS_DUMP)
@@ -119,40 +119,6 @@ ACE_Service_Type::fini (void)
}
int
-ACE_Service_Type::fini_delete (void)
-{
- if (ACE::debug ())
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) ST::fini_delete - destroying name=%s, dll=%s\n"),
- this->name_,
- this->dll_.dll_name_));
-
- if (this->fini_already_called_)
- return 0;
-
- this->fini_already_called_ = true;
-
- if (this->type_ == 0)
- {
- // Returning 1 currently only makes sense for dummy instances, used
- // to "reserve" a spot (kind of like forward-declarations) for a
- // dynamic service. This is necessary to help enforce the correct
- // finalization order, when such service also has any (dependent)
- // static services
-
- return 1; // No implementation was found.
- }
-
- int ret = this->type_->fini_delete ();
-
- // Ensure that closing the DLL is done after type_->fini() as it may
- // require access to the code for the service object destructor,
- // which resides in the DLL
- return (ret | this->dll_.close());
-
-}
-
-int
ACE_Service_Type::suspend (void) const
{
ACE_TRACE ("ACE_Service_Type::suspend");
diff --git a/ace/Service_Object.h b/ace/Service_Object.h
index f3444a7b9f1..7a61d287e53 100644
--- a/ace/Service_Object.h
+++ b/ace/Service_Object.h
@@ -116,13 +116,9 @@ public:
bool active (void) const;
void active (bool turnon);
- /// Calls <fini> on <type_>
+ /// Calls @c fini on @c type_
int fini (void);
- /// Calls <fini_delete> on <type_>. Only used on ACE_Module_Type instances to cleanup
- /// during shutdown.
- int fini_delete (void);
-
/// Check if the service has been fini'ed.
bool fini_called (void) const;
@@ -152,7 +148,7 @@ private:
/// true if svc is currently active, otherwise false.
bool active_;
- /// true if <fini> on <type_> has already been called, otherwise false.
+ /// true if @c fini on @c type_ has already been called, otherwise false.
bool fini_already_called_;
};
@@ -161,13 +157,12 @@ private:
*
* @brief This is a smart pointer that holds onto the associated
* ACE_Service_Object * until the current scope is left, at
- * which point the object's <fini> hook is called and the
+ * which point the object's fini() hook is called and the
* service_object_ gets deleted.
*
* This class is similar to the Standard C++ Library class
- * <auto_ptr>. It is used in conjunction with statically linked
- * ACE_Service_Objects, as shown in the
- * ./netsvcs/server/main.cpp example.
+ * auto_ptr. It is used in conjunction with statically linked
+ * ACE_Service_Objects, as shown in the ./netsvcs/server/main.cpp example.
*/
class ACE_Export ACE_Service_Object_Ptr
{
@@ -176,7 +171,7 @@ public:
/// Acquire ownership of the @a so.
ACE_Service_Object_Ptr (ACE_Service_Object *so);
- /// Release the held ACE_Service_Object by calling its <fini> hook.
+ /// Release the held ACE_Service_Object by calling its fini() hook.
~ACE_Service_Object_Ptr (void);
/// Smart pointer to access the underlying ACE_Service_Object.
diff --git a/ace/Service_Repository.cpp b/ace/Service_Repository.cpp
index f64cd553f87..60f6b6fe831 100644
--- a/ace/Service_Repository.cpp
+++ b/ace/Service_Repository.cpp
@@ -22,11 +22,11 @@ ACE_RCSID (ace,
ACE_ALLOC_HOOK_DEFINE(ACE_Service_Repository)
-// Process-wide Service Repository.
+/// Process-wide Service Repository.
ACE_Service_Repository *ACE_Service_Repository::svc_rep_ = 0;
-// Controls whether the Service_Repository is deleted when we shut
-// down (we can only delete it safely if we created it)!
+/// Controls whether the Service_Repository is deleted when we shut
+/// down (we can only delete it safely if we created it)!
bool ACE_Service_Repository::delete_svc_rep_ = false;
void
@@ -37,16 +37,8 @@ ACE_Service_Repository::dump (void) const
#endif /* ACE_HAS_DUMP */
}
-ACE_Service_Repository::ACE_Service_Repository (void)
- : service_vector_ (0),
- current_size_ (0),
- total_size_ (0)
-{
- ACE_TRACE ("ACE_Service_Repository::ACE_Service_Repository");
-}
-
ACE_Service_Repository *
-ACE_Service_Repository::instance (size_t size /* = ACE_Service_Repository::DEFAULT_SIZE */)
+ACE_Service_Repository::instance (size_t size)
{
ACE_TRACE ("ACE_Service_Repository::instance");
@@ -102,166 +94,94 @@ ACE_Service_Repository::close_singleton (void)
}
}
-// Initialize the Repository to a clean slate.
-
+/// Initialize the Repository to a clean slate.
int
ACE_Service_Repository::open (size_t size)
{
ACE_TRACE ("ACE_Service_Repository::open");
- ACE_Service_Type **temp = 0;
-
- ACE_NEW_RETURN (temp,
- ACE_Service_Type *[size],
- -1);
+ // Create a new array and swap it with the local array
+ array_type local_array (size);
+ this->service_array_.swap (local_array);
- this->service_vector_ = const_cast<const ACE_Service_Type **> (temp);
- this->total_size_ = size;
return 0;
}
ACE_Service_Repository::ACE_Service_Repository (size_t size)
- : current_size_ (0)
+ : service_array_ (size)
{
ACE_TRACE ("ACE_Service_Repository::ACE_Service_Repository");
-
- if (this->open (size) == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("ACE_Service_Repository")));
}
-
-// Finalize (call <fini> and possibly delete) all the services.
-// ACE_Stream_Types instances are closed first to get ACE_Module cleanup to occur first.
-// Then, ACE_Service_Type and ACE_Module_Type instances are finalized.
-// <fini_delete> is called on ACE_Module_Type(s) only to perform cleanup.
+/// Finalize (call fini() and possibly delete) all the services.
int
ACE_Service_Repository::fini (void)
{
ACE_TRACE ("ACE_Service_Repository::fini");
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, this->lock_, -1));
- if (this->service_vector_ == 0)
- return 0;
-
int retval = 0;
-
- bool removeStreams = true;
- for (int i = 0; i < 2; i++)
+
+ // Do not be tempted to use the prefix decrement operator. Use
+ // postfix decrement operator since the index is unsigned and may
+ // wrap around the 0
+ for (size_t i = this->service_array_.size(); i-- != 0; )
{
- if (i == 1)
- {
- removeStreams = false;
- }
- // Do not be tempted to use the prefix decrement operator. Use
- // postfix decrement operator since the index is unsigned and may
- // wrap around the 0
- for (size_t i = this->current_size_; i-- != 0;)
+ // <fini> the services in reverse order.
+ ACE_Service_Type *s =
+ const_cast<ACE_Service_Type *> (this->service_array_[i]);
+
+#ifndef ACE_NLOGGING
+ if (ACE::debug ())
{
- // <fini> the services in reverse order.
- ACE_Service_Type *s =
- const_cast<ACE_Service_Type *> (this->service_vector_[i]);
-
if (s != 0)
- {
- if (s->type()->service_type() == ACE_Service_Type::STREAM && removeStreams)
- {
-#ifndef ACE_NLOGGING
- if (ACE::debug())
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT("ACE (%P|%t) SR::fini, repo=%@ [%d] (%d), ")
- ACE_TEXT("name=%s, type=%@, object=%@, active=%d\n"),
- this,
- i,
- this->total_size_,
- s->name(),
- s->type(),
- (s->type() != 0) ? s->type()->object() : 0,
- s->active()));
- }
-#endif
-
- retval += s->fini();
- }
-
- if (s->type()->service_type() != ACE_Service_Type::STREAM && !removeStreams)
- {
- if (s->type()->service_type() == ACE_Service_Type::MODULE)
- {
-#ifndef ACE_NLOGGING
- if (ACE::debug())
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT("ACE (%P|%t) SR::fini_delete, repo=%@ [%d] (%d), ")
- ACE_TEXT("name=%s, type=%@, object=%@, active=%d\n"),
- this,
- i,
- this->total_size_,
- s->name(),
- s->type(),
- (s->type() != 0) ? s->type()->object() : 0,
- s->active()));
- }
-#endif
- retval += s->fini_delete();
- }
- else
- {
-#ifndef ACE_NLOGGING
- if (ACE::debug())
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT("ACE (%P|%t) SR::fini, repo=%@ [%d] (%d), ")
- ACE_TEXT("name=%s, type=%@, object=%@, active=%d\n"),
- this,
- i,
- this->total_size_,
- s->name(),
- s->type(),
- (s->type() != 0) ? s->type()->object() : 0,
- s->active()));
- }
-#endif
- retval += s->fini();
- }
- }
-
- }
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d], ")
+ ACE_TEXT ("name=%s, type=%@, object=%@, active=%d\n"),
+ this,
+ i,
+ s->name(),
+ s->type (),
+ (s->type () != 0) ? s->type ()->object () : 0,
+ s->active ()));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] -> 0\n"),
+ this,
+ i));
}
+#endif
+
+ // Collect any errors.
+ if (s != 0)
+ retval += s->fini ();
}
-
+
return (retval == 0) ? 0 : -1;
}
-
-// Close down all the services.
-
+/// Close down all the services.
int
ACE_Service_Repository::close (void)
{
ACE_TRACE ("ACE_Service_Repository::close");
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, this->lock_, -1));
- if (this->service_vector_ == 0)
- return 0;
-
#ifndef ACE_NLOGGING
if(ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("ACE (%P|%t) SR::close - repo=%@, size=%d\n"),
this,
- this->current_size_));
+ this->service_array_.size()));
#endif
// Do not use the prefix decrement operator since the index is
// unsigned and may wrap around the 0.
- for (size_t i = this->current_size_; i-- != 0; )
+ for (size_t i = this->service_array_.size(); i-- != 0; )
{
// Delete services in reverse order.
ACE_Service_Type *s =
- const_cast<ACE_Service_Type *> (this->service_vector_[i]);
+ const_cast<ACE_Service_Type *> (this->service_array_[i]);
#ifndef ACE_NLOGGING
if(ACE::debug ())
@@ -280,13 +200,10 @@ ACE_Service_Repository::close (void)
s));
}
#endif
- --this->current_size_;
delete s;
}
- delete [] this->service_vector_;
- this->service_vector_ = 0;
- this->current_size_ = 0;
+ this->service_array_.clear ();
return 0;
}
@@ -301,13 +218,12 @@ ACE_Service_Repository::~ACE_Service_Repository (void)
this->close ();
}
-// Locate an entry with <name> in the table. If <ignore_suspended> is
-// set then only consider services marked as resumed. If the caller
-// wants the located entry, pass back a pointer to the located entry
-// via <srp>. If <name> is not found -1 is returned. If <name> is
-// found, but it is suspended and the caller wants to ignore suspended
-// services a -2 is returned. Must be called with locks held.
-
+/// Locate an entry with @a name in the table. If @a ignore_suspended is
+/// set then only consider services marked as resumed. If the caller
+/// wants the located entry, pass back a pointer to the located entry
+/// via @a srp. If @a name is not found -1 is returned. If @a name is
+/// found, but it is suspended and the caller wants to ignore suspended
+/// services a -2 is returned. Must be called with locks held.
int
ACE_Service_Repository::find_i (const ACE_TCHAR name[],
size_t &slot,
@@ -315,20 +231,25 @@ ACE_Service_Repository::find_i (const ACE_TCHAR name[],
bool ignore_suspended) const
{
ACE_TRACE ("ACE_Service_Repository::find_i");
- size_t i;
+ size_t i = 0;
+ array_type::const_iterator element = this->service_array_.end ();
- for (i = 0; i < this->current_size_; i++)
+ for (i = 0; i < this->service_array_.size(); i++)
{
- if (this->service_vector_[i] != 0 // skip any empty slots
- && ACE_OS::strcmp (name,
- this->service_vector_[i]->name ()) == 0)
+ array_type::const_iterator iter = this->service_array_.find (i);
+ if (iter != this->service_array_.end ()
+ && (*iter).second != 0 // skip any empty slots
+ && ACE_OS::strcmp (name, (*iter).second->name ()) == 0)
+ {
+ element = iter;
break;
+ }
}
- if (i < this->current_size_)
+ if (element != this->service_array_.end ())
{
slot = i;
- if (this->service_vector_[i]->fini_called ())
+ if ((*element).second->fini_called ())
{
if (srp != 0)
*srp = 0;
@@ -336,10 +257,10 @@ ACE_Service_Repository::find_i (const ACE_TCHAR name[],
}
if (srp != 0)
- *srp = this->service_vector_[i];
+ *srp = (*element).second;
if (ignore_suspended
- && this->service_vector_[i]->active () == 0)
+ && (*element).second->active () == 0)
return -2;
return 0;
@@ -355,7 +276,6 @@ ACE_Service_Repository::find_i (const ACE_TCHAR name[],
/// DLL. No locking, caller makes sure calling it is safe. You can
/// forcefully relocate any DLLs in the given range, not only the
/// static ones - but that will cause Very Bad Things (tm) to happen.
-
int
ACE_Service_Repository::relocate_i (size_t begin,
size_t end,
@@ -366,7 +286,7 @@ ACE_Service_Repository::relocate_i (size_t begin,
for (size_t i = begin; i < end; i++)
{
ACE_Service_Type *type =
- const_cast<ACE_Service_Type *> (this->service_vector_[i]);
+ const_cast<ACE_Service_Type *> (this->service_array_[i]);
ACE_SHLIB_HANDLE old_handle = (type == 0) ? ACE_SHLIB_INVALID_HANDLE
: type->dll ().get_handle (0);
@@ -376,18 +296,16 @@ ACE_Service_Repository::relocate_i (size_t begin,
{
if (type == 0)
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d] (size=%d)")
+ ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d]")
ACE_TEXT (": skipping empty slot\n"),
this,
- i,
- this->total_size_));
+ i));
else
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d] (size=%d)")
+ ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d]")
ACE_TEXT (": trying name=%s, handle: %d -> %d\n"),
this,
i,
- this->total_size_,
type->name (),
old_handle,
new_handle));
@@ -401,11 +319,10 @@ ACE_Service_Repository::relocate_i (size_t begin,
#ifndef ACE_NLOGGING
if (ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d] (size=%d)")
+ ACE_TEXT ("ACE (%P|%t) SR::relocate_i - repo=%@ [%d]")
ACE_TEXT (": relocating name=%s, handle: %d -> %d\n"),
this,
i,
- this->total_size_,
type->name (),
old_handle,
new_handle));
@@ -428,11 +345,10 @@ ACE_Service_Repository::find (const ACE_TCHAR name[],
return this->find_i (name, ignore_location, srp, ignore_suspended);
}
-
-// Insert the ACE_Service_Type SR into the repository. Note that
-// services may be inserted either resumed or suspended. Using same
-// name as in an existing service causes the delete () to be called
-// for the old one, i.e. make sure @code sr is allocated on the heap!
+/// Insert the ACE_Service_Type SR into the repository. Note that
+/// services may be inserted either resumed or suspended. Using same
+/// name as in an existing service causes the delete () to be called
+/// for the old one, i.e. make sure @code sr is allocated on the heap!
int
ACE_Service_Repository::insert (const ACE_Service_Type *sr)
{
@@ -456,7 +372,7 @@ ACE_Service_Repository::insert (const ACE_Service_Type *sr)
// Adding an entry.
if (s != 0)
{
- this->service_vector_[i] = sr;
+ this->service_array_[i] = sr;
}
else
{
@@ -466,37 +382,20 @@ ACE_Service_Repository::insert (const ACE_Service_Type *sr)
// current_size_ and the new current_size_ value. See
// ACE_Service_Type_Dynamic_Guard ctor and dtor for details.
- if (i < this->current_size_)
- i = this->current_size_;
-
- if (i < this->total_size_)
- {
- this->service_vector_[i] = sr;
- this->current_size_++;
- return_value = 0;
- }
- else
- {
- return_value = -1; // no space left
- }
-
- // Since there may be "holes" left by removed services one
- // could consider wrapping current_size_ modulo
- // total_size_. This is going to impact
- // ACE_Service_Type_Dynamic_Guard, too and is tricky. Perhaps
- // a new directive, like "reload" would be better as it can
- // combine the removal and insertion in an atomic step and
- // avoid creating too many "holes".
+ if (i < this->service_array_.size ())
+ i = this->service_array_.size ();
+
+ this->service_array_[i] = sr;
+ return_value = 0;
}
}
#ifndef ACE_NLOGGING
if (ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::insert - repo=%@ [%d] (%d),")
+ ACE_TEXT ("ACE (%P|%t) SR::insert - repo=%@ [%d],")
ACE_TEXT (" name=%s (%C) (type=%@, object=%@, active=%d)\n"),
this,
i,
- this->total_size_,
sr->name(),
(return_value == 0 ? ((s==0) ? "new" : "replacing") : "failed"),
sr->type (),
@@ -514,7 +413,7 @@ ACE_Service_Repository::insert (const ACE_Service_Type *sr)
return return_value;
}
-// Resume a service that was previously suspended.
+/// Resume a service that was previously suspended.
int
ACE_Service_Repository::resume (const ACE_TCHAR name[],
const ACE_Service_Type **srp)
@@ -526,12 +425,11 @@ ACE_Service_Repository::resume (const ACE_TCHAR name[],
if (-1 == this->find_i (name, i, srp, 0))
return -1;
- return this->service_vector_[i]->resume ();
+ return this->service_array_[i]->resume ();
}
-// Suspend a service so that it will not be considered active under
-// most circumstances by other portions of the ACE_Service_Repository.
-
+/// Suspend a service so that it will not be considered active under
+/// most circumstances by other portions of the ACE_Service_Repository.
int
ACE_Service_Repository::suspend (const ACE_TCHAR name[],
const ACE_Service_Type **srp)
@@ -542,15 +440,13 @@ ACE_Service_Repository::suspend (const ACE_TCHAR name[],
if (-1 == this->find_i (name, i, srp, 0))
return -1;
- return this->service_vector_[i]->suspend ();
+ return this->service_array_[i]->suspend ();
}
-
/**
- * @brief Completely remove a <name> entry from the Repository and
+ * @brief Completely remove a @a name entry from the Repository and
* dynamically unlink it if it was originally dynamically linked.
*/
-
int
ACE_Service_Repository::remove (const ACE_TCHAR name[], ACE_Service_Type **ps)
{
@@ -572,7 +468,7 @@ ACE_Service_Repository::remove (const ACE_TCHAR name[], ACE_Service_Type **ps)
}
/**
- * @brief Completely remove a <name> entry from the Repository and
+ * @brief Completely remove a @a name entry from the Repository and
* dynamically unlink it if it was originally dynamically linked.
*
* Return a ptr to the entry in @code ps. There is no locking so make
@@ -580,7 +476,7 @@ ACE_Service_Repository::remove (const ACE_TCHAR name[], ACE_Service_Type **ps)
*
* Since the order of services in the Respository matters, we can't
* simply overwrite the entry being deleted with the last and
- * decrement the <current_size> by 1. A good example of why the order
+ * decrement the @c current_size by 1. A good example of why the order
* matters is a dynamic service, in whose DLL there is at least one
* static service. In order to prevent SEGV during finalization, those
* static services must be finalized _before_the dynamic service that
@@ -599,22 +495,21 @@ ACE_Service_Repository::remove_i (const ACE_TCHAR name[], ACE_Service_Type **ps)
return -1; // Not found
// We may need the old ptr - to be delete outside the lock!
- *ps = const_cast<ACE_Service_Type *> (this->service_vector_[i]);
+ *ps = const_cast<ACE_Service_Type *> (this->service_array_[i]);
#ifndef ACE_NLOGGING
if (ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::remove_i - repo=%@ [%d] (%d),")
+ ACE_TEXT ("ACE (%P|%t) SR::remove_i - repo=%@ [%d],")
ACE_TEXT (" name=%s (removed) (type=%@, active=%d)\n"),
this,
i,
- this->total_size_,
name,
*ps,
(*ps)->active ()));
#endif
- this->service_vector_[i] = 0; // simply leave a gap
+ this->service_array_[i] = 0; // simply leave a gap
return 0;
}
@@ -628,24 +523,21 @@ ACE_Service_Repository_Iterator::dump (void) const
#endif /* ACE_HAS_DUMP */
}
-
-// Initializes the iterator and skips over any suspended entries at
-// the beginning of the table, if necessary. Note, you must not
-// perform destructive operations on elements during this iteration...
-
+/// Initializes the iterator and skips over any suspended entries at
+/// the beginning of the table, if necessary. Note, you must not
+/// perform destructive operations on elements during this iteration...
ACE_Service_Repository_Iterator::ACE_Service_Repository_Iterator
- (ACE_Service_Repository &sr, int ignr_suspended)
+ (ACE_Service_Repository &sr, bool ignored_suspended)
: svc_rep_ (sr),
next_ (0),
- ignore_suspended_ (ignr_suspended)
+ ignore_suspended_ (ignored_suspended)
{
while (!(done() || valid()))
this->next_++;
}
-// Obtains a pointer to the next valid service in the table. If there
-// are no more entries, returns 0, else 1.
-
+/// Obtains a pointer to the next valid service in the table. If there
+/// are no more entries, returns 0, else 1.
int
ACE_Service_Repository_Iterator::next (const ACE_Service_Type *&sr)
{
@@ -654,15 +546,14 @@ ACE_Service_Repository_Iterator::next (const ACE_Service_Type *&sr)
if (done ())
return 0;
- sr = this->svc_rep_.service_vector_[this->next_];
+ sr = this->svc_rep_.service_array_[this->next_];
return 1;
}
-// Advance the iterator by the proper amount. If we are ignoring
-// suspended entries and the current entry is suspended, then we must
-// skip over this entry. Otherwise, we must advance the NEXT index to
-// reference the next valid service entry.
-
+/// Advance the iterator by the proper amount. If we are ignoring
+/// suspended entries and the current entry is suspended, then we must
+/// skip over this entry. Otherwise, we must advance the NEXT index to
+/// reference the next valid service entry.
int
ACE_Service_Repository_Iterator::advance (void)
{
@@ -680,10 +571,10 @@ ACE_Service_Repository_Iterator::valid (void) const
{
ACE_TRACE ("ACE_Service_Repository_Iterator::valid");
if (!this->ignore_suspended_)
- return (this->svc_rep_.service_vector_[this->next_] != 0); // skip over gaps
+ return (this->svc_rep_.service_array_[this->next_] != 0); // skip over gaps
- return (this->svc_rep_.service_vector_[this->next_] != 0
- && this->svc_rep_.service_vector_[this->next_]->active ());
+ return (this->svc_rep_.service_array_[this->next_] != 0
+ && this->svc_rep_.service_array_[this->next_]->active ());
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Service_Repository.h b/ace/Service_Repository.h
index 9026856fb55..a77bb062fd2 100644
--- a/ace/Service_Repository.h
+++ b/ace/Service_Repository.h
@@ -23,6 +23,7 @@
#include "ace/Default_Constants.h"
#include "ace/Recursive_Thread_Mutex.h"
+#include "ace/Array_Map.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -36,11 +37,11 @@ class ACE_DLL;
* @brief Contains all the services offered by a Service
* Configurator-based application.
*
- * This class contains a vector of <ACE_Service_Types> *'s and
+ * This class contains a vector of ACE_Service_Types *'s and
* allows an administrative entity to centrally manage and
* control the behavior of application services. Note that if
* services are removed from the middle of the repository the
- * order won't necessarily be maintained since the <remove>
+ * order won't necessarily be maintained since the @a remove
* method performs compaction. However, the common case is not
* to remove services, so typically they are deleted in the
* reverse order that they were added originally.
@@ -57,10 +58,7 @@ public:
// = Initialization and termination methods.
/// Initialize the repository.
- ACE_Service_Repository (void);
-
- /// Initialize the repository.
- ACE_Service_Repository (size_t size);
+ ACE_Service_Repository (size_t size = DEFAULT_SIZE);
/// Initialize the repository.
int open (size_t size = DEFAULT_SIZE);
@@ -73,7 +71,7 @@ public:
/// resources.
int close (void);
- /// Finalize all the services by calling <fini> and deleting
+ /// Finalize all the services by calling fini() and deleting
/// dynamically allocated services.
int fini (void);
@@ -92,7 +90,7 @@ public:
/// Insert a new service record. Returns -1 when the service repository
/// is full and 0 on success.
- int insert (const ACE_Service_Type *);
+ int insert (const ACE_Service_Type *sr);
/**
* Locate a named entry in the service table, optionally ignoring
@@ -119,28 +117,25 @@ public:
/// the service's record is removed from the repository, but not deleted;
/// *sr receives the service record pointer and the caller is responsible
/// for properly disposing of it.
- int remove (const ACE_TCHAR[], ACE_Service_Type **sr = 0);
+ int remove (const ACE_TCHAR name[], ACE_Service_Type **sr = 0);
// = Liveness control
/// Resume a service record.
- int resume (const ACE_TCHAR[], const ACE_Service_Type ** = 0);
+ int resume (const ACE_TCHAR name[], const ACE_Service_Type **srp = 0);
/// Suspend a service record.
- int suspend (const ACE_TCHAR[], const ACE_Service_Type ** = 0);
+ int suspend (const ACE_TCHAR name[], const ACE_Service_Type **srp = 0);
/// Return the current size of the repository.
size_t current_size (void) const;
- /// Return the total size of the repository.
- size_t total_size (void) const;
-
/// Dump the state of an object.
void dump (void) const;
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
-private:
+protected:
friend class ACE_Service_Type_Dynamic_Guard;
@@ -187,24 +182,20 @@ private:
/// DLL. No locking, caller makes sure calling it is safe. You can
/// forcefully relocate any DLLs in the given range, not only the
/// static ones - but that will cause Very Bad Things (tm) to happen.
-
int relocate_i (size_t begin,
size_t end,
const ACE_DLL &adll);
- /// Contains all the configured services.
- const ACE_Service_Type **service_vector_;
-
- /// Current number of services.
- size_t current_size_;
+ /// The typedef of the array used to store the services.
+ typedef ACE_Array_Map <size_t, const ACE_Service_Type*> array_type;
- /// Maximum number of services.
- size_t total_size_;
+ /// Contains all the configured services.
+ array_type service_array_;
/// Pointer to a process-wide ACE_Service_Repository.
static ACE_Service_Repository *svc_rep_;
- /// Must delete the <svc_rep_> if true.
+ /// Must delete the @c svc_rep_ if true.
static bool delete_svc_rep_;
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
@@ -227,7 +218,7 @@ public:
// = Initialization and termination methods.
/// Constructor initializes the iterator.
ACE_Service_Repository_Iterator (ACE_Service_Repository &sr,
- int ignored_suspended = 1);
+ bool ignored_suspended = true);
/// Destructor.
~ACE_Service_Repository_Iterator (void);
@@ -236,7 +227,7 @@ public:
public:
// = Iteration methods.
- /// Pass back the <next_item> that hasn't been seen in the repository.
+ /// Pass back the @a next_item that hasn't been seen in the repository.
/// Returns 0 when all items have been seen, else 1.
int next (const ACE_Service_Type *&next_item);
@@ -266,7 +257,7 @@ private:
size_t next_;
/// Are we ignoring suspended services?
- bool ignore_suspended_;
+ bool const ignore_suspended_;
};
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Service_Repository.inl b/ace/Service_Repository.inl
index a042a0f9a1d..056534a4a55 100644
--- a/ace/Service_Repository.inl
+++ b/ace/Service_Repository.inl
@@ -19,20 +19,7 @@ ACE_Service_Repository::current_size (void) const
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
ace_mon,
(ACE_Recursive_Thread_Mutex &) this->lock_, 0));
- return this->current_size_;
-}
-
-// Returns a count of the total number of possible entries in the
-// table.
-
-ACE_INLINE size_t
-ACE_Service_Repository::total_size (void) const
-{
- ACE_TRACE ("ACE_Service_Repository::total_size");
- ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
- ace_mon,
- (ACE_Recursive_Thread_Mutex &) this->lock_, 0));
- return this->total_size_;
+ return this->service_array_.size ();
}
ACE_INLINE int
@@ -40,7 +27,7 @@ ACE_Service_Repository_Iterator::done (void) const
{
ACE_TRACE ("ACE_Service_Repository_Iterator::done");
- return this->next_ >= this->svc_rep_.current_size_;
+ return this->next_ >= this->svc_rep_.current_size ();
}
ACE_INLINE
diff --git a/ace/Service_Types.cpp b/ace/Service_Types.cpp
index 684c0de6ac7..4552607640e 100644
--- a/ace/Service_Types.cpp
+++ b/ace/Service_Types.cpp
@@ -35,13 +35,11 @@ ACE_Service_Type_Impl::dump (void) const
ACE_Service_Type_Impl::ACE_Service_Type_Impl (void *so,
const ACE_TCHAR *s_name,
u_int f,
- ACE_Service_Object_Exterminator gobbler,
- int stype)
+ ACE_Service_Object_Exterminator gobbler)
: name_ (0),
obj_ (so),
gobbler_ (gobbler),
- flags_ (f),
- service_type_(stype)
+ flags_ (f)
{
ACE_TRACE ("ACE_Service_Type_Impl::ACE_Service_Type_Impl");
this->name (s_name);
@@ -81,19 +79,11 @@ ACE_Service_Type_Impl::fini (void) const
return 0;
}
-int
-ACE_Service_Type_Impl::fini_delete (void) const
-{
- ACE_TRACE ("ACE_Service_Type_Impl::fini_delete");
- return ACE_Service_Type_Impl::fini ();
-}
-
ACE_Service_Object_Type::ACE_Service_Object_Type (void *so,
const ACE_TCHAR *s_name,
u_int f,
- ACE_Service_Object_Exterminator gobbler,
- int stype)
- : ACE_Service_Type_Impl (so, s_name, f, gobbler, stype)
+ ACE_Service_Object_Exterminator gobbler)
+ : ACE_Service_Type_Impl (so, s_name, f, gobbler)
, initialized_ (-1)
{
ACE_TRACE ("ACE_Service_Object_Type::ACE_Service_Object_Type");
@@ -174,9 +164,8 @@ ACE_Module_Type::dump (void) const
ACE_Module_Type::ACE_Module_Type (void *m,
const ACE_TCHAR *m_name,
- u_int f,
- int stype)
- : ACE_Service_Type_Impl (m, m_name, f, 0, stype)
+ u_int f)
+ : ACE_Service_Type_Impl (m, m_name, f)
{
ACE_TRACE ("ACE_Module_Type::ACE_Module_Type");
}
@@ -241,8 +230,21 @@ int
ACE_Module_Type::fini (void) const
{
ACE_TRACE ("ACE_Module_Type::fini");
- // ACE_Module_Type(s) get deleted by fini_delete Bugzilla #3334
- return 0;
+
+ void *obj = this->object ();
+ MT_Module *mod = (MT_Module *) obj;
+ MT_Task *reader = mod->reader ();
+ MT_Task *writer = mod->writer ();
+
+ if (reader != 0)
+ reader->fini ();
+
+ if (writer != 0)
+ writer->fini ();
+
+ // Close the module and delete the memory.
+ mod->close (MT_Module::M_DELETE);
+ return ACE_Service_Type_Impl::fini ();
}
int
@@ -322,9 +324,8 @@ ACE_Stream_Type::resume (void) const
ACE_Stream_Type::ACE_Stream_Type (void *s,
const ACE_TCHAR *s_name,
- u_int f,
- int stype)
- : ACE_Service_Type_Impl (s, s_name, f, 0, stype),
+ u_int f)
+ : ACE_Service_Type_Impl (s, s_name, f),
head_ (0)
{
ACE_TRACE ("ACE_Stream_Type::ACE_Stream_Type");
@@ -434,14 +435,14 @@ ACE_Stream_Type::push (ACE_Module_Type *new_module)
}
ACE_Module_Type *
-ACE_Stream_Type::find (const ACE_TCHAR *mod_name) const
+ACE_Stream_Type::find (const ACE_TCHAR *module_name) const
{
ACE_TRACE ("ACE_Stream_Type::find");
for (ACE_Module_Type *m = this->head_;
m != 0;
m = m->link ())
- if (ACE_OS::strcmp (m->name (), mod_name) == 0)
+ if (ACE_OS::strcmp (m->name (), module_name) == 0)
return m;
return 0;
diff --git a/ace/Service_Types.h b/ace/Service_Types.h
index eed14e8ed2f..e741561d965 100644
--- a/ace/Service_Types.h
+++ b/ace/Service_Types.h
@@ -43,8 +43,7 @@ public:
ACE_Service_Type_Impl (void *object,
const ACE_TCHAR *s_name,
u_int flags = 0,
- ACE_Service_Object_Exterminator gobbler = 0,
- int stype = ACE_Service_Type::INVALID_TYPE);
+ ACE_Service_Object_Exterminator gobbler = 0);
virtual ~ACE_Service_Type_Impl (void);
// = Pure virtual interface (must be defined by the subclass).
@@ -52,7 +51,6 @@ public:
virtual int resume (void) const = 0;
virtual int init (int argc, ACE_TCHAR *argv[]) const = 0;
virtual int fini (void) const;
- virtual int fini_delete (void) const;
virtual int info (ACE_TCHAR **str, size_t len) const = 0;
/// The pointer to the service.
@@ -67,10 +65,6 @@ public:
/// Dump the state of an object.
void dump (void) const;
- /// Getter and setter for service_type_.
- int service_type(void) const;
- void service_type(int stype);
-
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
@@ -87,11 +81,6 @@ protected:
/// Flags that control serivce behavior (particularly deletion).
u_int flags_;
-
- /// Stores the enum that represents the concrete type of this ACE_Service_Type_Impl.
- /// Possible values are ACE_Service_Type::SERVICE_OBJECT, ACE_Service_Type::MODULE, and
- /// ACE_Service_Type::STREAM.
- int service_type_;
};
/**
@@ -107,8 +96,7 @@ public:
ACE_Service_Object_Type (void *so,
const ACE_TCHAR *name,
u_int flags = 0,
- ACE_Service_Object_Exterminator gobbler = 0,
- int stype = ACE_Service_Type::SERVICE_OBJECT);
+ ACE_Service_Object_Exterminator gobbler = 0);
~ACE_Service_Object_Type (void);
@@ -136,8 +124,7 @@ public:
// = Initialization method.
ACE_Module_Type (void *m, // Really an ACE_Module *.
const ACE_TCHAR *identifier,
- u_int flags = 0,
- int stype = ACE_Service_Type::MODULE);
+ u_int flags = 0);
~ACE_Module_Type (void);
@@ -177,9 +164,7 @@ public:
// = Initialization method.
ACE_Stream_Type (void *s, // Really an ACE_Stream *.
const ACE_TCHAR *identifier,
- u_int flags = 0,
- int stype = ACE_Service_Type::STREAM);
-
+ u_int flags = 0);
~ACE_Stream_Type (void);
@@ -197,7 +182,7 @@ public:
int remove (ACE_Module_Type *module);
/// Locate the ACE_Module with @a mod_name.
- ACE_Module_Type *find (const ACE_TCHAR *mod_name) const;
+ ACE_Module_Type *find (const ACE_TCHAR *module_name) const;
/// Dump the state of an object.
void dump (void) const;
diff --git a/ace/Service_Types.inl b/ace/Service_Types.inl
index f91e7716c2e..9ebfd705ced 100644
--- a/ace/Service_Types.inl
+++ b/ace/Service_Types.inl
@@ -29,16 +29,4 @@ ACE_Service_Type_Impl::name (const ACE_TCHAR *n)
this->name_ = ACE::strnew (n);
}
-ACE_INLINE int
-ACE_Service_Type_Impl::service_type(void) const
-{
- return service_type_;
-}
-
-ACE_INLINE void
-ACE_Service_Type_Impl::service_type(int stype)
-{
- service_type_ = stype;
-}
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Shared_Memory_Pool.cpp b/ace/Shared_Memory_Pool.cpp
index 44c346ea389..baa4acc025a 100644
--- a/ace/Shared_Memory_Pool.cpp
+++ b/ace/Shared_Memory_Pool.cpp
@@ -135,8 +135,8 @@ ACE_Shared_Memory_Pool::commit_backing_store_name (size_t rounded_bytes,
if (shmem != address)
ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) %p, shmem = %u, address = %u\n",
- "shmat",
+ ACE_TEXT("(%P|%t) %p, shmem = %u, address = %u\n"),
+ ACE_TEXT("shmat"),
shmem,
address),
-1);
@@ -211,8 +211,8 @@ ACE_Shared_Memory_Pool::handle_signal (int , siginfo_t *siginfo, ucontext_t *)
if (shmem != address)
ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) %p, shmem = %u, address = %u\n",
- "shmat",
+ ACE_TEXT("(%P|%t) %p, shmem = %u, address = %u\n"),
+ ACE_TEXT("shmat"),
shmem,
address),
-1);
@@ -349,8 +349,8 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes,
0);
if (this->base_addr_ == reinterpret_cast<void *> (-1))
ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) %p, base_addr = %u\n",
- "shmat",
+ ACE_TEXT("(%P|%t) %p, base_addr = %u\n"),
+ ACE_TEXT("shmat"),
this->base_addr_),
0);
}
@@ -366,8 +366,8 @@ ACE_Shared_Memory_Pool::init_acquire (size_t nbytes,
0);
if (this->base_addr_ == reinterpret_cast<char *> (-1))
ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) %p, base_addr = %u\n",
- "shmat",
+ ACE_TEXT("(%P|%t) %p, base_addr = %u\n"),
+ ACE_TEXT("shmat"),
this->base_addr_), 0);
SHM_TABLE *st = reinterpret_cast<SHM_TABLE *> (this->base_addr_);
diff --git a/ace/Sig_Handler.cpp b/ace/Sig_Handler.cpp
index df340ba1b1d..3ee5b84146a 100644
--- a/ace/Sig_Handler.cpp
+++ b/ace/Sig_Handler.cpp
@@ -148,8 +148,7 @@ ACE_Sig_Handler::register_handler_i (int signum,
if (ACE_Sig_Handler::in_range (signum))
{
ACE_Sig_Action sa; // Define a "null" action.
- ACE_Event_Handler *sh = ACE_Sig_Handler::handler_i (signum,
- new_sh);
+ ACE_Event_Handler *sh = ACE_Sig_Handler::handler_i (signum, new_sh);
// Return a pointer to the old <ACE_Sig_Handler> if the user
// asks for this.
@@ -162,9 +161,9 @@ ACE_Sig_Handler::register_handler_i (int signum,
new_disp = &sa;
new_disp->handler (ace_signal_handler_dispatcher);
-#if !defined (ACE_HAS_LYNXOS_SIGNALS)
+#if !defined (ACE_HAS_LYNXOS4_SIGNALS)
new_disp->flags (new_disp->flags () | SA_SIGINFO);
-#endif /* ACE_HAS_LYNXOS_SIGNALS */
+#endif /* ACE_HAS_LYNXOS4_SIGNALS */
return new_disp->register_action (signum, old_disp);
}
else
@@ -400,7 +399,10 @@ ACE_Sig_Handlers::register_handler (int signum,
// Add the ACE signal handler to the set of handlers for this
// signal (make sure it goes before the external one if there is
// one of these).
- if (ACE_Sig_Handlers_Set::instance (signum)->insert (ace_sig_adapter) == -1)
+
+ int result = ACE_Sig_Handlers_Set::instance (signum)->insert (ace_sig_adapter);
+
+ if (result == -1)
{
// We couldn't reinstall our handler, so let's pretend like
// none of this happened...
@@ -429,7 +431,9 @@ ACE_Sig_Handlers::register_handler (int signum,
// Default is to restart signal handlers.
new_disp->flags (new_disp->flags () | SA_RESTART);
+#if !defined (ACE_HAS_LYNXOS4_SIGNALS)
new_disp->flags (new_disp->flags () | SA_SIGINFO);
+#endif /* ACE_HAS_LYNXOS4_SIGNALS */
// Finally install (possibly reinstall) the ACE signal
// handler disposition with the SA_RESTART mode enabled.
@@ -483,7 +487,7 @@ ACE_Sig_Handlers::remove_handler (int signum,
for (ACE_Event_Handler **eh;
handler_iterator.next (eh) != 0;
- handler_iterator.advance ())
+ )
{
// Type-safe downcast would be nice here...
ACE_Sig_Adapter *sh = (ACE_Sig_Adapter *) *eh;
@@ -551,14 +555,12 @@ ACE_Sig_Handlers::dispatch (int signum,
for (ACE_Event_Handler **eh = 0;
handler_iterator.next (eh) != 0;
- handler_iterator.advance ())
- {
- if ((*eh)->handle_signal (signum, siginfo, ucontext) == -1)
- {
- handler_set->remove (*eh);
- delete *eh;
- }
- }
+ )
+ if ((*eh)->handle_signal (signum, siginfo, ucontext) == -1)
+ {
+ handler_set->remove (*eh);
+ delete *eh;
+ }
}
// Return the first item in the list of handlers. Note that this will
diff --git a/ace/Sig_Handler.h b/ace/Sig_Handler.h
index 4b1e813e2c5..3e7e80891d3 100644
--- a/ace/Sig_Handler.h
+++ b/ace/Sig_Handler.h
@@ -177,7 +177,7 @@ public:
* Remove an ACE_Event_Handler currently associated with @a signum.
* We remove the handler if (1) its sigkey> matches the @a sigkey
* passed as a parameter or (2) if we've been told to remove all the
- * handlers, i.e., <sigkey> == -1. If a new disposition is given it
+ * handlers, i.e., @a sigkey == -1. If a new disposition is given it
* is installed and the previous disposition is returned (if desired
* by the caller). Returns 0 on success and -1 if @a signum is
* invalid.
diff --git a/ace/Singleton.cpp b/ace/Singleton.cpp
index b59213eaf1b..154cead4d64 100644
--- a/ace/Singleton.cpp
+++ b/ace/Singleton.cpp
@@ -17,12 +17,12 @@
#include "ace/Log_Msg.h"
#include "ace/Framework_Component.h"
#include "ace/Guard_T.h"
+#include "ace/os_include/os_typeinfo.h"
ACE_RCSID (ace,
Singleton,
"$Id$")
-
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
template <class TYPE, class ACE_LOCK> void
@@ -95,7 +95,7 @@ ACE_Singleton<TYPE, ACE_LOCK>::instance (void)
ACE_NEW_RETURN (singleton, (ACE_Singleton<TYPE, ACE_LOCK>), 0);
// Register for destruction with ACE_Object_Manager.
- ACE_Object_Manager::at_exit (singleton);
+ ACE_Object_Manager::at_exit (singleton, 0, typeid (TYPE).name ());
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
}
#endif /* ACE_MT_SAFE */
@@ -108,10 +108,24 @@ ACE_Singleton<TYPE, ACE_LOCK>::instance (void)
template <class TYPE, class ACE_LOCK> void
ACE_Singleton<TYPE, ACE_LOCK>::cleanup (void *)
{
+ ACE_Object_Manager::remove_at_exit (this);
delete this;
ACE_Singleton<TYPE, ACE_LOCK>::instance_i () = 0;
}
+template <class TYPE, class ACE_LOCK> void
+ACE_Singleton<TYPE, ACE_LOCK>::close (void)
+{
+ ACE_Singleton<TYPE, ACE_LOCK> *&singleton =
+ ACE_Singleton<TYPE, ACE_LOCK>::instance_i ();
+
+ if (singleton)
+ {
+ singleton->cleanup ();
+ ACE_Singleton<TYPE, ACE_LOCK>::instance_i () = 0;
+ }
+}
+
#if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
// Pointer to the Singleton instance.
template <class TYPE, class ACE_LOCK> ACE_Singleton<TYPE, ACE_LOCK> *
@@ -282,7 +296,7 @@ ACE_TSS_Singleton<TYPE, ACE_LOCK>::instance (void)
0);
// Register for destruction with ACE_Object_Manager.
- ACE_Object_Manager::at_exit (singleton);
+ ACE_Object_Manager::at_exit (singleton, 0, typeid (TYPE).name ());
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
}
#endif /* ACE_MT_SAFE */
diff --git a/ace/Singleton.h b/ace/Singleton.h
index 33cfc3cdaca..28ce78cd017 100644
--- a/ace/Singleton.h
+++ b/ace/Singleton.h
@@ -86,6 +86,9 @@ public:
/// ACE_Singleton.
virtual void cleanup (void *param = 0);
+ /// Explicitly delete the Singleton instance.
+ static void close (void);
+
/// Dump the state of the object.
static void dump (void);
diff --git a/ace/Sock_Connect.cpp b/ace/Sock_Connect.cpp
index 99229c7c3f9..c598b103ef1 100644
--- a/ace/Sock_Connect.cpp
+++ b/ace/Sock_Connect.cpp
@@ -50,16 +50,16 @@ extern "C" {
#include "ace/OS_NS_stdio.h"
#endif /* ACE_VXWORKS < 0x600 */
-#if defined (ACE_VXWORKS) && ((ACE_VXWORKS == 0x630) || (ACE_VXWORKS == 0x640)) && defined (__RTP__) && defined (ACE_HAS_IPV6)
+#if defined (ACE_VXWORKS) && ((ACE_VXWORKS >= 0x630) && (ACE_VXWORKS <= 0x670)) && defined (__RTP__) && defined (ACE_HAS_IPV6)
const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
const struct in6_addr in6addr_nodelocal_allnodes = IN6ADDR_NODELOCAL_ALLNODES_INIT;
const struct in6_addr in6addr_linklocal_allnodes = IN6ADDR_LINKLOCAL_ALLNODES_INIT;
const struct in6_addr in6addr_linklocal_allrouters = IN6ADDR_LINKLOCAL_ALLROUTERS_INIT;
-#endif /* ACE_VXWORKS == 0x630 && __RTP__ && ACE_HAS_IPV6 */
+#endif /* ACE_VXWORKS >= 0x630 && <= 0x670 && __RTP__ && ACE_HAS_IPV6 */
#if defined (ACE_HAS_WINCE)
-#include /**/ <Iphlpapi.h>
-# if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
+#include /**/ <iphlpapi.h>
+# if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && (_WIN32_WCE < 0x600) && defined (ACE_HAS_IPV6)
// The following code is suggested by microsoft as a workaround to the fact
// that on Windows CE, these constants are exported as function addresses
// rather than simply values.
@@ -275,7 +275,7 @@ ACE::get_bcast_addr (ACE_UINT32 &bcast_addr,
#endif /* ! _UNICOS */
}
-#if !defined(AIX) && !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__)
+#if !defined(AIX) && !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (__Lynx__)
for (int n = ifc.ifc_len / sizeof (struct ifreq) ; n > 0;
n--, ifr++)
#else
@@ -288,7 +288,7 @@ ACE::get_bcast_addr (ACE_UINT32 &bcast_addr,
ifr = (struct ifreq *)
((caddr_t) &ifr->ifr_addr + ifr->ifr_addr.sa_len)) :
(nbytes -= sizeof (struct ifreq), ifr++)))
-#endif /* !defined(AIX) && !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) */
+#endif /* !defined(AIX) && !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (__Lynx__) */
{
struct sockaddr_in if_addr;
@@ -1180,8 +1180,7 @@ get_ip_interfaces_vxworks_lt600 (size_t &count,
// responsible for calling delete [] on parray
int
-ACE::get_ip_interfaces (size_t &count,
- ACE_INET_Addr *&addrs)
+ACE::get_ip_interfaces (size_t &count, ACE_INET_Addr *&addrs)
{
ACE_TRACE ("ACE::get_ip_interfaces");
@@ -1198,7 +1197,7 @@ ACE::get_ip_interfaces (size_t &count,
return get_ip_interfaces_aix (count, addrs);
#elif defined (ACE_VXWORKS) && (ACE_VXWORKS < 0x600) && !defined (ACE_HAS_VXWORKS551_MEDUSA)
return get_ip_interfaces_vxworks_lt600 (count, addrs);
-#elif (defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (ACE_OPENVMS) || (defined (ACE_VXWORKS) && (ACE_VXWORKS == 0x650)) || defined (ACE_HAS_RTEMS)) && !defined (ACE_LACKS_NETWORKING)
+#elif (defined (__unix) || defined (__unix__) || defined (ACE_OPENVMS) || (defined (ACE_VXWORKS) && !defined (ACE_HAS_GETIFADDRS)) || defined (ACE_HAS_RTEMS)) && !defined (ACE_LACKS_NETWORKING)
// COMMON (SVR4 and BSD) UNIX CODE
// Call specific routine as necessary.
@@ -1210,7 +1209,7 @@ ACE::get_ip_interfaces (size_t &count,
ACE_TEXT ("ACE::get_ip_interfaces:open")),
-1);
- size_t num_ifs, num_ifs_found;
+ size_t num_ifs = 0;
if (ACE::count_interfaces (handle, num_ifs))
{
@@ -1269,7 +1268,7 @@ ACE::get_ip_interfaces (size_t &count,
-1); // caller must free
struct IFREQ *pcur = p_ifs.get ();
- num_ifs_found = ifcfg.IFC_LEN / sizeof (struct IFREQ); // get the number of returned ifs
+ size_t num_ifs_found = ifcfg.IFC_LEN / sizeof (struct IFREQ); // get the number of returned ifs
// Pull the address out of each INET interface. Not every interface
// is for IP, so be careful to count properly. When setting the
@@ -1328,7 +1327,7 @@ ACE::get_ip_interfaces (size_t &count,
# endif /* ! _UNICOS */
}
-#if !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS)
+#if !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS) && !defined (__Lynx__)
++pcur;
#else
if (pcur->ifr_addr.sa_len <= sizeof (struct sockaddr))
@@ -1340,14 +1339,14 @@ ACE::get_ip_interfaces (size_t &count,
pcur = (struct ifreq *)
(pcur->ifr_addr.sa_len + (caddr_t) &pcur->ifr_addr);
}
-#endif /* !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) */
+#endif /* !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS) && !defined (__Lynx__) */
}
# if defined (ACE_HAS_IPV6)
// Retrieve IPv6 local interfaces by scanning /proc/net/if_inet6 if
// it exists. If we cannot open it then ignore possible IPv6
// interfaces, we did our best;-)
- FILE* fp;
+ FILE* fp = 0;
char addr_p[8][5];
char s_ipaddr[64];
int scopeid;
@@ -1404,17 +1403,10 @@ ACE::get_ip_interfaces (size_t &count,
// list of ifreq structs.
int
-ACE::count_interfaces (ACE_HANDLE handle,
- size_t &how_many)
+ACE::count_interfaces (ACE_HANDLE handle, size_t &how_many)
{
-#if defined (ACE_WIN32) || defined (ACE_HAS_GETIFADDRS) || defined (__hpux) || defined (_AIX) || (defined (ACE_VXWORKS) && (ACE_VXWORKS < 0x600))
- // none of these platforms make use of count_interfaces
- ACE_UNUSED_ARG (handle);
- ACE_UNUSED_ARG (how_many);
- ACE_NOTSUP_RETURN (-1); // no implementation
-
-#elif defined (SIOCGIFNUM)
-# if defined (SIOCGLIFNUM)
+#if defined (SIOCGIFNUM)
+# if defined (SIOCGLIFNUM) && !defined (ACE_LACKS_STRUCT_LIFNUM)
int cmd = SIOCGLIFNUM;
struct lifnum if_num = {AF_UNSPEC,0,0};
# else
@@ -1427,29 +1419,28 @@ ACE::count_interfaces (ACE_HANDLE handle,
ACE_TEXT ("ACE::count_interfaces:")
ACE_TEXT ("ioctl - SIOCGLIFNUM failed")),
-1);
-# if defined (SIOCGLIFNUM)
+# if defined (SIOCGLIFNUM) && !defined (ACE_LACKS_STRUCT_LIFNUM)
how_many = if_num.lifn_count;
# else
how_many = if_num;
# endif /* SIOCGLIFNUM */
return 0;
-#elif (defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (ACE_OPENVMS) || defined (ACE_HAS_RTEMS)) && !defined (ACE_LACKS_NETWORKING)
+#elif (defined (__unix) || defined (__unix__) || defined (ACE_OPENVMS) || defined (ACE_HAS_RTEMS) || (defined (ACE_VXWORKS) && !defined (ACE_HAS_GETIFADDRS))) && !defined (ACE_LACKS_NETWORKING)
// Note: DEC CXX doesn't define "unix". BSD compatible OS: HP UX,
// AIX, SunOS 4.x perform some ioctls to retrieve ifconf list of
// ifreq structs no SIOCGIFNUM on SunOS 4.x, so use guess and scan
// algorithm
// Probably hard to put this many ifs in a unix box..
- const int MAX_IF = 50;
+ int const MAX_IF = 50;
// HACK - set to an unreasonable number
- int num_ifs = MAX_IF;
+ int const num_ifs = MAX_IF;
struct ifconf ifcfg;
size_t ifreq_size = num_ifs * sizeof (struct ifreq);
- struct ifreq *p_ifs =
- (struct ifreq *) ACE_OS::malloc (ifreq_size);
+ struct ifreq *p_ifs = (struct ifreq *) ACE_OS::malloc (ifreq_size);
if (!p_ifs)
{
@@ -1475,7 +1466,8 @@ return 0;
-1);
}
- int if_count = 0, i;
+ int if_count = 0;
+ int i = 0;
// get if address out of ifreq buffers. ioctl puts a blank-named
// interface to mark the end of the returned interfaces.
@@ -1489,7 +1481,7 @@ return 0;
break;
++if_count;
-#if !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS)
+#if !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS) && !defined (__Lynx__)
++p_ifs;
#else
if (p_ifs->ifr_addr.sa_len <= sizeof (struct sockaddr))
@@ -1501,7 +1493,7 @@ return 0;
p_ifs = (struct ifreq *)
(p_ifs->ifr_addr.sa_len + (caddr_t) &p_ifs->ifr_addr);
}
-#endif /* !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) */
+#endif /* !defined (__QNX__) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined (ACE_HAS_RTEMS) && !defined (__Lynx__)*/
}
ACE_OS::free (ifcfg.ifc_req);
@@ -1538,7 +1530,7 @@ ACE::get_handle (void)
ACE_HANDLE handle = ACE_INVALID_HANDLE;
#if defined (sparc)
handle = ACE_OS::open ("/dev/udp", O_RDONLY);
-#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX) || defined (__hpux) || (defined (ACE_VXWORKS) && (ACE_VXWORKS >= 0x600)) || defined (ACE_OPENVMS) || defined (ACE_HAS_RTEMS)
+#elif defined (__unix) || defined (__unix__) || defined (_AIX) || defined (__hpux) || (defined (ACE_VXWORKS) && (ACE_VXWORKS >= 0x600)) || defined (ACE_OPENVMS) || defined (ACE_HAS_RTEMS)
// Note: DEC CXX doesn't define "unix" BSD compatible OS: HP UX,
// AIX, SunOS 4.x
diff --git a/ace/Stack_Trace.cpp b/ace/Stack_Trace.cpp
index c050aac5583..1fccc75fe8d 100644
--- a/ace/Stack_Trace.cpp
+++ b/ace/Stack_Trace.cpp
@@ -77,13 +77,13 @@ ACE_Stack_Trace::generate_trace (ssize_t starting_frame_offset, size_t num_frame
{
// this could be more efficient by remembering where we left off in buf_
char *symp = &stack_syms[i][0];
- while (this->buflen_ < SYMBUFSIZ && *symp != '\0')
+ while (this->buflen_ < SYMBUFSIZ - 2 && *symp != '\0')
{
this->buf_[this->buflen_++] = *symp++;
}
this->buf_[this->buflen_++] = '\n'; // put a newline at the end
}
- this->buf_[this->buflen_+1] = '\0'; // zero terminate the string
+ this->buf_[this->buflen_] = '\0'; // zero terminate the string
::free (stack_syms);
}
diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp
index 6aaef5eb2cc..4addb7d3774 100644
--- a/ace/Strategies_T.cpp
+++ b/ace/Strategies_T.cpp
@@ -439,7 +439,7 @@ ACE_Process_Strategy<SVC_HANDLER>::activate_svc_handler (SVC_HANDLER *svc_handle
case -1:
{
ACE_Errno_Guard error (errno);
- svc_handler->destroy ();
+ svc_handler->close ();
}
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%p\n"),
@@ -462,7 +462,7 @@ ACE_Process_Strategy<SVC_HANDLER>::activate_svc_handler (SVC_HANDLER *svc_handle
default: // In parent process.
// We need to close down the <SVC_HANDLER> here because it's
// running in the child.
- svc_handler->destroy ();
+ svc_handler->close ();
return 0;
}
}
diff --git a/ace/Strategies_T.h b/ace/Strategies_T.h
index 2dd8c2fd543..1318f27fe5d 100644
--- a/ace/Strategies_T.h
+++ b/ace/Strategies_T.h
@@ -107,7 +107,7 @@ public:
/**
* Create a SVC_HANDLER with the appropriate creation strategy. The
* default behavior of this method is to make a new SVC_HANDLER if
- * @a sh == 0 (passing in the <Thread_Manager>), else @a sh is
+ * @a sh == 0 (passing in the Thread_Manager), else @a sh is
* unchanged. Returns -1 on failure, else 0.
*/
virtual int make_svc_handler (SVC_HANDLER *&sh);
@@ -262,7 +262,7 @@ public:
// = Factory method.
/**
- * Activate the <svc_handler> with an appropriate concurrency
+ * Activate the @a svc_handler with an appropriate concurrency
* strategy. The default behavior of this method is to activate the
* SVC_HANDLER by calling its <open> method (which allows the
* SVC_HANDLER to define its own concurrency strategy).
@@ -321,7 +321,7 @@ public:
virtual ~ACE_Reactive_Strategy (void);
// = Factory method.
- /// Activate the <svc_handler> by registering it with the <Reactor>
+ /// Activate the @a svc_handler by registering it with the <Reactor>
/// and then calling it's <open> hook.
virtual int activate_svc_handler (SVC_HANDLER *svc_handler,
void *arg = 0);
@@ -875,7 +875,7 @@ public:
/// Template method for making a new <svc_handler>
virtual int make_svc_handler (SVC_HANDLER *&sh);
- /// Template method for activating a new <svc_handler>
+ /// Template method for activating a new @a svc_handler
virtual int activate_svc_handler (SVC_HANDLER *svc_handler);
/// Template method for setting the recycler information of the
diff --git a/ace/Stream.h b/ace/Stream.h
index da558b89d4b..2dc24b6da13 100644
--- a/ace/Stream.h
+++ b/ace/Stream.h
@@ -60,20 +60,20 @@ public:
// = Initializatation and termination methods.
/**
- * Create a Stream consisting of <head> and <tail> as the Stream
+ * Create a Stream consisting of @a head and @a tail as the Stream
* head and Stream tail, respectively. If these are 0 then the
- * <ACE_Stream_Head> and <ACE_Stream_Tail> are used, respectively.
- * <arg> is the value past in to the <open> methods of the tasks.
+ * ACE_Stream_Head and ACE_Stream_Tail are used, respectively.
+ * @a arg is the value past in to the <open> methods of the tasks.
*/
ACE_Stream (void *arg = 0,
ACE_Module<ACE_SYNCH_USE> *head = 0,
ACE_Module<ACE_SYNCH_USE> *tail = 0);
/**
- * Create a Stream consisting of <head> and <tail> as the Stream
+ * Create a Stream consisting of @a head and @a tail as the Stream
* head and Stream tail, respectively. If these are 0 then the
- * <ACE_Stream_Head> and <ACE_Stream_Tail> are used, respectively.
- * <arg> is the value past in to the <open> methods of the tasks.
+ * ACE_Stream_Head and ACE_Stream_Tail are used, respectively.
+ * @a arg is the value past in to the @c open() methods of the tasks.
*/
virtual int open (void *arg,
ACE_Module<ACE_SYNCH_USE> *head = 0,
@@ -87,12 +87,12 @@ public:
// = ACE_Stream plumbing operations
- /// Add a new module <mod> right below the Stream head. The
+ /// Add a new module @a mod right below the Stream head. The
/// <open()> hook methods of the <ACE_Tasks> in this ACE_Module
/// are invoked to initialize the tasks.
virtual int push (ACE_Module<ACE_SYNCH_USE> *mod);
- /// Remove the <mod> right below the Stream head and close it down.
+ /// Remove the @a mod right below the Stream head and close it down.
// The <close()> hook methods of the <ACE_Tasks> in this ACE_Module
/// are invoked to cleanup the tasks.
virtual int pop (int flags = M_DELETE);
@@ -101,16 +101,16 @@ public:
/// head).
virtual int top (ACE_Module<ACE_SYNCH_USE> *&mod);
- /// Insert a new module <mod> below the named module <prev_name>.
+ /// Insert a new module @a mod below the named module <prev_name>.
virtual int insert (const ACE_TCHAR *prev_name,
ACE_Module<ACE_SYNCH_USE> *mod);
- /// Replace the named module <replace_name> with a new module <mod>.
+ /// Replace the named module @a replace_name with a new module @a mod.
virtual int replace (const ACE_TCHAR *replace_name,
ACE_Module<ACE_SYNCH_USE> *mod,
int flags = M_DELETE);
- /// Remove the named module <mod> from the stream. This bypasses the
+ /// Remove the named module @a mod from the stream. This bypasses the
/// strict LIFO ordering of <push> and <pop>.
virtual int remove (const ACE_TCHAR *mod,
int flags = M_DELETE);
@@ -206,7 +206,7 @@ public:
// = Iteration methods.
- /// Pass back the <next_item> that hasn't been seen in the set.
+ /// Pass back the @a next_item that hasn't been seen in the set.
/// Returns 0 when all items have been seen, else 1.
int next (const ACE_Module<ACE_SYNCH_USE> *&next_item);
diff --git a/ace/String_Base.cpp b/ace/String_Base.cpp
index 7000454972f..b674c659859 100644
--- a/ace/String_Base.cpp
+++ b/ace/String_Base.cpp
@@ -19,26 +19,26 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_ALLOC_HOOK_DEFINE(ACE_String_Base)
-template <class CHAR>
-CHAR ACE_String_Base<CHAR>::NULL_String_ = 0;
+template <class ACE_CHAR_T>
+ACE_CHAR_T ACE_String_Base<ACE_CHAR_T>::NULL_String_ = 0;
// Default constructor.
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (ACE_Allocator *the_allocator)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (ACE_Allocator *the_allocator)
: allocator_ (the_allocator ? the_allocator : ACE_Allocator::instance ()),
len_ (0),
buf_len_ (0),
- rep_ (&ACE_String_Base<CHAR>::NULL_String_),
+ rep_ (&ACE_String_Base<ACE_CHAR_T>::NULL_String_),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
}
// Constructor that actually copies memory.
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (const CHAR *s,
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (const ACE_CHAR_T *s,
ACE_Allocator *the_allocator,
bool release)
: allocator_ (the_allocator ? the_allocator : ACE_Allocator::instance ()),
@@ -47,12 +47,12 @@ ACE_String_Base<CHAR>::ACE_String_Base (const CHAR *s,
rep_ (0),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
this->set (s, release);
}
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (CHAR c,
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (ACE_CHAR_T c,
ACE_Allocator *the_allocator)
: allocator_ (the_allocator ? the_allocator : ACE_Allocator::instance ()),
len_ (0),
@@ -60,17 +60,17 @@ ACE_String_Base<CHAR>::ACE_String_Base (CHAR c,
rep_ (0),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
this->set (&c, 1, true);
}
// Constructor that actually copies memory.
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (
- const CHAR *s,
- typename ACE_String_Base<CHAR>::size_type len,
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (
+ const ACE_CHAR_T *s,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type len,
ACE_Allocator *the_allocator,
bool release)
: allocator_ (the_allocator ? the_allocator : ACE_Allocator::instance ()),
@@ -79,30 +79,30 @@ ACE_String_Base<CHAR>::ACE_String_Base (
rep_ (0),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
this->set (s, len, release);
}
// Copy constructor.
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (const ACE_String_Base<CHAR> &s)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (const ACE_String_Base<ACE_CHAR_T> &s)
: allocator_ (s.allocator_ ? s.allocator_ : ACE_Allocator::instance ()),
len_ (0),
buf_len_ (0),
rep_ (0),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
this->set (s.rep_, s.len_, true);
}
-template <class CHAR>
-ACE_String_Base<CHAR>::ACE_String_Base (
- typename ACE_String_Base<CHAR>::size_type len,
- CHAR c,
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::ACE_String_Base (
+ typename ACE_String_Base<ACE_CHAR_T>::size_type len,
+ ACE_CHAR_T c,
ACE_Allocator *the_allocator)
: allocator_ (the_allocator ? the_allocator : ACE_Allocator::instance ()),
len_ (0),
@@ -110,33 +110,33 @@ ACE_String_Base<CHAR>::ACE_String_Base (
rep_ (0),
release_ (false)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::ACE_String_Base");
this->resize (len, c);
}
-template <class CHAR>
-ACE_String_Base<CHAR>::~ACE_String_Base (void)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::~ACE_String_Base (void)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::~ACE_String_Base");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::~ACE_String_Base");
if (this->buf_len_ != 0 && this->release_)
this->allocator_->free (this->rep_);
}
// this method might benefit from a little restructuring.
-template <class CHAR> void
-ACE_String_Base<CHAR>::set (const CHAR *s,
- typename ACE_String_Base<CHAR>::size_type len,
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::set (const ACE_CHAR_T *s,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type len,
bool release)
{
// Case 1. Going from memory to more memory
size_type new_buf_len = len + 1;
if (s != 0 && len != 0 && release && this->buf_len_ < new_buf_len)
{
- CHAR *temp = 0;
+ ACE_CHAR_T *temp = 0;
ACE_ALLOCATOR (temp,
- (CHAR *) this->allocator_->malloc (new_buf_len * sizeof (CHAR)));
+ (ACE_CHAR_T *) this->allocator_->malloc (new_buf_len * sizeof (ACE_CHAR_T)));
if (this->buf_len_ != 0 && this->release_)
this->allocator_->free (this->rep_);
@@ -145,7 +145,7 @@ ACE_String_Base<CHAR>::set (const CHAR *s,
this->buf_len_ = new_buf_len;
this->release_ = true;
this->len_ = len;
- ACE_OS::memcpy (this->rep_, s, len * sizeof (CHAR));
+ ACE_OS::memcpy (this->rep_, s, len * sizeof (ACE_CHAR_T));
this->rep_[len] = 0;
}
else // Case 2. No memory allocation is necessary.
@@ -164,19 +164,19 @@ ACE_String_Base<CHAR>::set (const CHAR *s,
{
this->buf_len_ = 0;
this->len_ = 0;
- this->rep_ = &ACE_String_Base<CHAR>::NULL_String_;
+ this->rep_ = &ACE_String_Base<ACE_CHAR_T>::NULL_String_;
this->release_ = false;
}
else if (!release) // Note: No guarantee that rep_ is null terminated.
{
this->buf_len_ = len;
this->len_ = len;
- this->rep_ = const_cast <CHAR *> (s);
+ this->rep_ = const_cast <ACE_CHAR_T *> (s);
this->release_ = false;
}
else
{
- ACE_OS::memcpy (this->rep_, s, len * sizeof (CHAR));
+ ACE_OS::memcpy (this->rep_, s, len * sizeof (ACE_CHAR_T));
this->rep_[len] = 0;
this->len_ = len;
}
@@ -184,12 +184,12 @@ ACE_String_Base<CHAR>::set (const CHAR *s,
}
// Return substring.
-template <class CHAR> ACE_String_Base<CHAR>
-ACE_String_Base<CHAR>::substring (
- typename ACE_String_Base<CHAR>::size_type offset,
- typename ACE_String_Base<CHAR>::size_type length) const
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::substring (
+ typename ACE_String_Base<ACE_CHAR_T>::size_type offset,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type length) const
{
- ACE_String_Base<CHAR> nill;
+ ACE_String_Base<ACE_CHAR_T> nill;
size_type count = length;
// case 1. empty string
@@ -206,36 +206,36 @@ ACE_String_Base<CHAR>::substring (
else if (length == npos || count > (this->len_ - offset))
count = this->len_ - offset;
- return ACE_String_Base<CHAR> (&this->rep_[offset], count, this->allocator_);
+ return ACE_String_Base<ACE_CHAR_T> (&this->rep_[offset], count, this->allocator_);
}
-template <class CHAR> ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::append (const CHAR* s,
- typename ACE_String_Base<CHAR>::size_type slen)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::append (const ACE_CHAR_T* s,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type slen)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::append(const CHAR*, size_type)");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::append(const ACE_CHAR_T*, size_type)");
if (slen > 0 && slen != npos)
{
// case 1. No memory allocation needed.
if (this->buf_len_ >= this->len_ + slen + 1)
{
// Copy in data from new string.
- ACE_OS::memcpy (this->rep_ + this->len_, s, slen * sizeof (CHAR));
+ ACE_OS::memcpy (this->rep_ + this->len_, s, slen * sizeof (ACE_CHAR_T));
}
else // case 2. Memory reallocation is needed
{
const size_type new_buf_len =
ace_max(this->len_ + slen + 1, this->buf_len_ + this->buf_len_ / 2);
- CHAR *t = 0;
+ ACE_CHAR_T *t = 0;
ACE_ALLOCATOR_RETURN (t,
- (CHAR *) this->allocator_->malloc (new_buf_len * sizeof (CHAR)), *this);
+ (ACE_CHAR_T *) this->allocator_->malloc (new_buf_len * sizeof (ACE_CHAR_T)), *this);
// Copy memory from old string into new string.
- ACE_OS::memcpy (t, this->rep_, this->len_ * sizeof (CHAR));
+ ACE_OS::memcpy (t, this->rep_, this->len_ * sizeof (ACE_CHAR_T));
- ACE_OS::memcpy (t + this->len_, s, slen * sizeof (CHAR));
+ ACE_OS::memcpy (t + this->len_, s, slen * sizeof (ACE_CHAR_T));
if (this->buf_len_ != 0 && this->release_)
this->allocator_->free (this->rep_);
@@ -252,29 +252,29 @@ ACE_String_Base<CHAR>::append (const CHAR* s,
return *this;
}
-template <class CHAR> u_long
-ACE_String_Base<CHAR>::hash (void) const
+template <class ACE_CHAR_T> u_long
+ACE_String_Base<ACE_CHAR_T>::hash (void) const
{
return
ACE::hash_pjw (reinterpret_cast<char *> (
- const_cast<CHAR *> (this->rep_)),
- this->len_ * sizeof (CHAR));
+ const_cast<ACE_CHAR_T *> (this->rep_)),
+ this->len_ * sizeof (ACE_CHAR_T));
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::resize (typename ACE_String_Base<CHAR>::size_type len,
- CHAR c)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::resize (typename ACE_String_Base<ACE_CHAR_T>::size_type len,
+ ACE_CHAR_T c)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::resize");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::resize");
fast_resize(len);
- ACE_OS::memset (this->rep_, c, this->buf_len_ * sizeof (CHAR));
+ ACE_OS::memset (this->rep_, c, this->buf_len_ * sizeof (ACE_CHAR_T));
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::fast_resize (size_t len)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::fast_resize (size_t len)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::fast_resize");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::fast_resize");
// Only reallocate if we don't have enough space...
if (this->buf_len_ <= len)
@@ -282,8 +282,8 @@ ACE_String_Base<CHAR>::fast_resize (size_t len)
if (this->buf_len_ != 0 && this->release_)
this->allocator_->free (this->rep_);
- this->rep_ = static_cast<CHAR*>
- (this->allocator_->malloc ((len + 1) * sizeof (CHAR)));
+ this->rep_ = static_cast<ACE_CHAR_T*>
+ (this->allocator_->malloc ((len + 1) * sizeof (ACE_CHAR_T)));
this->buf_len_ = len + 1;
this->release_ = true;
}
@@ -292,8 +292,8 @@ ACE_String_Base<CHAR>::fast_resize (size_t len)
this->rep_[0] = 0;
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::clear (bool release)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::clear (bool release)
{
// This can't use set(), because that would free memory if release=false
if (release)
@@ -301,7 +301,7 @@ ACE_String_Base<CHAR>::clear (bool release)
if (this->buf_len_ != 0 && this->release_)
this->allocator_->free (this->rep_);
- this->rep_ = &ACE_String_Base<CHAR>::NULL_String_;
+ this->rep_ = &ACE_String_Base<ACE_CHAR_T>::NULL_String_;
this->len_ = 0;
this->buf_len_ = 0;
this->release_ = false;
@@ -313,20 +313,20 @@ ACE_String_Base<CHAR>::clear (bool release)
}
// Assignment operator (does copy memory).
-template <class CHAR> ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::operator= (const CHAR *s)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::operator= (const ACE_CHAR_T *s)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator=");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator=");
if (s != 0)
this->set (s, true);
return *this;
}
// Assignment operator (does copy memory).
-template <class CHAR> ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::operator= (const ACE_String_Base<CHAR> &s)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::operator= (const ACE_String_Base<ACE_CHAR_T> &s)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator=");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator=");
// Check for self-assignment.
if (this != &s)
@@ -337,8 +337,8 @@ ACE_String_Base<CHAR>::operator= (const ACE_String_Base<CHAR> &s)
return *this;
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::set (const CHAR *s, bool release)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::set (const ACE_CHAR_T *s, bool release)
{
size_t length = 0;
if (s != 0)
@@ -347,42 +347,42 @@ ACE_String_Base<CHAR>::set (const CHAR *s, bool release)
this->set (s, length, release);
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::fast_clear (void)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::fast_clear (void)
{
this->len_ = 0;
if (this->release_)
{
// String retains the original buffer.
- if (this->rep_ != &ACE_String_Base<CHAR>::NULL_String_)
+ if (this->rep_ != &ACE_String_Base<ACE_CHAR_T>::NULL_String_)
this->rep_[0] = 0;
}
else
{
// External buffer: string relinquishes control of it.
this->buf_len_ = 0;
- this->rep_ = &ACE_String_Base<CHAR>::NULL_String_;
+ this->rep_ = &ACE_String_Base<ACE_CHAR_T>::NULL_String_;
}
}
// Get a copy of the underlying representation.
-template <class CHAR> CHAR *
-ACE_String_Base<CHAR>::rep (void) const
+template <class ACE_CHAR_T> ACE_CHAR_T *
+ACE_String_Base<ACE_CHAR_T>::rep (void) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::rep");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::rep");
- CHAR *new_string;
- ACE_NEW_RETURN (new_string, CHAR[this->len_ + 1], 0);
+ ACE_CHAR_T *new_string;
+ ACE_NEW_RETURN (new_string, ACE_CHAR_T[this->len_ + 1], 0);
ACE_OS::strsncpy (new_string, this->rep_, this->len_+1);
return new_string;
}
-template <class CHAR> int
-ACE_String_Base<CHAR>::compare (const ACE_String_Base<CHAR> &s) const
+template <class ACE_CHAR_T> int
+ACE_String_Base<ACE_CHAR_T>::compare (const ACE_String_Base<ACE_CHAR_T> &s) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::compare");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::compare");
if (this->rep_ == s.rep_)
return 0;
@@ -392,7 +392,7 @@ ACE_String_Base<CHAR>::compare (const ACE_String_Base<CHAR> &s) const
int result = ACE_OS::memcmp (this->rep_,
s.rep_,
- smaller_length * sizeof (CHAR));
+ smaller_length * sizeof (ACE_CHAR_T));
if (result == 0 && this->len_ != s.len_)
result = this->len_ > s.len_ ? 1 : -1;
@@ -401,56 +401,56 @@ ACE_String_Base<CHAR>::compare (const ACE_String_Base<CHAR> &s) const
// Comparison operator.
-template <class CHAR> bool
-ACE_String_Base<CHAR>::operator== (const ACE_String_Base<CHAR> &s) const
+template <class ACE_CHAR_T> bool
+ACE_String_Base<ACE_CHAR_T>::operator== (const ACE_String_Base<ACE_CHAR_T> &s) const
{
return this->len_ == s.len_ &&
ACE_OS::memcmp (this->rep_,
s.rep_,
- this->len_ * sizeof (CHAR)) == 0;
+ this->len_ * sizeof (ACE_CHAR_T)) == 0;
}
-template <class CHAR> bool
-ACE_String_Base<CHAR>::operator== (const CHAR *s) const
+template <class ACE_CHAR_T> bool
+ACE_String_Base<ACE_CHAR_T>::operator== (const ACE_CHAR_T *s) const
{
size_t len = ACE_OS::strlen (s);
return this->len_ == len &&
ACE_OS::memcmp (this->rep_,
s,
- len * sizeof (CHAR)) == 0;
+ len * sizeof (ACE_CHAR_T)) == 0;
}
-template <class CHAR> typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::find (
- const CHAR *s,
- typename ACE_String_Base<CHAR>::size_type pos) const
+template <class ACE_CHAR_T> typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::find (
+ const ACE_CHAR_T *s,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type pos) const
{
- CHAR *substr = this->rep_ + pos;
+ ACE_CHAR_T *substr = this->rep_ + pos;
size_t len = ACE_OS::strlen (s);
- CHAR *pointer = ACE_OS::strnstr (substr, s, len);
+ ACE_CHAR_T *pointer = ACE_OS::strnstr (substr, s, len);
if (pointer == 0)
- return ACE_String_Base<CHAR>::npos;
+ return ACE_String_Base<ACE_CHAR_T>::npos;
else
return pointer - this->rep_;
}
-template <class CHAR> typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::find (
- CHAR c,
- typename ACE_String_Base<CHAR>::size_type pos) const
+template <class ACE_CHAR_T> typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::find (
+ ACE_CHAR_T c,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type pos) const
{
- CHAR *substr = this->rep_ + pos;
- CHAR *pointer = ACE_OS::strnchr (substr, c, this->len_ - pos);
+ ACE_CHAR_T *substr = this->rep_ + pos;
+ ACE_CHAR_T *pointer = ACE_OS::strnchr (substr, c, this->len_ - pos);
if (pointer == 0)
- return ACE_String_Base<CHAR>::npos;
+ return ACE_String_Base<ACE_CHAR_T>::npos;
else
return pointer - this->rep_;
}
-template <class CHAR> typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::rfind (
- CHAR c,
- typename ACE_String_Base<CHAR>::size_type pos) const
+template <class ACE_CHAR_T> typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::rfind (
+ ACE_CHAR_T c,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type pos) const
{
if (pos == npos || pos > this->len_)
pos = this->len_;
@@ -461,11 +461,11 @@ ACE_String_Base<CHAR>::rfind (
if (this->rep_[i] == c)
return i;
- return ACE_String_Base<CHAR>::npos;
+ return ACE_String_Base<ACE_CHAR_T>::npos;
}
-template <class CHAR> void
-ACE_String_Base<CHAR>::swap (ACE_String_Base<CHAR> & str)
+template <class ACE_CHAR_T> void
+ACE_String_Base<ACE_CHAR_T>::swap (ACE_String_Base<ACE_CHAR_T> & str)
{
std::swap (this->allocator_ , str.allocator_);
std::swap (this->len_ , str.len_);
@@ -476,64 +476,164 @@ ACE_String_Base<CHAR>::swap (ACE_String_Base<CHAR> & str)
// ----------------------------------------------
-template <class CHAR> ACE_String_Base<CHAR>
-operator+ (const ACE_String_Base<CHAR> &s, const ACE_String_Base<CHAR> &t)
+template <class ACE_CHAR_T>
+int ACE_String_Base_Iterator <ACE_CHAR_T>::next (ACE_CHAR_T * & ch) const
{
- ACE_String_Base<CHAR> temp (s.length () + t.length ());
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::next");
+
+ if (0 == this->done ())
+ {
+ ch = &this->str_->rep_[this->index_];
+ return 1;
+ }
+ else
+ {
+ ch = 0;
+ return 0;
+ }
+}
+
+template <class ACE_CHAR_T>
+int ACE_String_Base_Iterator <ACE_CHAR_T>::advance (void)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::advance");
+
+ if (this->index_ < this->str_->length ())
+ {
+ ++ this->index_;
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+template <class ACE_CHAR_T>
+const ACE_String_Base_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator = (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator =");
+
+ if (this == &rhs)
+ return *this;
+
+ this->str_ = rhs.str_;
+ this->index_ = rhs.index_;
+ return *this;
+}
+
+// ----------------------------------------------
+
+template <class ACE_CHAR_T>
+int ACE_String_Base_Const_Iterator <ACE_CHAR_T>::next (const ACE_CHAR_T * & ch) const
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::next");
+
+ if (0 == this->done ())
+ {
+ ch = &this->str_->rep_[this->index_];
+ return 1;
+ }
+ else
+ {
+ ch = 0;
+ return 0;
+ }
+}
+
+template <class ACE_CHAR_T>
+int ACE_String_Base_Const_Iterator <ACE_CHAR_T>::advance (void)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::advance");
+
+ if (this->index_ < this->str_->length ())
+ {
+ ++ this->index_;
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+template <class ACE_CHAR_T>
+const ACE_String_Base_Const_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator = (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator =");
+
+ if (this == &rhs)
+ return *this;
+
+ this->str_ = rhs.str_;
+ this->index_ = rhs.index_;
+ return *this;
+}
+
+// ----------------------------------------------
+
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+operator+ (const ACE_String_Base<ACE_CHAR_T> &s, const ACE_String_Base<ACE_CHAR_T> &t)
+{
+ ACE_String_Base<ACE_CHAR_T> temp (s.length () + t.length ());
temp += s;
temp += t;
return temp;
}
-template <class CHAR> ACE_String_Base<CHAR>
-operator+ (const CHAR *s, const ACE_String_Base<CHAR> &t)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+operator+ (const ACE_CHAR_T *s, const ACE_String_Base<ACE_CHAR_T> &t)
{
size_t slen = 0;
if (s != 0)
slen = ACE_OS::strlen (s);
- ACE_String_Base<CHAR> temp (slen + t.length ());
+ ACE_String_Base<ACE_CHAR_T> temp (slen + t.length ());
if (slen > 0)
temp.append (s, slen);
temp += t;
return temp;
}
-template <class CHAR> ACE_String_Base<CHAR>
-operator+ (const ACE_String_Base<CHAR> &s, const CHAR *t)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+operator+ (const ACE_String_Base<ACE_CHAR_T> &s, const ACE_CHAR_T *t)
{
size_t tlen = 0;
if (t != 0)
tlen = ACE_OS::strlen (t);
- ACE_String_Base<CHAR> temp (s.length () + tlen);
+ ACE_String_Base<ACE_CHAR_T> temp (s.length () + tlen);
temp += s;
if (tlen > 0)
temp.append (t, tlen);
return temp;
}
-template <class CHAR> ACE_String_Base<CHAR>
-operator + (const ACE_String_Base<CHAR> &t,
- const CHAR c)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+operator + (const ACE_String_Base<ACE_CHAR_T> &t,
+ const ACE_CHAR_T c)
{
- ACE_String_Base<CHAR> temp (t.length () + 1);
+ ACE_String_Base<ACE_CHAR_T> temp (t.length () + 1);
temp += t;
temp += c;
return temp;
}
-template <class CHAR> ACE_String_Base<CHAR>
-operator + (const CHAR c,
- const ACE_String_Base<CHAR> &t)
+template <class ACE_CHAR_T> ACE_String_Base<ACE_CHAR_T>
+operator + (const ACE_CHAR_T c,
+ const ACE_String_Base<ACE_CHAR_T> &t)
{
- ACE_String_Base<CHAR> temp (t.length () + 1);
+ ACE_String_Base<ACE_CHAR_T> temp (t.length () + 1);
temp += c;
temp += t;
return temp;
}
-template <class CHAR>
-ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::operator+= (const CHAR* s)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::operator+= (const ACE_CHAR_T* s)
{
size_t slen = 0;
if (s != 0)
@@ -541,19 +641,19 @@ ACE_String_Base<CHAR>::operator+= (const CHAR* s)
return this->append (s, slen);
}
-template <class CHAR>
-ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::operator+= (const ACE_String_Base<CHAR> &s)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::operator+= (const ACE_String_Base<ACE_CHAR_T> &s)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator+=(const ACE_String_Base<CHAR> &)");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator+=(const ACE_String_Base<ACE_CHAR_T> &)");
return this->append (s.rep_, s.len_);
}
-template <class CHAR>
-ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::operator+= (const CHAR c)
+template <class ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::operator+= (const ACE_CHAR_T c)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator+=(const CHAR)");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator+=(const ACE_CHAR_T)");
const size_type slen = 1;
return this->append (&c, slen);
}
diff --git a/ace/String_Base.h b/ace/String_Base.h
index 85ef2755407..ae775c35dc3 100644
--- a/ace/String_Base.h
+++ b/ace/String_Base.h
@@ -23,9 +23,18 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/String_Base_Const.h"
+#include <iterator>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+// Forward decl.
+template <class ACE_CHAR_T>
+class ACE_String_Base_Iterator;
+
+// Forward decl.
+template <class ACE_CHAR_T>
+class ACE_String_Base_Const_Iterator;
+
/**
* @class ACE_String_Base
*
@@ -54,13 +63,23 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
* many STL class templates. If you find yourself casting you're
* probably doing something wrong.
*/
-template <class CHAR>
+template <class ACE_CHAR_T>
class ACE_String_Base : public ACE_String_Base_Const
{
public:
-
using ACE_String_Base_Const::size_type;
+ friend class ACE_String_Base_Iterator <ACE_CHAR_T>;
+ friend class ACE_String_Base_Const_Iterator <ACE_CHAR_T>;
+
+ // ACE-style iterators
+ typedef ACE_String_Base_Iterator <ACE_CHAR_T> ITERATOR;
+ typedef ACE_String_Base_Const_Iterator <ACE_CHAR_T> CONST_ITERATOR;
+
+ // STL-style iterators
+ typedef ACE_String_Base_Iterator <ACE_CHAR_T> iterator;
+ typedef ACE_String_Base_Const_Iterator <ACE_CHAR_T> const_iterator;
+
/**
* Default constructor.
*
@@ -82,9 +101,9 @@ public:
* @param the_allocator ACE_Allocator associated with string
* @param release Allocator responsible(true)/not reponsible(false) for
* freeing memory.
- * @return ACE_String_Base containing const CHAR *s
+ * @return ACE_String_Base containing const ACE_CHAR_T *s
*/
- ACE_String_Base (const CHAR *s,
+ ACE_String_Base (const ACE_CHAR_T *s,
ACE_Allocator *the_allocator = 0,
bool release = true);
@@ -103,9 +122,9 @@ public:
* @param the_allocator ACE_Allocator associated with string
* @param release Allocator responsible(true)/not reponsible(false) for
* freeing memory.
- * @return ACE_String_Base containing const CHAR *s
+ * @return ACE_String_Base containing const ACE_CHAR_T *s
*/
- ACE_String_Base (const CHAR *s,
+ ACE_String_Base (const ACE_CHAR_T *s,
size_type len,
ACE_Allocator *the_allocator = 0,
bool release = true);
@@ -116,16 +135,16 @@ public:
* @param s Input ACE_String_Base string to copy
* @return Copy of input string @a s
*/
- ACE_String_Base (const ACE_String_Base < CHAR > &s);
+ ACE_String_Base (const ACE_String_Base < ACE_CHAR_T > &s);
/**
* Constructor that copies @a c into dynamically allocated memory.
*
* @param c Single input character.
* @param the_allocator ACE_Allocator associated with string
- * @return ACE_String_Base containing CHAR 'c'
+ * @return ACE_String_Base containing ACE_CHAR_T 'c'
*/
- ACE_String_Base (CHAR c, ACE_Allocator *the_allocator = 0);
+ ACE_String_Base (ACE_CHAR_T c, ACE_Allocator *the_allocator = 0);
/**
* Constructor that allocates a len long string.
@@ -141,7 +160,7 @@ public:
* @return Empty ACE_String_Base with room for len CHARs
*/
ACE_String_Base (size_type len,
- CHAR c = 0,
+ ACE_CHAR_T c = 0,
ACE_Allocator *the_allocator = 0);
/**
@@ -156,7 +175,7 @@ public:
* @param slot Index of the desired character
* @return The character at index @a slot
*/
- const CHAR & operator[] (size_type slot) const;
+ const ACE_CHAR_T & operator[] (size_type slot) const;
/**
* Return the <slot'th> character by reference in the string
@@ -165,15 +184,15 @@ public:
* @param slot Index of the desired character
* @return The character at index @a slot
*/
- CHAR & operator[] (size_type slot);
+ ACE_CHAR_T & operator[] (size_type slot);
/**
* Assignment operator (does copy memory).
*
- * @param s Input null-terminated CHAR string to assign to this object.
+ * @param s Input null-terminated ACE_CHAR_T string to assign to this object.
* @return Return a copy of the this string.
*/
- ACE_String_Base < CHAR > &operator = (const CHAR * s);
+ ACE_String_Base < ACE_CHAR_T > &operator = (const ACE_CHAR_T * s);
/**
* Assignment operator (does copy memory).
@@ -181,7 +200,7 @@ public:
* @param s Input ACE_String_Base string to assign to this object.
* @return Return a copy of the this string.
*/
- ACE_String_Base < CHAR > &operator = (const ACE_String_Base < CHAR > &s);
+ ACE_String_Base < ACE_CHAR_T > &operator = (const ACE_String_Base < ACE_CHAR_T > &s);
/**
* Assignment alternative method (does not copy memory).
@@ -189,7 +208,7 @@ public:
* @param s Input ACE_String_Base string to assign to this object.
* @return Return this string.
*/
- ACE_String_Base < CHAR > &assign_nocopy (const ACE_String_Base < CHAR > &s);
+ ACE_String_Base < ACE_CHAR_T > &assign_nocopy (const ACE_String_Base < ACE_CHAR_T > &s);
/**
* Copy @a s into this @a ACE_String_Base.
@@ -208,7 +227,7 @@ public:
* @param release Allocator responsible(true)/not reponsible(false) for
* freeing memory.
*/
- void set (const CHAR * s, bool release = true);
+ void set (const ACE_CHAR_T * s, bool release = true);
/**
* Copy @a len bytes of @a s (will zero terminate the result).
@@ -228,7 +247,7 @@ public:
* @param release Allocator responsible(true)/not reponsible(false) for
* freeing memory.
*/
- void set (const CHAR * s, size_type len, bool release);
+ void set (const ACE_CHAR_T * s, size_type len, bool release);
/**
* Clear this string. Memory is _not_ freed if @a release is false.
@@ -272,7 +291,7 @@ public:
* @param length How many characters to return starting at the offset.
* @return The string containing the desired substring
*/
- ACE_String_Base < CHAR > substring (size_type offset,
+ ACE_String_Base < ACE_CHAR_T > substring (size_type offset,
size_type length = npos) const;
/**
@@ -282,7 +301,7 @@ public:
* @param length How many characters to return starting at the offset.
* @return The string containing the desired substring
*/
- ACE_String_Base < CHAR > substr (size_type offset,
+ ACE_String_Base < ACE_CHAR_T > substr (size_type offset,
size_type length = npos) const;
/**
@@ -292,7 +311,7 @@ public:
* @return The combined string (input append to the end of the old). New
* string is zero terminated.
*/
- ACE_String_Base < CHAR > &operator += (const ACE_String_Base < CHAR > &s);
+ ACE_String_Base < ACE_CHAR_T > &operator += (const ACE_String_Base < ACE_CHAR_T > &s);
/**
* Concat operator (copies memory).
@@ -301,26 +320,26 @@ public:
* @return The combined string (input append to the end of the old). New
* string is zero terminated.
*/
- ACE_String_Base < CHAR >& operator += (const CHAR* s);
+ ACE_String_Base < ACE_CHAR_T >& operator += (const ACE_CHAR_T* s);
/**
* Concat operator (copies memory).
*
- * @param c Input CHAR to concatenate to this string.
+ * @param c Input ACE_CHAR_T to concatenate to this string.
* @return The combined string (input append to the end of the old). New
* string is zero terminated.
*/
- ACE_String_Base < CHAR >& operator += (const CHAR c);
+ ACE_String_Base < ACE_CHAR_T >& operator += (const ACE_CHAR_T c);
/**
* Append function (copies memory).
*
- * @param s Input CHAR array to concatenate to this string.
+ * @param s Input ACE_CHAR_T array to concatenate to this string.
* @param slen The length of the array.
* @return The combined string (input append to the end of the old). New
* string is zero terminated.
*/
- ACE_String_Base < CHAR >& append (const CHAR* s, size_type slen);
+ ACE_String_Base < ACE_CHAR_T >& append (const ACE_CHAR_T* s, size_type slen);
/**
* Returns a hash value for this string.
@@ -340,7 +359,7 @@ public:
* Return the number of allocated CHARs in the string object.
* This may be greater than the current length of the string.
*
- * @return Maximum number of CHAR units that can be stored, including
+ * @return Maximum number of ACE_CHAR_T units that can be stored, including
* any terminating nul that may be needed.
*/
size_t capacity (void) const;
@@ -367,7 +386,7 @@ public:
* @return Pointer reference to the string data. Returned string is
* zero terminated.
*/
- CHAR *rep (void) const;
+ ACE_CHAR_T *rep (void) const;
/**
* Get at the underlying representation directly!
@@ -378,12 +397,12 @@ public:
* that the string is zero terminated.
*
*/
- const CHAR *fast_rep (void) const;
+ const ACE_CHAR_T *fast_rep (void) const;
/**
* Same as STL String's <c_str> and <fast_rep>.
*/
- const CHAR *c_str (void) const;
+ const ACE_CHAR_T *c_str (void) const;
/**
* Comparison operator that will match substrings. Returns the
@@ -393,7 +412,7 @@ public:
* @return Integer index value of the first location of string @a s or
* @c npos (not found).
*/
- size_type strstr (const ACE_String_Base<CHAR> &s) const;
+ size_type strstr (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Find <str> starting at pos. Returns the slot of the first
@@ -404,7 +423,7 @@ public:
* @return Index value of the first location of string @a str else
* @c npos.
*/
- size_type find (const ACE_String_Base<CHAR> &str, size_type pos = 0) const;
+ size_type find (const ACE_String_Base<ACE_CHAR_T> &str, size_type pos = 0) const;
/**
* Find @a s starting at pos. Returns the slot of the first
@@ -415,7 +434,7 @@ public:
* @return Index value of the first location of string @a str else
* @c npos.
*/
- size_type find (const CHAR *s, size_type pos = 0) const;
+ size_type find (const ACE_CHAR_T *s, size_type pos = 0) const;
/**
* Find @a c starting at pos. Returns the slot of the first
@@ -426,7 +445,7 @@ public:
* @return Index value of the first location of string @a str else
* @c npos.
*/
- size_type find (CHAR c, size_type pos = 0) const;
+ size_type find (ACE_CHAR_T c, size_type pos = 0) const;
/**
* Find @a c starting at pos (counting from the end). Returns the
@@ -437,7 +456,7 @@ public:
* @return Index value of the first location of string @a str else
* @c npos.
*/
- size_type rfind (CHAR c, size_type pos = npos) const;
+ size_type rfind (ACE_CHAR_T c, size_type pos = npos) const;
/**
* Equality comparison operator (must match entire string).
@@ -445,7 +464,7 @@ public:
* @param s Input ACE_String_Base string to compare against stored string.
* @return @c true if equal, @c false otherwise.
*/
- bool operator == (const ACE_String_Base<CHAR> &s) const;
+ bool operator == (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Equality comparison operator (must match entire string).
@@ -453,7 +472,7 @@ public:
* @param s Null terminated string to compare against stored string.
* @return @c true if equal, @c false otherwise.
*/
- bool operator == (const CHAR *s) const;
+ bool operator == (const ACE_CHAR_T *s) const;
/**
* Less than comparison operator.
@@ -461,7 +480,7 @@ public:
* @param s Input ACE_String_Base string to compare against stored string.
* @return @c true if less than, @c false otherwise.
*/
- bool operator < (const ACE_String_Base<CHAR> &s) const;
+ bool operator < (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Greater than comparison operator.
@@ -469,7 +488,7 @@ public:
* @param s Input ACE_String_Base string to compare against stored string.
* @return @c true if greater than, @c false otherwise.
*/
- bool operator > (const ACE_String_Base<CHAR> &s) const;
+ bool operator > (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Inequality comparison operator.
@@ -477,7 +496,7 @@ public:
* @param s String to compare against stored string.
* @return @c true if not equal, @c false otherwise.
*/
- bool operator != (const ACE_String_Base<CHAR> &s) const;
+ bool operator != (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Inequality comparison operator.
@@ -485,7 +504,7 @@ public:
* @param s Null terminated string to compare against stored string.
* @return @c true if not equal, @c false otherwise.
*/
- bool operator != (const CHAR *s) const;
+ bool operator != (const ACE_CHAR_T *s) const;
/**
* Performs a strncmp comparison.
@@ -494,7 +513,7 @@ public:
* @return Integer value of result (less than 0, 0, greater than 0)
* depending on how input string @a s is to the stored string.
*/
- int compare (const ACE_String_Base<CHAR> &s) const;
+ int compare (const ACE_String_Base<ACE_CHAR_T> &s) const;
/**
* Dump the state of an object.
@@ -516,19 +535,25 @@ public:
*
* fast_resize just adjusts the buffer if needed and sets the length,
* it doesn't fill the buffer, so is much faster.
- *
+ *
* @param len The number of CHARs to reserve
- * @param c The CHAR to use when filling the string.
+ * @param c The ACE_CHAR_T to use when filling the string.
*/
- void resize (size_type len, CHAR c = 0);
+ void resize (size_type len, ACE_CHAR_T c = 0);
void fast_resize (size_t len);
/// Swap the contents of this @c ACE_String_Base with @a str.
/**
* @note This is non-throwing operation.
*/
- void swap (ACE_String_Base<CHAR> & str);
-
+ void swap (ACE_String_Base<ACE_CHAR_T> & str);
+
+ iterator begin (void);
+ const_iterator begin (void) const;
+
+ iterator end (void);
+ const_iterator end (void) const;
+
/**
* Declare the dynamic allocation hooks.
*/
@@ -554,7 +579,7 @@ protected:
/**
* Pointer to data.
*/
- CHAR *rep_;
+ ACE_CHAR_T *rep_;
/**
* Flag that indicates if we own the memory
@@ -564,34 +589,288 @@ protected:
/**
* Represents the "NULL" string to simplify the internal logic.
*/
- static CHAR NULL_String_;
+ static ACE_CHAR_T NULL_String_;
+};
+
+/**
+ * @class ACE_String_Base_Iterator
+ *
+ * @brief Iterator class for the ACE_String_Base class.
+ *
+ * This class is an implementation of an iterator that allows client
+ * applications it iterator over the contents of a string. Currently,
+ * now this iterator fall under the std::bidirectional_iterator_tag
+ * category. Future versions of the class will support the operations
+ * of std::random_access_iterator_tag.
+ */
+template <class ACE_CHAR_T>
+class ACE_String_Base_Iterator
+{
+public:
+ // = std::iterator_traits typedefs/traits.
+ typedef std::bidirectional_iterator_tag iterator_category;
+ typedef ACE_CHAR_T value_type;
+ typedef ACE_CHAR_T & reference;
+ typedef ACE_CHAR_T * pointer;
+ typedef ptrdiff_t difference_type;
+
+ /**
+ * Initializing constructor
+ *
+ * @param[in] str Target string for iterator.
+ */
+ ACE_String_Base_Iterator (ACE_String_Base <ACE_CHAR_T> & str, int end = 0);
+
+ /**
+ * Copy constructor
+ *
+ * @param[in] iter Iterator to copy.
+ */
+ ACE_String_Base_Iterator (const ACE_String_Base_Iterator <ACE_CHAR_T> & iter);
+
+ /// Destructor.
+ ~ACE_String_Base_Iterator (void);
+
+ /**
+ * Test if the iterator has seen all characters.
+ *
+ * @retval 0 Characters still remain.
+ * @retval 1 All characters have been seen.
+ */
+ int done (void) const;
+
+ /**
+ * Get the current character.
+ *
+ * @param[out] ch The current character.
+ * @retval 0 All characters have been seen.
+ * @retval 1 Items still remain to be seen.
+ */
+ int next (ACE_CHAR_T * & ch) const;
+
+ /**
+ * Move to the next character in the string.
+ *
+ * @retval 0 All characters have been seen.
+ * @retval 1 Items still remain to be seen.
+ */
+ int advance (void);
+
+ /**
+ * Assignment operator
+ *
+ * @param[in] iter Right-hand side of operator.
+ * @return Reference to self.
+ */
+ const ACE_String_Base_Iterator <ACE_CHAR_T> & operator = (const ACE_String_Base_Iterator <ACE_CHAR_T> & iter);
+
+ /**
+ * Dereference operator
+ *
+ * @return Reference to current character seen by iterator.
+ */
+ ACE_CHAR_T & operator * (void);
+
+ /**
+ * Prefix operator
+ */
+ ACE_String_Base_Iterator <ACE_CHAR_T> & operator ++ (void);
+
+ /**
+ * Postfix operator
+ */
+ ACE_String_Base_Iterator <ACE_CHAR_T> operator ++ (int);
+
+ /**
+ * Prefix operator
+ */
+ ACE_String_Base_Iterator <ACE_CHAR_T> & operator -- (void);
+
+ /**
+ * Postfix operator
+ */
+ ACE_String_Base_Iterator <ACE_CHAR_T> operator -- (int);
+
+ /**
+ * Eqaulity comparison operator
+ *
+ * @param[in] rhs Right-hand side of operator.
+ */
+ bool operator == (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+
+ /**
+ * Ineqaulity comparison operator
+ *
+ * @param[in] rhs Right-hand side of operator.
+ */
+ bool operator != (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+
+ bool operator < (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+ bool operator > (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+
+ bool operator <= (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+ bool operator >= (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const;
+
+private:
+ /// Target string to iterate over.
+ ACE_String_Base <ACE_CHAR_T> * str_;
+
+ /// Current location in the string.
+ size_t index_;
+};
+
+/**
+ * @class ACE_String_Base_Const_Iterator
+ *
+ * @brief Const iterator class for the ACE_String_Base class.
+ *
+ * This class is an implementation of an iterator that allows client
+ * applications it iterator over the contents of a string. Currently,
+ * now this iterator fall under the std::bidirectional_iterator_tag
+ * category. Future versions of the class will support the operations
+ * of std::random_access_iterator_tag.
+ */
+template <class ACE_CHAR_T>
+class ACE_String_Base_Const_Iterator
+{
+public:
+ // = std::iterator_traits typedefs/traits.
+ typedef std::bidirectional_iterator_tag iterator_category;
+ typedef const ACE_CHAR_T value_type;
+ typedef const ACE_CHAR_T & reference;
+ typedef const ACE_CHAR_T * pointer;
+ typedef ptrdiff_t difference_type;
+
+ /**
+ * Initializing constructor
+ *
+ * @param[in] str Target string for iterator.
+ */
+ ACE_String_Base_Const_Iterator (const ACE_String_Base <ACE_CHAR_T> & str, int end = 0);
+
+ /**
+ * Copy constructor
+ *
+ * @param[in] iter Iterator to copy.
+ */
+ ACE_String_Base_Const_Iterator (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & iter);
+
+ /// Destructor.
+ ~ACE_String_Base_Const_Iterator (void);
+
+ /**
+ * Test if the iterator has seen all characters.
+ *
+ * @retval 0 Characters still remain.
+ * @retval 1 All characters have been seen.
+ */
+ int done (void) const;
+
+ /**
+ * Get the current character.
+ *
+ * @param[out] ch The current character.
+ * @retval 0 All characters have been seen.
+ * @retval 1 Items still remain to be seen.
+ */
+ int next (const ACE_CHAR_T * & ch) const;
+
+ /**
+ * Move to the next character in the string.
+ *
+ * @retval 0 All characters have been seen.
+ * @retval 1 Items still remain to be seen.
+ */
+ int advance (void);
+
+ /**
+ * Assignment operator
+ *
+ * @param[in] iter Right-hand side of operator.
+ * @return Reference to self.
+ */
+ const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & operator = (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & iter);
+
+ /**
+ * Dereference operator
+ *
+ * @return Reference to current character seen by iterator.
+ */
+ const ACE_CHAR_T & operator * (void);
+
+ /**
+ * Prefix operator
+ */
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> & operator ++ (void);
+
+ /**
+ * Postfix operator
+ */
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> operator ++ (int);
+
+ /**
+ * Prefix operator
+ */
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> & operator -- (void);
+
+ /**
+ * Postfix operator
+ */
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> operator -- (int);
+
+ /**
+ * Eqaulity comparison operator
+ *
+ * @param[in] rhs Right-hand side of operator.
+ */
+ bool operator == (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+
+ /**
+ * Ineqaulity comparison operator
+ *
+ * @param[in] rhs Right-hand side of operator.
+ */
+ bool operator != (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+
+ bool operator < (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+ bool operator > (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+
+ bool operator <= (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+ bool operator >= (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const;
+
+private:
+ /// Target string to iterate over.
+ const ACE_String_Base <ACE_CHAR_T> * str_;
+
+ /// Current location in the string.
+ size_t index_;
};
-template < class CHAR >
- ACE_String_Base < CHAR > operator + (const ACE_String_Base < CHAR > &,
- const ACE_String_Base < CHAR > &);
-template < class CHAR >
- ACE_String_Base < CHAR > operator + (const ACE_String_Base < CHAR > &,
- const CHAR *);
-template < class CHAR >
- ACE_String_Base < CHAR > operator + (const CHAR *,
- const ACE_String_Base < CHAR > &);
-
-template < class CHAR >
- ACE_String_Base < CHAR > operator + (const ACE_String_Base < CHAR > &t,
- const CHAR c);
-
-template < class CHAR >
- ACE_String_Base < CHAR > operator + (const CHAR c,
- const ACE_String_Base < CHAR > &t);
-
-template <class CHAR>
- bool operator == (const CHAR *s,
- const ACE_String_Base<CHAR> &t);
-
-template <class CHAR>
- bool operator != (const CHAR *s,
- const ACE_String_Base<CHAR> &t);
+template < class ACE_CHAR_T >
+ ACE_String_Base < ACE_CHAR_T > operator + (const ACE_String_Base < ACE_CHAR_T > &,
+ const ACE_String_Base < ACE_CHAR_T > &);
+template < class ACE_CHAR_T >
+ ACE_String_Base < ACE_CHAR_T > operator + (const ACE_String_Base < ACE_CHAR_T > &,
+ const ACE_CHAR_T *);
+template < class ACE_CHAR_T >
+ ACE_String_Base < ACE_CHAR_T > operator + (const ACE_CHAR_T *,
+ const ACE_String_Base < ACE_CHAR_T > &);
+
+template < class ACE_CHAR_T >
+ ACE_String_Base < ACE_CHAR_T > operator + (const ACE_String_Base < ACE_CHAR_T > &t,
+ const ACE_CHAR_T c);
+
+template < class ACE_CHAR_T >
+ ACE_String_Base < ACE_CHAR_T > operator + (const ACE_CHAR_T c,
+ const ACE_String_Base < ACE_CHAR_T > &t);
+
+template <class ACE_CHAR_T>
+ bool operator == (const ACE_CHAR_T *s,
+ const ACE_String_Base<ACE_CHAR_T> &t);
+
+template <class ACE_CHAR_T>
+ bool operator != (const ACE_CHAR_T *s,
+ const ACE_String_Base<ACE_CHAR_T> &t);
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/String_Base.inl b/ace/String_Base.inl
index 28b5e824aa7..29c262e2b56 100644
--- a/ace/String_Base.inl
+++ b/ace/String_Base.inl
@@ -9,149 +9,451 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <class CHAR> ACE_INLINE void
-ACE_String_Base<CHAR>::dump (void) const
+template <class ACE_CHAR_T> ACE_INLINE void
+ACE_String_Base<ACE_CHAR_T>::dump (void) const
{
#if defined (ACE_HAS_DUMP)
- ACE_TRACE ("ACE_String_Base<CHAR>::dump");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::dump");
#endif /* ACE_HAS_DUMP */
}
// Assignment method (does not copy memory)
-template <class CHAR> ACE_INLINE ACE_String_Base<CHAR> &
-ACE_String_Base<CHAR>::assign_nocopy (const ACE_String_Base<CHAR> &s)
+template <class ACE_CHAR_T> ACE_INLINE ACE_String_Base<ACE_CHAR_T> &
+ACE_String_Base<ACE_CHAR_T>::assign_nocopy (const ACE_String_Base<ACE_CHAR_T> &s)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::assign_nocopy");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::assign_nocopy");
this->set (s.rep_, s.len_, false);
return *this;
}
-template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::length (void) const
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::length (void) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::length");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::length");
return this->len_;
}
-template <class CHAR> ACE_INLINE size_t
-ACE_String_Base<CHAR>::capacity (void) const
+template <class ACE_CHAR_T> ACE_INLINE size_t
+ACE_String_Base<ACE_CHAR_T>::capacity (void) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::capacity");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::capacity");
return this->buf_len_;
}
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::is_empty (void) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::is_empty (void) const
{
return this->len_ == 0;
}
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::empty (void) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::empty (void) const
{
return this->is_empty ();
}
-template <class CHAR> ACE_INLINE ACE_String_Base<CHAR>
-ACE_String_Base<CHAR>::substr (
- typename ACE_String_Base<CHAR>::size_type offset,
- typename ACE_String_Base<CHAR>::size_type length) const
+template <class ACE_CHAR_T> ACE_INLINE ACE_String_Base<ACE_CHAR_T>
+ACE_String_Base<ACE_CHAR_T>::substr (
+ typename ACE_String_Base<ACE_CHAR_T>::size_type offset,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type length) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::substr");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::substr");
return this->substring (offset, length);
}
// Return the <slot'th> character in the string.
-template <class CHAR> ACE_INLINE const CHAR &
-ACE_String_Base<CHAR>::operator[] (
- typename ACE_String_Base<CHAR>::size_type slot) const
+template <class ACE_CHAR_T> ACE_INLINE const ACE_CHAR_T &
+ACE_String_Base<ACE_CHAR_T>::operator[] (
+ typename ACE_String_Base<ACE_CHAR_T>::size_type slot) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator[]");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator[]");
return this->rep_[slot];
}
// Return the <slot'th> character in the string by reference.
-template <class CHAR> ACE_INLINE CHAR &
-ACE_String_Base<CHAR>::operator[] (
- typename ACE_String_Base<CHAR>::size_type slot)
+template <class ACE_CHAR_T> ACE_INLINE ACE_CHAR_T &
+ACE_String_Base<ACE_CHAR_T>::operator[] (
+ typename ACE_String_Base<ACE_CHAR_T>::size_type slot)
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator[]");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator[]");
return this->rep_[slot];
}
-template <class CHAR> ACE_INLINE const CHAR *
-ACE_String_Base<CHAR>::fast_rep (void) const
+template <class ACE_CHAR_T> ACE_INLINE const ACE_CHAR_T *
+ACE_String_Base<ACE_CHAR_T>::fast_rep (void) const
{
return this->rep_;
}
-template <class CHAR> ACE_INLINE const CHAR *
-ACE_String_Base<CHAR>::c_str (void) const
+template <class ACE_CHAR_T> ACE_INLINE const ACE_CHAR_T *
+ACE_String_Base<ACE_CHAR_T>::c_str (void) const
{
return this->rep_;
}
// Less than comparison operator.
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::operator < (const ACE_String_Base<CHAR> &s) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::operator < (const ACE_String_Base<ACE_CHAR_T> &s) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator <");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator <");
return compare (s) < 0;
}
// Greater than comparison operator.
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::operator > (const ACE_String_Base &s) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::operator > (const ACE_String_Base &s) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator >");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator >");
return compare (s) > 0;
}
// Comparison operator.
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::operator!= (const ACE_String_Base<CHAR> &s) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::operator!= (const ACE_String_Base<ACE_CHAR_T> &s) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::operator!=");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::operator!=");
return !(*this == s);
}
-template <class CHAR> ACE_INLINE bool
-ACE_String_Base<CHAR>::operator!= (const CHAR *s) const
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base<ACE_CHAR_T>::operator!= (const ACE_CHAR_T *s) const
{
return !(*this == s);
}
-template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::find (const ACE_String_Base<CHAR>&str,
- typename ACE_String_Base<CHAR>::size_type pos) const
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::find (const ACE_String_Base<ACE_CHAR_T>&str,
+ typename ACE_String_Base<ACE_CHAR_T>::size_type pos) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::find");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::find");
return this->find (str.rep_, pos);
}
-template <class CHAR> ACE_INLINE typename ACE_String_Base<CHAR>::size_type
-ACE_String_Base<CHAR>::strstr (const ACE_String_Base<CHAR> &s) const
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::size_type
+ACE_String_Base<ACE_CHAR_T>::strstr (const ACE_String_Base<ACE_CHAR_T> &s) const
{
- ACE_TRACE ("ACE_String_Base<CHAR>::strstr");
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::strstr");
return this->find (s.rep_);
}
-template <class CHAR> ACE_INLINE bool
-operator== (const CHAR *s,
- const ACE_String_Base<CHAR> &t)
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::iterator
+ACE_String_Base<ACE_CHAR_T>::begin (void)
+{
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::begin");
+ return iterator (*this);
+}
+
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::const_iterator
+ACE_String_Base<ACE_CHAR_T>::begin (void) const
+{
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::begin");
+ return const_iterator (*this);
+}
+
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::iterator
+ACE_String_Base<ACE_CHAR_T>::end (void)
+{
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::end");
+ return iterator (*this, 1);
+}
+
+template <class ACE_CHAR_T> ACE_INLINE typename ACE_String_Base<ACE_CHAR_T>::const_iterator
+ACE_String_Base<ACE_CHAR_T>::end (void) const
+{
+ ACE_TRACE ("ACE_String_Base<ACE_CHAR_T>::end");
+ return const_iterator (*this, 1);
+}
+
+// ----------------------------------------------
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+ACE_String_Base_Iterator (ACE_String_Base <ACE_CHAR_T> & str, int end)
+: str_ (&str),
+ index_ (0 == end ? 0 : str.length ())
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::ACE_String_Base_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+ACE_String_Base_Iterator (const ACE_String_Base_Iterator <ACE_CHAR_T> & iter)
+: str_ (iter.str_),
+ index_ (iter.index_)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::ACE_String_Base_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T>::~ACE_String_Base_Iterator (void)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::~ACE_String_Base_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+int ACE_String_Base_Iterator <ACE_CHAR_T>::done (void) const
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::done");
+
+ return this->index_ >= this->str_->length () ? 1 : 0;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_CHAR_T & ACE_String_Base_Iterator <ACE_CHAR_T>::operator * (void)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator *");
+
+ return this->str_->rep_[this->index_];
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Iterator <ACE_CHAR_T>::operator ++ (void)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator ++");
+
+ if (0 == this->done ())
+ ++ this->index_;
+
+ return *this;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T>
+ACE_String_Base_Iterator <ACE_CHAR_T>::operator ++ (int)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator ++ (int)");
+
+ ACE_String_Base_Iterator <ACE_CHAR_T> temp (*this);
+
+ if (0 == this->done ())
+ ++ this->index_;
+
+ return temp;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Iterator <ACE_CHAR_T>::operator -- (void)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator --");
+
+ if (0 < this->index_)
+ -- this->index_;
+
+ return *this;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Iterator <ACE_CHAR_T>
+ACE_String_Base_Iterator <ACE_CHAR_T>::operator -- (int)
+{
+ ACE_TRACE ("ACE_String_Base_Iterator<ACE_CHAR_T>::operator -- (int)");
+
+ ACE_String_Base_Iterator <ACE_CHAR_T> temp (*this);
+
+ if (0 < this->index_)
+ -- this->index_;
+
+ return temp;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator == (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ == rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator != (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ != rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator < (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ < rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator > (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ > rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator >= (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ >= rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Iterator <ACE_CHAR_T>::
+operator <= (const ACE_String_Base_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ <= rhs.index_;
+}
+
+// ----------------------------------------------
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+ACE_String_Base_Const_Iterator (const ACE_String_Base <ACE_CHAR_T> & str, int end)
+: str_ (&str),
+ index_ (0 == end ? 0 : str.length ())
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::ACE_String_Base_Const_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+ACE_String_Base_Const_Iterator (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & iter)
+: str_ (iter.str_),
+ index_ (iter.index_)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::ACE_String_Base_Const_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::~ACE_String_Base_Const_Iterator (void)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::~ACE_String_Base_Const_Iterator");
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+int ACE_String_Base_Const_Iterator <ACE_CHAR_T>::done (void) const
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::done");
+
+ return this->index_ >= this->str_->length () ? 1 : 0;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+const ACE_CHAR_T & ACE_String_Base_Const_Iterator <ACE_CHAR_T>::operator * (void)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator *");
+
+ return this->str_->rep_[this->index_];
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::operator ++ (void)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator ++");
+
+ if (0 == this->done ())
+ ++ this->index_;
+
+ return *this;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::operator ++ (int)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator ++ (int)");
+
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> temp (*this);
+
+ if (0 == this->done ())
+ ++ this->index_;
+
+ return temp;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T> &
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::operator -- (void)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator --");
+
+ if (0 < this->index_)
+ -- this->index_;
+
+ return *this;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::operator -- (int)
+{
+ ACE_TRACE ("ACE_String_Base_Const_Iterator<ACE_CHAR_T>::operator -- (int)");
+
+ ACE_String_Base_Const_Iterator <ACE_CHAR_T> temp (*this);
+
+ if (0 < this->index_)
+ -- this->index_;
+
+ return temp;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator == (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ == rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator != (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ != rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator < (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ < rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator > (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ > rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator >= (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ >= rhs.index_;
+}
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+ACE_String_Base_Const_Iterator <ACE_CHAR_T>::
+operator <= (const ACE_String_Base_Const_Iterator <ACE_CHAR_T> & rhs) const
+{
+ return this->index_ <= rhs.index_;
+}
+
+// ----------------------------------------------
+
+template <class ACE_CHAR_T> ACE_INLINE bool
+operator== (const ACE_CHAR_T *s,
+ const ACE_String_Base<ACE_CHAR_T> &t)
{
return t == s;
}
-template <class CHAR> ACE_INLINE bool
-operator!= (const CHAR *s,
- const ACE_String_Base<CHAR> &t)
+template <class ACE_CHAR_T> ACE_INLINE bool
+operator!= (const ACE_CHAR_T *s,
+ const ACE_String_Base<ACE_CHAR_T> &t)
{
return !(t == s);
}
diff --git a/ace/Svc_Handler.cpp b/ace/Svc_Handler.cpp
index 7941c34238c..b48e037d6c1 100644
--- a/ace/Svc_Handler.cpp
+++ b/ace/Svc_Handler.cpp
@@ -302,7 +302,11 @@ ACE_Svc_Handler<PR_ST_2, ACE_SYNCH_USE>::handle_close (ACE_HANDLE,
{
ACE_TRACE ("ACE_Svc_Handler<PR_ST_2, ACE_SYNCH_USE>::handle_close");
- this->destroy ();
+ if (this->reference_counting_policy ().value () ==
+ ACE_Event_Handler::Reference_Counting_Policy::DISABLED)
+ {
+ this->destroy ();
+ }
return 0;
}
diff --git a/ace/System_Time.cpp b/ace/System_Time.cpp
index d1ae525b8d6..e5ff1175473 100644
--- a/ace/System_Time.cpp
+++ b/ace/System_Time.cpp
@@ -85,7 +85,7 @@ ACE_System_Time::get_master_system_time (time_t &time_out)
if (this->delta_time_ == 0)
{
// Try to find it
- void * temp;
+ void * temp = 0;
if (this->shmem_->find (ACE_DEFAULT_TIME_SERVER_STR, temp) == -1)
{
// No time entry in shared memory (meaning no Clerk exists)
diff --git a/ace/TP_Reactor.cpp b/ace/TP_Reactor.cpp
index f0df1119550..ac9bbdada63 100644
--- a/ace/TP_Reactor.cpp
+++ b/ace/TP_Reactor.cpp
@@ -54,7 +54,7 @@ ACE_TP_Token_Guard::acquire_read_token (ACE_Time_Value *max_wait_time)
}
// We got the token and so let us mark ourselves as owner
- this->owner_ = 1;
+ this->owner_ = true;
return result;
}
@@ -92,7 +92,7 @@ ACE_TP_Token_Guard::acquire_token (ACE_Time_Value *max_wait_time)
}
// We got the token and so let us mark ourselves as owner
- this->owner_ = 1;
+ this->owner_ = true;
return result;
}
@@ -657,7 +657,7 @@ ACE_TP_Reactor::notify_handle (ACE_HANDLE,
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("ACE_TP_Reactor::notify_handle: ")
- ACE_TEXT ("Wrong version of notify_handle() got called \n")));
+ ACE_TEXT ("Wrong version of notify_handle() got called\n")));
ACE_ASSERT (eh == 0);
ACE_UNUSED_ARG (eh);
diff --git a/ace/TSS_T.cpp b/ace/TSS_T.cpp
index d5d4ef4a7e5..50bd097b2dc 100644
--- a/ace/TSS_T.cpp
+++ b/ace/TSS_T.cpp
@@ -72,8 +72,7 @@ ACE_TSS<TYPE>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
this->keylock_.dump ();
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("key_ = %d\n"), this->key_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nonce_ = %d"), this->once_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nonce_ = %d\n"), this->once_));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* defined (ACE_HAS_THREADS) && (defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)) */
#endif /* ACE_HAS_DUMP */
@@ -357,8 +356,7 @@ ACE_TSS_Guard<ACE_LOCK>::dump (void) const
// ACE_TRACE ("ACE_TSS_Guard<ACE_LOCK>::dump");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("key_ = %d"), this->key_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("key_ = %d\n"), this->key_));
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
#endif /* ACE_HAS_DUMP */
}
diff --git a/ace/TTY_IO.cpp b/ace/TTY_IO.cpp
index 7ab0036890e..44f937d646e 100644
--- a/ace/TTY_IO.cpp
+++ b/ace/TTY_IO.cpp
@@ -399,17 +399,24 @@ int ACE_TTY_IO::control (Control_Mode cmd, Serial_Params *arg) const
return -1; // Wrong cmd.
}
#elif defined (ACE_WIN32)
+ DCB dcb;
+ dcb.DCBlength = sizeof dcb;
+ if (!::GetCommState (this->get_handle (), &dcb))
+ {
+ ACE_OS::set_errno_to_last_error ();
+ return -1;
+ }
+
+ COMMTIMEOUTS timeouts;
+ if (!::GetCommTimeouts (this->get_handle(), &timeouts))
+ {
+ ACE_OS::set_errno_to_last_error ();
+ return -1;
+ }
+
switch (cmd)
{
case SETPARAMS:
- DCB dcb;
- dcb.DCBlength = sizeof dcb;
- if (!::GetCommState (this->get_handle (), &dcb))
- {
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
-
dcb.BaudRate = arg->baudrate;
switch (arg->databits)
@@ -522,13 +529,6 @@ int ACE_TTY_IO::control (Control_Mode cmd, Serial_Params *arg) const
return -1;
}
- COMMTIMEOUTS timeouts;
- if (!::GetCommTimeouts (this->get_handle(), &timeouts))
- {
- ACE_OS::set_errno_to_last_error ();
- return -1;
- }
-
if (arg->readtimeoutmsec < 0)
{
// Settings for infinite timeout.
@@ -560,7 +560,130 @@ int ACE_TTY_IO::control (Control_Mode cmd, Serial_Params *arg) const
return 0;
case GETPARAMS:
- ACE_NOTSUP_RETURN (-1); // Not yet implemented.
+ arg->baudrate = dcb.BaudRate;
+
+ switch (dcb.ByteSize)
+ {
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ arg->databits = dcb.ByteSize;
+ break;
+ default:
+ return -1;
+ }
+
+ switch (dcb.StopBits)
+ {
+ case ONESTOPBIT:
+ arg->stopbits = 1;
+ break;
+ case TWOSTOPBITS:
+ arg->stopbits = 2;
+ break;
+ default:
+ return -1;
+ }
+
+ if (!dcb.fParity)
+ {
+ arg->paritymode = ACE_TTY_IO_NONE;
+ }
+ else
+ {
+ switch (dcb.Parity)
+ {
+ case ODDPARITY:
+ arg->paritymode = ACE_TTY_IO_ODD;
+ break;
+ case EVENPARITY:
+ arg->paritymode = ACE_TTY_IO_EVEN;
+ break;
+ case NOPARITY:
+ arg->paritymode = ACE_TTY_IO_NONE;
+ break;
+ case MARKPARITY:
+ arg->paritymode = ACE_TTY_IO_MARK;
+ break;
+ case SPACEPARITY:
+ arg->paritymode = ACE_TTY_IO_SPACE;
+ break;
+ default:
+ return -1;
+ }
+ }
+
+ // Enable/disable RTS protocol.
+ switch (dcb.fRtsControl)
+ {
+ case RTS_CONTROL_ENABLE:
+ arg->rtsenb = 1;
+ break;
+ case RTS_CONTROL_HANDSHAKE:
+ arg->rtsenb = 2;
+ break;
+ case RTS_CONTROL_TOGGLE:
+ arg->rtsenb = 3;
+ break;
+ case RTS_CONTROL_DISABLE:
+ arg->rtsenb = 0;
+ break;
+ default:
+ return -1;
+ }
+
+ // Enable/disable CTS protocol.
+ if (dcb.fOutxCtsFlow)
+ arg->ctsenb = true;
+ else
+ arg->ctsenb = false;
+
+ // Enable/disable DSR protocol.
+ if (dcb.fOutxDsrFlow)
+ arg->dsrenb = true;
+ else
+ arg->dsrenb = false;
+
+ // Disable/enable DTR protocol
+ // Attention: DTR_CONTROL_HANDSHAKE is not supported.
+ switch (dcb.fDtrControl)
+ {
+ case DTR_CONTROL_DISABLE:
+ arg->dtrdisable = true;
+ break;
+ case DTR_CONTROL_ENABLE:
+ arg->dtrdisable = false;
+ break;
+ default:
+ return -1;
+ }
+
+ // Enable/disable software flow control on input
+ if (dcb.fInX)
+ arg->xinenb = true;
+ else
+ arg->xinenb = false;
+
+ // Enable/disable software flow control on output
+ if (dcb.fOutX)
+ arg->xoutenb = true;
+ else
+ arg->xoutenb = false;
+
+ arg->xonlim = static_cast<int>(dcb.XonLim);
+ arg->xofflim = static_cast<int>(dcb.XoffLim);
+
+ if (timeouts.ReadIntervalTimeout == 0 &&
+ timeouts.ReadTotalTimeoutMultiplier == 0 &&
+ timeouts.ReadTotalTimeoutConstant == 0)
+ arg->readtimeoutmsec = -1;
+ else
+ arg->readtimeoutmsec = timeouts.ReadTotalTimeoutConstant;
+
+ return 0;
+
default:
return -1; // Wrong cmd.
diff --git a/ace/Thread.cpp b/ace/Thread.cpp
index fab00ea5e6b..c9398465240 100644
--- a/ace/Thread.cpp
+++ b/ace/Thread.cpp
@@ -26,22 +26,24 @@ ACE_Thread::spawn_n (size_t n,
const char* thr_name[])
{
ACE_TRACE ("ACE_Thread::spawn_n");
- ACE_thread_t t_id;
size_t i;
for (i = 0; i < n; i++)
- // Bail out if error occurs.
- if (ACE_OS::thr_create (func,
- arg,
- flags,
- &t_id,
- 0,
- priority,
- stack == 0 ? 0 : stack[i],
- stack_size == 0 ? ACE_DEFAULT_THREAD_STACKSIZE : stack_size[i],
- thread_adapter,
- thr_name == 0 ? 0 : &thr_name[i]) != 0)
- break;
+ {
+ ACE_thread_t t_id;
+ // Bail out if error occurs.
+ if (ACE_OS::thr_create (func,
+ arg,
+ flags,
+ &t_id,
+ 0,
+ priority,
+ stack == 0 ? 0 : stack[i],
+ stack_size == 0 ? ACE_DEFAULT_THREAD_STACKSIZE : stack_size[i],
+ thread_adapter,
+ thr_name == 0 ? 0 : &thr_name[i]) != 0)
+ break;
+ }
return i;
}
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp
index bf6e309f33f..39189cafa5c 100644
--- a/ace/Thread_Manager.cpp
+++ b/ace/Thread_Manager.cpp
@@ -1068,7 +1068,7 @@ ACE_Thread_Manager::kill_thr (ACE_Thread_Descriptor *td, int signum)
errno = ENOENT; \
return -1; \
} \
- int result = OP (ptr, ARG); \
+ int const result = OP (ptr, ARG); \
ACE_Errno_Guard error (errno); \
while (! this->thr_to_be_removed_.is_empty ()) { \
ACE_Thread_Descriptor * td = 0; \
@@ -1719,7 +1719,7 @@ ACE_Thread_Manager::apply_task (ACE_Task_Base *task,
// Save/restore errno.
ACE_Errno_Guard error (errno);
- for (ACE_Thread_Descriptor *td;
+ for (ACE_Thread_Descriptor *td = 0;
this->thr_to_be_removed_.dequeue_head (td) != -1;
)
this->remove_thr (td, 1);
diff --git a/ace/Thread_Manager.inl b/ace/Thread_Manager.inl
index 2a22b525047..7d2d75ec01c 100644
--- a/ace/Thread_Manager.inl
+++ b/ace/Thread_Manager.inl
@@ -268,9 +268,7 @@ ACE_Thread_Manager::at_exit (void *object,
if (td == 0)
return -1;
else
- return td->at_exit (object,
- cleanup_hook,
- param);
+ return td->at_exit (object, cleanup_hook, param);
}
ACE_INLINE void
diff --git a/ace/Thread_Mutex.h b/ace/Thread_Mutex.h
index d8f5369b01a..2c5d7bfca88 100644
--- a/ace/Thread_Mutex.h
+++ b/ace/Thread_Mutex.h
@@ -130,15 +130,16 @@ public:
int tryacquire_write (void);
/**
- * This is only here to make the ACE_Thread_Mutex
- * interface consistent with the other synchronization APIs.
- * Assumes the caller has already acquired the mutex using one of
- * the above calls, and returns 0 (success) always.
+ * This is only here to make the ACE_Thread_Mutex interface
+ * consistent with the other synchronization APIs. Assumes the
+ * caller has already acquired the mutex using one of the above
+ * calls, and returns 0 (success) always.
*/
int tryacquire_write_upgrade (void);
/// Return the underlying mutex.
const ACE_thread_mutex_t &lock (void) const;
+ ACE_thread_mutex_t &lock (void);
/// Dump the state of an object.
void dump (void) const;
@@ -146,7 +147,7 @@ public:
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
- // protected:
+protected:
/// Mutex type that supports single-process locking efficiently.
ACE_thread_mutex_t lock_;
diff --git a/ace/Thread_Mutex.inl b/ace/Thread_Mutex.inl
index dbef586fbc3..0a9abbd3b9e 100644
--- a/ace/Thread_Mutex.inl
+++ b/ace/Thread_Mutex.inl
@@ -11,6 +11,13 @@ ACE_Thread_Mutex::lock (void) const
return this->lock_;
}
+ACE_INLINE ACE_thread_mutex_t &
+ACE_Thread_Mutex::lock (void)
+{
+// ACE_TRACE ("ACE_Thread_Mutex::lock");
+ return this->lock_;
+}
+
ACE_INLINE int
ACE_Thread_Mutex::acquire_read (void)
{
diff --git a/ace/Thread_Semaphore.h b/ace/Thread_Semaphore.h
index fb88634dd24..89649982828 100644
--- a/ace/Thread_Semaphore.h
+++ b/ace/Thread_Semaphore.h
@@ -62,8 +62,6 @@ public:
template <class T> class ACE_Malloc_Lock_Adapter_T;
/**
- * @class ACE_Malloc_Lock_Adapter_T<ACE_Thread_Semaphore>
- *
* @brief Template specialization of ACE_Malloc_Lock_Adapter_T for
* ACE_Thread_Semaphore.
*
diff --git a/ace/Time_Value.cpp b/ace/Time_Value.cpp
index 33ebdd8fa7f..edf4ad8e1f1 100644
--- a/ace/Time_Value.cpp
+++ b/ace/Time_Value.cpp
@@ -4,35 +4,39 @@ ACE_RCSID (ace,
Time_Value,
"$Id$")
-
#if !defined (__ACE_INLINE__)
#include "ace/Time_Value.inl"
#endif /* __ACE_INLINE__ */
#include "ace/Numeric_Limits.h"
#include "ace/If_Then_Else.h"
+#include "ace/OS_NS_math.h"
+
+#ifdef ACE_HAS_CPP98_IOSTREAMS
+#include <ostream>
+#include <iomanip>
+#endif /* ACE_HAS_CPP98_IOSTREAMS */
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-// Static constant representing `zero-time'.
-// Note: this object requires static construction.
+/// Static constant representing `zero-time'.
+/// Note: this object requires static construction.
const ACE_Time_Value ACE_Time_Value::zero;
-// Constant for maximum time representable. Note that this time
-// is not intended for use with select () or other calls that may
-// have *their own* implementation-specific maximum time representations.
-// Its primary use is in time computations such as those used by the
-// dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class.
-// Note: this object requires static construction.
+/// Constant for maximum time representable. Note that this time
+/// is not intended for use with select () or other calls that may
+/// have *their own* implementation-specific maximum time representations.
+/// Its primary use is in time computations such as those used by the
+/// dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class.
+/// Note: this object requires static construction.
const ACE_Time_Value ACE_Time_Value::max_time (
ACE_Numeric_Limits<time_t>::max (),
ACE_ONE_SECOND_IN_USECS - 1);
ACE_ALLOC_HOOK_DEFINE (ACE_Time_Value)
-// Increment microseconds (the only reason this is here is to allow
-// the use of ACE_Atomic_Op with ACE_Time_Value).
-
+/// Increment microseconds (the only reason this is here is to allow
+/// the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value
ACE_Time_Value::operator ++ (int)
{
@@ -51,9 +55,8 @@ ACE_Time_Value::operator ++ (void)
return *this;
}
-// Decrement microseconds (the only reason this is here is / to allow
-// the use of ACE_Atomic_Op with ACE_Time_Value).
-
+/// Decrement microseconds (the only reason this is here is / to allow
+/// the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value
ACE_Time_Value::operator -- (int)
{
@@ -73,13 +76,13 @@ ACE_Time_Value::operator -- (void)
}
#if defined (ACE_WIN32)
-// Static constant to remove time skew between FILETIME and POSIX
-// time. POSIX and Win32 use different epochs (Jan. 1, 1970 v.s.
-// Jan. 1, 1601). The following constant defines the difference
-// in 100ns ticks.
-//
-// In the beginning (Jan. 1, 1601), there was no time and no computer.
-// And Bill said: "Let there be time," and there was time....
+/// Static constant to remove time skew between FILETIME and POSIX
+/// time. POSIX and Win32 use different epochs (Jan. 1, 1970 v.s.
+/// Jan. 1, 1601). The following constant defines the difference
+/// in 100ns ticks.
+///
+/// In the beginning (Jan. 1, 1601), there was no time and no computer.
+/// And Bill said: "Let there be time," and there was time....
# if defined (ACE_LACKS_LONGLONG_T)
const ACE_U_LongLong ACE_Time_Value::FILETIME_to_timval_skew =
ACE_U_LongLong (0xd53e8000, 0x19db1de);
@@ -88,8 +91,7 @@ const DWORDLONG ACE_Time_Value::FILETIME_to_timval_skew =
ACE_INT64_LITERAL (0x19db1ded53e8000);
# endif
-// Initializes the ACE_Time_Value object from a Win32 FILETIME
-
+/// Initializes the ACE_Time_Value object from a Win32 FILETIME
ACE_Time_Value::ACE_Time_Value (const FILETIME &file_time)
{
// // ACE_OS_TRACE ("ACE_Time_Value::ACE_Time_Value");
@@ -122,8 +124,7 @@ void ACE_Time_Value::set (const FILETIME &file_time)
this->normalize ();
}
-// Returns the value of the object as a Win32 FILETIME.
-
+/// Returns the value of the object as a Win32 FILETIME.
ACE_Time_Value::operator FILETIME () const
{
FILETIME file_time;
@@ -167,7 +168,7 @@ ACE_Time_Value::dump (void) const
}
void
-ACE_Time_Value::normalize (void)
+ACE_Time_Value::normalize (bool saturate)
{
// // ACE_OS_TRACE ("ACE_Time_Value::normalize");
// From Hans Rohnert...
@@ -176,23 +177,45 @@ ACE_Time_Value::normalize (void)
{
/*! \todo This loop needs some optimization.
*/
- do
- {
- ++this->tv_.tv_sec;
- this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS;
- }
- while (this->tv_.tv_usec >= ACE_ONE_SECOND_IN_USECS);
+ if (!saturate) // keep the conditionnal expression outside the while loop to minimize performance cost
+ do
+ {
+ ++this->tv_.tv_sec;
+ this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS;
+ }
+ while (this->tv_.tv_usec >= ACE_ONE_SECOND_IN_USECS);
+ else
+ do
+ if (this->tv_.tv_sec < ACE_Numeric_Limits<time_t>::max())
+ {
+ ++this->tv_.tv_sec;
+ this->tv_.tv_usec -= ACE_ONE_SECOND_IN_USECS;
+ }
+ else
+ this->tv_.tv_usec = ACE_ONE_SECOND_IN_USECS - 1;
+ while (this->tv_.tv_usec >= ACE_ONE_SECOND_IN_USECS);
}
else if (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS)
{
/*! \todo This loop needs some optimization.
*/
- do
- {
- --this->tv_.tv_sec;
- this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS;
- }
- while (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS);
+ if (!saturate)
+ do
+ {
+ --this->tv_.tv_sec;
+ this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS;
+ }
+ while (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS);
+ else
+ do
+ if (this->tv_.tv_sec > ACE_Numeric_Limits<time_t>::min())
+ {
+ --this->tv_.tv_sec;
+ this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS;
+ }
+ else
+ this->tv_.tv_usec = -ACE_ONE_SECOND_IN_USECS + 1;
+ while (this->tv_.tv_usec <= -ACE_ONE_SECOND_IN_USECS);
}
if (this->tv_.tv_sec >= 1 && this->tv_.tv_usec < 0)
@@ -200,7 +223,7 @@ ACE_Time_Value::normalize (void)
--this->tv_.tv_sec;
this->tv_.tv_usec += ACE_ONE_SECOND_IN_USECS;
}
-// tv_sec in qnxnto is unsigned
+ // tv_sec in qnxnto is unsigned
#if !defined ( __QNXNTO__)
else if (this->tv_.tv_sec < 0 && this->tv_.tv_usec > 0)
{
@@ -214,51 +237,123 @@ ACE_Time_Value::normalize (void)
ACE_Time_Value &
ACE_Time_Value::operator *= (double d)
{
- // The floating type to be used in the computations. It should be
- // large enough to hold a time_t. We actually want a floating type
- // with enough digits in its mantissa to hold a time_t without
- // losing precision. For example, if FLT_RADIX is 2 and
- // LDBL_MANT_DIG is 64, a long double has a 64 bit wide mantissa,
- // which would be sufficient to hold a 64 bit time_t value without
- // losing precision.
+ // To work around the lack of precision of a long double to contain
+ // a 64-bits time_t + 6 digits after the decimal point for the usec part,
+ // we perform the multiplication of the 2 timeval parts separately.
+ //
+ // This extra precision step is adding a cost when transfering the
+ // seconds resulting from the usec multiplication. This operation
+ // correspond to the normalization process performed in normalize()
+ // but we must absolutly do it here because the usec multiplication
+ // result value could exceed what can be stored in a suseconds_t
+ // type variable.
//
- // For now we'll simply go with long double if it is larger than
- // time_t. We're hosed if long double isn't large enough.
+ // Since this is a costly operation, we try to detect as soon as
+ // possible if we are having a saturation in order to abort the rest
+ // of the computation.
typedef ACE::If_Then_Else<(sizeof (double) > sizeof (time_t)),
- double,
- long double>::result_type float_type;
+ double,
+ long double>::result_type float_type;
- float_type time_total =
- (this->sec ()
- + static_cast<float_type> (this->usec ()) / ACE_ONE_SECOND_IN_USECS) * d;
+ float_type sec_total = static_cast<float_type> (this->sec());
+ sec_total *= d;
// shall we saturate the result?
static const float_type max_int =
- ACE_Numeric_Limits<time_t>::max () + 0.999999;
+ ACE_Numeric_Limits<time_t>::max() + 0.999999;
static const float_type min_int =
- ACE_Numeric_Limits<time_t>::min () - 0.999999;
+ ACE_Numeric_Limits<time_t>::min() - 0.999999;
- if (time_total > max_int)
- time_total = max_int;
- if (time_total < min_int)
- time_total = min_int;
+ if (sec_total > max_int)
+ {
+ this->set(ACE_Numeric_Limits<time_t>::max(), ACE_ONE_SECOND_IN_USECS-1);
+ }
+ else if (sec_total < min_int)
+ {
+ this->set(ACE_Numeric_Limits<time_t>::min(), -ACE_ONE_SECOND_IN_USECS+1);
+ }
+ else
+ {
+ time_t time_sec = static_cast<time_t> (sec_total);
- const time_t time_sec = static_cast<time_t> (time_total);
+ float_type usec_total = this->usec();
+ usec_total *= d;
- time_total -= time_sec;
- time_total *= ACE_ONE_SECOND_IN_USECS;
+ // adding usec resulting from tv_sec mult
+ usec_total += (sec_total-time_sec) * ACE_ONE_SECOND_IN_USECS;
- suseconds_t time_usec = static_cast<suseconds_t> (time_total);
+ // extract seconds component of the usec mult
+ sec_total = usec_total / ACE_ONE_SECOND_IN_USECS;
+ // keep remaining usec
+ if (sec_total > 0)
+ {
+ usec_total = (sec_total - ACE_OS::floor(sec_total));
+ }
+ else
+ {
+ usec_total = (sec_total - ACE_OS::ceil(sec_total));
+ }
- // round up the result to save the last usec
- if (time_usec > 0 && (time_total - time_usec) >= 0.5)
- ++time_usec;
- else if (time_usec < 0 && (time_total - time_usec) <= -0.5)
- --time_usec;
+ sec_total -= usec_total;
+ usec_total *= ACE_ONE_SECOND_IN_USECS;
- this->set (time_sec, time_usec);
+ // add the seconds component of the usec mult with the tv_sec mult prod.
+ sec_total += time_sec;
+ // recheck for saturation
+ if (sec_total > max_int)
+ {
+ this->set (ACE_Numeric_Limits<time_t>::max(), ACE_ONE_SECOND_IN_USECS - 1);
+ }
+ else if (sec_total < min_int)
+ {
+ this->set (ACE_Numeric_Limits<time_t>::min(), -ACE_ONE_SECOND_IN_USECS + 1);
+ }
+ else
+ {
+ time_sec = static_cast<time_t> (sec_total);
+ suseconds_t time_usec = static_cast<suseconds_t> (usec_total);
+
+ // round up the result to save the last usec
+ if (time_usec > 0 && (usec_total - time_usec) >= 0.5)
+ {
+ ++time_usec;
+ }
+ else if (time_usec < 0 && (usec_total - time_usec) <= -0.5)
+ {
+ --time_usec;
+ }
+
+ this->set (time_sec, time_usec);
+ }
+ }
return *this;
}
+#ifdef ACE_HAS_CPP98_IOSTREAMS
+ostream &operator<<(ostream &o, const ACE_Time_Value &v)
+{
+ char oldFiller = o.fill ();
+ o.fill ('0');
+ const timeval *tv = v;
+ if (tv->tv_sec)
+ {
+ o << tv->tv_sec;
+ if (tv->tv_usec)
+ o << '.' << std::setw (6) << ACE_STD_NAMESPACE::abs (tv->tv_usec);
+ }
+ else if (tv->tv_usec < 0)
+ o << "-0." << std::setw (6) << - tv->tv_usec;
+ else
+ {
+ o << '0';
+ if (tv->tv_usec > 0)
+ o << '.'<< std::setw (6) << tv->tv_usec;
+ }
+
+ o.fill (oldFiller);
+ return o;
+}
+#endif /* ACE_HAS_CPP98_IOSTREAMS */
+
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Time_Value.h b/ace/Time_Value.h
index 0836d3b10f5..5943094ef75 100644
--- a/ace/Time_Value.h
+++ b/ace/Time_Value.h
@@ -32,6 +32,9 @@ suseconds_t const ACE_ONE_SECOND_IN_USECS = 1000000;
// needed for ACE_UINT64
#include "ace/Basic_Types.h"
+// needed to determine if iostreams are present
+#include "ace/iosfwd.h"
+
// This forward declaration is needed by the set() and FILETIME() functions
#if defined (ACE_LACKS_LONGLONG_T)
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -41,6 +44,9 @@ ACE_END_VERSIONED_NAMESPACE_DECL
// -------------------------------------------------------------------
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
/**
* @class ACE_Time_Value
*
@@ -51,18 +57,6 @@ ACE_END_VERSIONED_NAMESPACE_DECL
* ACE. These time values are typically used in conjunction with OS
* mechanisms like <select>, <poll>, or <cond_timedwait>.
*/
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-// Something is a bit brain-damaged here and I'm not sure what... this code
-// compiled before the OS reorg for ACE 5.4. Since then it hasn't - eVC
-// complains that the operators that return ACE_Time_Value are C-linkage
-// functions that can't return a C++ class. The only way I've found to
-// defeat this is to wrap the whole class in extern "C++".
-// - Steve Huston, 23-Aug-2004
-extern "C++" {
-#endif
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
class ACE_Export ACE_Time_Value
{
public:
@@ -333,7 +327,7 @@ public:
private:
/// Put the timevalue into a canonical form.
- void normalize (void);
+ void normalize (bool saturate = false);
/// Store the values as a timeval.
#if defined (ACE_HAS_TIME_T_LONG_MISMATCH)
@@ -355,16 +349,16 @@ private:
#endif /* ACE_HAS_TIME_T_LONG_MISMATCH */
};
+#ifdef ACE_HAS_CPP98_IOSTREAMS
+extern ACE_Export ostream &operator<<( ostream &o, const ACE_Time_Value &v );
+#endif
+
ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
#include "ace/Time_Value.inl"
#endif /* __ACE_INLINE__ */
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-}
-#endif
-
#if defined (__MINGW32__)
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
// The MingW linker has problems with the exported statics
diff --git a/ace/Time_Value.inl b/ace/Time_Value.inl
index 49788e3fd98..73f9285ff2d 100644
--- a/ace/Time_Value.inl
+++ b/ace/Time_Value.inl
@@ -6,18 +6,7 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-// Something is a bit brain-damaged here and I'm not sure what... this code
-// compiled before the OS reorg for ACE 5.4. Since then it hasn't - eVC
-// complains that the operators that return ACE_Time_Value are C-linkage
-// functions that can't return a C++ class. The only way I've found to
-// defeat this is to wrap the whole class in extern "C++".
-// - Steve Huston, 23-Aug-2004
-extern "C++" {
-#endif
-
-// Returns the value of the object as a timeval.
-
+/// Returns the value of the object as a timeval.
ACE_INLINE
ACE_Time_Value::operator timeval () const
{
@@ -69,7 +58,7 @@ ACE_INLINE void
ACE_Time_Value::set (time_t sec, suseconds_t usec)
{
// ACE_OS_TRACE ("ACE_Time_Value::set");
-# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T)
+# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T) && defined (_MSC_VER)
// The WinCE 6.0 SDK ships with a timeval tv_sec member that uses long as type
// not time_t. This resolves in compilation warnings because time_t
// can be 64bit. Disable at this momemt the warning for just this method
@@ -79,7 +68,7 @@ ACE_Time_Value::set (time_t sec, suseconds_t usec)
# pragma warning (disable: 4244)
# endif
this->tv_.tv_sec = sec;
-# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T)
+# if defined (_WIN32_WCE) && (_WIN32_WCE == 0x600) && !defined (_USE_32BIT_TIME_T) && defined (_MSC_VER)
# pragma warning (pop)
# endif
this->tv_.tv_usec = usec;
@@ -102,10 +91,9 @@ ACE_Time_Value::set (double d)
this->normalize ();
}
-// Initializes a timespec_t. Note that this approach loses precision
-// since it converts the nano-seconds into micro-seconds. But then
-// again, do any real systems have nano-second timer precision?!
-
+/// Initializes a timespec_t. Note that this approach loses precision
+/// since it converts the nano-seconds into micro-seconds. But then
+/// again, do any real systems have nano-second timer precision?!
ACE_INLINE void
ACE_Time_Value::set (const timespec_t &tv)
{
@@ -130,8 +118,7 @@ ACE_Time_Value::ACE_Time_Value (time_t sec, suseconds_t usec)
this->set (sec, usec);
}
-// Returns number of seconds.
-
+/// Returns number of seconds.
ACE_INLINE time_t
ACE_Time_Value::sec (void) const
{
@@ -139,8 +126,7 @@ ACE_Time_Value::sec (void) const
return this->tv_.tv_sec;
}
-// Sets the number of seconds.
-
+/// Sets the number of seconds.
ACE_INLINE void
ACE_Time_Value::sec (time_t sec)
{
@@ -148,8 +134,7 @@ ACE_Time_Value::sec (time_t sec)
this->tv_.tv_sec = ACE_Utils::truncate_cast<long> (sec);
}
-// Converts from Time_Value format into milli-seconds format.
-
+/// Converts from Time_Value format into milli-seconds format.
ACE_INLINE unsigned long
ACE_Time_Value::msec (void) const
{
@@ -179,8 +164,7 @@ ACE_Time_Value::msec (ACE_UINT64 &ms) /*const*/
tv->msec (ms);
}
-// Converts from milli-seconds format into Time_Value format.
-
+/// Converts from milli-seconds format into Time_Value format.
ACE_INLINE void
ACE_Time_Value::msec (long milliseconds)
{
@@ -192,16 +176,14 @@ ACE_Time_Value::msec (long milliseconds)
this->tv_.tv_usec = (milliseconds - (secs * 1000)) * 1000;
}
-// Converts from milli-seconds format into Time_Value format.
-
+/// Converts from milli-seconds format into Time_Value format.
ACE_INLINE void
ACE_Time_Value::msec (int milliseconds)
{
ACE_Time_Value::msec (static_cast<long> (milliseconds));
}
-// Returns number of micro-seconds.
-
+/// Returns number of micro-seconds.
ACE_INLINE suseconds_t
ACE_Time_Value::usec (void) const
{
@@ -209,8 +191,7 @@ ACE_Time_Value::usec (void) const
return this->tv_.tv_usec;
}
-// Sets the number of micro-seconds.
-
+/// Sets the number of micro-seconds.
ACE_INLINE void
ACE_Time_Value::usec (suseconds_t usec)
{
@@ -230,7 +211,7 @@ ACE_Time_Value::to_usec (ACE_UINT64 & usec) const
usec = ACE_U_LongLong (this->tv_.tv_sec);
#else
usec = static_cast<ACE_UINT64> (this->tv_.tv_sec);
-#endif /* ACE_LACKS_LONG_LONG_T */
+#endif /* ACE_LACKS_LONGLONG_T */
usec *= 1000000;
usec += this->tv_.tv_usec;
}
@@ -247,8 +228,7 @@ operator * (const ACE_Time_Value &tv, double d)
return ACE_Time_Value (tv) *= d;
}
-// True if tv1 > tv2.
-
+/// True if tv1 > tv2.
ACE_INLINE bool
operator > (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -263,8 +243,7 @@ operator > (const ACE_Time_Value &tv1,
return 0;
}
-// True if tv1 >= tv2.
-
+/// True if tv1 >= tv2.
ACE_INLINE bool
operator >= (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -279,8 +258,7 @@ operator >= (const ACE_Time_Value &tv1,
return 0;
}
-// Returns the value of the object as a timespec_t.
-
+/// Returns the value of the object as a timespec_t.
ACE_INLINE
ACE_Time_Value::operator timespec_t () const
{
@@ -292,8 +270,7 @@ ACE_Time_Value::operator timespec_t () const
return tv;
}
-// Initializes the ACE_Time_Value object from a timespec_t.
-
+/// Initializes the ACE_Time_Value object from a timespec_t.
ACE_INLINE
ACE_Time_Value::ACE_Time_Value (const timespec_t &tv)
// : tv_ ()
@@ -302,8 +279,7 @@ ACE_Time_Value::ACE_Time_Value (const timespec_t &tv)
this->set (tv);
}
-// True if tv1 < tv2.
-
+/// True if tv1 < tv2.
ACE_INLINE bool
operator < (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -312,8 +288,7 @@ operator < (const ACE_Time_Value &tv1,
return tv2 > tv1;
}
-// True if tv1 >= tv2.
-
+/// True if tv1 >= tv2.
ACE_INLINE bool
operator <= (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -322,8 +297,7 @@ operator <= (const ACE_Time_Value &tv1,
return tv2 >= tv1;
}
-// True if tv1 == tv2.
-
+/// True if tv1 == tv2.
ACE_INLINE bool
operator == (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -333,8 +307,7 @@ operator == (const ACE_Time_Value &tv1,
&& tv1.usec () == tv2.usec ();
}
-// True if tv1 != tv2.
-
+/// True if tv1 != tv2.
ACE_INLINE bool
operator != (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -343,8 +316,7 @@ operator != (const ACE_Time_Value &tv1,
return !(tv1 == tv2);
}
-// Add TV to this.
-
+/// Add TV to this.
ACE_INLINE ACE_Time_Value &
ACE_Time_Value::operator+= (const ACE_Time_Value &tv)
{
@@ -381,8 +353,7 @@ ACE_Time_Value::operator= (time_t tv)
return *this;
}
-// Subtract TV to this.
-
+/// Subtract TV to this.
ACE_INLINE ACE_Time_Value &
ACE_Time_Value::operator-= (const ACE_Time_Value &tv)
{
@@ -401,8 +372,7 @@ ACE_Time_Value::operator-= (time_t tv)
return *this;
}
-// Adds two ACE_Time_Value objects together, returns the sum.
-
+/// Adds two ACE_Time_Value objects together, returns the sum.
ACE_INLINE ACE_Time_Value
operator + (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -414,8 +384,7 @@ operator + (const ACE_Time_Value &tv1,
return sum;
}
-// Subtracts two ACE_Time_Value objects, returns the difference.
-
+/// Subtracts two ACE_Time_Value objects, returns the difference.
ACE_INLINE ACE_Time_Value
operator - (const ACE_Time_Value &tv1,
const ACE_Time_Value &tv2)
@@ -427,8 +396,4 @@ operator - (const ACE_Time_Value &tv1,
return delta;
}
-#if defined (ACE_WIN32) && defined (_WIN32_WCE)
-}
-#endif
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Timer_Hash_T.cpp b/ace/Timer_Hash_T.cpp
index a2a81fc3773..86dec8fe378 100644
--- a/ace/Timer_Hash_T.cpp
+++ b/ace/Timer_Hash_T.cpp
@@ -823,10 +823,7 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::expire (const ACE_Time_Value
{
// Make sure that we skip past values that have already
// "expired".
- do
- expired->set_timer_value (expired->get_timer_value ()
- + expired->get_interval ());
- while (expired->get_timer_value () <= cur_time);
+ this->recompute_next_abs_interval_time (expired, cur_time);
// Since this is an interval timer, we need to
// reschedule it.
diff --git a/ace/Timer_Heap_T.cpp b/ace/Timer_Heap_T.cpp
index b31aed4b46a..c15597cf334 100644
--- a/ace/Timer_Heap_T.cpp
+++ b/ace/Timer_Heap_T.cpp
@@ -349,7 +349,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nmin_free_ = %d"),
this->timer_ids_min_free_));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nheap_ = \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nheap_ =\n")));
for (size_t i = 0; i < this->cur_size_; ++i)
{
@@ -359,7 +359,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::dump (void) const
this->heap_[i]->dump ();
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\ntimer_ids_ = \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\ntimer_ids_ =\n")));
for (size_t j = 0; j < this->max_size_; ++j)
ACE_DEBUG ((LM_DEBUG,
@@ -688,7 +688,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::schedule_i (
if ((this->cur_size_ + this->cur_limbo_) < this->max_size_)
{
// Obtain the next unique sequence number.
- long timer_id = this->timer_id ();
+ long const timer_id = this->timer_id ();
// Obtain the memory to the new node.
ACE_Timer_Node_T<TYPE> *temp = 0;
diff --git a/ace/Timer_Heap_T.h b/ace/Timer_Heap_T.h
index 75f3e98ad10..00c128b1aa9 100644
--- a/ace/Timer_Heap_T.h
+++ b/ace/Timer_Heap_T.h
@@ -143,7 +143,7 @@ public:
/**
* Cancel all timers associated with @a type. If @a dont_call_handle_close
- * is 0then the <functor> will be invoked. Returns number of timers
+ * is 0 then the <functor> will be invoked. Returns number of timers
* cancelled.
*/
virtual int cancel (const TYPE &type,
diff --git a/ace/Timer_Queue_Adapters.cpp b/ace/Timer_Queue_Adapters.cpp
index 96010773ad2..1c04fd6eed2 100644
--- a/ace/Timer_Queue_Adapters.cpp
+++ b/ace/Timer_Queue_Adapters.cpp
@@ -23,14 +23,14 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <class TQ> TQ &
-ACE_Async_Timer_Queue_Adapter<TQ>::timer_queue (void)
+template <class TQ, class TYPE> TQ &
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::timer_queue (void)
{
return this->timer_queue_;
}
-template <class TQ> int
-ACE_Async_Timer_Queue_Adapter<TQ>::cancel (long timer_id,
+template <class TQ, class TYPE> int
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::cancel (long timer_id,
const void **act)
{
// Block designated signals.
@@ -40,8 +40,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::cancel (long timer_id,
return this->timer_queue_.cancel (timer_id, act);
}
-template <class TQ> int
-ACE_Async_Timer_Queue_Adapter<TQ>::expire (void)
+template <class TQ, class TYPE> int
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::expire (void)
{
// Block designated signals.
ACE_Sig_Guard sg (&this->mask_);
@@ -50,8 +50,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::expire (void)
return this->timer_queue_.expire ();
}
-template <class TQ> int
-ACE_Async_Timer_Queue_Adapter<TQ>::schedule_ualarm (void)
+template <class TQ, class TYPE> int
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::schedule_ualarm (void)
{
ACE_Time_Value tv = this->timer_queue_.earliest_time ()
- this->timer_queue_.gettimeofday ();
@@ -68,8 +68,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::schedule_ualarm (void)
return 0;
}
-template <class TQ> long
-ACE_Async_Timer_Queue_Adapter<TQ>::schedule (ACE_Event_Handler *eh,
+template <class TQ, class TYPE> long
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::schedule (TYPE eh,
const void *act,
const ACE_Time_Value &future_time,
const ACE_Time_Value &interval)
@@ -96,8 +96,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::schedule (ACE_Event_Handler *eh,
return tid;
}
-template <class TQ>
-ACE_Async_Timer_Queue_Adapter<TQ>::ACE_Async_Timer_Queue_Adapter (ACE_Sig_Set *mask)
+template <class TQ, class TYPE>
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::ACE_Async_Timer_Queue_Adapter (ACE_Sig_Set *mask)
// If <mask> == 0, block *all* signals when the SIGARLM handler is
// running, else just block those in the mask.
: mask_ (mask)
@@ -120,8 +120,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::ACE_Async_Timer_Queue_Adapter (ACE_Sig_Set *m
// list. It gets invoked asynchronously when the SIGALRM signal
// occurs.
-template <class TQ> int
-ACE_Async_Timer_Queue_Adapter<TQ>::handle_signal (int signum,
+template <class TQ, class TYPE> int
+ACE_Async_Timer_Queue_Adapter<TQ, TYPE>::handle_signal (int signum,
siginfo_t *,
ucontext_t *)
{
@@ -154,8 +154,8 @@ ACE_Async_Timer_Queue_Adapter<TQ>::handle_signal (int signum,
}
}
-template<class TQ>
-ACE_Thread_Timer_Queue_Adapter<TQ>::ACE_Thread_Timer_Queue_Adapter (ACE_Thread_Manager *tm,
+template<class TQ, class TYPE>
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::ACE_Thread_Timer_Queue_Adapter (ACE_Thread_Manager *tm,
TQ* timer_queue)
: ACE_Task_Base (tm),
timer_queue_(timer_queue),
@@ -172,8 +172,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::ACE_Thread_Timer_Queue_Adapter (ACE_Thread_M
}
}
-template<class TQ>
-ACE_Thread_Timer_Queue_Adapter<TQ>::~ACE_Thread_Timer_Queue_Adapter (void)
+template<class TQ, class TYPE>
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::~ACE_Thread_Timer_Queue_Adapter (void)
{
if (this->delete_timer_queue_)
{
@@ -183,15 +183,15 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::~ACE_Thread_Timer_Queue_Adapter (void)
}
}
-template<class TQ> ACE_SYNCH_RECURSIVE_MUTEX &
-ACE_Thread_Timer_Queue_Adapter<TQ>::mutex (void)
+template<class TQ, class TYPE> ACE_SYNCH_RECURSIVE_MUTEX &
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::mutex (void)
{
return this->mutex_;
}
-template<class TQ> long
-ACE_Thread_Timer_Queue_Adapter<TQ>::schedule
- (ACE_Event_Handler* handler,
+template<class TQ, class TYPE> long
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::schedule
+ (TYPE handler,
const void *act,
const ACE_Time_Value &future_time,
const ACE_Time_Value &interval)
@@ -203,8 +203,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::schedule
return result;
}
-template<class TQ> int
-ACE_Thread_Timer_Queue_Adapter<TQ>::cancel (long timer_id,
+template<class TQ, class TYPE> int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::cancel (long timer_id,
const void **act)
{
ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, guard, this->mutex_, -1);
@@ -214,8 +214,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::cancel (long timer_id,
return result;
}
-template<class TQ> void
-ACE_Thread_Timer_Queue_Adapter<TQ>::deactivate (void)
+template<class TQ, class TYPE> void
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::deactivate (void)
{
ACE_GUARD (ACE_SYNCH_RECURSIVE_MUTEX, guard, this->mutex_);
@@ -223,8 +223,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::deactivate (void)
this->condition_.signal ();
}
-template<class TQ> int
-ACE_Thread_Timer_Queue_Adapter<TQ>::svc (void)
+template<class TQ, class TYPE> int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::svc (void)
{
ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, guard, this->mutex_, -1);
@@ -290,8 +290,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::svc (void)
return 0;
}
-template<class TQ> int
-ACE_Thread_Timer_Queue_Adapter<TQ>::activate (long flags,
+template<class TQ, class TYPE> int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::activate (long flags,
int ,
int ,
long priority,
@@ -320,14 +320,14 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::activate (long flags,
// or cancelling timers on platforms where the timer queue mutex is not
// recursive.
-template<class TQ> int
-ACE_Thread_Timer_Queue_Adapter<TQ>::enqueue_command (ACE_Command_Base *cmd,
+template<class TQ, class TYPE> int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::enqueue_command (ACE_Command_Base *cmd,
COMMAND_ENQUEUE_POSITION pos)
{
// Serialize access to the command queue.
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, guard, this->command_mutex_, -1);
- if (pos == ACE_Thread_Timer_Queue_Adapter<TQ>::TAIL)
+ if (pos == ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::TAIL)
return command_queue_.enqueue_tail (cmd);
else
return command_queue_.enqueue_head (cmd);
@@ -336,8 +336,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::enqueue_command (ACE_Command_Base *cmd,
// Dispatches all command objects enqueued in the most recent event
// handler context.
-template<class TQ> int
-ACE_Thread_Timer_Queue_Adapter<TQ>::dispatch_commands (void)
+template<class TQ, class TYPE> int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::dispatch_commands (void)
{
// Serialize access to the command queue.
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, guard, this->command_mutex_, -1);
diff --git a/ace/Timer_Queue_Adapters.h b/ace/Timer_Queue_Adapters.h
index 08ea47075f3..4611239fb02 100644
--- a/ace/Timer_Queue_Adapters.h
+++ b/ace/Timer_Queue_Adapters.h
@@ -49,7 +49,7 @@ class ACE_Sig_Set;
*
* @todo This adapter does not automatically reschedule repeating timers.
*/
-template <class TQ>
+template <class TQ, class TYPE = ACE_Event_Handler*>
class ACE_Async_Timer_Queue_Adapter : public ACE_Event_Handler
{
public:
@@ -70,7 +70,7 @@ public:
* calling expire(). Note that interval timers are not implemented
* yet.
*/
- long schedule (ACE_Event_Handler *type,
+ long schedule (TYPE type,
const void *act,
const ACE_Time_Value &future_time,
const ACE_Time_Value &interval = ACE_Time_Value::zero);
@@ -119,7 +119,7 @@ private:
* use.
*
*/
-template <class TQ>
+template <class TQ, class TYPE = ACE_Event_Handler*>
class ACE_Thread_Timer_Queue_Adapter : public ACE_Task_Base
{
public:
@@ -145,7 +145,7 @@ public:
/// Schedule the timer according to the semantics of the <TQ>; wakes
/// up the dispatching thread.
- long schedule (ACE_Event_Handler *handler,
+ long schedule (TYPE handler,
const void *act,
const ACE_Time_Value &future_time,
const ACE_Time_Value &interval = ACE_Time_Value::zero);
diff --git a/ace/Timer_Queue_Adapters.inl b/ace/Timer_Queue_Adapters.inl
index 3252b186e07..16901a15bd6 100644
--- a/ace/Timer_Queue_Adapters.inl
+++ b/ace/Timer_Queue_Adapters.inl
@@ -4,14 +4,14 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template<class TQ> ACE_INLINE TQ *
-ACE_Thread_Timer_Queue_Adapter<TQ>::timer_queue (void) const
+template<class TQ, class TYPE> ACE_INLINE TQ *
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::timer_queue (void) const
{
return this->timer_queue_;
}
-template<class TQ> ACE_INLINE int
-ACE_Thread_Timer_Queue_Adapter<TQ>::timer_queue (TQ *tq)
+template<class TQ, class TYPE> ACE_INLINE int
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::timer_queue (TQ *tq)
{
if (this->delete_timer_queue_)
delete this->timer_queue_;
@@ -20,8 +20,8 @@ ACE_Thread_Timer_Queue_Adapter<TQ>::timer_queue (TQ *tq)
return 0;
}
-template<class TQ> ACE_INLINE ACE_thread_t
-ACE_Thread_Timer_Queue_Adapter<TQ>::thr_id (void) const
+template<class TQ, class TYPE> ACE_INLINE ACE_thread_t
+ACE_Thread_Timer_Queue_Adapter<TQ, TYPE>::thr_id (void) const
{
return this->thr_id_;
}
diff --git a/ace/Timer_Queue_T.cpp b/ace/Timer_Queue_T.cpp
index 4643090ecd5..23d2628970d 100644
--- a/ace/Timer_Queue_T.cpp
+++ b/ace/Timer_Queue_T.cpp
@@ -166,7 +166,7 @@ ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::dump (void) const
template <class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Queue_T (FUNCTOR *upcall_functor,
- ACE_Free_List<ACE_Timer_Node_T <TYPE> > *freelist)
+ ACE_Free_List<ACE_Timer_Node_T <TYPE> > *freelist)
: gettimeofday_ (ACE_OS::gettimeofday),
delete_upcall_functor_ (upcall_functor == 0),
delete_free_list_ (freelist == 0),
@@ -283,6 +283,66 @@ ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value &cur_ti
return number_of_timers_expired;
}
+template <class TYPE, class FUNCTOR, class ACE_LOCK> void
+ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::recompute_next_abs_interval_time
+ (ACE_Timer_Node_T<TYPE> *expired,
+ const ACE_Time_Value &cur_time)
+{
+ if ( expired->get_timer_value () <= cur_time )
+ {
+ /*
+ * Somehow the current time is past when this time was
+ * supposed to expire (e.g., timer took too long,
+ * somebody changed system time, etc.). There used to
+ * be a simple loop here that skipped ahead one timer
+ * interval at a time, but that was horribly inefficient
+ * (an O(n) algorithm) when the timer duration was small
+ * relative to the amount of time skipped.
+ *
+ * So, we replace the loop with a simple computation,
+ * which also happens to be O(1). All times get
+ * normalized in the computation to microseconds.
+ *
+ * For reference, the loop looked like this:
+ *
+ * do
+ * expired->set_timer_value (expired->get_timer_value () +
+ * expired->get_interval ());
+ * while (expired->get_timer_value () <= cur_time);
+ *
+ */
+
+ // Compute the duration of the timer's interval
+ ACE_UINT64 interval_usec;
+ expired->get_interval ().to_usec (interval_usec);
+
+ // Compute the span between the current time and when
+ // the timer would have expired in the past (and
+ // normalize to microseconds).
+ ACE_Time_Value old_diff = cur_time - expired->get_timer_value ();
+ ACE_UINT64 old_diff_usec;
+ old_diff.to_usec (old_diff_usec);
+
+ // Compute the delta time in the future when the timer
+ // should fire as if it had advanced incrementally. The
+ // modulo arithmetic accomodates the likely case that
+ // the current time doesn't fall precisely on a timer
+ // firing interval.
+ ACE_UINT64 new_timer_usec =
+ interval_usec - (old_diff_usec % interval_usec);
+
+ // Compute the absolute time in the future when this
+ // interval timer should expire.
+ ACE_Time_Value new_timer_value
+ (cur_time.sec ()
+ + static_cast<time_t>(new_timer_usec / ACE_ONE_SECOND_IN_USECS),
+ cur_time.usec ()
+ + static_cast<suseconds_t>(new_timer_usec % ACE_ONE_SECOND_IN_USECS));
+
+ expired->set_timer_value (new_timer_value);
+ }
+}
+
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::dispatch_info_i (const ACE_Time_Value &cur_time,
ACE_Timer_Node_Dispatch_Info_T<TYPE> &info)
@@ -306,10 +366,7 @@ ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::dispatch_info_i (const ACE_Time_Valu
{
// Make sure that we skip past values that have already
// "expired".
- do
- expired->set_timer_value (expired->get_timer_value () +
- expired->get_interval ());
- while (expired->get_timer_value () <= cur_time);
+ this->recompute_next_abs_interval_time (expired, cur_time);
// Since this is an interval timer, we need to reschedule
// it.
diff --git a/ace/Timer_Queue_T.h b/ace/Timer_Queue_T.h
index 8aef637579e..4ed6fd4a30f 100644
--- a/ace/Timer_Queue_T.h
+++ b/ace/Timer_Queue_T.h
@@ -431,6 +431,10 @@ protected:
virtual int dispatch_info_i (const ACE_Time_Value &current_time,
ACE_Timer_Node_Dispatch_Info_T<TYPE> &info);
+ /// Recompute when the next time is that this interval timer should fire.
+ void recompute_next_abs_interval_time (ACE_Timer_Node_T<TYPE>* expired,
+ const ACE_Time_Value &cur_time);
+
/// Synchronization variable for ACE_Timer_Queue.
/// @note The right name would be lock_, but HP/C++ will choke on that!
ACE_LOCK mutex_;
diff --git a/ace/Timer_Wheel_T.cpp b/ace/Timer_Wheel_T.cpp
index 2855de8a8a7..d7734e6b120 100644
--- a/ace/Timer_Wheel_T.cpp
+++ b/ace/Timer_Wheel_T.cpp
@@ -148,7 +148,7 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::open_i
this->free_list_->resize (prealloc + this->spoke_count_);
- this->wheel_time_.msec (1 << (this->res_bits_ + this->spoke_bits_));
+ this->wheel_time_.msec (1 << (this->res_bits_));
ACE_NEW (this->spokes_, ACE_Timer_Node_T<TYPE>* [this->spoke_count_]);
@@ -699,7 +699,7 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::dump (void) const
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\nresolution_ = %d"), 1 << this->res_bits_));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\nwheel_ = \n")));
+ ACE_TEXT ("\nwheel_ =\n")));
for (u_int i = 0; i < this->spoke_count_; ++i)
{
@@ -834,10 +834,7 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value& cur_ti
{
// Make sure that we skip past values that have already
// "expired".
- do
- n->set_timer_value (n->get_timer_value () +
- n->get_interval ());
- while (n->get_timer_value () <= cur_time);
+ this->recompute_next_abs_interval_time (n, cur_time);
this->reschedule (n);
}
diff --git a/ace/Timer_Wheel_T.h b/ace/Timer_Wheel_T.h
index c30587594a5..40179f7a734 100644
--- a/ace/Timer_Wheel_T.h
+++ b/ace/Timer_Wheel_T.h
@@ -126,8 +126,8 @@ public:
virtual int reset_interval (long timer_id,
const ACE_Time_Value& interval);
- /// Cancel all timer associated with @a type. If <dont_call> is 0
- /// then the <functor> will be invoked. Returns number of timers
+ /// Cancel all timer associated with @a type. If @a dont_call_handle_close is
+ /// 0 then the <functor> will be invoked. Returns number of timers
/// cancelled.
virtual int cancel (const TYPE& type,
int dont_call_handle_close = 1);
diff --git a/ace/Token.h b/ace/Token.h
index 81b2d7173af..d9db5ef9aa1 100644
--- a/ace/Token.h
+++ b/ace/Token.h
@@ -29,10 +29,10 @@
#include "ace/Thread_Mutex.h"
-#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || defined (ACE_HAS_VXTHREADS)
+#if (defined (ACE_WIN32) && !defined (ACE_USES_WINCE_SEMA_SIMULATION)) || defined (ACE_HAS_VXTHREADS)
// If platforms support semaphores with timed wait, then we use semaphores instead of c.v.
# define ACE_TOKEN_USES_SEMAPHORE
-#endif /* (ACE_WIN32 && !ACE_HAS_WINCE) || VXWORKS */
+#endif /* ACE_WIN32 || ACE_HAS_VXTHREADS */
#if defined (ACE_TOKEN_USES_SEMAPHORE)
# include "ace/Semaphore.h"
diff --git a/ace/Token_Invariants.cpp b/ace/Token_Invariants.cpp
index fe411815dee..5e53f777087 100644
--- a/ace/Token_Invariants.cpp
+++ b/ace/Token_Invariants.cpp
@@ -3,6 +3,7 @@
#if defined (ACE_HAS_TOKENS_LIBRARY)
#include "ace/Object_Manager.h"
+#include "ace/os_include/os_typeinfo.h"
ACE_RCSID (ace,
Token_Invariants,
@@ -31,7 +32,7 @@ ACE_Token_Invariant_Manager::instance (void)
ACE_Token_Invariant_Manager,
0);
// Register for destruction with ACE_Object_Manager.
- ACE_Object_Manager::at_exit (instance_);
+ ACE_Object_Manager::at_exit (instance_, 0, typeid (instance_).name ());
}
}
diff --git a/ace/Token_Manager.cpp b/ace/Token_Manager.cpp
index 0bc2a276494..f5eb16636ed 100644
--- a/ace/Token_Manager.cpp
+++ b/ace/Token_Manager.cpp
@@ -3,6 +3,7 @@
#if defined (ACE_HAS_TOKENS_LIBRARY)
#include "ace/Object_Manager.h"
+#include "ace/os_include/os_typeinfo.h"
#if !defined (__ACE_INLINE__)
#include "ace/Token_Manager.inl"
@@ -61,7 +62,7 @@ ACE_Token_Manager::instance (void)
ACE_Token_Manager,
0);
// Register for destruction with ACE_Object_Manager.
- ACE_Object_Manager::at_exit (token_manager_);
+ ACE_Object_Manager::at_exit (token_manager_, 0, typeid (token_manager_).name ());
}
}
diff --git a/ace/Tokenizer_T.cpp b/ace/Tokenizer_T.cpp
new file mode 100644
index 00000000000..d913a92049b
--- /dev/null
+++ b/ace/Tokenizer_T.cpp
@@ -0,0 +1,242 @@
+// $Id$
+
+#ifndef ACE_TOKENIZER_T_CPP
+#define ACE_TOKENIZER_T_CPP
+
+#include "ace/ACE.h"
+#include "ace/Malloc_Base.h"
+#include "ace/String_Base.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/OS_NS_string.h"
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <class ACE_CHAR_T>
+ACE_Tokenizer_T<ACE_CHAR_T>::ACE_Tokenizer_T (ACE_CHAR_T *buffer)
+ : buffer_ (buffer),
+ index_ (0),
+ preserves_index_ (0),
+ delimiter_index_ (0)
+{
+}
+
+template <class ACE_CHAR_T>
+int
+ACE_Tokenizer_T<ACE_CHAR_T>::delimiter (ACE_CHAR_T d)
+{
+ if (delimiter_index_ == MAX_DELIMITERS)
+ return -1;
+
+ delimiters_[delimiter_index_].delimiter_ = d;
+ delimiters_[delimiter_index_].replace_ = 0;
+ ++delimiter_index_;
+ return 0;
+}
+
+template <class ACE_CHAR_T>
+int
+ACE_Tokenizer_T<ACE_CHAR_T>::delimiter_replace (ACE_CHAR_T d,
+ ACE_CHAR_T replacement)
+{
+ // Make it possible to replace delimiters on-the-fly, e.g., parse
+ // string until certain token count and then copy rest of the
+ // original string.
+ for (int i = 0; i < delimiter_index_; i++)
+ if (delimiters_[i].delimiter_ == d)
+ {
+ delimiters_[i].replacement_ = replacement;
+ delimiters_[i].replace_ = 1;
+ return 0;
+ }
+
+ if (delimiter_index_ >= MAX_DELIMITERS)
+ return -1;
+
+ delimiters_[delimiter_index_].delimiter_ = d;
+ delimiters_[delimiter_index_].replacement_ = replacement;
+ delimiters_[delimiter_index_].replace_ = 1;
+ ++delimiter_index_;
+ return 0;
+}
+
+template <class ACE_CHAR_T>
+int
+ACE_Tokenizer_T<ACE_CHAR_T>::preserve_designators (ACE_CHAR_T start,
+ ACE_CHAR_T stop,
+ int strip)
+{
+ if (preserves_index_ == MAX_PRESERVES)
+ return -1;
+
+ preserves_[preserves_index_].start_ = start;
+ preserves_[preserves_index_].stop_ = stop;
+ preserves_[preserves_index_].strip_ = strip;
+ ++preserves_index_;
+ return 0;
+}
+
+template <class ACE_CHAR_T>
+int
+ACE_Tokenizer_T<ACE_CHAR_T>::is_delimiter (ACE_CHAR_T d,
+ int &replace,
+ ACE_CHAR_T &r)
+{
+ replace = 0;
+
+ for (int x = 0; x < delimiter_index_; x++)
+ if (delimiters_[x].delimiter_ == d)
+ {
+ if (delimiters_[x].replace_)
+ {
+ r = delimiters_[x].replacement_;
+ replace = 1;
+ }
+ return 1;
+ }
+
+ return 0;
+}
+
+template <class ACE_CHAR_T>
+int
+ACE_Tokenizer_T<ACE_CHAR_T>::is_preserve_designator (ACE_CHAR_T start,
+ ACE_CHAR_T &stop,
+ int &strip)
+{
+ for (int x = 0; x < preserves_index_; x++)
+ if (preserves_[x].start_ == start)
+ {
+ stop = preserves_[x].stop_;
+ strip = preserves_[x].strip_;
+ return 1;
+ }
+
+ return 0;
+}
+
+template <class ACE_CHAR_T>
+ACE_CHAR_T *
+ACE_Tokenizer_T<ACE_CHAR_T>::next (void)
+{
+ // Check if the previous pass was the last one in the buffer.
+ if (index_ == -1)
+ {
+ index_ = 0;
+ return 0;
+ }
+
+ // Check if a buffer has been passed
+ if (!buffer_)
+ {
+ return 0;
+ }
+
+ ACE_CHAR_T replacement = 0;
+ int replace;
+ ACE_CHAR_T *next_token = 0;
+
+ // Skip all leading delimiters.
+ for (;;)
+ {
+ // Check for end of string.
+ if (buffer_[index_] == '\0')
+ {
+ // If we hit EOS at the start, return 0.
+ index_ = 0;
+ return 0;
+ }
+
+ if (this->is_delimiter (buffer_[index_],
+ replace,
+ replacement))
+ ++index_;
+ else
+ break;
+ }
+
+ // When we reach this point, buffer_[index_] is a non-delimiter and
+ // not EOS - the start of our next_token.
+ next_token = buffer_ + index_;
+
+ // A preserved region is it's own token.
+ ACE_CHAR_T stop;
+ int strip;
+ if (this->is_preserve_designator (buffer_[index_],
+ stop,
+ strip))
+ {
+ while (++index_)
+ {
+ if (buffer_[index_] == '\0')
+ {
+ index_ = -1;
+ goto EXIT_LABEL;
+ }
+
+ if (buffer_[index_] == stop)
+ break;
+ }
+
+ if (strip)
+ {
+ // Skip start preserve designator.
+ next_token += 1;
+ // Zap the stop preserve designator.
+ buffer_[index_] = '\0';
+ // Increment to the next token.
+ ++index_;
+ }
+
+ goto EXIT_LABEL;
+ }
+
+ // Step through finding the next delimiter or EOS.
+ for (;;)
+ {
+ // Advance pointer.
+ ++index_;
+
+ // Check for delimiter.
+ if (this->is_delimiter (buffer_[index_],
+ replace,
+ replacement))
+ {
+ // Replace the delimiter.
+ if (replace != 0)
+ buffer_[index_] = replacement;
+
+ // Move the pointer up and return.
+ ++index_;
+ goto EXIT_LABEL;
+ }
+
+ // A preserve designator is NESTED inside this token
+ // We can't strip such preserve designators, just skip
+ // over them so that delimiters nested within arn't seen.
+ if (this->is_preserve_designator (buffer_[index_],
+ stop,
+ strip))
+ {
+ ++index_; // Skip starting preserve_designator
+ while (('\0' != buffer_[index_]) && (stop != buffer_[index_]))
+ ++index_; // Skip enclosed character
+ }
+
+ // Check for end of string.
+ if (buffer_[index_] == '\0')
+ {
+ index_ = -1;
+ goto EXIT_LABEL;
+ }
+ }
+
+EXIT_LABEL:
+ return next_token;
+}
+
+// *************************************************************
+
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* ACE_TOKENIZER_T_CPP */
diff --git a/ace/Tokenizer_T.h b/ace/Tokenizer_T.h
new file mode 100644
index 00000000000..097f9cc3965
--- /dev/null
+++ b/ace/Tokenizer_T.h
@@ -0,0 +1,241 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Tokenizer_T.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_TOKENIZER_T_H
+#define ACE_TOKENIZER_T_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/Global_Macros.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class ACE_Tokenizer_T
+ *
+ * @brief Tokenizer
+ *
+ * Tokenizes a buffer. Allows application to set delimiters and
+ * preserve designators. Does not allow special characters, yet
+ * (e.g., printf ("\"like a quoted string\"")).
+ */
+template <class ACE_CHAR_T>
+class ACE_Tokenizer_T
+{
+public:
+ /**
+ * \a buffer will be parsed. Notice that ACE_Tokenizer_T will modify
+ * \a buffer if you use <code> delimiter_replace </code> or <code>
+ * preserve_designators </code> to do character substitution.
+ * @note You should NOT pass a constant string or string literal
+ * to this constructor, since ACE_Tokenizer_T will try to modify
+ * the string.
+ * \sa preserve_designators
+ * \sa preserve_designators
+ */
+ ACE_Tokenizer_T (ACE_CHAR_T *buffer);
+
+ /**
+ * \a d is a delimiter.
+ * \return Returns 0 on success, -1 if there is no memory left.
+ *
+ * <B>Example:</B>
+ * \verbatim
+ char buf[30];
+ ACE_OS::strcpy(buf, "William/Joseph/Hagins");
+
+ ACE_Tokenizer_T tok (buf);
+ tok.delimiter ('/');
+ for (char *p = tok.next (); p; p = tok.next ())
+ cout << p << endl;
+ \endverbatim
+ *
+ * This will print out:
+ * \verbatim
+ William/Joseph/Hagins
+ Joseph/Hagins
+ Hagins \endverbatim
+ */
+ int delimiter (ACE_CHAR_T d);
+
+ /**
+ * \a d is a delimiter and, when found, will be replaced by
+ * \a replacement.
+ * \return 0 on success, -1 if there is no memory left.
+ *
+ * <B>Example:</B>
+ * \verbatim
+ char buf[30];
+ ACE_OS::strcpy(buf, "William/Joseph/Hagins");
+
+ ACE_Tokenizer tok (buf);
+ tok.delimiter_replace ('/', 0);
+ for (char *p = tok.next (); p; p = tok.next ())
+ cout << p << endl;
+ \endverbatim
+ *
+ * This will print out:
+ * \verbatim
+ William
+ Joseph
+ Hagins \endverbatim
+ */
+ int delimiter_replace (ACE_CHAR_T d, ACE_CHAR_T replacement);
+
+ /**
+ * Extract string between a pair of designator characters.
+ * For instance, quotes, or '(' and ')'.
+ * \a start specifies the begin designator.
+ * \a stop specifies the end designator.
+ * \a strip If \a strip == 1, then the preserve
+ * designators will be stripped from the tokens returned by next.
+ * \return 0 on success, -1 if there is no memory left.
+ *
+ * <B>Example with strip = 0:</B>
+ * \verbatim
+ char buf[30];
+ ACE_OS::strcpy(buf, "William(Joseph)Hagins");
+
+ ACE_Tokenizer tok (buf);
+ tok.preserve_designators ('(', ')', 0);
+ for (char *p = tok.next (); p; p = tok.next ())
+ cout << p << endl;
+ \endverbatim
+ *
+ * This will print out:
+ * \verbatim
+ William(Joseph)Hagins
+ (Joseph)Hagins
+ )Hagins \endverbatim
+ *
+ * <B>Example with strip = 1:</B>
+ * \verbatim
+ char buf[30];
+ ACE_OS::strcpy(buf, "William(Joseph)Hagins");
+
+ ACE_Tokenizer tok (buf);
+ tok.preserve_designators ('(', ')', 1);
+ for (char *p = tok.next (); p; p = tok.next ())
+ cout << p << endl;
+ \endverbatim
+ *
+ * This will print out:
+ * \verbatim
+ William
+ Joseph
+ Hagins \endverbatim
+ */
+ int preserve_designators (ACE_CHAR_T start, ACE_CHAR_T stop, int strip=1);
+
+ /// Returns the next token.
+ ACE_CHAR_T *next (void);
+
+ enum {
+ MAX_DELIMITERS=16,
+ MAX_PRESERVES=16
+ };
+
+protected:
+ /// Returns 1 if @a d is a delimiter, 0 otherwise. If @a d should be
+ /// replaced with @a r, @a replace is set to 1, otherwise 0.
+ int is_delimiter (ACE_CHAR_T d, int &replace, ACE_CHAR_T &r);
+
+ /**
+ * If @a start is a start preserve designator, returns 1 and sets
+ * @a stop to the stop designator. Returns 0 if @a start is not a
+ * preserve designator.
+ */
+ int is_preserve_designator (ACE_CHAR_T start, ACE_CHAR_T &stop, int &strip);
+
+ ACE_CHAR_T *buffer_;
+ int index_;
+
+ /**
+ * @class Preserve_Entry
+ *
+ * @brief Preserve Entry
+ *
+ * Defines a set of characters that designate an area that
+ * should not be parsed, but should be treated as a complete
+ * token. For instance, in: (this is a preserve region), start
+ * would be a left paren -(- and stop would be a right paren
+ * -)-. The strip determines whether the designators should be
+ * removed from the token.
+ */
+ class Preserve_Entry
+ {
+ public:
+ /**
+ * E.g., "(".
+ * E.g., ")".
+ * Whether the designators should be removed from the token.
+ */
+ ACE_CHAR_T start_;
+ ACE_CHAR_T stop_;
+ int strip_;
+ };
+
+ /// The application can specify MAX_PRESERVES preserve designators.
+ Preserve_Entry preserves_[MAX_PRESERVES];
+
+ /// Pointer to the next free spot in preserves_.
+ int preserves_index_;
+
+ /**
+ * @class Delimiter_Entry
+ *
+ * @brief Delimiter Entry
+ *
+ * Describes a delimiter for the tokenizer.
+ */
+ class Delimiter_Entry
+ {
+ public:
+ /**
+ * Most commonly a space ' '.
+ * What occurrences of delimiter_ should be replaced with.
+ * Whether replacement_ should be used. This should be replaced
+ * with a technique that sets replacement_ = delimiter by
+ * default. I'll do that next iteration.
+ */
+ ACE_CHAR_T delimiter_;
+ ACE_CHAR_T replacement_;
+ int replace_;
+ };
+
+ /// The tokenizer allows MAX_DELIMITERS number of delimiters.
+ Delimiter_Entry delimiters_[MAX_DELIMITERS];
+
+ /// Pointer to the next free space in delimiters_.
+ int delimiter_index_;
+};
+
+typedef ACE_Tokenizer_T <ACE_TCHAR> ACE_Tokenizer;
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "ace/Tokenizer_T.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Tokenizer_T.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#include /**/ "ace/post.h"
+
+#endif /* ACE_TOKENIZER_T_H */
diff --git a/ace/Trace.cpp b/ace/Trace.cpp
index f83e8e96511..c87d88a3f1f 100644
--- a/ace/Trace.cpp
+++ b/ace/Trace.cpp
@@ -1,6 +1,5 @@
// $Id$
-
#include "ace/Trace.h"
ACE_RCSID (ace,
@@ -24,7 +23,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
int ACE_Trace::nesting_indent_ = ACE_Trace::DEFAULT_INDENT;
// Is tracing enabled?
-int ACE_Trace::enable_tracing_ = ACE_Trace::DEFAULT_TRACING;
+bool ACE_Trace::enable_tracing_ = ACE_Trace::DEFAULT_TRACING;
ACE_ALLOC_HOOK_DEFINE(ACE_Trace)
@@ -37,7 +36,7 @@ ACE_Trace::dump (void) const
// Determine whether or not tracing is enabled
-int
+bool
ACE_Trace::is_tracing (void)
{
return ACE_Trace::enable_tracing_;
@@ -48,7 +47,7 @@ ACE_Trace::is_tracing (void)
void
ACE_Trace::start_tracing (void)
{
- ACE_Trace::enable_tracing_ = 1;
+ ACE_Trace::enable_tracing_ = true;
}
// Disable the tracing facility.
@@ -56,7 +55,7 @@ ACE_Trace::start_tracing (void)
void
ACE_Trace::stop_tracing (void)
{
- ACE_Trace::enable_tracing_ = 0;
+ ACE_Trace::enable_tracing_ = false;
}
// Change the nesting indentation level.
diff --git a/ace/Trace.h b/ace/Trace.h
index 4fdb86a3367..7c0c202c1c4 100644
--- a/ace/Trace.h
+++ b/ace/Trace.h
@@ -49,8 +49,8 @@ public:
~ACE_Trace (void);
// = Control the tracing level.
- /// Determine if tracing is enabled (return == 1) or not (== 0)
- static int is_tracing(void);
+ /// Determine if tracing is enabled or not
+ static bool is_tracing(void);
/// Enable the tracing facility.
static void start_tracing (void);
@@ -79,7 +79,7 @@ private:
static int nesting_indent_;
/// Is tracing enabled?
- static int enable_tracing_;
+ static bool enable_tracing_;
/// Default values.
enum
diff --git a/ace/UUID.cpp b/ace/UUID.cpp
index 6bd23b5be62..c39121a1f39 100644
--- a/ace/UUID.cpp
+++ b/ace/UUID.cpp
@@ -24,185 +24,110 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_Utils
{
- UUID_Node::UUID_Node (void)
- {
- for (int i = 0; i < UUID_Node::NODE_ID_SIZE; ++i)
- node_ID_[i] = 0;
- }
-
- UUID_Node::UUID_Node (const UUID_Node & node)
- {
- for (int i = 0; i < UUID_Node::NODE_ID_SIZE; ++i)
- this->node_ID_[i] = node.node_ID_[i];
- }
-
- UUID_Node::Node_ID &
- UUID_Node::node_ID (void)
- {
- return node_ID_;
- }
+ // NIL version of the UUID
+ const UUID UUID::NIL_UUID;
- const UUID_Node::Node_ID &
- UUID_Node::node_ID (void) const
+ UUID::UUID (const ACE_CString& uuid_string)
{
- return node_ID_;
+ this->init ();
+ this->from_string_i (uuid_string);
}
- void
- UUID_Node::node_ID (Node_ID& node_ID)
+ const UUID &
+ UUID::operator = (const UUID & rhs)
{
- for (int i = 0; i < UUID_Node::NODE_ID_SIZE; ++i)
- node_ID_[i] = node_ID[i];
- }
+ if (this != &rhs)
+ {
+ // Reset the string version of the UUID a string version
+ // exist, and the UUID is not equal to the old UUID.
+ if (0 != this->as_string_.get ())
+ {
+ if (0 == rhs.as_string_.get () || *this != rhs)
+ this->as_string_.reset ();
+ }
- const UUID_Node &
- UUID_Node::operator = (const UUID_Node & rhs)
- {
- // Check for self assignment.
- if (this == &rhs)
- return *this;
+ // Copy the contents of the UUID.
+ ACE_OS::memcpy (&this->uuid_, &rhs.uuid_, BINARY_SIZE);
- // Copy the content of the node id.
- for (int i = 0; i < UUID_Node::NODE_ID_SIZE; ++i)
- this->node_ID_[i] = rhs.node_ID_[i];
+ /// @todo We should create an UUID_Ex class for UUIDs that
+ /// contain the thread id and process id.
+ this->thr_id_ = rhs.thr_id_;
+ this->pid_ = rhs.pid_;
+ }
return *this;
}
- UUID UUID::NIL_UUID;
-
- /// Construct a nil UUID. Such a UUID has every one of it's data
- /// elements set to zero.
- UUID::UUID (void)
- : time_low_ (0),
- time_mid_ (0),
- time_hi_and_version_ (0),
- clock_seq_hi_and_reserved_ (0),
- clock_seq_low_ (0)
- {
-
- }
-
- /// Construct a UUID from a string representation of an UUID.
- UUID::UUID (const ACE_CString& uuid_string)
- : time_low_ (0),
- time_mid_ (0),
- time_hi_and_version_ (0),
- clock_seq_hi_and_reserved_ (0),
- clock_seq_low_ (0)
- {
- this->from_string_i (uuid_string);
- }
-
- UUID::UUID (const UUID &right)
- : time_low_ (right.time_low_),
- time_mid_ (right.time_mid_),
- time_hi_and_version_ (right.time_hi_and_version_),
- clock_seq_hi_and_reserved_ (right.clock_seq_hi_and_reserved_),
- clock_seq_low_ (right.clock_seq_low_),
- node_ (right.node_)
+ const ACE_CString * UUID::to_string (void) const
{
+ // Compute the string representation only once.
+ if (0 != this->as_string_.get ())
+ return this->as_string_.get ();
- }
-
- UUID::~UUID (void)
- {
+ // Get a buffer exactly the correct size. Use the nil UUID as a
+ // gauge. Don't forget the trailing nul.
+ ACE_Auto_Array_Ptr <char> auto_clean;
+ size_t UUID_STRING_LENGTH = 36 + thr_id_.length () + pid_.length ();
+ char *buf = 0;
- }
+ if (36 == UUID_STRING_LENGTH)
+ {
+ ACE_NEW_RETURN (buf,
+ char[UUID_STRING_LENGTH + 1],
+ 0);
- const UUID &
- UUID::operator = (const UUID & rhs)
- {
- if (this == &rhs)
- return *this;
-
- // Copy the values of the UUID.
- this->time_low_ = rhs.time_low_;
- this->time_mid_ = rhs.time_mid_;
- this->time_hi_and_version_ = rhs.time_hi_and_version_;
- this->clock_seq_hi_and_reserved_ = rhs.clock_seq_hi_and_reserved_;
- this->clock_seq_low_ = rhs.clock_seq_low_;
- this->node_ = rhs.node_;
-
- // Delete the string version of the UUID.
- this->as_string_.reset (0);
- return *this;
- }
+ // Let the auto array pointer manage the buffer.
+ auto_clean.reset (buf);
- const ACE_CString*
- UUID::to_string (void) const
- {
- /// Only compute the string representation once.
- if (this->as_string_.get () == 0)
+ ACE_OS::sprintf (buf,
+ "%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x",
+ this->uuid_.time_low_,
+ this->uuid_.time_mid_,
+ this->uuid_.time_hi_and_version_,
+ this->uuid_.clock_seq_hi_and_reserved_,
+ this->uuid_.clock_seq_low_,
+ (this->uuid_.node_.node_ID ()) [0],
+ (this->uuid_.node_.node_ID ()) [1],
+ (this->uuid_.node_.node_ID ()) [2],
+ (this->uuid_.node_.node_ID ()) [3],
+ (this->uuid_.node_.node_ID ()) [4],
+ (this->uuid_.node_.node_ID ()) [5]);
+ }
+ else
{
- // Get a buffer exactly the correct size. Use the nil UUID as a
- // gauge. Don't forget the trailing nul.
- ACE_Auto_Array_Ptr <char> auto_clean;
- size_t UUID_STRING_LENGTH = 36 + thr_id_.length () + pid_.length ();
- char *buf = 0;
+ UUID_STRING_LENGTH += 2; //for '-'
+ ACE_NEW_RETURN (buf,
+ char[UUID_STRING_LENGTH + 1],
+ 0);
- if ((thr_id_.length () != 0) && (pid_.length () != 0))
- {
- UUID_STRING_LENGTH += 2; //for '-'
- ACE_NEW_RETURN (buf,
- char[UUID_STRING_LENGTH + 1],
- 0);
-
- // Let the auto array pointer manage the buffer.
- auto_clean.reset (buf);
-
- ACE_OS::sprintf (buf,
- "%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x-%s-%s",
- this->time_low_,
- this->time_mid_,
- this->time_hi_and_version_,
- this->clock_seq_hi_and_reserved_,
- this->clock_seq_low_,
- (this->node_.node_ID ()) [0],
- (this->node_.node_ID ()) [1],
- (this->node_.node_ID ()) [2],
- (this->node_.node_ID ()) [3],
- (this->node_.node_ID ()) [4],
- (this->node_.node_ID ()) [5],
- thr_id_.c_str (),
- pid_.c_str ()
- );
- }
- else
- {
- ACE_NEW_RETURN (buf,
- char[UUID_STRING_LENGTH + 1],
- 0);
-
- // Let the auto array pointer manage the buffer.
- auto_clean.reset (buf);
-
- ACE_OS::sprintf (buf,
- "%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x",
- this->time_low_,
- this->time_mid_,
- this->time_hi_and_version_,
- this->clock_seq_hi_and_reserved_,
- this->clock_seq_low_,
- (this->node_.node_ID ()) [0],
- (this->node_.node_ID ()) [1],
- (this->node_.node_ID ()) [2],
- (this->node_.node_ID ()) [3],
- (this->node_.node_ID ()) [4],
- (this->node_.node_ID ()) [5]
- );
- }
+ // Let the auto array pointer manage the buffer.
+ auto_clean.reset (buf);
- // Save the string.
- ACE_CString * as_string = 0;
+ ACE_OS::sprintf (buf,
+ "%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x-%s-%s",
+ this->uuid_.time_low_,
+ this->uuid_.time_mid_,
+ this->uuid_.time_hi_and_version_,
+ this->uuid_.clock_seq_hi_and_reserved_,
+ this->uuid_.clock_seq_low_,
+ (this->uuid_.node_.node_ID ()) [0],
+ (this->uuid_.node_.node_ID ()) [1],
+ (this->uuid_.node_.node_ID ()) [2],
+ (this->uuid_.node_.node_ID ()) [3],
+ (this->uuid_.node_.node_ID ()) [4],
+ (this->uuid_.node_.node_ID ()) [5],
+ thr_id_.c_str (),
+ pid_.c_str ());
+ }
- ACE_NEW_RETURN (as_string,
- ACE_CString (buf, UUID_STRING_LENGTH),
- 0);
+ // Save the string.
+ ACE_CString * as_string = 0;
- this->as_string_.reset (as_string);
- }
+ ACE_NEW_RETURN (as_string,
+ ACE_CString (buf, UUID_STRING_LENGTH),
+ 0);
+ this->as_string_.reset (as_string);
return this->as_string_.get ();
}
@@ -220,10 +145,7 @@ namespace ACE_Utils
/// Special case for the nil UUID.
if (uuid_string == *NIL_UUID.to_string ())
{
- bool copy_constructor_not_supported = false;
- ACE_ASSERT (copy_constructor_not_supported);
- //*this = NIL_UUID;
- ACE_UNUSED_ARG (copy_constructor_not_supported);
+ *this = NIL_UUID;
return;
}
@@ -318,20 +240,18 @@ namespace ACE_Utils
}
}
- this->time_low_ = static_cast<ACE_UINT32> (time_low);
- this->time_mid_ = static_cast<ACE_UINT16> (time_mid);
- this->time_hi_and_version_ = static_cast<ACE_UINT16> (time_hi_and_version);
- this->clock_seq_hi_and_reserved_ = static_cast<u_char> (clock_seq_hi_and_reserved);
- this->clock_seq_low_ = static_cast<u_char> (clock_seq_low);
-
- UUID_Node::Node_ID node_id;
- for (int i = 0; i < UUID_Node::NODE_ID_SIZE; ++i)
- node_id[i] = static_cast<u_char> (node[i]);
+ this->uuid_.time_low_ = static_cast<ACE_UINT32> (time_low);
+ this->uuid_.time_mid_ = static_cast<ACE_UINT16> (time_mid);
+ this->uuid_.time_hi_and_version_ = static_cast<ACE_UINT16> (time_hi_and_version);
+ this->uuid_.clock_seq_hi_and_reserved_ = static_cast<u_char> (clock_seq_hi_and_reserved);
+ this->uuid_.clock_seq_low_ = static_cast<u_char> (clock_seq_low);
- this->node_.node_ID (node_id);
+ for (size_t i = 0; i < UUID_Node::NODE_ID_SIZE; ++ i)
+ this->uuid_.node_.node_ID ()[i] = static_cast <u_char> (node[i]);
// Support varient 10- only
- if ((this->clock_seq_hi_and_reserved_ & 0xc0) != 0x80 && (this->clock_seq_hi_and_reserved_ & 0xc0) != 0xc0)
+ if ((this->uuid_.clock_seq_hi_and_reserved_ & 0xc0) != 0x80 &&
+ (this->uuid_.clock_seq_hi_and_reserved_ & 0xc0) != 0xc0)
{
ACE_DEBUG ((LM_DEBUG,
"ACE_UUID::from_string_i - "
@@ -340,7 +260,7 @@ namespace ACE_Utils
}
/// Support versions 1, 3, and 4 only
- ACE_UINT16 V1 = this->time_hi_and_version_;
+ ACE_UINT16 V1 = this->uuid_.time_hi_and_version_;
if ((V1 & 0xF000) != 0x1000 &&
(V1 & 0xF000) != 0x3000 &&
@@ -352,7 +272,7 @@ namespace ACE_Utils
return;
}
- if ((this->clock_seq_hi_and_reserved_ & 0xc0) == 0xc0)
+ if ((this->uuid_.clock_seq_hi_and_reserved_ & 0xc0) == 0xc0)
{
if (uuid_string.length () == NIL_UUID.to_string ()->length ())
{
@@ -373,15 +293,16 @@ namespace ACE_Utils
}
}
- UUID_Generator::UUID_Generator ()
+ UUID_Generator::UUID_Generator (void)
: time_last_ (0),
- destroy_lock_ (true)
+ destroy_lock_ (true),
+ is_init_ (false)
{
- ACE_NEW (lock_,
- ACE_SYNCH_MUTEX);
+ ACE_NEW (lock_, ACE_SYNCH_MUTEX);
+ this->init ();
}
- UUID_Generator::~UUID_Generator ()
+ UUID_Generator::~UUID_Generator (void)
{
if (destroy_lock_)
delete lock_;
@@ -390,24 +311,19 @@ namespace ACE_Utils
void
UUID_Generator::init (void)
{
+ if (this->is_init_)
+ return;
+
ACE_OS::macaddr_node_t macaddress;
- int result = ACE_OS::getmacaddress (&macaddress);
+ int const result = ACE_OS::getmacaddress (&macaddress);
UUID_Node::Node_ID node_id;
- if (result != -1)
+
+ if (-1 != result)
{
-// ACE_DEBUG ((LM_DEBUG,
-// "%02X-%02X-%02X-%02X-%02X-%02X\n",
-// macaddress.node [0],
-// macaddress.node [1],
-// macaddress.node [2],
-// macaddress.node [3],
-// macaddress.node [4],
-// macaddress.node [5]));
-
- ACE_OS::memcpy (&node_id,
+ ACE_OS::memcpy (node_id,
macaddress.node,
- sizeof (node_id));
+ UUID_Node::NODE_ID_SIZE);
}
else
{
@@ -424,13 +340,18 @@ namespace ACE_Utils
{
ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, *lock_);
uuid_state_.timestamp = time_last_;
- uuid_state_.node.node_ID (node_id);
+
+ ACE_OS::memcpy (uuid_state_.node.node_ID (),
+ node_id,
+ UUID_Node::NODE_ID_SIZE);
}
+
+ this->is_init_ = true;
}
void
- UUID_Generator::generate_UUID (UUID& uuid,ACE_UINT16 version,
- u_char variant)
+ UUID_Generator::
+ generate_UUID (UUID& uuid, ACE_UINT16 version, u_char variant)
{
UUID_Time timestamp;
ACE_UINT16 clock_sequence;
@@ -453,7 +374,7 @@ namespace ACE_Utils
cseqHAV |= variant;
uuid.clock_seq_hi_and_reserved (cseqHAV);
- uuid.node (& (uuid_state_.node));
+ uuid.node (uuid_state_.node);
if (variant == 0xc0)
{
@@ -472,7 +393,7 @@ namespace ACE_Utils
UUID*
UUID_Generator::generate_UUID (ACE_UINT16 version, u_char variant)
{
- UUID* uuid;
+ UUID* uuid = 0;
ACE_NEW_RETURN (uuid,
UUID,
0);
@@ -558,7 +479,7 @@ namespace ACE_Utils
now.to_usec (time);
time = time * 10;
timestamp = time + timeOffset;
-}
+ }
ACE_SYNCH_MUTEX*
UUID_Generator::lock (void)
@@ -567,8 +488,7 @@ namespace ACE_Utils
}
void
- UUID_Generator::lock (ACE_SYNCH_MUTEX* lock,
- bool release_lock)
+ UUID_Generator::lock (ACE_SYNCH_MUTEX* lock, bool release_lock)
{
if (this->destroy_lock_)
delete this->lock_;
@@ -576,12 +496,11 @@ namespace ACE_Utils
this->lock_ = lock;
this->destroy_lock_ = release_lock;
}
-
}
#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX> *
- ACE_Singleton<ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX>::singleton_;
+ template ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX> *
+ ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX>::singleton_;
#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/UUID.h b/ace/UUID.h
index 06f09a95404..f357ab8a70e 100644
--- a/ace/UUID.h
+++ b/ace/UUID.h
@@ -21,6 +21,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "ace/Auto_Ptr.h"
#include "ace/SString.h"
#include "ace/Singleton.h"
#include "ace/Synch_Traits.h"
@@ -29,7 +30,11 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_Utils
{
- /// Class to hold a MAC address
+ /**
+ * @class UUID_Node
+ *
+ * @brief Holds the MAC-address of the UUID.
+ */
class ACE_Export UUID_Node
{
public:
@@ -39,30 +44,19 @@ namespace ACE_Utils
/// Type definition of the node.
typedef u_char Node_ID[NODE_ID_SIZE];
- /// Default constructor
- UUID_Node (void);
+ /// Get the node id
+ Node_ID & node_ID (void);
/**
- * Copy constructor.
- *
- * @param[in] node Source node.
+ * @overload
*/
- UUID_Node (const UUID_Node & node);
-
- Node_ID &node_ID (void);
- const Node_ID &node_ID (void) const;
+ const Node_ID & node_ID (void) const;
- void node_ID (Node_ID&);
+ /// Test for equality.
+ bool operator == (const UUID_Node & right) const;
- ///// Equality Operations
- bool operator == (const UUID_Node& right) const;
- bool operator != (const UUID_Node& right) const;
-
- ///// Relational Operations
- //bool operator < (const UUID_Node& right) const;
-
- /// Assign the value of an existing node id to this object.
- const UUID_Node & operator = (const UUID_Node & rhs);
+ /// Test for inequality.
+ bool operator != (const UUID_Node & right) const;
private:
/// The value of the node id.
@@ -70,7 +64,7 @@ namespace ACE_Utils
};
/**
- * @class ACE_UUID
+ * @class ACE_UUID
*
* ACE_UUID represents a Universally Unique IDentifier (UUID) as
* described in (the expired) INTERNET-DRAFT specification entitled
@@ -90,6 +84,8 @@ namespace ACE_Utils
class ACE_Export UUID
{
public:
+ /// The size of a binary UUID.
+ enum { BINARY_SIZE = 16 };
/// Constructor
UUID (void);
@@ -117,10 +113,10 @@ namespace ACE_Utils
u_char clock_seq_low (void) const;
void clock_seq_low (u_char);
- UUID_Node* node (void);
- const UUID_Node* node (void) const;
+ UUID_Node & node (void);
+ const UUID_Node & node (void) const;
- void node (const UUID_Node*);
+ void node (const UUID_Node & node);
ACE_CString* thr_id (void);
void thr_id (char*);
@@ -134,22 +130,23 @@ namespace ACE_Utils
/// Set the value using a string
void from_string (const ACE_CString& uuid_string);
- static UUID NIL_UUID;
+ /// NIL UUID
+ static const UUID NIL_UUID;
/// Equality Operations
- bool operator== (const UUID &right) const;
- bool operator!= (const UUID &right) const;
+ bool operator == (const UUID &right) const;
+ bool operator != (const UUID &right) const;
- /// Relational Operations
- //bool operator< (const UUID &right) const;
- //bool operator> (const UUID &right) const;
- //bool operator<= (const UUID &right) const;
- //bool operator>= (const UUID &right) const;
+ /// Compute a hash value for the UUID.
+ unsigned long hash (void) const;
/// Assign an existing UUID to this UUID.
const UUID & operator = (const UUID & rhs);
private:
+ /// Initialize the UUID
+ void init (void);
+
/**
* Helper method to convert from a string UUID.
*
@@ -158,13 +155,26 @@ namespace ACE_Utils
void from_string_i (const ACE_CString& uuid_string);
/// Data Members for Class Attributes
- ACE_UINT32 time_low_;
- ACE_UINT16 time_mid_;
- ACE_UINT16 time_hi_and_version_;
- u_char clock_seq_hi_and_reserved_;
- u_char clock_seq_low_;
+ struct data
+ {
+ /// Time low.
+ ACE_UINT32 time_low_;
- UUID_Node node_;
+ /// Time mid.
+ ACE_UINT16 time_mid_;
+
+ /// Time high and version.
+ ACE_UINT16 time_hi_and_version_;
+
+ /// Clock sequence high and reserved space.
+ u_char clock_seq_hi_and_reserved_;
+
+ /// Clock sequence low.
+ u_char clock_seq_low_;
+
+ /// MAC-address within the UUID.
+ UUID_Node node_;
+ } uuid_;
ACE_CString thr_id_;
ACE_CString pid_;
@@ -186,9 +196,14 @@ namespace ACE_Utils
enum {ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF};
- UUID_Generator();
+ /// Default constructor.
+ UUID_Generator(void);
+
+ /// Destructor.
~UUID_Generator();
+ /// Initialize the UUID generator
+ /// @deprecated This method may go away in some future release.
void init (void);
/// Format timestamp, clockseq, and nodeID into an UUID of the
@@ -209,11 +224,9 @@ namespace ACE_Utils
ACE_SYNCH_MUTEX* lock (void);
/// Set a new locking strategy and return the old one.
- void lock (ACE_SYNCH_MUTEX* lock,
- bool release_lock);
+ void lock (ACE_SYNCH_MUTEX* lock, bool release_lock);
private:
-
/// The system time when that last uuid was generated.
UUID_Time time_last_;
@@ -238,20 +251,26 @@ namespace ACE_Utils
/// Obtain the system time in UTC as a count of 100 nanosecond intervals
/// since 00:00:00.00, 15 October 1582 (the date of Gregorian reform to
- /// the Christian calendar).
+ /// the Christian calendar).
void get_systemtime( UUID_Time& timeNow);
/// The UUID generator persistent state.
UUID_State uuid_state_;
ACE_SYNCH_MUTEX* lock_;
+
bool destroy_lock_;
- };
- typedef ACE_Singleton<UUID_Generator, ACE_SYNCH_MUTEX> UUID_GENERATOR;
+ /// Initalization state of the generator.
+ bool is_init_;
+ };
+ typedef ACE_Singleton <ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX>
+ UUID_GENERATOR;
}
+ACE_SINGLETON_DECLARE (ACE_Singleton, ACE_Utils::UUID_Generator, ACE_SYNCH_MUTEX)
+
ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
diff --git a/ace/UUID.inl b/ace/UUID.inl
index bbc494197bd..d4167a74642 100644
--- a/ace/UUID.inl
+++ b/ace/UUID.inl
@@ -6,84 +6,129 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
namespace ACE_Utils
{
+ ACE_INLINE
+ const UUID_Node::Node_ID & UUID_Node::node_ID (void) const
+ {
+ return this->node_ID_;
+ }
+
+ ACE_INLINE
+ UUID_Node::Node_ID & UUID_Node::node_ID (void)
+ {
+ return this->node_ID_;
+ }
+
+ ACE_INLINE
+ UUID::UUID (void)
+ {
+ this->init ();
+ }
+
+ ACE_INLINE
+ UUID::UUID (const UUID &right)
+ : thr_id_ (right.thr_id_),
+ pid_ (right.pid_)
+ {
+ ACE_OS::memcpy (&this->uuid_, &right.uuid_, BINARY_SIZE);
+ }
+
+ ACE_INLINE
+ UUID::~UUID (void)
+ {
+
+ }
+
+ ACE_INLINE void
+ UUID::init (void)
+ {
+ ACE_OS::memset (&this->uuid_, 0, BINARY_SIZE);
+ }
+
+ ACE_INLINE unsigned long
+ UUID::hash (void) const
+ {
+ return ACE::hash_pjw (reinterpret_cast <const char *> (&this->uuid_),
+ UUID::BINARY_SIZE);
+ }
- /// Data Members for Class Attributes
ACE_INLINE ACE_UINT32
UUID::time_low (void) const
{
- return this->time_low_;
+ return this->uuid_.time_low_;
}
ACE_INLINE void
UUID::time_low (ACE_UINT32 timelow)
{
- this->time_low_ = timelow;
+ this->uuid_.time_low_ = timelow;
}
ACE_INLINE ACE_UINT16
UUID::time_mid (void) const
{
- return this->time_mid_;
+ return this->uuid_.time_mid_;
}
ACE_INLINE void
UUID::time_mid (ACE_UINT16 time_mid)
{
- this->time_mid_ = time_mid;
+ this->uuid_.time_mid_ = time_mid;
}
ACE_INLINE ACE_UINT16
UUID::time_hi_and_version (void) const
{
- return this->time_hi_and_version_;
+ return this->uuid_.time_hi_and_version_;
}
ACE_INLINE void
UUID::time_hi_and_version (ACE_UINT16 time_hi_and_version)
{
- this->time_hi_and_version_ = time_hi_and_version;
+ this->uuid_.time_hi_and_version_ = time_hi_and_version;
}
ACE_INLINE u_char
UUID::clock_seq_hi_and_reserved (void) const
{
- return this->clock_seq_hi_and_reserved_;
+ return this->uuid_.clock_seq_hi_and_reserved_;
}
ACE_INLINE void
UUID::clock_seq_hi_and_reserved (u_char clock_seq_hi_and_reserved)
{
- this->clock_seq_hi_and_reserved_ = clock_seq_hi_and_reserved;
+ this->uuid_.clock_seq_hi_and_reserved_ = clock_seq_hi_and_reserved;
}
ACE_INLINE u_char
UUID::clock_seq_low (void) const
{
- return this->clock_seq_low_;
+ return this->uuid_.clock_seq_low_;
}
ACE_INLINE void
UUID::clock_seq_low (u_char clock_seq_low)
{
- this->clock_seq_low_ = clock_seq_low;
+ this->uuid_.clock_seq_low_ = clock_seq_low;
}
- ACE_INLINE const UUID_Node*
+ ACE_INLINE const UUID_Node &
UUID::node (void) const
{
- return &this->node_;
+ return this->uuid_.node_;
}
- ACE_INLINE UUID_Node*
+ ACE_INLINE UUID_Node &
UUID::node (void)
{
- return &this->node_;
+ return this->uuid_.node_;
}
ACE_INLINE void
- UUID::node (const UUID_Node* node)
+ UUID::node (const UUID_Node & node)
{
- this->node_ = *node;
+ ACE_OS::memcpy (&this->uuid_.node_,
+ node.node_ID (),
+ UUID_Node::NODE_ID_SIZE);
}
ACE_INLINE ACE_CString*
@@ -119,58 +164,15 @@ namespace ACE_Utils
ACE_INLINE bool
UUID::operator == (const UUID &right) const
{
- if ((this->time_low_ != right.time_low ()) ||
- (this->time_mid_ != right.time_mid ()) ||
- (this->time_hi_and_version_ != right.time_hi_and_version ()) ||
- (this->clock_seq_hi_and_reserved_ != right.clock_seq_hi_and_reserved ()) ||
- (this->clock_seq_low_ != right.clock_seq_low ()) ||
- (this->node_ != *right.node ()))
- return false;
-
- return true;
+ return 0 == ACE_OS::memcmp (&this->uuid_, &right.uuid_, BINARY_SIZE);
}
ACE_INLINE bool
UUID::operator != (const UUID &right) const
{
- return !(*this == right);
+ return 0 != ACE_OS::memcmp (&this->uuid_, &right.uuid_, BINARY_SIZE);
}
-// ACE_INLINE bool
-//UUID::operator < (const UUID &rt) const
-// {
-// UUID right (rt);
-// if ((timeLow_ < right.timeLow ()) ||
-// (timeMid_ < right.timeMid ()) ||
-// (timeHiAndVersion_ < right.timeHiAndVersion ()) ||
-// (clockSeqHiAndReserved_ < right.clockSeqHiAndReserved ()) ||
-// (clockSeqLow_ < right.clockSeqLow ()) ||
-// (node_ < right.node ()))
-// {
-// return true;
-// }
-//
-// return false;
-// }
-//
-// ACE_INLINE bool
-// UUID::operator > (const UUID &right) const
-// {
-// return right < *this;
-// }
-//
-// ACE_INLINE bool
-// UUID::operator <= (const UUID &right) const
-// {
-// return !(*this > right);
-// }
-//
-// ACE_INLINE bool
-// UUID::operator >= (const UUID &right) const
-// {
-// return !(*this < right);
-// }
-//
ACE_INLINE bool
UUID_Node::operator == (const UUID_Node& rt) const
{
diff --git a/ace/Unbounded_Queue.h b/ace/Unbounded_Queue.h
index ae70125ffbd..3a750b0302d 100644
--- a/ace/Unbounded_Queue.h
+++ b/ace/Unbounded_Queue.h
@@ -185,17 +185,17 @@ public:
// = Check boundary conditions.
- /// Returns 1 if the container is empty, otherwise returns 0.
+ /// Returns true if the container is empty, otherwise returns false.
/**
* Constant time check to see if the queue is empty.
*/
- int is_empty (void) const;
+ bool is_empty (void) const;
/// Returns 0.
/**
* The queue cannot be full, so it always returns 0.
*/
- int is_full (void) const;
+ bool is_full (void) const;
// = Classic queue operations.
diff --git a/ace/Unbounded_Queue.inl b/ace/Unbounded_Queue.inl
index 35bb7fb9cdf..b7d814e9780 100644
--- a/ace/Unbounded_Queue.inl
+++ b/ace/Unbounded_Queue.inl
@@ -10,18 +10,18 @@ ACE_Unbounded_Queue<T>::size (void) const
return this->cur_size_;
}
-template <class T> ACE_INLINE int
+template <class T> ACE_INLINE bool
ACE_Unbounded_Queue<T>::is_empty (void) const
{
// ACE_TRACE ("ACE_Unbounded_Queue<T>::is_empty");
return this->head_ == this->head_->next_;
}
-template <class T> ACE_INLINE int
+template <class T> ACE_INLINE bool
ACE_Unbounded_Queue<T>::is_full (void) const
{
// ACE_TRACE ("ACE_Unbounded_Queue<T>::is_full");
- return 0; // We should implement a "node of last resort for this..."
+ return false; // We should implement a "node of last resort for this..."
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Unbounded_Set_Ex.h b/ace/Unbounded_Set_Ex.h
index 6ecbe314b8b..acf54ebd426 100644
--- a/ace/Unbounded_Set_Ex.h
+++ b/ace/Unbounded_Set_Ex.h
@@ -16,6 +16,7 @@
#include "ace/Node.h"
#include "ace/os_include/os_stddef.h"
+#include <iterator>
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -43,12 +44,22 @@ template <class T, class C>
class ACE_Unbounded_Set_Ex_Iterator
{
public:
+ /// Type definition of the container type.
+ typedef ACE_Unbounded_Set_Ex<T, C> container_type;
+
+ // = std::iterator_traits typedefs/traits.
+ typedef std::forward_iterator_tag iterator_category;
+ typedef typename container_type::value_type value_type;
+ typedef typename container_type::reference reference;
+ typedef typename container_type::pointer pointer;
+ typedef typename container_type::difference_type difference_type;
+
// = Initialization method.
ACE_Unbounded_Set_Ex_Iterator (ACE_Unbounded_Set_Ex<T, C> &s, bool end = false);
// = Iteration methods.
- /// Pass back the <next_item> that hasn't been seen in the Set.
+ /// Pass back the @a next_item that hasn't been seen in the Set.
/// Returns 0 when all items have been seen, else 1.
int next (T *&next_item);
@@ -102,6 +113,15 @@ template <class T, class C>
class ACE_Unbounded_Set_Ex_Const_Iterator
{
public:
+ typedef ACE_Unbounded_Set_Ex<T, C> container_type;
+
+ // = std::iterator_traits typedefs/traits.
+ typedef std::forward_iterator_tag iterator_category;
+ typedef typename container_type::const_value_type value_type;
+ typedef typename container_type::const_reference reference;
+ typedef typename container_type::const_pointer pointer;
+ typedef typename container_type::difference_type difference_type;
+
// = Initialization method.
ACE_Unbounded_Set_Ex_Const_Iterator (const ACE_Unbounded_Set_Ex<T, C> &s,
bool end = false);
@@ -163,7 +183,7 @@ private:
* allow duplicates, but it maintains FIFO ordering of insertions.
*
* This implementation may also be parameterized with a comparator
- * functor, which must implement bool operator () (const T&, const T&) const,
+ * functor, which must implement bool operator () (const T&, const T&) const,
* returning true if the given items are equivalent. The default comparator
* is sufficient for objects reliably compared with operator==.
*
@@ -205,7 +225,16 @@ public:
typedef ACE_Unbounded_Set_Ex_Const_Iterator<T, C> const_iterator;
typedef C COMP;
typedef ACE_Node<T, C> NODE;
-
+
+ // = STL typedefs/traits.
+ typedef T value_type;
+ typedef T const const_value_type;
+ typedef value_type & reference;
+ typedef const_value_type & const_reference;
+ typedef value_type * pointer;
+ typedef const_value_type * const_pointer;
+ typedef ptrdiff_t difference_type;
+
// = Initialization and termination methods.
/// Constructor. Use user specified allocation strategy
/// if specified.
@@ -324,7 +353,7 @@ private:
/// Allocation strategy of the set.
ACE_Allocator *allocator_;
-
+
/// Comparator to be used
COMP comp_;
};
diff --git a/ace/Vector_T.h b/ace/Vector_T.h
index d6a6b455099..0327c07beff 100644
--- a/ace/Vector_T.h
+++ b/ace/Vector_T.h
@@ -170,14 +170,14 @@ public:
// = Compare operators
- ///Equality comparison operator.
+ /// Equality comparison operator.
/**
* Compare this vector with @arg s for equality. Two vectors are equal
* if their sizes are equal and all the elements are equal.
*/
bool operator== (const ACE_Vector<T, DEFAULT_SIZE> &s) const;
- ///Inequality comparison operator.
+ /// Inequality comparison operator.
/**
* Compare this vector with @arg s for inequality such that @c *this !=
* @arg s is always the complement of the boolean return value of
@@ -272,7 +272,7 @@ public:
// = Iteration methods.
- /// Pass back the <next_item> that hasn't been seen in the vector.
+ /// Pass back the @a next_item that hasn't been seen in the vector.
/// Returns 0 when all items have been seen, else 1.
int next (T *&next_item);
diff --git a/ace/Version.h b/ace/Version.h
index 39527d83d0e..991d0205d17 100644
--- a/ace/Version.h
+++ b/ace/Version.h
@@ -4,6 +4,6 @@
// This is file was automatically generated by \$ACE_ROOT/bin/make_release.
#define ACE_MAJOR_VERSION 5
-#define ACE_MINOR_VERSION 6
-#define ACE_BETA_VERSION 7
-#define ACE_VERSION "5.6.7"
+#define ACE_MINOR_VERSION 7
+#define ACE_BETA_VERSION 8
+#define ACE_VERSION "5.7.8"
diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp
index bae271f850a..61c063c41d0 100644
--- a/ace/WFMO_Reactor.cpp
+++ b/ace/WFMO_Reactor.cpp
@@ -1756,6 +1756,7 @@ ACE_WFMO_Reactor::ok_to_wait (ACE_Time_Value *max_wait_time,
// grab the lock and recheck the ok_to_wait_ event. When we can get them
// both, or there's an error/timeout, return.
#if defined (ACE_HAS_WINCE)
+ ACE_UNUSED_ARG (alertable);
ACE_Time_Value timeout;
if (max_wait_time != 0)
{
@@ -1953,9 +1954,9 @@ ACE_WFMO_Reactor::dispatch_handles (DWORD wait_status)
#if ! defined(__BORLANDC__) \
&& !defined (ghs) \
&& !defined (__MINGW32__) \
- && !(defined (_MSC_VER) && _MSC_VER >= 1300)
+ && !defined (_MSC_VER)
// wait_status is unsigned in Borland, Green Hills,
- // mingw32 and MSVC++ >= 7.1.
+ // mingw32 and MSVC++
// This >= is always true, with a warning.
wait_status >= WAIT_OBJECT_0 &&
#endif
diff --git a/ace/WFMO_Reactor.h b/ace/WFMO_Reactor.h
index a0ad4c95d4b..28ab036282a 100644
--- a/ace/WFMO_Reactor.h
+++ b/ace/WFMO_Reactor.h
@@ -419,8 +419,8 @@ public:
/**
* Check to see if @a handle is associated with a valid Event_Handler
- * bound to @a mask. Return the <event_handler> associated with this
- * @a handler if <event_handler> != 0.
+ * bound to @a mask. Return the @a event_handler associated with this
+ * @a handler if @a event_handler != 0.
*/
int handler (ACE_HANDLE handle,
ACE_Reactor_Mask mask,
@@ -510,7 +510,7 @@ public:
/**
* Special trick to unblock <WaitForMultipleObjects> when updates
- * occur. All we do is enqueue <event_handler> and @a mask onto the
+ * occur. All we do is enqueue @a event_handler and @a mask onto the
* ACE_Message_Queue and wakeup the <WFMO_Reactor> by signaling
* its <ACE_Event> handle. The ACE_Time_Value indicates how long
* to blocking trying to notify the <WFMO_Reactor>. If @a timeout ==
@@ -549,7 +549,7 @@ public:
/**
* Set the maximum number of times that the
* <ACE_WFMO_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop. By default, this is set to
* -1, which means "iterate until the queue is empty." Setting this
@@ -562,7 +562,7 @@ public:
/**
* Get the maximum number of times that the
* <ACE_WFMO_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop.
*/
@@ -588,7 +588,7 @@ private:
/**
* Called when the notification event waited on by
* <ACE_WFMO_Reactor> is signaled. This dequeues all pending
- * <ACE_Event_Handlers> and dispatches them.
+ * ACE_Event_Handlers and dispatches them.
*/
virtual int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
@@ -596,7 +596,7 @@ private:
/// thread up (e.g., when the <notify> method is called).
ACE_Auto_Event wakeup_one_thread_;
- /// Message queue that keeps track of pending <ACE_Event_Handlers>.
+ /// Message queue that keeps track of pending ACE_Event_Handlers.
/// This queue must be thread-safe because it can be called by
/// multiple threads of control.
ACE_Message_Queue<ACE_MT_SYNCH> message_queue_;
@@ -604,7 +604,7 @@ private:
/**
* Keeps track of the maximum number of times that the
* <ACE_WFMO_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop. By default, this is set to
* -1, which means "iterate until the queue is empty."
@@ -788,13 +788,13 @@ public:
// = Register and remove Handlers.
/**
- * Register an ACE_Event_Handler <event_handler>. Since no Event
+ * Register an ACE_Event_Handler @a event_handler. Since no Event
* Mask is passed through this interface, it is assumed that the
* @a handle being passed in is an event handle and when the event
* becomes signaled, <WFMO_Reactor> will call handle_signal on
- * <event_handler>. If @a handle == <ACE_INVALID_HANDLE> the
+ * @a event_handler. If @a handle == <ACE_INVALID_HANDLE> the
* <ACE_WFMO_Reactor> will call the <get_handle> method of
- * <event_handler> to extract the underlying event handle.
+ * @a event_handler to extract the underlying event handle.
*/
virtual int register_handler (ACE_Event_Handler *event_handler,
ACE_HANDLE event_handle = ACE_INVALID_HANDLE);
@@ -833,16 +833,16 @@ public:
virtual int register_handler (ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask);
- /// Register <event_handler> with all the <handles> in the
+ /// Register @a event_handler with all the @a handles in the
/// <Handle_Set>.
virtual int register_handler (const ACE_Handle_Set &handles,
ACE_Event_Handler *event_handler,
ACE_Reactor_Mask mask);
/**
- * Register <new_sh> to handle the signal @a signum using the
- * <new_disp>. Returns the <old_sh> that was previously registered
- * (if any), along with the <old_disp> of the signal handler.
+ * Register @a new_sh to handle the signal @a signum using the
+ * @a new_disp. Returns the @a old_sh that was previously registered
+ * (if any), along with the @a old_disp of the signal handler.
*/
virtual int register_handler (int signum,
ACE_Event_Handler *new_sh,
@@ -850,18 +850,18 @@ public:
ACE_Event_Handler **old_sh = 0,
ACE_Sig_Action *old_disp = 0);
- /// Registers <new_sh> to handle a set of signals <sigset> using the
- /// <new_disp>.
+ /// Registers @a new_sh to handle a set of signals @a sigset using the
+ /// @a new_disp.
virtual int register_handler (const ACE_Sig_Set &sigset,
ACE_Event_Handler *new_sh,
ACE_Sig_Action *new_disp = 0);
/**
- * Removes <event_handler> from the <ACE_WFMO_Reactor>. Note that
+ * Removes @a event_handler from the <ACE_WFMO_Reactor>. Note that
* the <ACE_WFMO_Reactor> will call the <get_handle> method of
- * <event_handler> to extract the underlying handle. If @a mask ==
+ * @a event_handler to extract the underlying handle. If @a mask ==
* ACE_Event_Handler::DONT_CALL then the <handle_close> method of
- * the <event_handler> is not invoked. Note that the @a handle can
+ * the @a event_handler is not invoked. Note that the @a handle can
* either be the <event_handle> or the <io_handle>
*/
virtual int remove_handler (ACE_Event_Handler *event_handler,
@@ -884,7 +884,7 @@ public:
ACE_Reactor_Mask mask);
/**
- * Removes all the @a mask bindings for handles in the <handle_set>
+ * Removes all the @a mask bindings for handles in the @a handle_set
* bind of <Event_Handler>. If there are no more bindings for any
* of these handles then they are removed from WFMO_Reactor.
*/
@@ -893,7 +893,7 @@ public:
/**
* Remove the ACE_Event_Handler currently associated with @a signum.
- * <sigkey> is ignored in this implementation since there is only
+ * @a sigkey is ignored in this implementation since there is only
* one instance of a signal handler. Install the new disposition
* (if given) and return the previous disposition (if desired by the
* caller). Returns 0 on success and -1 if @a signum is invalid.
@@ -903,32 +903,32 @@ public:
ACE_Sig_Action *old_disp = 0,
int sigkey = -1);
- /// Calls <remove_handler> for every signal in <sigset>.
+ /// Calls <remove_handler> for every signal in @a sigset.
virtual int remove_handler (const ACE_Sig_Set &sigset);
// = Suspend and resume Handlers.
- /// Suspend <event_handler> temporarily. Use
+ /// Suspend @a event_handler temporarily. Use
/// <ACE_Event_Handler::get_handle> to get the handle.
virtual int suspend_handler (ACE_Event_Handler *event_handler);
/// Suspend @a handle temporarily.
virtual int suspend_handler (ACE_HANDLE handle);
- /// Suspend all <handles> in handle set temporarily.
+ /// Suspend all @a handles in handle set temporarily.
virtual int suspend_handler (const ACE_Handle_Set &handles);
/// Suspend all <handles> temporarily.
virtual int suspend_handlers (void);
- /// Resume <event_handler>. Use <ACE_Event_Handler::get_handle> to
+ /// Resume @a event_handler. Use <ACE_Event_Handler::get_handle> to
/// get the handle.
virtual int resume_handler (ACE_Event_Handler *event_handler);
/// Resume @a handle.
virtual int resume_handler (ACE_HANDLE handle);
- /// Resume all <handles> in handle set.
+ /// Resume all @a handles in handle set.
virtual int resume_handler (const ACE_Handle_Set &handles);
/// Resume all <handles>.
@@ -983,7 +983,7 @@ public:
const ACE_Time_Value &interval);
/// Cancel all Event_Handlers that match the address of
- /// <event_handler>. Returns number of handler's cancelled.
+ /// @a event_handler. Returns number of handler's cancelled.
virtual int cancel_timer (ACE_Event_Handler *event_handler,
int dont_call_handle_close = 1);
@@ -1003,8 +1003,8 @@ public:
// = High-level Event_Handler scheduling operations
/**
- * Add @a masks_to_be_added to the <event_handler>'s entry in
- * WFMO_Reactor. <event_handler> must already have been registered
+ * Add @a masks_to_be_added to the @a event_handler's entry in
+ * WFMO_Reactor. @a event_handler must already have been registered
* with WFMO_Reactor.
*/
virtual int schedule_wakeup (ACE_Event_Handler *event_handler,
@@ -1051,7 +1051,7 @@ public:
/**
* Set the maximum number of times that the
* <ACE_WFMO_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop. By default, this is set to
* -1, which means "iterate until the queue is empty." Setting this
@@ -1064,7 +1064,7 @@ public:
/**
* Get the maximum number of times that the
* <ACE_WFMO_Reactor_Notify::handle_input> method will iterate and
- * dispatch the <ACE_Event_Handlers> that are passed in via the
+ * dispatch the ACE_Event_Handlers that are passed in via the
* notify queue before breaking out of its
* <ACE_Message_Queue::dequeue> loop.
*/
@@ -1088,8 +1088,8 @@ public:
/**
* Check to see if <handle> is associated with a valid Event_Handler
- * bound to @a mask. Return the <event_handler> associated with this
- * @a handler if <event_handler> != 0.
+ * bound to @a mask. Return the @a event_handler associated with this
+ * @a handler if @a event_handler != 0.
*/
virtual int handler (ACE_HANDLE handle,
ACE_Reactor_Mask mask,
@@ -1119,7 +1119,7 @@ public:
virtual void wakeup_all_threads (void);
/**
- * Transfers ownership of the WFMO_Reactor to the <new_owner>. The
+ * Transfers ownership of the WFMO_Reactor to the @a new_owner. The
* transfer will not complete until all threads are ready (just like
* the handle set).
*/
@@ -1143,8 +1143,8 @@ public:
// = Low-level wait_set mask manipulation methods.
/**
- * Modify @a masks of the <event_handler>'s entry in WFMO_Reactor
- * depending upon <operation>. <event_handler> must already have
+ * Modify @a masks of the @a event_handler's entry in WFMO_Reactor
+ * depending upon <operation>. @a event_handler must already have
* been registered with WFMO_Reactor.
*/
virtual int mask_ops (ACE_Event_Handler *event_handler,
@@ -1308,7 +1308,7 @@ protected:
/**
* A manual event is used so that we can wake everyone up (e.g.,
- * when <ACE_Event_Handlers> are bounded and unbound from the
+ * when ACE_Event_Handlers are bounded and unbound from the
* handler repository).
*/
ACE_Manual_Event wakeup_all_threads_;
diff --git a/ace/WIN32_Asynch_IO.cpp b/ace/WIN32_Asynch_IO.cpp
index b5249884524..0b33e212e47 100644
--- a/ace/WIN32_Asynch_IO.cpp
+++ b/ace/WIN32_Asynch_IO.cpp
@@ -847,11 +847,13 @@ ACE_WIN32_Asynch_Write_Stream::write (ACE_Message_Block &message_block,
-1);
// Shared write
- int return_val = this->shared_write (result);
+ int const return_val = this->shared_write (result);
// Upon errors
if (return_val == -1)
- delete result;
+ {
+ delete result;
+ }
return return_val;
}
@@ -1024,8 +1026,10 @@ ACE_WIN32_Asynch_Write_Stream::shared_write (ACE_WIN32_Asynch_Write_Stream_Resul
result,
0);
if (initiate_result == 0)
- // Immediate success: the OVERLAPPED will still get queued.
- return 0;
+ {
+ // Immediate success: the OVERLAPPED will still get queued.
+ return 0;
+ }
#else
initiate_result = ::WriteFile (result->handle (),
result->message_block ().rd_ptr (),
@@ -2385,7 +2389,7 @@ ACE_WIN32_Asynch_Connect::open (const ACE_Handler::Proxy_Ptr &handler_proxy,
if (this->flg_open_)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%N:%l:ACE_WIN32_Asynch_Connect::open:")
- ACE_TEXT ("connector already open \n")),
+ ACE_TEXT ("connector already open\n")),
-1);
//int result =
diff --git a/ace/XtReactor/XtReactor.cpp b/ace/XtReactor/XtReactor.cpp
index 8159b24bf4d..f7cbb5bbdd5 100644
--- a/ace/XtReactor/XtReactor.cpp
+++ b/ace/XtReactor/XtReactor.cpp
@@ -203,74 +203,18 @@ ACE_XtReactor::register_handler_i (ACE_HANDLE handle,
// Make sure we have a valid context
ACE_ASSERT (this->context_ != 0);
+#if defined ACE_WIN32
+ // Let's handle this special case before we do any real work.
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::EXCEPT_MASK))
+ ACE_NOTSUP_RETURN(-1);
+#endif /* ACE_WIN32 */
+
int result = ACE_Select_Reactor::register_handler_i (handle,
handler, mask);
if (result == -1)
return -1;
- int condition = 0;
-
-#if !defined ACE_WIN32
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::READ_MASK))
- ACE_SET_BITS (condition, XtInputReadMask);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::WRITE_MASK))
- ACE_SET_BITS (condition, XtInputWriteMask);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::EXCEPT_MASK))
- ACE_SET_BITS (condition, XtInputExceptMask);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::ACCEPT_MASK))
- ACE_SET_BITS (condition, XtInputReadMask);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::CONNECT_MASK)){
- ACE_SET_BITS (condition, XtInputWriteMask); // connected, you may write
- ACE_SET_BITS (condition, XtInputReadMask); // connected, you have data/err
- }
-#else
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::READ_MASK))
- ACE_SET_BITS (condition, XtInputReadWinsock);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::WRITE_MASK))
- ACE_SET_BITS (condition, XtInputWriteWinsock);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::EXCEPT_MASK))
- ACE_NOTSUP_RETURN(-1);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::ACCEPT_MASK))
- ACE_SET_BITS (condition, XtInputReadWinsock);
- if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::CONNECT_MASK)){
- ACE_SET_BITS (condition, XtInputWriteWinsock); // connected, you may write
- ACE_SET_BITS (condition, XtInputReadWinsock); // connected, you have data/err
- }
-#endif /* !ACE_WIN32 */
-
- if (condition != 0)
- {
- ACE_XtReactorID *XtID = this->ids_;
-
- while(XtID)
- {
- if (XtID->handle_ == handle)
- {
- ::XtRemoveInput (XtID->id_);
-
- XtID->id_ = ::XtAppAddInput (this->context_,
- (int) handle,
- (XtPointer) condition,
- InputCallbackProc,
- (XtPointer) this);
- return 0;
- }
- else
- XtID = XtID->next_;
- }
-
- ACE_NEW_RETURN (XtID,
- ACE_XtReactorID,
- -1);
- XtID->next_ = this->ids_;
- XtID->handle_ = handle;
- XtID->id_ = ::XtAppAddInput (this->context_,
- (int) handle,
- (XtPointer) condition,
- InputCallbackProc,
- (XtPointer) this);
- this->ids_ = XtID;
- }
+ synchronize_XtInput (handle);
return 0;
}
@@ -290,61 +234,137 @@ ACE_XtReactor::remove_handler_i (ACE_HANDLE handle,
{
ACE_TRACE ("ACE_XtReactor::remove_handler_i");
- // In the registration phase we registered first with
- // ACE_Select_Reactor and then with X. Now we are now doing things
- // in reverse order.
+ int result = ACE_Select_Reactor::remove_handler_i (handle,
+ mask);
+ if (result == -1)
+ return -1;
- // First clean up the corresponding X11Input.
- this->remove_XtInput (handle);
+ synchronize_XtInput (handle);
+ return 0;
+}
- // Now let the reactor do its work.
- return ACE_Select_Reactor::remove_handler_i (handle,
+int
+ACE_XtReactor::remove_handler_i (const ACE_Handle_Set &handles,
+ ACE_Reactor_Mask mask)
+{
+ return ACE_Select_Reactor::remove_handler_i (handles,
mask);
}
+int
+ACE_XtReactor::suspend_i (ACE_HANDLE handle)
+{
+ ACE_TRACE ("ACE_XtReactor::suspend_i");
+
+ int result = ACE_Select_Reactor::suspend_i (handle);
+
+ if (result == -1)
+ return -1;
+
+ synchronize_XtInput (handle);
+ return 0;
+}
+
+int
+ACE_XtReactor::resume_i (ACE_HANDLE handle)
+{
+ ACE_TRACE ("ACE_XtReactor::resume_i");
+
+ int result = ACE_Select_Reactor::resume_i (handle);
+
+ if (result == -1)
+ return -1;
+
+ synchronize_XtInput (handle);
+ return 0;
+}
+
void
-ACE_XtReactor::remove_XtInput (ACE_HANDLE handle)
+ACE_XtReactor::synchronize_XtInput(ACE_HANDLE handle)
{
- ACE_TRACE ("ACE_XtReactor::remove_XtInput");
+ ACE_TRACE ("ACE_XtReactor::synchronize_XtInput");
- ACE_XtReactorID *XtID = this->ids_;
+ // The idea here is to call this function after the base class has
+ // processed the register/remove/suspend/resume_handler request. The
+ // resulting mask is used to find out which XtInput mask we need.
- if (XtID)
- {
- if (XtID->handle_ == handle)
- {
- ::XtRemoveInput (XtID->id_);
- this->ids_ = XtID->next_;
- delete XtID;
- return;
- }
+ // Find existing handler in linked list.
+ ACE_XtReactorID **XtID = &(this->ids_);
- ACE_XtReactorID *NextID = XtID->next_;
+ while (*XtID && (*XtID)->handle_ != handle)
+ XtID = &((*XtID)->next_);
- while (NextID)
+ // Remove existing input handler.
+ if (*XtID)
+ ::XtRemoveInput ((*XtID)->id_);
+
+ int condition = compute_Xt_condition (handle);
+
+ if (condition == 0) // No input handler needed.
+ {
+ if (*XtID)
{
- if (NextID->handle_ == handle)
- {
- ::XtRemoveInput(NextID->id_);
- XtID->next_ = NextID->next_;
- delete NextID;
- return;
- }
- else
- {
- XtID = NextID;
- NextID = NextID->next_;
- }
+ // Remove linked list entry.
+ ACE_XtReactorID *toDelete = *XtID;
+ *XtID = (*XtID)->next_;
+ delete toDelete;
}
+ return;
}
+
+ if (*XtID == 0)
+ {
+ // Create new node.
+ ACE_XtReactorID *tmp = new ACE_XtReactorID;
+ tmp->next_ = this->ids_;
+ tmp->handle_ = handle;
+ this->ids_ = tmp;
+ XtID = &(this->ids_);
+ }
+
+ // Finally, add input handler.
+ (*XtID)->id_ = ::XtAppAddInput (this->context_,
+ (int) handle,
+ (XtPointer) condition,
+ InputCallbackProc,
+ (XtPointer) this);
}
int
-ACE_XtReactor::remove_handler_i (const ACE_Handle_Set &handles,
- ACE_Reactor_Mask mask)
+ACE_XtReactor::compute_Xt_condition(ACE_HANDLE handle)
{
- return ACE_Select_Reactor::remove_handler_i (handles,
- mask);
+ ACE_TRACE ("ACE_XtReactor::compute_Xt_condition");
+
+ // Retrieve current wait mask from base class.
+ // The returned value is either a combination of READ/WRITE/EXCEPT_MASK
+ // or -1.
+ int mask =this->bit_ops(handle,
+ 0,
+ this->wait_set_,
+ ACE_Reactor::GET_MASK);
+
+ if (mask == -1) // No active mask.
+ return 0;
+
+ int condition = 0;
+
+#if !defined ACE_WIN32
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::READ_MASK))
+ ACE_SET_BITS (condition, XtInputReadMask);
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::WRITE_MASK))
+ ACE_SET_BITS (condition, XtInputWriteMask);
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::EXCEPT_MASK))
+ ACE_SET_BITS (condition, XtInputExceptMask);
+#else
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::READ_MASK))
+ ACE_SET_BITS (condition, XtInputReadWinsock);
+ if (ACE_BIT_ENABLED (mask, ACE_Event_Handler::WRITE_MASK))
+ ACE_SET_BITS (condition, XtInputWriteWinsock);
+ // EXCEPT_MASK is not supported for WIN32. As this was
+ // already handled in register_handler_i, no check here.
+#endif /* !ACE_WIN32 */
+
+ return condition;
}
// The following functions ensure that there is an Xt timeout for the
diff --git a/ace/XtReactor/XtReactor.h b/ace/XtReactor/XtReactor.h
index f3483fcd35a..cf578ab55cd 100644
--- a/ace/XtReactor/XtReactor.h
+++ b/ace/XtReactor/XtReactor.h
@@ -101,8 +101,17 @@ protected:
virtual int remove_handler_i (const ACE_Handle_Set &handles,
ACE_Reactor_Mask);
- /// Removes an Xt handle.
- virtual void remove_XtInput (ACE_HANDLE handle);
+ /// Suspend the <Event_Handler> associated with @a handle
+ virtual int suspend_i (ACE_HANDLE handle);
+
+ /// Resume the <Event_Handler> associated with @a handle
+ virtual int resume_i (ACE_HANDLE handle);
+
+ /// Synchronize XtInputHandler for @a handle
+ virtual void synchronize_XtInput(ACE_HANDLE handle);
+
+ /// Compute needed Xt condition by looking at base class wait set.
+ virtual int compute_Xt_condition(ACE_HANDLE handle);
/// Wait for events to occur.
virtual int wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &,
diff --git a/ace/ace.mpc b/ace/ace.mpc
index 4a643b6494d..51cdb14f50b 100644
--- a/ace/ace.mpc
+++ b/ace/ace.mpc
@@ -1,9 +1,8 @@
// -*- MPC -*- now wouldn't this be cool...
// $Id$
-project(ACE) : acedefaults, install, other, codecs, token, svcconf, uuid, filecache, versioned_namespace, pkgconfig, support_ostream {
+project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, uuid, filecache, versioned_namespace, pkgconfig, support_ostream {
avoids = ace_for_tao
- libout = $(ACE_ROOT)/lib
sharedname = ACE
dynamicflags = ACE_BUILD_DLL
@@ -292,6 +291,7 @@ project(ACE) : acedefaults, install, other, codecs, token, svcconf, uuid, fileca
Asynch_Acceptor.cpp
Asynch_Connector.cpp
Atomic_Op_T.cpp
+ Atomic_Op_GCC_T.cpp
Auto_Functor.cpp
Auto_IncDec_T.cpp
Auto_Ptr.cpp
@@ -361,6 +361,7 @@ project(ACE) : acedefaults, install, other, codecs, token, svcconf, uuid, fileca
Timer_Queue_Adapters.cpp
Timer_Queue_T.cpp
Timer_Wheel_T.cpp
+ Tokenizer_T.cpp
Typed_SV_Message.cpp
Typed_SV_Message_Queue.cpp
Unbounded_Queue.cpp
diff --git a/ace/ace_for_tao.mpc b/ace/ace_for_tao.mpc
index 707532e3e4f..436f8afe7ff 100644
--- a/ace/ace_for_tao.mpc
+++ b/ace/ace_for_tao.mpc
@@ -11,10 +11,9 @@
// link. This ACE_FOR_TAO subset library must remain as small as
// possible.
-project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, pkgconfig {
+project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, pkgconfig, ace_output {
macros += ACE_LACKS_ACE_TOKEN
requires = ace_for_tao ace_svcconf
- libout = $(ACE_ROOT)/lib
sharedname = ACE_FOR_TAO
dynamicflags = ACE_BUILD_DLL
@@ -85,6 +84,7 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace,
Mem_Map.cpp
Message_Block.cpp
Message_Queue.cpp
+ Message_Queue_NT.cpp
MMAP_Memory_Pool.cpp
Monitor_Admin.cpp
Monitor_Admin_Manager.cpp
@@ -191,12 +191,12 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace,
TSS_Adapter.cpp
// Dev_Poll_Reactor isn't available on Windows.
- conditional(automake,make,gnuace) {
+ conditional(!prop:windows) {
Dev_Poll_Reactor.cpp
}
// ACE_Token implementation uses semaphores on Windows and VxWorks.
- conditional(vc6,vc71,vc8,vc9,vc10,nmake,bmake) {
+ conditional(prop:windows) {
NT_Service.cpp // Required by ace_for_tao sponsors
Semaphore.cpp
Process_Mutex.cpp
@@ -272,6 +272,7 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace,
Timer_Queue_Adapters.cpp
Timer_Queue_T.cpp
Timer_Wheel_T.cpp
+ Tokenizer_T.cpp
Typed_SV_Message.cpp
Typed_SV_Message_Queue.cpp
Unbounded_Queue.cpp
diff --git a/ace/ace_qt3reactor.mpc b/ace/ace_qt3reactor.mpc
index de810925e8e..0667ee63dae 100644
--- a/ace/ace_qt3reactor.mpc
+++ b/ace/ace_qt3reactor.mpc
@@ -1,18 +1,24 @@
// -*- MPC -*- now wouldn't this be cool...
// $Id$
-project(ACE_Qt3Reactor) : acedefaults, install, acelib, ace_output, ace_qt3 {
+project(ACE_Qt3Reactor_moc) : acedefaults, ace_qt3 {
+ custom_only = 1
+ MOC_Files {
+ QtReactor/QtReactor.h
+ }
+}
+project(ACE_Qt3Reactor) : acedefaults, install, acelib, ace_output, ace_qt3 {
+ after += ACE_Qt3Reactor_moc
sharedname = ACE_QtReactor
dynamicflags = ACE_QTREACTOR_BUILD_DLL
MOC_Files {
- QtReactor
}
Source_Files {
QtReactor/QtReactor_moc.cpp
- QtReactor
+ QtReactor/QtReactor.cpp
}
Header_Files {
diff --git a/ace/ace_qt4reactor.mpc b/ace/ace_qt4reactor.mpc
index 0e62cb3f305..6ed633adf4e 100644
--- a/ace/ace_qt4reactor.mpc
+++ b/ace/ace_qt4reactor.mpc
@@ -1,19 +1,24 @@
// -*- MPC -*- now wouldn't this be cool...
// $Id$
-project(ACE_Qt4Reactor) : acedefaults, install, acelib, ace_output, ace_qt4 {
+project(ACE_Qt4Reactor_moc) : acedefaults, ace_qt4 {
+ custom_only = 1
+ MOC_Files {
+ QtReactor
+ }
+}
+project(ACE_Qt4Reactor) : acedefaults, install, acelib, ace_output, ace_qt4 {
+ after += ACE_Qt4Reactor_moc
sharedname = ACE_QtReactor
dynamicflags = ACE_QTREACTOR_BUILD_DLL
MOC_Files {
- QtReactor
}
Source_Files {
-
QtReactor/QtReactor_moc.cpp
- QtReactor
+ QtReactor/QtReactor.cpp
}
Header_Files {
diff --git a/ace/checked_iterator.h b/ace/checked_iterator.h
index ac5e44f6dfc..98df3d757b0 100644
--- a/ace/checked_iterator.h
+++ b/ace/checked_iterator.h
@@ -32,12 +32,12 @@
* @author Ossama Othman
*/
-# if defined (_MSC_VER) && (_MSC_FULL_VER >= 140050000)
+# if defined (_MSC_VER) && (_MSC_FULL_VER >= 140050000) && (!defined (_STLPORT_VERSION))
// Checked iterators are currently only supported in MSVC++ 8 or better.
# include <iterator>
-# endif /* _MSC_VER >= 1400 */
+# endif /* _MSC_VER >= 1400 && !_STLPORT_VERSION */
-# if defined (_MSC_VER) && (_MSC_FULL_VER >= 140050000)
+# if defined (_MSC_VER) && (_MSC_FULL_VER >= 140050000) && (!defined (_STLPORT_VERSION))
template <typename PTR>
stdext::checked_array_iterator<PTR>
ACE_make_checked_array_iterator (PTR buf, size_t len)
@@ -53,6 +53,6 @@ ACE_make_checked_array_iterator (PTR buf, size_t /* len */)
// the buffer itself.
return buf;
}
-# endif /* _MSC_VER >= 1400 */
+# endif /* _MSC_VER >= 1400 && !_STLPORT_VERSION */
#endif /* ACE_CHECKED_ITERATOR_H */
diff --git a/ace/config-WinCE.h b/ace/config-WinCE.h
index bbdf5699368..3bd3620e2f8 100644
--- a/ace/config-WinCE.h
+++ b/ace/config-WinCE.h
@@ -15,26 +15,13 @@
# error Use config-win32.h in config.h instead of this header
#endif // ACE_CONFIG_WIN32_H
-#if !defined (UNDER_CE)
-# error Define UNDER_CE to version (i.e. 300 = 3.0)
-#endif // UNDER_CE
-
-#if (UNDER_CE < 300)
-# error ACE requires Windows CE 3.0 and later.
-#endif // UNDER_CE
-
-#if (UNDER_CE < 400)
-// CE 3 doesn't have Winsock 2, but CE 4 does.
-# if !defined (ACE_HAS_WINSOCK2)
-# define ACE_HAS_WINSOCK2 0
-# endif
-# define ACE_LACKS_ASSERT_H
-# define ACE_LACKS_SEARCH_H
-# define ACE_LACKS_WCHAR_H
-# define ACE_LACKS_WCTYPE_H
-# define ACE_LACKS_STDDEF_H
-# define ACE_LACKS_PTRDIFF_T
-#endif /* UNDER_CE < 400 */
+#if !defined (_WIN32_WCE)
+# error Define _WIN32_WCE to version (i.e. 500 = 5.0)
+#endif // _WIN32_WCE
+
+#if (_WIN32_WCE < 500)
+# error ACE requires Windows CE 5.0 and later.
+#endif // _WIN32_WCE
#if !defined (ACE_HAS_WINCE)
# define ACE_HAS_WINCE 1
@@ -50,8 +37,10 @@
#endif
// We need these libraries to build:
-#pragma comment(lib,"corelibc.lib")
-#pragma comment(linker, "/nodefaultlib:oldnames.lib")
+#if defined (_MSC_VER)
+# pragma comment(lib,"corelibc.lib")
+# pragma comment(linker, "/nodefaultlib:oldnames.lib")
+#endif
// Only DLL version is supported on CE.
//#if defined (ACE_HAS_DLL)
@@ -104,7 +93,7 @@
# define ACE_LACKS_ERRNO_H
# define ACE_LACKS_DUP
# define ACE_LACKS_GETSYSTEMTIMEASFILETIME
-#endif
+#endif /* (_WIN32_WCE < 0x600) */
#define ACE_LACKS_REGNOTIFYCHANGEKEYVALUE
@@ -153,23 +142,9 @@
#define _O_TEXT 0x4000 // file mode is text (translated)
#define _O_BINARY 0x8000 // file mode is binary (untranslated)
-// macro to translate the C 2.0 name used to force binary mode for files
-//#define _O_RAW _O_BINARY
-
-// Open handle inherit bit
-//#define _O_NOINHERIT 0x0080 // child process doesn't inherit file
-
// Temporary file bit - file is deleted when last handle is closed
#define _O_TEMPORARY 0x0040 // temporary file bit
-// temporary access hint
-//#define _O_SHORT_LIVED 0x1000 // temporary storage file, try not to flush
-
-// sequential/random access hints
-//#define _O_SEQUENTIAL 0x0020 // file access is primarily sequential
-//#define _O_RANDOM 0x0010 // file access is primarily random
-
-
// Non-ANSI names
#define O_RDONLY _O_RDONLY
#define O_WRONLY _O_WRONLY
@@ -181,29 +156,18 @@
#define O_TEXT _O_TEXT
#define O_BINARY _O_BINARY
#define O_TEMPORARY _O_TEMPORARY
-//#define O_RAW _O_BINARY
-//#define O_NOINHERIT _O_NOINHERIT
-//#define O_SEQUENTIAL _O_SEQUENTIAL
-//#define O_RANDOM _O_RANDOM
-
// @@ NSIG value. This is definitely not correct.
#define NSIG 23
-// @@ For some reason, WinCE forgot to define this.
-// Need to find out what it is. (Used in MapViewOfFile ().)
+#if !defined (FILE_MAP_COPY)
#define FILE_MAP_COPY 0
-
-#if (_WIN32_WCE >= 0x400)
-# define ACE_HAS_INTERLOCKED_EXCHANGEADD
#endif
+#define ACE_HAS_INTERLOCKED_EXCHANGEADD
#define ACE_LACKS_ACCESS
#define ACE_LACKS__WACCESS
#define ACE_HAS_ACCESS_EMULATION
-#if (_WIN32_WCE < 0x500)
-# define ACE_LACKS_FILELOCKS
-#endif
#define ACE_LACKS_EXEC
#define ACE_LACKS_MKTEMP
#define ACE_LACKS_ISATTY
@@ -212,7 +176,12 @@
#define ACE_LACKS_PIPE
#define ACE_LACKS_CHDIR
-#define ACE_LACKS_ENV
+#define ACE_LACKS_GETENV
+#define ACE_LACKS_SETENV
+#define ACE_LACKS_UNSETENV
+#define ACE_LACKS_PUTENV
+#define ACE_LACKS_GETENVSTRINGS
+#define ACE_LACKS_STRENVDUP
#define ACE_LACKS_REALPATH
#define ACE_LACKS_SWAB
#define ACE_LACKS_TEMPNAM
@@ -224,7 +193,7 @@
#endif // _WIN32_WCE_EMULATION
#if !defined (BUFSIZ)
-# define BUFSIZ 1024
+# define BUFSIZ 1024
#endif
#define ACE_LACKS_MALLOC_H // We do have malloc.h, but don't use it.
@@ -234,22 +203,22 @@
#define ACE_HAS_STRDUP_EMULATION
#if !defined (MAXSYMLINKS)
-#define MAXSYMLINKS 0
+# define MAXSYMLINKS 0
#endif
// WinCE can't do fixed addresses for memory-mapped files.
#if defined (ACE_DEFAULT_BASE_ADDR)
-# undef ACE_DEFAULT_BASE_ADDR
+# undef ACE_DEFAULT_BASE_ADDR
#endif
#define ACE_DEFAULT_BASE_ADDR 0
#if (_WIN32_WCE < 0x600)
-#define ACE_HAS_TSS_EMULATION
+# define ACE_HAS_TSS_EMULATION
#endif // WinCE version < 6.0
// CE doesn't support FILE_SHARE_DELETE like regular windows
#if !defined (ACE_DEFAULT_FILE_PERMS)
-#define ACE_DEFAULT_FILE_PERMS (FILE_SHARE_READ | FILE_SHARE_WRITE)
+# define ACE_DEFAULT_FILE_PERMS (FILE_SHARE_READ | FILE_SHARE_WRITE)
#endif
#define ACE_LACKS_SIGNAL_H
diff --git a/ace/config-aix-5.x.h b/ace/config-aix-5.x.h
index 2876f052b81..006aca64857 100644
--- a/ace/config-aix-5.x.h
+++ b/ace/config-aix-5.x.h
@@ -40,61 +40,52 @@
# endif /* _THREAD_SAFE */
#endif /* !ACE_MT_SAFE || (ACE_MT_SAFE != 0) */
-#if defined (__xlC__) || defined (__IBMCPP__)
- // AIX xlC, IBM C/C++, and Visual Age C++ compilers
+#if defined (__IBMCPP__)
+ // AIX xlC, IBM C/C++ compiler
//********************************************************************
//
-// Compiler does this with a builtin - it's not in libc.
-// Although ACE does have alloca() on this compiler/platform combination, it is
-// disabled by default since it can be dangerous. Uncomment the following line
-// if you ACE to use it.
-//# define ACE_HAS_ALLOCA
+ // Compiler does this with a builtin - it's not in libc.
+ // Although ACE does have alloca() on this compiler/platform combination,
+ // it is disabled by default since it can be dangerous. Uncomment the
+ // following line if you ACE to use it.
+ //# define ACE_HAS_ALLOCA
-// Compiler supports the ssize_t typedef.
+ // Compiler supports the ssize_t typedef.
# define ACE_HAS_SSIZE_T
// Keep an eye on this as the compiler and standards converge...
# define ACE_LACKS_LINEBUFFERED_STREAMBUF
# define ACE_LACKS_PRAGMA_ONCE
- // C Set++ 3.1, IBM C/C++ 3.6, and Visual Age C++ 5 batch (__xlC__)
-# if defined (__xlC__)
-# if (__xlC__ < 0x0500)
-# define ACE_LACKS_PLACEMENT_OPERATOR_DELETE
-# endif /* __xlC__ < 0x0500 */
-# endif
-
- // These are for Visual Age C++ only
-# if defined (__IBMCPP__) && (__IBMCPP__ >= 600)
-# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS
- // When using -qtempinc, we don't need to see template implementation
- // source (though we do need a pragma to find the correct source file).
- // However, without -qtempinc (either -qnotempinc or -qtemplateregistry)
- // we do need to see the source.
-# if defined (__TEMPINC__)
-# if !defined ACE_TEMPLATES_REQUIRE_PRAGMA
-# define ACE_TEMPLATES_REQUIRE_PRAGMA
-# endif
-# else
-# if !defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-# define ACE_TEMPLATES_REQUIRE_SOURCE
-# endif
-# endif /* __TEMPINC__ */
-
-# undef WIFEXITED
-# undef WEXITSTATUS
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-
-# if (__IBMCPP__ >= 600) /* Visual Age 6 and XL C/C++ 7 and up */
-# define ACE_HAS_TEMPLATE_TYPEDEFS
-# define ACE_HAS_CUSTOM_EXPORT_MACROS
-# define ACE_Proper_Export_Flag
-# define ACE_Proper_Import_Flag
-# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE < CLASS, LOCK >;
-# endif /* __IBMCPP__ >= 600 */
-# endif /* __IBMCPP__ */
+# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS
+ // When using -qtempinc, we don't need to see template implementation
+ // source (though we do need a pragma to find the correct source file).
+ // However, without -qtempinc (either -qnotempinc or -qtemplateregistry)
+ // we do need to see the source.
+# if defined (__TEMPINC__)
+# if !defined ACE_TEMPLATES_REQUIRE_PRAGMA
+# define ACE_TEMPLATES_REQUIRE_PRAGMA
+# endif
+# else
+# if !defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+# define ACE_TEMPLATES_REQUIRE_SOURCE
+# endif
+# endif /* __TEMPINC__ */
+
+# undef WIFEXITED
+# undef WEXITSTATUS
+# define ACE_HAS_STANDARD_CPP_LIBRARY 1
+# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+
+# define ACE_HAS_TEMPLATE_TYPEDEFS
+# define ACE_HAS_CUSTOM_EXPORT_MACROS
+# define ACE_Proper_Export_Flag
+# define ACE_Proper_Import_Flag
+ // There's no explicit import/export per-se, but to be sure that declared
+ // template code is exported, explicitly instantiate the class.
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class SINGLETON_TYPE < CLASS, LOCK >;
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE < CLASS, LOCK >;
#elif defined (__GNUG__)
// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so
@@ -102,8 +93,7 @@
# define ACE_HAS_STRING_CLASS
# include "ace/config-g++-common.h"
- // Denotes that GNU has cstring.h as standard, to redefine memchr().
-# define ACE_HAS_GNU_CSTRING_H
+
# define ACE_HAS_SSIZE_T
# if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 0))
@@ -118,7 +108,7 @@
# endif /* _REENTRANT */
# endif /* !ACE_MT_SAFE */
-#else /* ! __xlC__ && ! __GNUG__ */
+#else /* ! __IBMCPP__ && ! __GNUG__ */
# ifdef __cplusplus /* Let it slide for C compilers. */
# error unsupported compiler in ace/config-aix-5.x.h
# endif /* __cplusplus */
@@ -142,7 +132,7 @@
#if defined (ACE_DLL_SUFFIX)
# undef ACE_DLL_SUFFIX
#endif
-#define ACE_DLL_SUFFIX ".so"
+#define ACE_DLL_SUFFIX ACE_TEXT (".so")
#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000)
@@ -218,9 +208,6 @@
#define ACE_HAS_STREAMS
// #define ACE_HAS_STREAM_PIPES
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// AIX bzero()
#define ACE_HAS_STRINGS
@@ -262,7 +249,7 @@
#define ACE_LACKS_NETINET_TCP_H
// AIX uses LIBPATH to search for libraries
-#define ACE_LD_SEARCH_PATH "LIBPATH"
+#define ACE_LD_SEARCH_PATH ACE_TEXT ("LIBPATH")
// Defines the page size of the system.
#define ACE_PAGE_SIZE 4096
@@ -333,5 +320,7 @@
#define ACE_HAS_SIGSUSPEND
#define ACE_HAS_TIMEZONE /* Call tzset() to set timezone */
#define ACE_LACKS_ISCTYPE
+#define ACE_HAS_STRSIGNAL
+#define ACE_NEEDS_STRSIGNAL_RANGE_CHECK
#endif /* ACE_CONFIG_AIX_5_X_H */
diff --git a/ace/config-all.h b/ace/config-all.h
index c87971297ae..fd5903eac0b 100644
--- a/ace/config-all.h
+++ b/ace/config-all.h
@@ -76,6 +76,10 @@
# define ACE_HAS_MONITOR_FRAMEWORK 1
#endif
+#if !defined (ACE_HAS_SENDFILE)
+# define ACE_HAS_SENDFILE 0
+#endif
+
#if !defined (ACE_HAS_MONITOR_POINTS)
# define ACE_HAS_MONITOR_POINTS 0
#endif
diff --git a/ace/config-cray.h b/ace/config-cray.h
index 94b28a25c16..ffad6ae9510 100644
--- a/ace/config-cray.h
+++ b/ace/config-cray.h
@@ -81,12 +81,11 @@
#define ACE_HAS_CHARPTR_SOCKOPT
#define ACE_HAS_NONCONST_GETBY
+#define ACE_HAS_NONCONST_INET_ADDR
// has man pages, but links with missing symbols and I can't find lib yet
/* #define ACE_HAS_REGEX */
-#define ACE_HAS_SIG_MACROS
-
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
#if _UNICOS > 9
@@ -99,8 +98,6 @@
#define ACE_HAS_MSG
-#define ACE_HAS_STRERROR
-
#define ACE_HAS_GPERF
// Special modifications that apply to UNICOS/mk
@@ -190,8 +187,6 @@
// Ones to check out at some point
-/* #define ACE_HAS_SYS_SIGLIST */
-
// C++ Compiler stuff to verify
/* #define ACE_NEW_THROWS_EXCEPTIONS */
/* #define ACE_HAS_TEMPLATE_TYPEDEFS */
@@ -206,7 +201,5 @@
/* #define ACE_LACKS_NAMED_POSIX_SEM */
-/* #define ACE_HAS_SYS_ERRLIST */
-
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_CRAY_H */
diff --git a/ace/config-cygwin32.h b/ace/config-cygwin32.h
index f1e424319fa..ddd364533cf 100644
--- a/ace/config-cygwin32.h
+++ b/ace/config-cygwin32.h
@@ -25,13 +25,15 @@
#endif /* ACE_IOV_MAX */
// Define custom export macros for export/import of symbols from/of dll's
-#define ACE_HAS_CUSTOM_EXPORT_MACROS 1
-#define ACE_Proper_Export_Flag __declspec (dllexport)
-#define ACE_Proper_Import_Flag __declspec (dllimport)
-#define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
-#define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>;
-#define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T
-#define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE <CLASS, LOCK>;
+#if !defined (ACE_HAS_CUSTOM_EXPORT_MACROS)
+# define ACE_HAS_CUSTOM_EXPORT_MACROS 1
+# define ACE_Proper_Export_Flag __declspec (dllexport)
+# define ACE_Proper_Import_Flag __declspec (dllimport)
+# define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>;
+# define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE <CLASS, LOCK>;
+#endif
#define ACE_HAS_SELECT_H
@@ -61,7 +63,6 @@
#define ACE_HAS_VOIDPTR_SOCKOPT 1
#define ACE_HAS_UALARM 1
-#define ACE_HAS_SYS_ERRLIST 1
#define ACE_HAS_STRNLEN 1
#define ACE_HAS_POSIX_GETPWNAM_R 1
#define ACE_HAS_POSIX_NONBLOCK 1
@@ -110,8 +111,7 @@
#define ACE_HAS_VOIDPTR_GETTIMEOFDAY
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
+#define ACE_HAS_STRSIGNAL
// Compiler supports the ssize_t typedef.
#define ACE_HAS_SSIZE_T
@@ -196,12 +196,21 @@
# define ACE_LACKS_PTHREAD_YIELD 1
# define ACE_LACKS_PTHREAD_ATTR_SETSTACK
+#if CYGWIN_VERSION_API_MINOR < 207
// In the 1.5.9 release of Cygwin the pthread_kill gives an access violation
// so for the time being we say Cygwin doesn't support pthread_kill.
# define ACE_LACKS_PTHREAD_KILL
+#endif
#endif /* ACE_MT_SAFE */
+#if CYGWIN_VERSION_API_MINOR >= 207
+// > Cygwin 1.7
+#define ACE_HAS_VWPRINTF
+#define ACE_HAS_VFWPRINTF
+#define ACE_HAS_VSWPRINTF
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_CYGWIN32_H */
diff --git a/ace/config-doxygen.h b/ace/config-doxygen.h
index 054345f5998..01e91d0e5ec 100644
--- a/ace/config-doxygen.h
+++ b/ace/config-doxygen.h
@@ -117,4 +117,10 @@
#define ACE_HAS_IP_MULTICAST
+#define ACE_INLINE
+#define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+#define ACE_END_VERSIONED_NAMESPACE_DECL
+#define TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+#define TAO_END_VERSIONED_NAMESPACE_DECL
+
#endif /* ACE_CONFIG_DOXYGEN_H */
diff --git a/ace/config-freebsd.h b/ace/config-freebsd.h
index db0cee84bef..3f626600952 100644
--- a/ace/config-freebsd.h
+++ b/ace/config-freebsd.h
@@ -8,30 +8,30 @@
#include /**/ "ace/pre.h"
#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
+# define ACE_MT_SAFE 1
#endif
#if ACE_MT_SAFE
- // Yes, we do have threads.
-# define ACE_HAS_THREADS 1
+ // Yes, we do have threads.
+# define ACE_HAS_THREADS 1
#else
- // Set to 0 since that's what config-posix.h checks for.
-# define ACE_HAS_THREADS 0
+ // Set to 0 since that's what config-posix.h checks for.
+# define ACE_HAS_THREADS 0
#endif /* ACE_MT_SAFE */
#include "ace/config-posix.h"
-#include <osreldate.h>
// Make sure we source in the OS version.
+#include <osreldate.h>
-#if ! defined (__ACE_INLINE__)
-#define __ACE_INLINE__
+#if !defined (__ACE_INLINE__)
+# define __ACE_INLINE__
#endif /* ! __ACE_INLINE__ */
#if (__FreeBSD_version < 220000)
-#if defined (ACE_HAS_THREADS)
-#error Threads are not supported.
-#endif /* ACE_HAS_THREADS */
+# if defined (ACE_HAS_THREADS)
+# error Threads are not supported.
+# endif /* ACE_HAS_THREADS */
#endif /* __FreeBSD_version < 220000 */
#if defined (__GNUG__)
@@ -45,228 +45,155 @@
// Platform specific directives
// gcc defines __FreeBSD__ automatically for us.
#ifdef ACE_HAS_THREADS
-#if !defined (_THREAD_SAFE)
-#define _THREAD_SAFE
-#endif /* _THREAD_SAFE */
+# if !defined (_THREAD_SAFE)
+# define _THREAD_SAFE
+# endif /* _THREAD_SAFE */
#endif
-#define ACE_HAS_GPERF
-
-#if (__FreeBSD_version < 420000)
-#define ACE_LACKS_GETPGID
-#define ACE_LACKS_SETPGID
-#define ACE_LACKS_SETREGID
-#define ACE_LACKS_SETREUID
-#define ACE_LACKS_PTHREAD_CANCEL
-#endif /* __FreeBSD_version < 420000 */
+#define ACE_HAS_3_PARAM_READDIR_R
+#define ACE_HAS_3_PARAM_WCSTOK
+#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_ALLOCA
#define ACE_HAS_ALT_CUSERID
-#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
-#define ACE_HAS_SIG_MACROS
-// Optimize ACE_Handle_Set for select().
+#define ACE_HAS_AUTOMATIC_INIT_FINI
+#define ACE_HAS_CHARPTR_DL
+#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
+#define ACE_HAS_DIRENT
+#define ACE_HAS_GETRUSAGE
+#define ACE_HAS_GPERF
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+#define ACE_HAS_IP_MULTICAST
+#define ACE_HAS_MSG
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_HAS_CHARPTR_DL
-
-#if (__FreeBSD_version < 400000)
-#define ACE_LACKS_SIGSET
-#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_READDIR_R
-#define ACE_LACKS_SETSCHED
-#define ACE_LACKS_PTHREAD_THR_SIGSETMASK
-#define ACE_LACKS_UCONTEXT_H
-#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
-#endif
-
-#define ACE_NEEDS_SCHED_H
-
-#if (__FreeBSD_version < 400000)
-enum schedparam_policy {
- SCHED_RR,
- SCHED_IO,
- SCHED_FIFO,
- SCHED_OTHER
-};
-#endif
-
-// Use of <malloc.h> is deprecated.
-#define ACE_LACKS_MALLOC_H
-
-
-// This won't be necessary after it is fixed in the system include headers.
-extern "C" { char * cuserid (char *s); }
-
-// Platform supports POSIX timers via struct timespec.
+#define ACE_HAS_POSIX_NONBLOCK
#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_UALARM
-
-// Platform defines struct timespec but not timespec_t
-#define ACE_LACKS_TIMESPEC_T
-
-#if (__FreeBSD_version < 501000)
-#define ACE_LACKS_STDINT_H
-#endif
-
-#define ACE_HAS_SYSCTL
-#define ACE_LACKS_STRRECVFD
-
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
+#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+#define ACE_HAS_RTLD_LAZY_V
+#define ACE_HAS_SEMUN
+#define ACE_HAS_SIGISMEMBER_BUG
+#define ACE_HAS_SIGSUSPEND
+#define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIG_ATOMIC_T
#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-
-// Platform supports System V IPC (most versions of UNIX, but not Win32)
+#define ACE_HAS_SOCKADDR_IN_SIN_LEN
+#define ACE_HAS_SSIZE_T
+#define ACE_HAS_STRSIGNAL
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_SYSCTL
#define ACE_HAS_SYSV_IPC
-
-// Compiler/platform contains the <sys/syscall.h> file.
+#define ACE_HAS_SYS_FILIO_H
+#define ACE_HAS_SYS_SOCKIO_H
#define ACE_HAS_SYS_SYSCALL_H
+#define ACE_HAS_TERMIOS
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
+#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+#define ACE_HAS_UALARM
-#if (__FreeBSD_version >= 220000)
-#define ACE_HAS_VASPRINTF
-#endif
-
-#if (__FreeBSD_version >= 300000)
-#define ACE_HAS_SIGINFO_T
-#endif /* __FreeBSD_version >= 300000 */
-
-#if (__FreeBSD_version >= 320000)
-#define ACE_HAS_REENTRANT_FUNCTIONS
-#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
-#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
-#endif /* __FreeBSD_version >= 320000 */
-
-#if (__FreeBSD_version >= 440000)
-#define ACE_HAS_GETPROGNAME
-#define ACE_HAS_SETPROGNAME
-#endif
-
-#if (__FreeBSD_version < 501000)
-#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
-#endif
-
-#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_LACKS_SIGINFO_H
+#define ACE_LACKS_CONDATTR_PSHARED
+#define ACE_LACKS_ISCTYPE
+#define ACE_LACKS_ITOW
#define ACE_LACKS_LOG2
+#define ACE_LACKS_MALLOC_H
+#define ACE_LACKS_MUTEXATTR_PSHARED
+#define ACE_LACKS_SIGINFO_H
#define ACE_LACKS_SI_ADDR
+#define ACE_LACKS_STROPTS_H
+#define ACE_LACKS_STRRECVFD
+#define ACE_LACKS_THREAD_PROCESS_SCOPING
+#define ACE_LACKS_TIMESPEC_T
+#define ACE_LACKS_WCSDUP
+#define ACE_LACKS_WCSICMP
+#define ACE_LACKS_WCSNICMP
-// Compiler/platform supports SVR4 signal typedef
-#define ACE_HAS_SVR4_SIGNAL_T
-
-// Compiler/platform supports alloca().
-// Although ACE does have alloca() on this compiler/platform combination, it is
-// disabled by default since it can be dangerous. Uncomment the following line
-// if you ACE to use it.
-//#define ACE_HAS_ALLOCA
-
-// Compiler/platform supports SVR4 dynamic linking semantics..
-#define ACE_HAS_SVR4_DYNAMIC_LINKING
-
-// Compiler/platform correctly calls init()/fini() for shared libraries.
-#define ACE_HAS_AUTOMATIC_INIT_FINI
+#define ACE_NEEDS_SCHED_H
-// Explicit dynamic linking permits "lazy" symbol resolution
-#define ACE_HAS_RTLD_LAZY_V
+// Defines the page size of the system.
+#define ACE_PAGE_SIZE 4096
-// platform supports POSIX O_NONBLOCK semantics
-#define ACE_HAS_POSIX_NONBLOCK
+// Note, on FreeBSD 5, POSIX aio is now an optional kernel module which
+// must be loaded.
+// Read the aio(4) man page for what to do, otherwise any aio_* call
+// will coredump.
-// platform supports IP multicast
-#define ACE_HAS_IP_MULTICAST
+// By default use Proactor which does not use POSIX Real-time Signals.
+#ifdef ACE_HAS_AIO_CALLS
+# ifndef ACE_POSIX_AIOCB_PROACTOR
+# define ACE_POSIX_AIOCB_PROACTOR
+# endif /* ACE_POSIX_AIOCB_PROACTOR */
+#endif /* ACE_HAS_AIO_CALLS */
-// Lacks perfect filtering, must bind group address.
#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING
# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
-// Compiler/platform has <alloca.h>
-//#define ACE_HAS_ALLOCA_H
+//
+// Version specific settings
+//
-// Compiler/platform has the getrusage() system call.
-#define ACE_HAS_GETRUSAGE
-
-// Compiler/platform defines the sig_atomic_t typedef.
-#define ACE_HAS_SIG_ATOMIC_T
-
-// Compiler/platform supports sys_siglist array.
-// *** This refers to (_sys_siglist) instead of (sys_siglist)
-// #define ACE_HAS_SYS_SIGLIST
-
-// Compiler/platform defines a union semun for SysV shared memory.
-#define ACE_HAS_SEMUN
+#if (__FreeBSD_version >= 220000)
+# define ACE_HAS_VASPRINTF
+#endif
-// Compiler supports the ssize_t typedef.
-#define ACE_HAS_SSIZE_T
+#if (__FreeBSD_version >= 300000)
+# define ACE_HAS_SIGINFO_T
+#endif /* __FreeBSD_version >= 300000 */
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
+#if (__FreeBSD_version >= 320000)
+# define ACE_HAS_REENTRANT_FUNCTIONS
+# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+#endif /* __FreeBSD_version >= 320000 */
-// Compiler/platform provides the sockio.h file.
-#define ACE_HAS_SYS_SOCKIO_H
+#if (__FreeBSD_version > 400000)
+# define ACE_HAS_UCONTEXT_T
+# define ACE_HAS_SOCKLEN_T
+# define ACE_HAS_GETIFADDRS
+# define ACE_HAS_PTHREADS_UNIX98_EXT
+#endif
-// Defines the page size of the system.
-#define ACE_PAGE_SIZE 4096
+#if (__FreeBSD_version < 400000)
+# define ACE_LACKS_SIGSET
+# define ACE_LACKS_RWLOCK_T
+# define ACE_LACKS_READDIR_R
+# define ACE_LACKS_SETSCHED
+# define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+# define ACE_LACKS_UCONTEXT_H
+# define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
-// Platform provides <sys/filio.h> header.
-#define ACE_HAS_SYS_FILIO_H
+enum schedparam_policy {
+ SCHED_RR,
+ SCHED_IO,
+ SCHED_FIFO,
+ SCHED_OTHER
+};
+#endif
-// Platform/compiler supports timezone * as second parameter to gettimeofday().
-#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+#if (__FreeBSD_version < 420000)
+# define ACE_LACKS_GETPGID
+# define ACE_LACKS_SETPGID
+# define ACE_LACKS_SETREGID
+# define ACE_LACKS_SETREUID
+# define ACE_LACKS_PTHREAD_CANCEL
+#endif /* __FreeBSD_version < 420000 */
-#define ACE_HAS_MSG
-#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#if (__FreeBSD_version >= 440000)
+# define ACE_HAS_GETPROGNAME
+# define ACE_HAS_SETPROGNAME
+#endif
#if (__FreeBSD_version < 500100)
-# define ACE_HAS_NONCONST_MSGSND
+# define ACE_HAS_NONCONST_MSGSND
#endif
-// Thread specific settings
-// Yes, we do have threads.
-#ifdef ACE_HAS_THREADS
-#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
-#endif /* ! ACE_MT_SAFE */
-#endif /* ACE_HAS_THREADS */
-
-#define ACE_LACKS_THREAD_PROCESS_SCOPING
-#define ACE_LACKS_CONDATTR_PSHARED
-#define ACE_LACKS_MUTEXATTR_PSHARED
-#define ACE_HAS_THREAD_SPECIFIC_STORAGE
-#define ACE_HAS_DIRENT
-
-#define ACE_HAS_SIGWAIT
-
-// Platform has POSIX terminal interface.
-#define ACE_HAS_TERMIOS
-
-#if (__FreeBSD_version > 400000)
-#define ACE_HAS_UCONTEXT_T
-#define ACE_HAS_SOCKLEN_T
-#define ACE_HAS_GETIFADDRS
-#define ACE_HAS_PTHREADS_UNIX98_EXT
+#if (__FreeBSD_version < 501000)
+# define ACE_LACKS_STDINT_H
+# define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
#endif
-// Note, on FreeBSD 5, POSIX aio is now an optional kernel module which
-// must be loaded.
-// Read the aio(4) man page for what to do, otherwise any aio_* call
-// will coredump.
-
-// By default use Proactor which does not use POSIX Real-time Signals.
-#ifdef ACE_HAS_AIO_CALLS
-# ifndef ACE_POSIX_AIOCB_PROACTOR
-# define ACE_POSIX_AIOCB_PROACTOR
-# endif /* ACE_POSIX_AIOCB_PROACTOR */
-#endif /* ACE_HAS_AIO_CALLS */
-
-#define ACE_LACKS_STROPTS_H
-
-// Needed when ACE_HAS_WCHAR is defined.
-#define ACE_LACKS_WCSNICMP
-#define ACE_LACKS_WCSICMP
-#define ACE_LACKS_WCSDUP
-#define ACE_LACKS_ITOW
-#define ACE_HAS_3_PARAM_WCSTOK
-#define ACE_HAS_3_PARAM_READDIR_R
-
#if (__FreeBSD_version >= 501000)
-# define ACE_HAS_PTHREAD_SETSTACK
+# define ACE_HAS_PTHREAD_SETSTACK
#endif
#if (__FreeBSD_version < 700007)
@@ -279,6 +206,10 @@ extern "C" { char * cuserid (char *s); }
# define ACE_HAS_LKSCTP
#endif
+#if (__FreeBSD_version < 700038)
+# define ACE_HAS_VOID_UNSETENV
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-g++-common.h b/ace/config-g++-common.h
index d4e06991558..51b02144e3b 100644
--- a/ace/config-g++-common.h
+++ b/ace/config-g++-common.h
@@ -29,6 +29,7 @@
#if (__GNUC__ < 3)
# define ACE_LACKS_MEMBER_TEMPLATES
+# define ACE_LACKS_NUMERIC_LIMITS
#endif /* __GNUC__ < 3 */
// __EXCEPTIONS is defined with -fexceptions, the egcs default. It
@@ -65,6 +66,30 @@
# define ACE_HAS_INTEL_ASSEMBLY
#endif
+#if !defined (ACE_HAS_GCC_CONSTRUCTOR_ATTRIBUTE)
+#define ACE_HAS_GCC_CONSTRUCTOR_ATTRIBUTE 1
+#endif
+
+#if !defined (ACE_HAS_GCC_DESTRUCTOR_ATTRIBUTE)
+#define ACE_HAS_GCC_DESTRUCTOR_ATTRIBUTE 1
+#endif
+
+#if !defined (ACE_HAS_GCC_DEPRECATED_ATTRIBUTE)
+#define ACE_HAS_GCC_DEPRECATED_ATTRIBUTE 1
+#endif
+
+#if (ACE_HAS_GCC_CONSTRUCTOR_ATTRIBUTE == 1)
+# define ACE_GCC_CONSTRUCTOR_ATTRIBUTE __attribute__ ((constructor))
+#endif
+
+#if (ACE_HAS_GCC_DESTRUCTOR_ATTRIBUTE == 1)
+# define ACE_GCC_DESTRUCTOR_ATTRIBUTE __attribute__ ((destructor))
+#endif
+
+#if (ACE_HAS_GCC_DEPRECATED_ATTRIBUTE == 1)
+#define ACE_DEPRECATED __attribute__ ((deprecated))
+#endif
+
// GNU g++ >= 4.x implements "#pragma once".
#if (__GNUC__ < 4) && !defined (ACE_LACKS_PRAGMA_ONCE)
// We define it with a -D with make depend.
@@ -73,7 +98,7 @@
// Take advantage of G++ (>= 4.x) visibility attributes to generate
// improved shared library binaries.
-#if (__GNUC__ >= 4) && !defined (__MINGW32__)
+#if (__GNUC__ >= 4) && !defined (__MINGW32__) && !defined (ACE_HAS_CEGCC)
# if defined (ACE_HAS_CUSTOM_EXPORT_MACROS) && ACE_HAS_CUSTOM_EXPORT_MACROS == 0
# undef ACE_HAS_CUSTOM_EXPORT_MACROS
@@ -124,6 +149,28 @@
# endif /* ACE_HAS_CUSTOM_EXPORT_MACROS == 0 */
#endif /* __GNU__ >= 4 */
+// GCC >= 4.1 provides __sync_XXXX builtins for use in atomic operations
+// although the builtins are provided globally they are not supported on all platforms
+#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 1))
+# if defined (__powerpc__)
+// The builtins seem to be provided for all powerpc platforms
+# define ACE_HAS_GCC_ATOMIC_BUILTINS 1
+# if ((__GNUC__ == 4) && (__GNUC_MINOR__ == 1) && (__GNUC_PATCHLEVEL__ == 1))
+// PPU GCC 4.1.1 doesn't have builtin atomic ops for size 1/2
+# define ACE_LACKS_GCC_ATOMIC_BUILTINS_2
+# define ACE_LACKS_GCC_ATOMIC_BUILTINS_1
+# endif
+# endif
+# if defined (__ia64)
+// The builtins seem to be provided for the IA64 platforms
+# define ACE_HAS_GCC_ATOMIC_BUILTINS 1
+# endif
+# if defined (__amd64__) || defined (__x86_64__)
+// The builtin's are provided also for 64bit linux
+# define ACE_HAS_GCC_ATOMIC_BUILTINS 1
+# endif
+#endif
+
#if defined (ACE_HAS_GNU_REPO)
// -frepo causes unresolved symbols of basic_string left- and
// right-shift operators with ACE_HAS_STRING_CLASS.
diff --git a/ace/config-hpux-11.00.h b/ace/config-hpux-11.00.h
index 3d5ca503100..8be52fe880a 100644
--- a/ace/config-hpux-11.00.h
+++ b/ace/config-hpux-11.00.h
@@ -284,17 +284,11 @@
#define ACE_HAS_XPG4_MULTIBYTE_CHAR
-/* Platform/compiler supports _sys_errlist symbol */
-#define ACE_HAS_SYS_ERRLIST 1
-
#define ACE_HAS_UALARM
// Platform supports ucontext_t (which is used in the extended signal API).
#define ACE_HAS_UCONTEXT_T
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Platform/compiler supports void * as second parameter to gettimeofday().
#define ACE_HAS_VOIDPTR_GETTIMEOFDAY
@@ -346,6 +340,9 @@
#define ACE_LACKS_ISWASCII
+#define ACE_LACKS_SETENV
+#define ACE_LACKS_UNSETENV
+
// Shared library name/path components
#if defined (__ia64)
# define ACE_DLL_SUFFIX ACE_TEXT (".so")
@@ -364,6 +361,7 @@
#define ACE_HAS_3_PARAM_READDIR_R
+#define ACE_LACKS_STRUCT_LIFNUM
//////////////////////////////////////////////////////////////////////////
//
diff --git a/ace/config-integritySCA.h b/ace/config-integritySCA.h
index d90770d6010..7103e9c8b2b 100644
--- a/ace/config-integritySCA.h
+++ b/ace/config-integritySCA.h
@@ -47,8 +47,7 @@
/***** ANSI defines *****/
#define ACE_LACKS_TEMPNAM /* believe it or not, this is ANSI C */
-#define ACE_HAS_STRERROR
-
+#define ACE_LACKS_PUTENV_PROTOTYPE
#define ACE_LACKS_SENDMSG
@@ -104,12 +103,9 @@
#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_SEMBUF_T
#define ACE_LACKS_UNIX_DOMAIN_SOCKETS
-#define ACE_LACKS_USER
-#define ACE_LACKS_FILE_FCNTL
#define ACE_LACKS_FCNTL
#define ACE_LACKS_UMASK
#define ACE_LACKS_SEEK
-#define ACE_LACKS_SHARED_MEMORY
#define ACE_LACKS_MSYNC
#define ACE_LACKS_PID_STUFF
#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
diff --git a/ace/config-irix6.x-common.h b/ace/config-irix6.x-common.h
index 7664ce4bf8e..394b2cf16f0 100644
--- a/ace/config-irix6.x-common.h
+++ b/ace/config-irix6.x-common.h
@@ -119,9 +119,6 @@
// Platform supports STREAMS.
#define ACE_HAS_STREAMS
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform supports struct strbuf.
#define ACE_HAS_STRBUF_T
diff --git a/ace/config-irix6.x-g++.h b/ace/config-irix6.x-g++.h
index 69455f27120..d2a4c11fb2f 100644
--- a/ace/config-irix6.x-g++.h
+++ b/ace/config-irix6.x-g++.h
@@ -8,16 +8,8 @@
#define ACE_CONFIG_H
#include /**/ "ace/pre.h"
-// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so
-// this must appear before its #include.
-#define ACE_HAS_STRING_CLASS
-
#include "ace/config-g++-common.h"
#include "ace/config-irix6.x-common.h"
-// Denotes that GNU has cstring.h as standard
-// which redefines memchr()
-#define ACE_HAS_GNU_CSTRING_H
-
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-linux-common.h b/ace/config-linux-common.h
index 69acd81901b..f8f764fc207 100644
--- a/ace/config-linux-common.h
+++ b/ace/config-linux-common.h
@@ -73,6 +73,7 @@
# if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 3)
# define ACE_HAS_RUSAGE_WHO_ENUM enum __rusage_who
# define ACE_HAS_RLIMIT_RESOURCE_ENUM enum __rlimit_resource
+# define ACE_LACKS_ISCTYPE
# endif
# define ACE_HAS_SOCKLEN_T
# define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
@@ -174,7 +175,7 @@
#elif defined (__DECCXX)
# define ACE_CONFIG_INCLUDE_CXX_COMMON
# include "ace/config-cxx-common.h"
-#elif defined (__SUNCC_PRO)
+#elif defined (__SUNCC_PRO) || defined (__SUNPRO_CC)
# include "ace/config-suncc-common.h"
#elif defined (__PGI)
// Portable group compiler
@@ -202,11 +203,13 @@
// Completely common part :-)
// Platform/compiler has the sigwait(2) prototype
-# define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIGWAIT
-# define ACE_HAS_SIGSUSPEND
+#define ACE_HAS_SIGSUSPEND
-# define ACE_HAS_UALARM
+#define ACE_HAS_UALARM
+
+#define ACE_HAS_STRSIGNAL
#if __GLIBC__ >= 2
#ifndef ACE_HAS_POSIX_REALTIME_SIGNALS
@@ -318,8 +321,11 @@
// Platform supplies scandir()
#define ACE_HAS_SCANDIR
+#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10)
// Although the scandir man page says otherwise, this setting is correct.
+// The setting was fixed in 2.10, so do not use the hack after that.
#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR
+#endif
// A conflict appears when including both <ucontext.h> and
// <sys/procfs.h> with recent glibc headers.
@@ -336,9 +342,6 @@
#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Don't define _XOPEN_SOURCE in ACE to make strptime() prototype
// visible. ACE shouldn't depend on feature test macros to make
// prototypes visible.
@@ -380,6 +383,11 @@
#define ACE_SIZEOF_WCHAR 4
+#if defined (__powerpc__) && !defined (ACE_SIZEOF_LONG_DOUBLE)
+// 32bit PowerPC Linux uses 128bit long double
+# define ACE_SIZEOF_LONG_DOUBLE 16
+#endif
+
#define ACE_LACKS_GETIPNODEBYADDR
#define ACE_LACKS_GETIPNODEBYNAME
@@ -387,12 +395,14 @@
#define ACE_HAS_TERMIOS
// Linux implements sendfile().
-#define ACE_HAS_SENDFILE
+#define ACE_HAS_SENDFILE 1
#define ACE_HAS_VOIDPTR_MMAP
#define ACE_HAS_ICMP_SUPPORT 1
+#define ACE_HAS_VASPRINTF
+
// According to man pages Linux uses different (compared to UNIX systems) types
// for setting IP_MULTICAST_TTL and IPV6_MULTICAST_LOOP / IP_MULTICAST_LOOP
// in setsockopt/getsockopt.
@@ -404,7 +414,9 @@
# include "ace/config-posix-nonetworking.h"
#else
# define ACE_HAS_NETLINK
-# define ACE_HAS_GETIFADDRS
+# if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
+# define ACE_HAS_GETIFADDRS
+# endif
#endif
#if !defined (ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO)
diff --git a/ace/config-lite.h b/ace/config-lite.h
index 0835426e27c..ca75345f247 100644
--- a/ace/config-lite.h
+++ b/ace/config-lite.h
@@ -122,13 +122,13 @@ ACE_END_VERSIONED_NAMESPACE_DECL
// Once all C++ compilers support the standard reverse_iterator
// adapters, we can drop this generator macro or at least drop the
// MSVC++ or Sun Studio preprocessor conditional blocks.
-#if defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x590 \
+#if defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x5100 \
&& !defined (_STLPORT_VERSION)
// If we're not using the stlport4 C++ library (which has standard
// iterators), we need to ensure this is included in order to test
// the _RWSTD_NO_CLASS_PARTIAL_SPEC feature test macro below.
# include <Cstd/stdcomp.h>
-#endif /* __SUNPRO_CC <= 0x580 */
+#endif /* __SUNPRO_CC <= 0x5100 */
#if (defined (_MSC_VER) && (_MSC_VER <= 1310) && defined (_WIN64)) \
|| defined (ACE_HAS_BROKEN_STD_REVERSE_ITERATOR)
// VC 7.1 and the latest 64-bit platform SDK still don't define a standard
@@ -137,7 +137,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL
typedef std::reverse_iterator<iterator, value_type> reverse_iterator; \
typedef std::reverse_iterator<const_iterator, \
value_type const> const_reverse_iterator;
-#elif defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x590 \
+#elif defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x5100 \
&& defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
# define ACE_DECLARE_STL_REVERSE_ITERATORS \
typedef std::reverse_iterator<iterator, \
diff --git a/ace/config-lynxos.h b/ace/config-lynxos.h
index b0c30ed6cca..e05a8f2f496 100644
--- a/ace/config-lynxos.h
+++ b/ace/config-lynxos.h
@@ -7,6 +7,13 @@
#define ACE_CONFIG_H
#include /**/ "ace/pre.h"
+// System include files are not in sys/, this gets rid of warning.
+#define __NO_INCLUDE_WARN__
+
+#define __FREEBSDCODE__
+#include <param.h>
+#undef __FREEBSDCODE__
+
#if ! defined (__ACE_INLINE__)
# define __ACE_INLINE__
#endif /* ! __ACE_INLINE__ */
@@ -32,7 +39,8 @@
// # define ACE_HAS_POWERPC_TIMER
#endif /* __x86__ || __powerpc__ */
-#define ACE_DEFAULT_BASE_ADDR ((char *) 0)
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_3_PARAM_READDIR_R
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
#define ACE_HAS_ALLOCA
#define ACE_HAS_ALLOCA_H
@@ -45,37 +53,55 @@
#define ACE_HAS_CLOCK_SETTIME
#define ACE_HAS_CPLUSPLUS_HEADERS
#define ACE_HAS_DIRENT
+#define ACE_HAS_GETIFADDRS
#define ACE_HAS_GETPAGESIZE
#define ACE_HAS_GETRUSAGE
-#define ACE_HAS_GNU_CSTRING_H
+#define ACE_HAS_GETRUSAGE_PROTOTYPE
#define ACE_HAS_GPERF
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
#define ACE_HAS_ICMP_SUPPORT 1
#define ACE_HAS_IP_MULTICAST
+#define ACE_HAS_MEMCHR
+#define ACE_HAS_MKDIR
#define ACE_HAS_MSG
+#define ACE_HAS_NANOSLEEP
+#define ACE_HAS_NEW_NOTHROW
#define ACE_HAS_NONCONST_CLOCK_SETTIME
#define ACE_HAS_NONCONST_MSGSND
#define ACE_HAS_NONCONST_READV
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
#define ACE_HAS_NONCONST_SETRLIMIT
#define ACE_HAS_NONCONST_WRITEV
+#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
#define ACE_HAS_POSIX_NONBLOCK
#define ACE_HAS_POSIX_TIME
#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
#define ACE_HAS_SCANDIR
+#define ACE_HAS_SIGACTION_CONSTP2
#define ACE_HAS_SIGINFO_T
+#define ACE_HAS_SIGSUSPEND
#define ACE_HAS_SIGTIMEDWAIT
#define ACE_HAS_SIGWAIT
#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_SIG_C_FUNC
+#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
+#define ACE_HAS_SOCKADDR_IN_SIN_LEN
+#define ACE_HAS_SOCKADDR_MSG_NAME
+#define ACE_HAS_SOCKLEN_T
#define ACE_HAS_SSIZE_T
#define ACE_HAS_STREAMS
-#define ACE_HAS_STRERROR
-#define ACE_HAS_SYS_SIGLIST
+#define ACE_HAS_STRINGS
+#define ACE_HAS_STRING_CLASS
+#define ACE_HAS_SYSCTL
+#define ACE_HAS_SYS_FILIO_H
#define ACE_HAS_SYS_SOCKIO_H
#define ACE_HAS_TERMIOS
#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+
#define ACE_LACKS_ALPHASORT_PROTOTYPE
#define ACE_LACKS_CONST_TIMESPEC_PTR
#define ACE_LACKS_GETPGID
+#define ACE_LACKS_ISCTYPE
#define ACE_LACKS_MADVISE
#define ACE_LACKS_MKSTEMP_PROTOTYPE
#define ACE_LACKS_MKTEMP_PROTOTYPE
@@ -88,17 +114,17 @@
#define ACE_LACKS_SETEUID
#define ACE_LACKS_SIGINFO_H
#define ACE_LACKS_STRPTIME
-#define ACE_LACKS_SUSECONDS_T
#define ACE_LACKS_SWAB_PROTOTYPE
#define ACE_LACKS_TIMESPEC_T
#define ACE_LACKS_UCONTEXT_H
-#define ACE_LACKS_VSNPRINTF
-#define ACE_LACKS_WCHAR_H
+#define ACE_LACKS_SUSECONDS_T
+
+#define ACE_DEFAULT_BASE_ADDR ((char *) 0)
+#define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS
#define ACE_MALLOC_ALIGN 8
#define ACE_PAGE_SIZE 4096
#define ACE_POSIX_SIG_PROACTOR
#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR
-#define ACE_LACKS_ISCTYPE
// LynxOS has poll.h but it is unusable since implementation is not provided
#define ACE_LACKS_POLL_H
@@ -106,34 +132,25 @@
#if ACE_MT_SAFE == 1
// Platform supports threads.
# define ACE_HAS_PTHREADS
+# define ACE_HAS_PTHREADS_STD
+# define ACE_HAS_PTHREADS_UNIX98_EXT
+# define ACE_HAS_PTHREAD_GETCONCURRENCY
+# define ACE_HAS_PTHREAD_SETCONCURRENCY
+# define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE
# define ACE_HAS_THREAD_SPECIFIC_STORAGE
-# define ACE_LACKS_NULL_PTHREAD_STATUS
-# define ACE_LACKS_THREAD_PROCESS_SCOPING
# define ACE_LACKS_PTHREAD_ATTR_SETSTACK
+# define ACE_LACKS_THREAD_PROCESS_SCOPING
# if ACE_LYNXOS_MAJOR == 4 && ACE_LYNXOS_MINOR == 0
# define ACE_LACKS_SETDETACH
# define ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR
# endif
#endif /* ACE_MT_SAFE */
-#if __GNUC__ < 3
-# define ACE_LACKS_NUMERIC_LIMITS
-#endif /* __GNUC__ < 3 */
-
// By default, don't include RCS Id strings in object code.
#if !defined (ACE_USE_RCSID)
# define ACE_USE_RCSID 0
#endif /* ! ACE_USE_RCSID */
-// System include files are not in sys/, this gets rid of warning.
-#define __NO_INCLUDE_WARN__
-
-// "changes signedness" error (OS.i and many other files)
-#define ACE_HAS_SOCKLEN_T
-// LSOCK.cpp uses a macro from param.h, not included
-#define ALIGNBYTES (sizeof(int) - 1)
-#define ALIGN(p) (((unsigned)p + ALIGNBYTES) & ~ALIGNBYTES)
-
#if ACE_LYNXOS_MAJOR == 4 && ACE_LYNXOS_MINOR == 0
# define ACE_LACKS_GETOPT_PROTOTYPE
# define ACE_LACKS_INET_ATON_PROTOTYPE
@@ -141,7 +158,6 @@
# define ACE_LACKS_STRCASECMP_PROTOTYPE
# define ACE_LACKS_STRNCASECMP_PROTOTYPE
# define ACE_LACKS_SYS_SELECT_H
-# define ACE_HAS_NONCONST_GETBY
#endif
#if (ACE_LYNXOS_MAJOR > 4) || (ACE_LYNXOS_MAJOR == 4 && ACE_LYNXOS_MINOR >= 2)
@@ -152,25 +168,27 @@
#if (ACE_LYNXOS_MAJOR >=5)
// LynxOS 5.0 Additons
-# define ACE_HAS_LYNXOS50_SIGNALS
-# define ACE_LACKS_SYS_SEM_H
-# define ACE_LACKS_STROPTS_H
-# define ACE_LACKS_SEMBUF_T
+# define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
+# define ACE_HAS_NONCONST_INET_ADDR
# define ACE_LACKS_INET_ATON_PROTOTYPE
+# define ACE_LACKS_SEMBUF_T
+# define ACE_LACKS_STROPTS_H
# define ACE_LACKS_STRRECVFD
-# define ACE_LACKS_MKSTEMP
-# define ACE_LACKS_RLIMIT
-# define __NO_INCLUDE_WARN__
-# define _sys_siglist __sys_siglist
-# define ACE_HAS_NONCONST_GETBY
+# define ACE_LACKS_SYS_SEM_H
+# define ACE_SYS_SIGLIST __sys_siglist
#else
// LynxOS 5.0 Removals
-# define ACE_HAS_LYNXOS_SIGNALS
+# define ACE_HAS_LYNXOS4_SIGNALS
# define ACE_HAS_SEMUN
# define ACE_HAS_STRBUF_T
# define ACE_HAS_SYSV_IPC
-# define ACE_LACKS_USECONDS_T
# define ACE_LACKS_ISBLANK
+# define ACE_LACKS_SETENV
+# define ACE_LACKS_UNSETENV
+# define ACE_LACKS_USECONDS_T
+# define ACE_LACKS_VSNPRINTF
+# define ACE_LACKS_WCHAR_H
+# define ACE_SYS_SIGLIST sys_siglist
#endif
#if defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
diff --git a/ace/config-macosx-iphone-hardware.h b/ace/config-macosx-iphone-hardware.h
new file mode 100644
index 00000000000..087146899ac
--- /dev/null
+++ b/ace/config-macosx-iphone-hardware.h
@@ -0,0 +1,15 @@
+// $Id$
+#ifndef ACE_CONFIG_MACOSX_IPHONE_HARDWARE_H
+#define ACE_CONFIG_MACOSX_IPHONE_HARDWARE_H
+
+#define ACE_HAS_IPHONE
+#define ACE_SIZEOF_LONG_DOUBLE 8
+
+#include "ace/config-macosx-snowleopard.h"
+
+#ifdef ACE_HAS_SYSV_IPC
+#undef ACE_HAS_SYSV_IPC
+#endif
+
+#endif ACE_CONFIG_MACOSX_IPHONE_HARDWARE_H
+
diff --git a/ace/config-macosx-iphone-simulator.h b/ace/config-macosx-iphone-simulator.h
new file mode 100644
index 00000000000..86ca00538fc
--- /dev/null
+++ b/ace/config-macosx-iphone-simulator.h
@@ -0,0 +1,9 @@
+// $Id$
+#ifndef ACE_CONFIG_MACOSX_IPHONE_SIMULATOR_H
+#define ACE_CONFIG_MACOSX_IPHONE_SIMULATOR_H
+
+#define ACE_HAS_IPHONE
+#include "ace/config-macosx-snowleopard.h"
+
+#endif ACE_CONFIG_MACOSX_IPHONE_SIMULATOR_H
+
diff --git a/ace/config-macosx-leopard.h b/ace/config-macosx-leopard.h
index a8678fd6490..54149d39421 100644
--- a/ace/config-macosx-leopard.h
+++ b/ace/config-macosx-leopard.h
@@ -6,6 +6,9 @@
#ifndef ACE_CONFIG_MACOSX_LEOPARD_H
#define ACE_CONFIG_MACOSX_LEOPARD_H
+#define ACE_HAS_MAC_OSX
+#define ACE_HAS_NET_IF_DL_H
+
#if ! defined (__ACE_INLINE__)
#define __ACE_INLINE__
#endif /* ! __ACE_INLINE__ */
@@ -85,9 +88,6 @@
//Platform supports sigsuspend()
#define ACE_HAS_SIGSUSPEND
-//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
-#define ACE_HAS_SIG_MACROS
-
#define ACE_LACKS_GETPGID
#define ACE_LACKS_RWLOCK_T
@@ -96,9 +96,6 @@
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-//?
-#define ACE_LACKS_SIGSET
-
#define ACE_NEEDS_SCHED_H
// Use of <malloc.h> is deprecated.
@@ -115,6 +112,7 @@
#define ACE_LACKS_STRRECVFD
+#define ACE_HAS_SOCKADDR_IN_SIN_LEN
#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
// Platform supports System V IPC (most versions of UNIX, but not Win32)
@@ -147,9 +145,6 @@
// Compiler supports the ssize_t typedef.
#define ACE_HAS_SSIZE_T
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform provides the sockio.h file.
#define ACE_HAS_SYS_SOCKIO_H
@@ -205,6 +200,11 @@
#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
#define ACE_LACKS_UNNAMED_SEMAPHORE
+#if !defined (__DARWIN_UNIX03)
+#define ACE_HAS_VOID_UNSETENV
+#endif
+
+
// dlcompat package (not part of base Darwin) is needed for dlopen().
// You may download directly from sourceforge and install or use fink
// Fink installer puts libraries in /sw/lib and headers in /sw/include
diff --git a/ace/config-macosx-panther.h b/ace/config-macosx-panther.h
index b6bc04449c8..5075f385fb8 100644
--- a/ace/config-macosx-panther.h
+++ b/ace/config-macosx-panther.h
@@ -46,9 +46,6 @@
//Platform supports sigsuspend()
#define ACE_HAS_SIGSUSPEND
-//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
-#define ACE_HAS_SIG_MACROS
-
//#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
#define ACE_LACKS_GETPGID
#define ACE_LACKS_RWLOCK_T
@@ -58,9 +55,6 @@
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-//?
-#define ACE_LACKS_SIGSET
-
#define ACE_NEEDS_SCHED_H
// Use of <malloc.h> is deprecated.
@@ -113,9 +107,6 @@
// Compiler supports the ssize_t typedef.
#define ACE_HAS_SSIZE_T
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform provides the sockio.h file.
#define ACE_HAS_SYS_SOCKIO_H
diff --git a/ace/config-macosx-snowleopard.h b/ace/config-macosx-snowleopard.h
new file mode 100644
index 00000000000..4094eab621c
--- /dev/null
+++ b/ace/config-macosx-snowleopard.h
@@ -0,0 +1,10 @@
+// $Id$
+#ifndef ACE_CONFIG_MACOSX_SNOWLEOPARD_H
+#define ACE_CONFIG_MACOSX_SNOWLEOPARD_H
+
+#include "ace/config-macosx-leopard.h"
+
+// This header has been deprecated in Snow Leopard.
+#define ACE_LACKS_UCONTEXT_H
+
+#endif ACE_CONFIG_MACOSX_SNOWLEOPARD_H
diff --git a/ace/config-macosx-tiger.h b/ace/config-macosx-tiger.h
index 60049cb3b79..45a1d631f84 100644
--- a/ace/config-macosx-tiger.h
+++ b/ace/config-macosx-tiger.h
@@ -76,9 +76,6 @@
//Platform supports sigsuspend()
#define ACE_HAS_SIGSUSPEND
-//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
-#define ACE_HAS_SIG_MACROS
-
#define ACE_LACKS_GETPGID
#define ACE_LACKS_RWLOCK_T
@@ -87,9 +84,6 @@
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-//?
-#define ACE_LACKS_SIGSET
-
#define ACE_NEEDS_SCHED_H
// Use of <malloc.h> is deprecated.
@@ -138,9 +132,6 @@
// Compiler supports the ssize_t typedef.
#define ACE_HAS_SSIZE_T
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform provides the sockio.h file.
#define ACE_HAS_SYS_SOCKIO_H
@@ -212,6 +203,9 @@
// gperf seems to need this
//#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+#define ACE_LACKS_UNSETENV
+#define ACE_LACKS_ISCTYPE
+
#if defined(__APPLE_CC__) && (__APPLE_CC__ < 1173)
#error "Compiler must be upgraded, see http://developer.apple.com"
#endif /* __APPLE_CC__ */
diff --git a/ace/config-macosx.h b/ace/config-macosx.h
index 513a2d3d890..5efe7916234 100644
--- a/ace/config-macosx.h
+++ b/ace/config-macosx.h
@@ -47,9 +47,6 @@
//Platform supports sigsuspend()
#define ACE_HAS_SIGSUSPEND
-//Platform/compiler has macros for sig{empty,fill,add,del}set (e.g., SCO and FreeBSD)
-#define ACE_HAS_SIG_MACROS
-
//#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
#define ACE_LACKS_GETPGID
#define ACE_LACKS_RWLOCK_T
@@ -61,9 +58,6 @@
#define ACE_HAS_SYSCTL
-//?
-#define ACE_LACKS_SIGSET
-
#define ACE_NEEDS_SCHED_H
// Use of <malloc.h> is deprecated.
@@ -115,9 +109,6 @@
// Compiler supports the ssize_t typedef.
#define ACE_HAS_SSIZE_T
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform provides the sockio.h file.
#define ACE_HAS_SYS_SOCKIO_H
diff --git a/ace/config-macros.h b/ace/config-macros.h
index b980f998f19..175fb171e5a 100644
--- a/ace/config-macros.h
+++ b/ace/config-macros.h
@@ -395,7 +395,7 @@
# endif /* ghs || __GNUC__ || ..... */
#endif /* !ACE_UNUSED_ARG */
-#if defined (_MSC_VER) || defined(__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (ACE_RM544) || defined (__USLC__) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM) || (defined (__HP_aCC) && (__HP_aCC >= 60500))
+#if defined (_MSC_VER) || defined(__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (ACE_RM544) || defined (__USLC__) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM) || (defined (__HP_aCC) && (__HP_aCC < 40000 || __HP_aCC >= 60500))
# define ACE_NOTREACHED(a)
#else /* __sgi || ghs || ..... */
# define ACE_NOTREACHED(a) a
@@ -455,7 +455,8 @@
#if defined (ACE_WIN32)
# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
do { \
- TYPE ace_result_ = (TYPE) X; \
+ TYPE ace_result_; \
+ ace_result_ = (TYPE) X; \
if (ace_result_ == FAILVALUE) \
ACE_OS::set_errno_to_last_error (); \
return ace_result_; \
@@ -635,4 +636,16 @@ extern "C" u_long CLS##_Export _get_dll_unload_policy (void) \
#define ACE_LD_DECORATOR_STR ACE_TEXT( MPC_LIB_MODIFIER )
#endif /* MPC_LIB_MODIFIER */
+#ifndef ACE_GCC_CONSTRUCTOR_ATTRIBUTE
+# define ACE_GCC_CONSTRUCTOR_ATTRIBUTE
+#endif
+
+#ifndef ACE_GCC_DESTRUCTOR_ATTRIBUTE
+# define ACE_GCC_DESTRUCTOR_ATTRIBUTE
+#endif
+
+#ifndef ACE_DEPRECATED
+# define ACE_DEPRECATED
+#endif
+
#endif /* ACE_CONFIG_MACROS_H */
diff --git a/ace/config-mvs.h b/ace/config-mvs.h
index 785f94209d2..f5f7be3c110 100644
--- a/ace/config-mvs.h
+++ b/ace/config-mvs.h
@@ -42,7 +42,6 @@
#define ERRMAX __sys_nerr
#define ACE_HAS_3_PARAM_WCSTOK
-#define ACE_HAS_BROKEN_CTIME
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
#define ACE_HAS_CPLUSPLUS_HEADERS
#define ACE_HAS_DIRENT
@@ -66,7 +65,6 @@
#define ACE_HAS_SOCKADDR_IN_SIN_LEN
#define ACE_HAS_SIZET_SOCKET_LEN
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
#define ACE_HAS_STRBUF_T
#define ACE_HAS_STRINGS
#define ACE_HAS_SYSV_IPC
@@ -84,7 +82,6 @@
#define ACE_LACKS_CONDATTR_PSHARED
#define ACE_LACKS_INET_ATON
-#define ACE_LACKS_MSGBUF_T
#define ACE_LACKS_MUTEXATTR_PSHARED
#define ACE_LACKS_IOSTREAM_FX
#define ACE_LACKS_LINEBUFFERED_STREAMBUF
@@ -101,7 +98,6 @@
#define ACE_LACKS_SEMAPHORE_H
#define ACE_LACKS_SIGINFO_H
#define ACE_LACKS_STDINT_H
-#define ACE_LACKS_SYS_NERR
#define ACE_LACKS_SYS_SELECT_H
#define ACE_LACKS_SYS_SYSCTL_H
#define ACE_LACKS_SYSTIME_H
diff --git a/ace/config-netbsd.h b/ace/config-netbsd.h
index 999b66ce5e5..583055b38e2 100644
--- a/ace/config-netbsd.h
+++ b/ace/config-netbsd.h
@@ -41,7 +41,6 @@
#define ACE_HAS_GETPROGNAME 1
#define ACE_HAS_GETRUSAGE 1
#define ACE_HAS_GETRUSAGE_PROTOTYPE 1
-#define ACE_HAS_GNU_CSTRING_H 1
#define ACE_HAS_GPERF 1
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT 1
#define ACE_HAS_IP_MULTICAST 1
@@ -72,14 +71,12 @@
#define ACE_HAS_SSIZE_T 1
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#define ACE_HAS_STDEXCEPT_NO_H 1
-#define ACE_HAS_STRERROR 1
#define ACE_HAS_STRINGS 1
#define ACE_HAS_STRING_CLASS 1
#define ACE_HAS_SVR4_DYNAMIC_LINKING 1
#define ACE_HAS_SYSV_IPC 1
-#define ACE_HAS_SYS_ERRLIST 1
#define ACE_HAS_SYS_FILIO_H 1
-#define ACE_HAS_SYS_SIGLIST 1
+#define ACE_HAS_STRSIGNAL
#define ACE_HAS_SYS_SOCKIO_H 1
#define ACE_HAS_SYS_SYSCALL_H 1
#define ACE_HAS_SYSCTL
@@ -123,8 +120,6 @@
#define ACE_LACKS_WCSICMP 1
#define ACE_LACKS_WCSNICMP 1
#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR 1
-#define ACE_LACKS_WSCANF
-#define ACE_LACKS_SWSCANF
#define ACE_LACKS_ISCTYPE
#if defined(__x86_64__)
diff --git a/ace/config-openbsd.h b/ace/config-openbsd.h
index 2ee50da19c8..78d03547e9a 100644
--- a/ace/config-openbsd.h
+++ b/ace/config-openbsd.h
@@ -5,231 +5,204 @@
// platforms using GNU g++.
#ifndef ACE_CONFIG_H
-#define ACE_CONFIG_H
+# define ACE_CONFIG_H
#include /**/ "ace/pre.h"
+// Platform specific directives
+// gcc defines __OpenBSD__ automatically for us.
+#include <sys/param.h>
+
#if defined (ACE_HAS_THREADS)
-#include /**/ <pthread.h>
+# include /**/ <pthread.h>
#endif /* ACE_HAS_THREADS */
#include "ace/config-posix.h"
-#if ! defined (__ACE_INLINE__)
-#define __ACE_INLINE__
-#endif /* ! __ACE_INLINE__ */
-
-#define ACE_SIZEOF_LONG_DOUBLE 12
+#if !defined (__ACE_INLINE__)
+# define __ACE_INLINE__
+#endif /* !__ACE_INLINE__ */
#if defined (__GNUG__)
# include "ace/config-g++-common.h"
#endif /* __GNUG__ */
-// Platform specific directives
-// gcc defines __OpenBSD__ automatically for us.
-#include <sys/param.h>
#if defined (ACE_HAS_THREADS)
-#if !defined (_THREAD_SAFE)
-#define _THREAD_SAFE
-#endif /* _THREAD_SAFE */
+
+# if !defined (_THREAD_SAFE)
+# define _THREAD_SAFE
+# endif /* _THREAD_SAFE */
+
+// And they're even POSIX pthreads
+# if !defined (ACE_MT_SAFE)
+# define ACE_MT_SAFE 1
+# endif /* ! ACE_MT_SAFE */
+
// Check if pthreads and native exceptions are being used together.
// This causes SEGVs to tbe thrown somewhat randomly for some
// reason. According to newsgroup postings, it appears to be an
// OpenBSD or gcc bug.
-#if defined (ACE_USES_NATIVE_EXCEPTIONS)
-#error "OpenBSD pthreads and native exceptions currently do not work. See OpenBSD bug #1750"
-#endif /* ACE_USES_NATIVE_EXCEPTIONS */
+# if defined (ACE_USES_NATIVE_EXCEPTIONS)
+# error "OpenBSD pthreads and native exceptions currently do not work. See OpenBSD bug #1750"
+# endif /* ACE_USES_NATIVE_EXCEPTIONS */
+
+#else
+// OpenBSD really has readdir_r () in single threaded mode,
+// but the #ifdefs in OS.i select one with the wrong parameter
+// sets if the ACE_HAS_POSIX_STD isn't defined (which is defined
+// when ACE_HAS_THREADS is defined.)
+# define ACE_LACKS_READDIR_R
#endif /* ACE_HAS_THREADS */
+
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_3_PARAM_READDIR_R
+#define ACE_HAS_3_PARAM_WCSTOK
+#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_ALLOCA
+#define ACE_HAS_ALT_CUSERID
+#define ACE_HAS_AUTOMATIC_INIT_FINI
+#define ACE_HAS_CHARPTR_DL
+#define ACE_HAS_CLOCK_GETTIME
+#define ACE_HAS_CLOCK_SETTIME
+#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
+#define ACE_HAS_DIRENT
+#define ACE_HAS_GETIFADDRS
+#define ACE_HAS_GETPAGESIZE
+#define ACE_HAS_GETRUSAGE
#define ACE_HAS_GPERF
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+#define ACE_HAS_ICMP_SUPPORT 1
+#define ACE_HAS_IPV6
+#define ACE_HAS_IP_MULTICAST
+#define ACE_HAS_MEMCHR
+#define ACE_HAS_MKDIR
+#define ACE_HAS_MSG
+#define ACE_HAS_NANOSLEEP
+#define ACE_HAS_NEW_NO_H
+#define ACE_HAS_NONCONST_MSGSND
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+#define ACE_HAS_NONCONST_SWAB
+#define ACE_HAS_POLL
+#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
+#define ACE_HAS_POSIX_GETPWNAM_R
+#define ACE_HAS_POSIX_NONBLOCK
+#define ACE_HAS_POSIX_TIME
+#define ACE_HAS_PTHREADS_STD
+#define ACE_HAS_PTHREADS_UNIX98_EXT
+#define ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP
+#define ACE_HAS_PTHREAD_GETCONCURRENCY
+#define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP
+#define ACE_HAS_PTHREAD_NP_H
+#define ACE_HAS_PTHREAD_RESUME_NP
+#define ACE_HAS_PTHREAD_SETCONCURRENCY
+#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE
+#define ACE_HAS_PTHREAD_SUSPEND_NP
+#define ACE_HAS_P_READ_WRITE
+#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+#define ACE_HAS_REENTRANT_FUNCTIONS
+#define ACE_HAS_RTLD_LAZY_V
+#define ACE_HAS_SCANDIR
+#define ACE_HAS_SEMUN
+#define ACE_HAS_SIGACTION_CONSTP2
+#define ACE_HAS_SIGINFO_T
+#define ACE_HAS_SIGSUSPEND
+#define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_SIG_C_FUNC
+#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
+#define ACE_HAS_SOCKADDR_IN_SIN_LEN
+#define ACE_HAS_SOCKADDR_MSG_NAME
+#define ACE_HAS_SOCKLEN_T
+#define ACE_HAS_SSIZE_T
+#define ACE_HAS_STRINGS
+#define ACE_HAS_STRING_CLASS
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_SYSCTL
+#define ACE_HAS_SYSV_IPC
+#define ACE_HAS_SYS_FILIO_H
+#define ACE_HAS_STRSIGNAL
+#define ACE_HAS_SYS_SOCKIO_H
+#define ACE_HAS_SYS_SYSCALL_H
+#define ACE_HAS_TERMIOS
+#define ACE_HAS_THREAD_SPECIFIC_STORAGE
+#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
+#define ACE_HAS_UALARM
+#define ACE_HAS_VASPRINTF
+#define ACE_HAS_VOIDPTR_MMAP
+#define ACE_HAS_VOIDPTR_SOCKOPT
+#define ACE_HAS_VOID_UNSETENV
+#define ACE_HAS_WCHAR
+#define ACE_HAS_XPG4_MULTIBYTE_CHAR
-// Platform specific directives
-/* Are the following true? */
+#define ACE_LACKS_CONDATTR_PSHARED
+#define ACE_LACKS_GETIPNODEBYADDR
+#define ACE_LACKS_GETIPNODEBYNAME
#define ACE_LACKS_GETPGID
+#define ACE_LACKS_IOSTREAM_FX
+#define ACE_LACKS_ISCTYPE
+#define ACE_LACKS_ITOW
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+#define ACE_LACKS_LOG2
+#define ACE_LACKS_MALLOC_H
+#define ACE_LACKS_MSG_ACCRIGHTS
+#define ACE_LACKS_MUTEXATTR_PSHARED
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+#define ACE_LACKS_PERFECT_MULTICAST_FILTERING
+#define ACE_LACKS_PRI_T
+#define ACE_LACKS_PTHREAD_THR_SIGSETMASK
+#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
+#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
+#define ACE_LACKS_RLIMIT_PROTOTYPE
+#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_SETPGID
#define ACE_LACKS_SETREGID
#define ACE_LACKS_SETREUID
+#define ACE_LACKS_SETSCHED
+#define ACE_LACKS_SIGINFO_H
+#define ACE_LACKS_STDINT_H
+#define ACE_LACKS_STROPTS_H
+#define ACE_LACKS_STRRECVFD
+#define ACE_LACKS_TERMIO_H
+#define ACE_LACKS_THREAD_PROCESS_SCOPING
+#define ACE_LACKS_TIMEDWAIT_PROTOTYPES
+#define ACE_LACKS_TIMESPEC_T
+#define ACE_LACKS_UCONTEXT_H
+#define ACE_LACKS_UNBUFFERED_STREAMBUF
+#define ACE_LACKS_U_LONGLONG_T
+#define ACE_LACKS_WCHAR_H
+#define ACE_LACKS_WCSCASECMP
+#define ACE_LACKS_WCSDUP
+#define ACE_LACKS_WCSNCASECMP
+#define ACE_LACKS_WCSNICMP
-#define ACE_HAS_ALT_CUSERID
-#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
-
-#define ACE_LACKS_RWLOCK_T
-#define ACE_HAS_SIG_MACROS
-#define ACE_HAS_CHARPTR_DL
-#define ACE_HAS_DIRENT
+#define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS
+#define ACE_PAGE_SIZE 4096
+#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR
+#define ACE_SCANDIR_SEL_LACKS_CONST
// OpenBSD 3.6
#if (OpenBSD < 200411)
# define ACE_USES_ASM_SYMBOL_IN_DLSYM
#endif
-#define ACE_LACKS_UCONTEXT_H
-
// ucontext_t is in OpenBSD 3.5 and later.
#if (OpenBSD >= 200405)
# define ACE_HAS_UCONTEXT_T
#endif /* OpenBSD >= 200405 */
-
-// OpenBSD has sigwait defined
-#define ACE_HAS_SIGWAIT
-#define ACE_HAS_SIGINFO_T
-
-#define ACE_HAS_REENTRANT_FUNCTIONS
-#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
-#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
-#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
-#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
-
-#define ACE_HAS_SOCKLEN_T
-
-#define ACE_HAS_POLL
-
-// Use of <malloc.h> is deprecated.
-#define ACE_LACKS_MALLOC_H
-
-// NetBSD appears to have a sigset_t type.
-// #define ACE_LACKS_SIGSET
-
-// Platform supports POSIX timers via struct timespec.
-#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_UALARM
-
-// Platform defines struct timespec but not timespec_t
-#define ACE_LACKS_TIMESPEC_T
-
-#define ACE_LACKS_STDINT_H
-#define ACE_LACKS_STROPTS_H
-#define ACE_LACKS_WCHAR_H
-
-#define ACE_LACKS_STRRECVFD
-
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-
-// Platform supports System V IPC (most versions of UNIX, but not Win32)
-#define ACE_HAS_SYSV_IPC
-
-// Compiler/platform contains the <sys/syscall.h> file.
-#define ACE_HAS_SYS_SYSCALL_H
-
-// OpenBSD supports the getifaddrs interface
-#define ACE_HAS_GETIFADDRS
-
-// Compiler/platform supports SVR4 signal typedef
-#define ACE_HAS_SVR4_SIGNAL_T
-#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-
-// Compiler/platform supports alloca().
-// Although ACE does have alloca() on this compiler/platform combination, it is
-// disabled by default since it can be dangerous. Uncomment the following line
-// if you ACE to use it.
-//#define ACE_HAS_ALLOCA
-
-// Compiler/platform supports SVR4 dynamic linking semantics..
-#define ACE_HAS_SVR4_DYNAMIC_LINKING
-
-// Compiler/platform correctly calls init()/fini() for shared libraries.
-#define ACE_HAS_AUTOMATIC_INIT_FINI
-
-// Explicit dynamic linking permits "lazy" symbol resolution
-#define ACE_HAS_RTLD_LAZY_V
-
-// platform supports POSIX O_NONBLOCK semantics
-#define ACE_HAS_POSIX_NONBLOCK
-
-// platform supports IP multicast
-#define ACE_HAS_IP_MULTICAST
-
// Lacks perfect filtering, must bind group address.
#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING
-# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
+# define ACE_LACKS_PERFECT_MULTICAST_FILTERING
#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
-// Compiler/platform has <alloca.h>
-//#define ACE_HAS_ALLOCA_H
-
-// Compiler/platform has the getrusage() system call.
-#define ACE_HAS_GETRUSAGE
-
-// Compiler/platform defines the sig_atomic_t typedef.
-#define ACE_HAS_SIG_ATOMIC_T
-
-// Compiler/platform defines a union semun for SysV shared memory.
-#define ACE_HAS_SEMUN
-
-// Compiler supports the ssize_t typedef.
-#define ACE_HAS_SSIZE_T
-
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
-// Compiler/platform provides the sockio.h file.
-#define ACE_HAS_SYS_SOCKIO_H
-
-// Defines the page size of the system.
-#define ACE_PAGE_SIZE 4096
-
-// Platform provides <sys/filio.h> header.
-#define ACE_HAS_SYS_FILIO_H
-
-#define ACE_HAS_SYSCTL
-
-// Platform/compiler supports timezone * as second parameter to gettimeofday().
-#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
-
// OpenBSD's dlsym call segfaults when passed an invalid handle.
-// It seems as if most other OSs detect this and just report an
-// error.
+// It seems as if most other OSs detect this and just report an error.
#define ACE_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE
-#define ACE_HAS_MSG
-#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
-#define ACE_HAS_NONCONST_MSGSND
-
-#ifdef ACE_HAS_THREADS
-// Thread specific settings
-
-// And they're even POSIX pthreads
-#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
-#endif /* ! ACE_MT_SAFE */
-#endif /* ACE_HAS_THREADS */
-
-#define ACE_HAS_SIGWAIT
-
-// Optimize ACE_Handle_Set for select().
-#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
-#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_LACKS_THREAD_PROCESS_SCOPING
-#define ACE_LACKS_CONDATTR_PSHARED
-#define ACE_LACKS_MUTEXATTR_PSHARED
-#define ACE_HAS_THREAD_SPECIFIC_STORAGE
-#define ACE_HAS_DIRENT
-
-#if !defined (ACE_HAS_THREADS)
-// OpenBSD really has readdir_r () in single threaded mode,
-// but the #ifdefs in OS.i select one with the wrong parameter
-// sets if the ACE_HAS_POSIX_STD isn't defined (which is defined
-// when ACE_HAS_THREADS is defined.)
-
-#define ACE_LACKS_READDIR_R
-
-#endif /* ! ACE_HAD_THREADS */
-
-// Platform has POSIX terminal interface.
-#define ACE_HAS_TERMIOS
-
-// OpenBSD 3.2 lacks sched_setscheduler (see /usr/src/lib/libc_r/TODO)
-#define ACE_LACKS_SETSCHED
-
-// OpenBSD supports IPv6 by default, but ACE IPv6 code
-// has compile errors.
-//#define ACE_HAS_IPV6
-
-#define ACE_HAS_3_PARAM_READDIR_R
-
#include /**/ "ace/post.h"
+
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-openvms.h b/ace/config-openvms.h
index 5df116741d1..2f7f514ad78 100644
--- a/ace/config-openvms.h
+++ b/ace/config-openvms.h
@@ -35,7 +35,6 @@
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
-#undef clearerr
#undef memset
#undef memcpy
#undef memmove
@@ -107,7 +106,6 @@
#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R 1
#define ACE_HAS_3_PARAM_WCSTOK 1
#define ACE_HAS_SIGSUSPEND 1
-#define ACE_HAS_SIG_MACROS 1
#define ACE_HAS_SIGWAIT 1
#define ACE_HAS_SIGTIMEDWAIT 1
@@ -115,7 +113,6 @@
#define ACE_HAS_SIGISMEMBER_BUG
#define ACE_HAS_STRNLEN 1
#define ACE_HAS_STREAMS 1
-#define ACE_HAS_STRERROR 1
#define ACE_HAS_UALARM 1
#define ACE_HAS_VOIDPTR_MMAP 1
#define ACE_HAS_VOIDPTR_SOCKOPT 1
@@ -195,4 +192,7 @@
#define ACE_LACKS_ISCTYPE
#define ACE_LACKS_ISBLANK
+#define ACE_LACKS_SETENV
+#define ACE_LACKS_UNSETENV
+
#endif
diff --git a/ace/config-pharlap.h b/ace/config-pharlap.h
index 9df14fd9d96..3fd192d4612 100644
--- a/ace/config-pharlap.h
+++ b/ace/config-pharlap.h
@@ -23,6 +23,7 @@
// Fortunately, PharLap ETS offers much of the Win32 API. But it's still on
// Winsock 1.1
#define ACE_HAS_WINSOCK2 0
+#define ACE_HAS_WINSOCK1 1
// The TSS implementation doesn't pass muster on the TSS_Test, but it works
// well with ACE's TSS emulation.
diff --git a/ace/config-qnx-neutrino.h b/ace/config-qnx-neutrino.h
index ba53271f0b5..faa9cd7b94a 100644
--- a/ace/config-qnx-neutrino.h
+++ b/ace/config-qnx-neutrino.h
@@ -75,10 +75,8 @@
#define ACE_HAS_SIGISMEMBER_BUG
#define ACE_HAS_SIGWAIT
#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SIG_MACROS
#define ACE_HAS_SOCKADDR_IN_SIN_LEN
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
#define ACE_HAS_STRINGS
#define ACE_HAS_SVR4_GETTIMEOFDAY
#define ACE_HAS_TERMIOS
@@ -106,7 +104,8 @@
#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_SBRK
#define ACE_LACKS_SEEKDIR
-#define ACE_LACKS_SOCKET_BUFSIZ
+#define ACE_LACKS_SO_SNDBUF
+#define ACE_LACKS_SO_RCVBUF
#define ACE_LACKS_SOCKETPAIR
#define ACE_LACKS_STROPTS_H
#define ACE_LACKS_STREAM_MODULES
diff --git a/ace/config-qnx-rtp-62x.h b/ace/config-qnx-rtp-62x.h
index c7aa8eb08fe..c4b47749a38 100644
--- a/ace/config-qnx-rtp-62x.h
+++ b/ace/config-qnx-rtp-62x.h
@@ -51,11 +51,9 @@
#define ACE_HAS_SIGISMEMBER_BUG
#define ACE_HAS_SIGWAIT
#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SIG_MACROS
#define ACE_HAS_SOCKADDR_IN_SIN_LEN
#define ACE_HAS_SOCKLEN_T
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
#define ACE_HAS_STRINGS
#define ACE_HAS_SVR4_DYNAMIC_LINKING
#define ACE_HAS_SVR4_GETTIMEOFDAY
@@ -86,7 +84,8 @@
#define ACE_LACKS_POLL_H
#define ACE_LACKS_PTHREAD_THR_SIGSETMASK
#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_SOCKET_BUFSIZ
+#define ACE_LACKS_SO_SNDBUF
+#define ACE_LACKS_SO_RCVBUF
#define ACE_LACKS_STREAM_MODULES
#define ACE_LACKS_STROPTS_H
#define ACE_LACKS_STRPTIME
diff --git a/ace/config-qnx-rtp-common.h b/ace/config-qnx-rtp-common.h
index 66879685763..13fa05aa7c7 100644
--- a/ace/config-qnx-rtp-common.h
+++ b/ace/config-qnx-rtp-common.h
@@ -42,5 +42,9 @@
#define ACE_SIZEOF_DOUBLE 8
#define ACE_SIZEOF_FLOAT 4
+// At least qnx 6.3.2 uses a void return for unsetenv
+// This assumes that older versions do too.
+#define ACE_HAS_VOID_UNSETENV
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_QNX_RTP_COMMON_H */
diff --git a/ace/config-qnx-rtp-pre62x.h b/ace/config-qnx-rtp-pre62x.h
index f3696811662..57db93435df 100644
--- a/ace/config-qnx-rtp-pre62x.h
+++ b/ace/config-qnx-rtp-pre62x.h
@@ -48,12 +48,10 @@
#define ACE_HAS_SIGISMEMBER_BUG
#define ACE_HAS_SIGWAIT
#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SIG_MACROS
#define ACE_HAS_SOCKADDR_IN_SIN_LEN
// #define ACE_HAS_SIZET_SOCKET_LEN
#define ACE_HAS_SOCKLEN_T
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
#define ACE_HAS_STRINGS
#define ACE_HAS_SVR4_GETTIMEOFDAY
#define ACE_HAS_TERMIOS
@@ -84,7 +82,8 @@
#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_SBRK
#define ACE_LACKS_SEEKDIR
-#define ACE_LACKS_SOCKET_BUFSIZ
+#define ACE_LACKS_SO_SNDBUF
+#define ACE_LACKS_SO_RCVBUF
#define ACE_LACKS_SOCKETPAIR
// Even if the QNX RTP docs says that socket pair are
// available, there is actually no implementation of
diff --git a/ace/config-rtems.h b/ace/config-rtems.h
index a7f2d2622d2..f32098da5c6 100644
--- a/ace/config-rtems.h
+++ b/ace/config-rtems.h
@@ -98,9 +98,7 @@
#define ACE_HAS_SIGINFO_T
#define ACE_HAS_SIGSUSPEND
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
#define ACE_HAS_VOIDPTR_GETTIMEOFDAY
-#define ACE_HAS_SYS_ERRLIST
#define ACE_HAS_SYS_FILIO_H
#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
#define ACE_LACKS_EXEC
diff --git a/ace/config-sco-5.0.0-nothread.h b/ace/config-sco-5.0.0-nothread.h
index 5c7b0b06c0f..f587778a4f7 100644
--- a/ace/config-sco-5.0.0-nothread.h
+++ b/ace/config-sco-5.0.0-nothread.h
@@ -8,7 +8,5 @@
#include "ace/config-g++-common.h"
#include "ace/config-sco-5.0.0.h"
-#define ACE_HAS_GNU_CSTRING_H
-
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-sco-5.0.0.h b/ace/config-sco-5.0.0.h
index d5fd5783e09..53d9f96fa7e 100644
--- a/ace/config-sco-5.0.0.h
+++ b/ace/config-sco-5.0.0.h
@@ -15,7 +15,6 @@
#endif /* SCO */
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_HAS_SIG_MACROS
#define ACE_LACKS_CONST_TIMESPEC_PTR
#define ACE_LACKS_SYSCALL
#define ACE_LACKS_STRRECVFD
@@ -63,9 +62,6 @@
// Defines the page size of the system.
#define ACE_PAGE_SIZE 4096
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
#define ACE_HAS_TIMEZONE_GETTIMEOFDAY
// Note, this only works if the flag is set above!
diff --git a/ace/config-sunos5.10.h b/ace/config-sunos5.10.h
index ca5b979495b..6bec278ac36 100644
--- a/ace/config-sunos5.10.h
+++ b/ace/config-sunos5.10.h
@@ -61,4 +61,6 @@
# define ACE_HAS_VOID_PTR_SCTP_GETPADDRS
#endif
+#define ACE_HAS_SOLARIS_ATOMIC_LIB
+
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-sunos5.4-g++.h b/ace/config-sunos5.4-g++.h
index 5d19e14e798..c35b17896ff 100644
--- a/ace/config-sunos5.4-g++.h
+++ b/ace/config-sunos5.4-g++.h
@@ -17,7 +17,6 @@
#define ACE_HAS_STRING_CLASS
#include "ace/config-g++-common.h"
-#define ACE_HAS_GNU_CSTRING_H
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
@@ -106,9 +105,6 @@
// Platform supports STREAM pipes.
#define ACE_HAS_STREAM_PIPES
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform supports struct strbuf.
#define ACE_HAS_STRBUF_T
@@ -127,8 +123,7 @@
// Platform provides <sys/filio.h> header.
#define ACE_HAS_SYS_FILIO_H
-// Compiler/platform supports sys_siglist array.
-#define ACE_HAS_SYS_SIGLIST
+#define ACE_HAS_STRSIGNAL
/* Turn off the following defines if you want to disable threading. */
// Compile using multi-thread libraries.
diff --git a/ace/config-sunos5.4-sunc++-4.x.h b/ace/config-sunos5.4-sunc++-4.x.h
index bbf9816e616..5fe8e41efde 100644
--- a/ace/config-sunos5.4-sunc++-4.x.h
+++ b/ace/config-sunos5.4-sunc++-4.x.h
@@ -100,9 +100,6 @@
// Platform supports STREAM pipes.
#define ACE_HAS_STREAM_PIPES
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform supports struct strbuf.
#define ACE_HAS_STRBUF_T
@@ -124,8 +121,7 @@
// Platform provides <sys/filio.h> header.
#define ACE_HAS_SYS_FILIO_H
-// Compiler/platform supports sys_siglist array.
-#define ACE_HAS_SYS_SIGLIST
+#define ACE_HAS_STRSIGNAL
/* Turn off the following defines if you want to disable threading. */
// Compile using multi-thread libraries.
diff --git a/ace/config-sunos5.5.h b/ace/config-sunos5.5.h
index 1fdb78df00f..592567c8803 100644
--- a/ace/config-sunos5.5.h
+++ b/ace/config-sunos5.5.h
@@ -24,10 +24,24 @@
// SunOS 5.5 does not provide getloadavg()
#define ACE_LACKS_GETLOADAVG
+// Some SunOS releases define _POSIX_PTHREAD_SEMANTICS automatically.
+// We need to be check if the user has manually defined the macro before
+// including <sys/feature_tests.h>.
+#if defined (_POSIX_PTHREAD_SEMANTICS)
+# define ACE_HAS_POSIX_PTHREAD_SEMANTICS
+#endif /* _POSIX_PTHREAD_SEMANTICS */
+
// Before we do anything, we should include <sys/feature_tests.h> to
// ensure that things are set up properly.
#include <sys/feature_tests.h>
+// Some SunOS releases define _POSIX_PTHREAD_SEMANTICS automatically.
+// We need to undef if the macro is set and not defined by the user.
+#if defined (_POSIX_PTHREAD_SEMANTICS) && \
+ !defined (ACE_HAS_POSIX_PTHREAD_SEMANTICS)
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif /* _POSIX_PTHREAD_SEMANTICS && !ACE_HAS_POSIX_PTHREAD_SEMANTICS */
+
// Sun has the posix defines so let this file sort out what Sun delivers
#include "ace/config-posix.h"
@@ -116,10 +130,10 @@
// config-g++-common.h undef's ACE_HAS_STRING_CLASS with -frepo, so
// this must appear before its #include.
# define ACE_HAS_STRING_CLASS
+
# include "ace/config-g++-common.h"
+
# define ACE_HAS_HI_RES_TIMER
- // Denotes that GNU has cstring.h as standard, to redefine memchr().
-# define ACE_HAS_GNU_CSTRING_H
# define ACE_HAS_XPG4_MULTIBYTE_CHAR
# if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0
@@ -264,9 +278,6 @@
// Platform supports STREAM pipes.
#define ACE_HAS_STREAM_PIPES
-// Compiler/platform supports strerror ().
-#define ACE_HAS_STRERROR
-
// Compiler/platform supports struct strbuf.
#define ACE_HAS_STRBUF_T
@@ -282,8 +293,7 @@
// Platform provides <sys/filio.h> header.
#define ACE_HAS_SYS_FILIO_H
-// Compiler/platform supports sys_siglist array.
-#define ACE_HAS_SYS_SIGLIST
+#define ACE_HAS_STRSIGNAL
// SunOS 5.5.x does not support mkstemp
#define ACE_LACKS_MKSTEMP
@@ -361,8 +371,6 @@
#define ACE_HAS_GETPAGESIZE 1
-#define ACE_HAS_STL_MAP_CONFLICT
-
#define ACE_HAS_IDTYPE_T
#define ACE_HAS_GPERF
@@ -417,5 +425,8 @@
// Sum of the iov_len values can't be larger then SSIZE_MAX
#define ACE_HAS_SOCK_BUF_SIZE_MAX
+#define ACE_LACKS_SETENV
+#define ACE_LACKS_UNSETENV
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-sunos5.9.h b/ace/config-sunos5.9.h
index 42043928fec..c34f54c8e37 100644
--- a/ace/config-sunos5.9.h
+++ b/ace/config-sunos5.9.h
@@ -12,7 +12,7 @@
// #include the SunOS 5.8 config, then add any SunOS 5.9 updates below.
#include "ace/config-sunos5.8.h"
-#define ACE_HAS_SENDFILE
+#define ACE_HAS_SENDFILE 1
#define ACE_LACKS_THR_CONCURRENCY_FUNCS
#endif /* ACE_CONFIG_H */
diff --git a/ace/config-tandem-nsk-mips-v2.h b/ace/config-tandem-nsk-mips-v2.h
index 2df876b180b..ad3a8f92180 100644
--- a/ace/config-tandem-nsk-mips-v2.h
+++ b/ace/config-tandem-nsk-mips-v2.h
@@ -185,9 +185,6 @@ typedef enum CMA_T_SCHED_POLICY {
// to make some ACE modifications.]
//#define ACE_HAS_REGEX
-// Compiler/platform supports strerror ()
-#define ACE_HAS_STRERROR
-
// Platform doesn't have truncate()
#define ACE_LACKS_TRUNCATE
@@ -215,11 +212,8 @@ typedef enum CMA_T_SCHED_POLICY {
// Platform supports System V IPC
#define ACE_HAS_SYSV_IPC
-// Platform lacks the socketpair() call
-// [Needed due to failure of Pipe_Test. even though nsk platform
-// has socketpair(), Pipe.cpp tries to set socket buf size but this
-// is not allowed for AF_UNIX protocol on nsk.]
-#define ACE_LACKS_SOCKET_BUFSIZ
+#define ACE_LACKS_SO_SNDBUF
+#define ACE_LACKS_SO_RCVBUF
// Platform lacks the socketpair() call
#define ACE_LACKS_SOCKETPAIR
diff --git a/ace/config-tandem-nsk-mips-v3.h b/ace/config-tandem-nsk-mips-v3.h
index 55e119605e5..793c3c2d6d1 100644
--- a/ace/config-tandem-nsk-mips-v3.h
+++ b/ace/config-tandem-nsk-mips-v3.h
@@ -186,9 +186,6 @@ typedef enum CMA_T_SCHED_POLICY {
// to make some ACE modifications.]
//#define ACE_HAS_REGEX
-// Compiler/platform supports strerror ()
-#define ACE_HAS_STRERROR
-
// Platform doesn't have truncate()
#define ACE_LACKS_TRUNCATE
@@ -216,11 +213,8 @@ typedef enum CMA_T_SCHED_POLICY {
// Platform supports System V IPC
#define ACE_HAS_SYSV_IPC
-// Platform lacks the socketpair() call
-// [Needed due to failure of Pipe_Test. even though nsk platform
-// has socketpair(), Pipe.cpp tries to set socket buf size but this
-// is not allowed for AF_UNIX protocol on nsk.]
-#define ACE_LACKS_SOCKET_BUFSIZ
+#define ACE_LACKS_SO_SNDBUF
+#define ACE_LACKS_SO_RCVBUF
// Platform lacks the socketpair() call
#define ACE_LACKS_SOCKETPAIR
diff --git a/ace/config-tandem.h b/ace/config-tandem.h
index 9dfd7d98b1f..bb52027e094 100644
--- a/ace/config-tandem.h
+++ b/ace/config-tandem.h
@@ -111,9 +111,6 @@
#define ACE_HAS_STREAM_PIPES
//Platform supports STREAM pipes
-//Compiler/platform supports strerror ()
-#define ACE_HAS_STRERROR
-
//Compiler/platform supports struct strbuf
#define ACE_HAS_STRBUF_T
@@ -172,6 +169,7 @@
//Platform uses non-const char * in calls to gethostbyaddr, gethostbyname,
// getservbyname
#define ACE_HAS_NONCONST_GETBY
+#define ACE_HAS_NONCONST_INET_ADDR
// Platform's select() uses non-const timeval* (only found on Linux right now)
#define ACE_HAS_NONCONST_SELECT_TIMEVAL
// And on Tandem :-)
diff --git a/ace/config-tru64.h b/ace/config-tru64.h
index 707196475bd..4d083ad0616 100644
--- a/ace/config-tru64.h
+++ b/ace/config-tru64.h
@@ -37,7 +37,6 @@
# include "ace/config-g++-common.h"
-# define ACE_HAS_GNU_CSTRING_H
# define ACE_HAS_REENTRANT_FUNCTIONS
#elif defined (__DECCXX)
@@ -60,7 +59,6 @@
#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#define ACE_HAS_BROKEN_IF_HEADER
-#define ACE_HAS_BROKEN_R_ROUTINES
#if (ACE_MT_SAFE != 0)
# define ACE_HAS_PTHREADS
# define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
@@ -102,7 +100,6 @@
#define ACE_HAS_SSIZE_T
#define ACE_HAS_STRBUF_T
#define ACE_HAS_STREAMS
-#define ACE_HAS_STRERROR
#define ACE_HAS_STRPTIME
#define ACE_HAS_SVR4_DYNAMIC_LINKING
#define ACE_HAS_SVR4_SIGNAL_T
diff --git a/ace/config-unixware-7.1.0.h b/ace/config-unixware-7.1.0.h
index 61fda550ddf..7249b634298 100644
--- a/ace/config-unixware-7.1.0.h
+++ b/ace/config-unixware-7.1.0.h
@@ -107,9 +107,6 @@
the one in ace/OS.i. */
#define ACE_HAS_GETRUSAGE_PROTOTYPE 1
-/* Denotes that GNU has cstring.h as standard which redefines memchr() */
-#define ACE_HAS_GNU_CSTRING_H
-
/* The GPERF utility is compiled for this platform */
#define ACE_HAS_GPERF 1
@@ -229,9 +226,6 @@
/* Platform supports STREAM pipes */
#define ACE_HAS_STREAM_PIPES 1
-/* Compiler/platform supports strerror () */
-#define ACE_HAS_STRERROR 1
-
/* Platform/Compiler supports a String class (e.g., GNU or Win32). */
#define ACE_HAS_STRING_CLASS 1
diff --git a/ace/config-unixware-7.1.0.udk.h b/ace/config-unixware-7.1.0.udk.h
index be98a631661..350f6af8021 100644
--- a/ace/config-unixware-7.1.0.udk.h
+++ b/ace/config-unixware-7.1.0.udk.h
@@ -269,9 +269,6 @@
/* Platform supports STREAM pipes */
#define ACE_HAS_STREAM_PIPES
-/* Compiler/platform supports strerror () */
-#define ACE_HAS_STRERROR
-
/* Platform/Compiler supports a String class (e.g., GNU or Win32). */
#define ACE_HAS_STRING_CLASS
diff --git a/ace/config-vxworks.h b/ace/config-vxworks.h
index cd3e65bffb0..2d77c978732 100644
--- a/ace/config-vxworks.h
+++ b/ace/config-vxworks.h
@@ -29,25 +29,27 @@
# define ACE_VXWORKS 0x650
# elif (_WRS_VXWORKS_MINOR == 6)
# define ACE_VXWORKS 0x660
+# elif (_WRS_VXWORKS_MINOR == 7)
+# define ACE_VXWORKS 0x670
+# elif (_WRS_VXWORKS_MINOR == 8)
+# define ACE_VXWORKS 0x680
# endif
# endif
# endif
#endif /* ! ACE_VXWORKS */
-#if (ACE_VXWORKS == 0x551)
-# include "ace/config-vxworks5.x.h"
-#elif (ACE_VXWORKS == 0x620)
-# include "ace/config-vxworks6.2.h"
-#elif (ACE_VXWORKS == 0x630)
-# include "ace/config-vxworks6.3.h"
-#elif (ACE_VXWORKS == 0x640)
+#if (ACE_VXWORKS == 0x640)
# include "ace/config-vxworks6.4.h"
#elif (ACE_VXWORKS == 0x650)
# include "ace/config-vxworks6.5.h"
#elif (ACE_VXWORKS == 0x660)
# include "ace/config-vxworks6.6.h"
+#elif (ACE_VXWORKS == 0x670)
+# include "ace/config-vxworks6.7.h"
+#elif (ACE_VXWORKS == 0x680)
+# include "ace/config-vxworks6.8.h"
#else
-#error Unknown VxWorks version
+#error Unknown or unsupported VxWorks version
#endif
#include /**/ "ace/post.h"
diff --git a/ace/config-vxworks5.x.h b/ace/config-vxworks5.x.h
deleted file mode 100644
index b7570bfbc1e..00000000000
--- a/ace/config-vxworks5.x.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-// The following configuration file is designed to work for VxWorks
-// 5.5.x platforms using one of these compilers:
-// 1) The GNU g++ compiler that is shipped with Tornado 2.2 or newer.
-// 2) The Green Hills 1.8.8 and newer 1.8.9 compilers (not tested
-// already for a long time)
-// 3) The WindRiver Compiler (formerly known as Diab)
-
-#ifndef ACE_CONFIG_H
-#define ACE_CONFIG_H
-#include /**/ "ace/pre.h"
-
-#if ! defined (VXWORKS)
-# define VXWORKS
-#endif /* ! VXWORKS */
-
-#if ! defined (ACE_VXWORKS)
-# define ACE_VXWORKS 0x551
-#endif /* ! ACE_VXWORKS */
-
-#if ! defined (__ACE_INLINE__)
-# define __ACE_INLINE__
-#endif /* ! __ACE_INLINE__ */
-
-// Compiler-specific configuration.
-#if defined (__GNUG__)
-# include "ace/config-g++-common.h"
-
-# define ACE_LACKS_IOSTREAM_FX
-
-# if !defined (ACE_MAIN)
-# define ACE_MAIN ace_main
-# endif /* ! ACE_MAIN */
-
-# define ACE_LACKS_LINEBUFFERED_STREAMBUF
-
-# if (__GNUC__ == 2)
-# define ACE_CDR_IMPLEMENT_WITH_NATIVE_DOUBLE 1
-# endif
-
-# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
- // GNU 3.3+ toolchain supports long long types but fails to define this so STL
- // skips some definitions
-# if !defined (_GLIBCPP_USE_LONG_LONG)
-# define _GLIBCPP_USE_LONG_LONG
-# endif
-# endif /* (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) */
-
-#elif defined (ghs)
- // Processor type, if necessary. Green Hills defines "ppc".
-# if defined (ppc)
-# define ACE_HAS_POWERPC_TIMER
-# define ACE_LACKS_CLEARERR
-# endif /* ppc */
-
-# define ACE_CONFIG_INCLUDE_GHS_COMMON
-# include "ace/config-ghs-common.h"
-
-# define ACE_LACKS_UNISTD_H
-# define ACE_LACKS_IOSTREAM_TOTALLY
-
-// Short-circuit the include of <arpa/inet.h>
-// Green Hills has a problem with multiply defined functions
-// with different parameters.
-# define __INCineth
-
-#elif defined (__DCPLUSPLUS__) || defined (__DCC__)
- // Diab 4.2a or later.
-# if !defined (ACE_LACKS_PRAGMA_ONCE)
- // We define it with a -D with make depend.
-# define ACE_LACKS_PRAGMA_ONCE
-# endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
- // Diab doesn't support VxWorks' iostream libraries.
-# define ACE_LACKS_IOSTREAM_TOTALLY
-# define ACE_LACKS_ACE_IOSTREAM
-
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 0
-
-# define ACE_TEMPLATES_REQUIRE_SOURCE
-
-#else /* ! __GNUG__ && ! ghs && !__DCC__ */
-# ifdef __cplusplus /* Let it slide for C compilers. */
-# error unsupported compiler on VxWorks
-# endif /* __cplusplus */
-#endif /* ! __GNUG__ && ! ghs */
-
-// OS-specific configuration
-#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
-#define ACE_HAS_SIZET_PTR_ASCTIME_R_AND_CTIME_R
-#define ACE_MKDIR_LACKS_MODE
-#define ACE_HAS_NONCONST_GETBY
-#define ACE_HAS_NONCONST_STAT
-#define ACE_HAS_NONCONST_SWAB
-#define ACE_HAS_NONCONST_READV
-#define ACE_HAS_NONCONST_CHDIR
-#define ACE_HAS_NONCONST_UNLINK
-#define ACE_HAS_NONCONST_OPENDIR
-#define ACE_LACKS_UNIX_SYSLOG
-#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
-#define ACE_DEFAULT_THREAD_KEYS 16
-#define ACE_HAS_BROKEN_ACCEPT_ADDR
-#define ACE_HAS_NONCONST_SENDMSG
-#define ACE_HAS_NONCONST_WRITEV
-#define ACE_HAS_CHARPTR_DL
-#define ACE_HAS_CHARPTR_SOCKOPT
-#define ACE_HAS_CLOCK_GETTIME
-#define ACE_HAS_CLOCK_SETTIME
-#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_HAS_CPLUSPLUS_HEADERS
-#define ACE_HAS_DIRENT
-#define ACE_HAS_DLL 0
-#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
-#define ACE_HAS_IOCTL_INT_3_PARAM
-#define ACE_HAS_MSG
-#define ACE_HAS_NONCONST_READV
-#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
-#define ACE_HAS_POSIX_NONBLOCK
-#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_REENTRANT_FUNCTIONS
-#define ACE_HAS_SIGINFO_T
-#define ACE_HAS_SIGWAIT
-#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-#define ACE_HAS_STRDUP_EMULATION
-#define ACE_HAS_STRERROR
-#define ACE_HAS_THREADS
-#define ACE_LACKS_ALPHASORT
-#define ACE_LACKS_ACCESS
-#define ACE_LACKS_EXEC
-#define ACE_LACKS_FCNTL
-#define ACE_LACKS_FILELOCKS
-#define ACE_LACKS_FORK
-#define ACE_LACKS_FSYNC
-#define ACE_LACKS_GETHOSTENT
-#define ACE_LACKS_GETOPT
-#define ACE_LACKS_GETPID
-#define ACE_LACKS_GETPPID
-#define ACE_LACKS_GETSERVBYNAME
-#define ACE_LACKS_KEY_T
-#define ACE_LACKS_LSTAT
-#define ACE_LACKS_MADVISE
-#define ACE_LACKS_MALLOC_H
-#define ACE_LACKS_MEMORY_H
-#define ACE_LACKS_MKFIFO
-#define ACE_LACKS_MKTEMP
-#define ACE_LACKS_MKSTEMP
-#define ACE_LACKS_MMAP
-#define ACE_LACKS_MPROTECT
-#define ACE_LACKS_MSYNC
-#define ACE_LACKS_NUMERIC_LIMITS
-#define ACE_LACKS_GETPROTOBYNAME
-#define ACE_LACKS_GETPROTOBYNUMBER
-#define ACE_LACKS_GETHOSTBYADDR
-#define ACE_LACKS_GETHOSTBYNAME
-#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
-#define ACE_LACKS_SYS_PARAM_H
-#define ACE_LACKS_PWD_FUNCTIONS
-#define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
-#define ACE_LACKS_READDIR_R
-#define ACE_LACKS_READLINK
-#define ACE_LACKS_REALPATH
-#define ACE_LACKS_RLIMIT
-#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_SBRK
-#define ACE_LACKS_SEEKDIR
-#define ACE_LACKS_SEMBUF_T
-#define ACE_LACKS_SIGINFO_H
-#define ACE_LACKS_SI_ADDR
-#define ACE_LACKS_SOCKETPAIR
-#define ACE_LACKS_STRCASECMP
-#define ACE_LACKS_STRRECVFD
-#define ACE_LACKS_SYSCALL
-#define ACE_LACKS_SYSCONF
-#define ACE_LACKS_SYS_SYSCTL_H
-#define ACE_LACKS_SYSV_SHMEM
-#define ACE_LACKS_TELLDIR
-#define ACE_LACKS_TEMPNAM
-#define ACE_LACKS_TIMESPEC_T
-#define ACE_LACKS_TRUNCATE
-#define ACE_LACKS_TZSET
-#define ACE_LACKS_UCONTEXT_H
-#define ACE_LACKS_UMASK
-#define ACE_LACKS_UTSNAME_T
-#define ACE_LACKS_UNAME
-#define ACE_LACKS_STRPTIME
-#define ACE_LACKS_VSNPRINTF
-#define ACE_LACKS_WAIT
-#define ACE_LACKS_WAITPID
-#define ACE_LACKS_DUP2
-#define ACE_LACKS_DUP
-#define ACE_LACKS_SUSECONDS_T
-#define ACE_LACKS_USECONDS_T
-#define ACE_LACKS_INTPTR_T
-#define ACE_PAGE_SIZE 4096
-#define ACE_THR_PRI_FIFO_DEF 101
-#define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF
-#define ACE_HAS_SIGTIMEDWAIT
-#define ACE_HAS_SIGSUSPEND
-#if !defined (ACE_VXWORKS_SPARE)
-# define ACE_VXWORKS_SPARE spare4
-#endif /* ! ACE_VXWORKS_SPARE */
-
-#define ACE_LACKS_SETEGID
-#define ACE_LACKS_SETPGID
-#define ACE_LACKS_SETREGID
-#define ACE_LACKS_SETREUID
-#define ACE_LACKS_SETSID
-#define ACE_LACKS_SETUID
-#define ACE_LACKS_SETEUID
-#define ACE_LACKS_GETEGID
-#define ACE_LACKS_GETGID
-#define ACE_LACKS_GETEUID
-#define ACE_LACKS_GETUID
-#define ACE_LACKS_SETGID
-#define ACE_LACKS_GETPGID
-
-#define ACE_LACKS_PIPE
-#define ACE_LACKS_STDINT_H
-#define ACE_LACKS_INTTYPES_H
-#define ACE_LACKS_UNISTD_H
-#define ACE_LACKS_SYS_SELECT_H
-#define ACE_LACKS_SYS_TIME_H
-#define ACE_LACKS_SYS_RESOURCE_H
-#define ACE_LACKS_DLFCN_H
-#define ACE_LACKS_SYS_UIO_H
-#define ACE_LACKS_SYS_IPC_H
-#define ACE_LACKS_SYS_SEM_H
-#define ACE_LACKS_STROPTS_H
-#define ACE_LACKS_SYS_MSG_H
-#define ACE_LACKS_WCHAR_H
-#define ACE_LACKS_PWD_H
-#define ACE_LACKS_SEARCH_H
-#define ACE_LACKS_SYS_SHM_H
-#define ACE_LACKS_STRINGS_H
-#define ACE_LACKS_TERMIOS_H
-#define ACE_LACKS_POLL_H
-#define ACE_LACKS_WCTYPE_H
-#define ACE_LACKS_ISCTYPE
-#define ACE_LACKS_ISWCTYPE
-#define ACE_LACKS_ISBLANK
-
-// Not sure if these should always be defined.
-#define ACE_LACKS_SYS_UN_H
-
-// Some string things
-#define ACE_LACKS_WCSCAT
-#define ACE_LACKS_WCSCHR
-#define ACE_LACKS_WCSCMP
-#define ACE_LACKS_WCSCPY
-#define ACE_LACKS_WCSCSPN
-#define ACE_LACKS_WCSLEN
-#define ACE_LACKS_WCSNCAT
-#define ACE_LACKS_WCSNCMP
-#define ACE_LACKS_WCSNCPY
-#define ACE_LACKS_WCSPBRK
-#define ACE_LACKS_WCSRCHR
-#define ACE_LACKS_WCSSPN
-#define ACE_LACKS_WCSSTR
-#define ACE_LACKS_WCSTOK
-#define ACE_LACKS_TOWLOWER
-#define ACE_LACKS_TOWUPPER
-#define ACE_LACKS_ITOW
-#define ACE_LACKS_WCSICMP
-#define ACE_LACKS_WCSNICMP
-#define ACE_LACKS_WCSTOD
-#define ACE_LACKS_WCSTOL
-#define ACE_LACKS_WCSTOUL
-#define ACE_LACKS_WCSDUP
-#define ACE_LACKS_STRTOLL
-#define ACE_LACKS_WCSTOLL
-#define ACE_LACKS_STRTOULL
-#define ACE_LACKS_WCSTOULL
-
-#define ACE_LACKS_SYMLINKS
-#define ACE_LACKS_FGETWC
-#define ACE_LACKS_FGETWS
-#define ACE_LACKS_FPUTWS
-
-#if defined (ACE_HAS_VXWORKS551_PID) || (ACE_HAS_VXWORKS551_PCD) || (ACE_HAS_VXWORKS551_PNE)
-# define ACE_HAS_VXWORKS551_MEDUSA
-#endif
-
-#if defined (ACE_HAS_VXWORKS551_MEDUSA)
-# define ACE_HAS_GETIFADDRS
-#endif
-
-// It is possible to enable pthread support with VxWorks, when the user decides
-// to use this, we need some more defines
-#if defined ACE_HAS_PTHREADS
-# define ACE_LACKS_CONDATTR_PSHARED
-# define ACE_LACKS_MUTEXATTR_PSHARED
-# define ACE_HAS_THREAD_SPECIFIC_STORAGE
-# define ACE_HAS_POSIX_SEM
-// Include this file, the sys/stat.h file shipped with VxWorks has old types
-// and without this include we get a lot of compile errors. A TSR has been filed
-// so that hopefully in the future we can zap this include
-#include "types/vxTypesOld.h"
-#else
-# define ACE_HAS_VXTHREADS
-# define ACE_LACKS_PTHREAD_H
-# define ACE_LACKS_COND_T
-// VxWorks has no recursive mutexes. This was set in the past but it doesn't
-// work with the pthread support, so only set it for the time being when pthread
-// is disabled
-# define ACE_HAS_RECURSIVE_MUTEXES
-// VxWorks does not have the pthread_mutex_timedlock operation, but there is
-// an emulation for this when not using the pthread mapping
-#define ACE_HAS_MUTEX_TIMEOUTS
-#define ACE_HAS_TSS_EMULATION
-#endif
-
-#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
-#endif
-
-// Needed include to get all VxWorks CPU types
-#include "types/vxCpu.h"
-#if (CPU == PENTIUM || CPU == PENTIUM2 || CPU == PENTIUM3 || CPU == PENTIUM4)
-// If running an Intel Pentium the
-// ACE_OS::gethrtime () can use the RDTSC instruction.
-# define ACE_HAS_PENTIUM
-#endif
-
-# if defined (TOOL) && (TOOL == gnu)
-# if defined (CPU) && (CPU == PPC85XX || CPU == PPC604 || CPU == PPC603)
-// These PPC's do lack log2
-# define ACE_LACKS_LOG2
-# endif
-# endif
-
-#if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
-# define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
-#endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
-
-#if !defined (ACE_NTRACE)
-# define ACE_NTRACE 1
-#endif /* ACE_NTRACE */
-
-// By default, don't include RCS Id strings in object code.
-#if !defined (ACE_USE_RCSID)
-#define ACE_USE_RCSID 0
-#endif /* !ACE_USE_RCSID */
-
-#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_H */
diff --git a/ace/config-vxworks6.2.h b/ace/config-vxworks6.2.h
deleted file mode 100644
index 5e24ae84c2f..00000000000
--- a/ace/config-vxworks6.2.h
+++ /dev/null
@@ -1,336 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-// The following configuration file is designed to work for VxWorks
-// 6.2 platforms using one of these compilers:
-// 1) The GNU g++ compiler that is shipped with VxWorks 6.2
-
-#ifndef ACE_CONFIG_VXWORKS_6_2_H
-#define ACE_CONFIG_VXWORKS_6_2_H
-#include /**/ "ace/pre.h"
-
-#if ! defined (VXWORKS)
-# define VXWORKS
-#endif /* ! VXWORKS */
-
-#if ! defined (ACE_VXWORKS)
-# define ACE_VXWORKS 0x620
-#endif /* ! ACE_VXWORKS */
-
-#if defined __RTP__
- // Fix wrong typedef in unistd.h (unsigned short)
- #define _SUSECONDS_T
- typedef long suseconds_t;
-#endif
-#include <unistd.h>
-
-// Fix for including right typedef for pid_t in VxTypes.h (int)
-#include <vxWorksCommon.h>
-
-#if ! defined (__ACE_INLINE__)
-# define __ACE_INLINE__
-#endif /* ! __ACE_INLINE__ */
-
-// Compiler-specific configuration.
-#if defined (__GNUG__)
-# include "ace/config-g++-common.h"
-
-# define ACE_LACKS_IOSTREAM_FX
-# define ACE_LACKS_LINEBUFFERED_STREAMBUF
-
-# if defined (__RTP__) && !defined (_HAS_C9X)
-// Workaround for the fact that under RTP the log2 method can't be used
-// without this define set, see TSR560446
-# if !defined (_C99)
-# define _C99
-# endif
-# endif
-
-#elif defined (__DCPLUSPLUS__) || defined (__DCC__)
- // Diab 4.2a or later.
-# if !defined (ACE_LACKS_PRAGMA_ONCE)
- // We define it with a -D with make depend.
-# define ACE_LACKS_PRAGMA_ONCE
-# endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# define ACE_TEMPLATES_REQUIRE_SOURCE
-
-#else /* ! __GNUG__ && ! ghs && !__DCC__ */
-# ifdef __cplusplus /* Let it slide for C compilers. */
-# error unsupported compiler on VxWorks
-# endif /* __cplusplus */
-#endif /* ! __GNUG__ && ! ghs */
-
-#if !defined __RTP__
-# if defined (TOOL) && (TOOL == gnu)
-# if defined (CPU) && (CPU == PPC85XX || CPU == PPC604 || CPU == PPC603)
-// These PPC's do lack log2 in kernel mode
-# define ACE_LACKS_LOG2
-# endif
-# endif
-#endif
-
-// OS-specific configuration
-#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
-#define ACE_HAS_NONCONST_GETBY
-#define ACE_HAS_NONCONST_SWAB
-#define ACE_HAS_NONCONST_READV
-#define ACE_LACKS_UNIX_SYSLOG
-#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
-#define ACE_DEFAULT_THREAD_KEYS 16
-#define ACE_HAS_BROKEN_ACCEPT_ADDR
-#define ACE_HAS_NONCONST_SENDMSG
-#define ACE_HAS_NONCONST_WRITEV
-#define ACE_HAS_CHARPTR_DL
-#define ACE_HAS_CLOCK_GETTIME
-#define ACE_HAS_CLOCK_SETTIME
-#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_HAS_CPLUSPLUS_HEADERS
-#define ACE_HAS_DIRENT
-#define ACE_HAS_DLL 0
-#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
-#define ACE_HAS_IOCTL_INT_3_PARAM
-#define ACE_HAS_MSG
-#define ACE_HAS_NONCONST_READV
-#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
-#define ACE_HAS_POSIX_NONBLOCK
-#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_REENTRANT_FUNCTIONS
-#define ACE_HAS_SIGACTION_CONSTP2
-#define ACE_HAS_SIGINFO_T
-#define ACE_HAS_SIGWAIT
-#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-#define ACE_HAS_STRERROR
-#define ACE_HAS_THREADS
-#define ACE_HAS_SYSCTL
-#define ACE_LACKS_ALPHASORT
-#define ACE_LACKS_EXEC
-#define ACE_LACKS_FILELOCKS
-#define ACE_LACKS_FORK
-#define ACE_LACKS_GETHOSTENT
-#define ACE_LACKS_GETSERVBYNAME
-#define ACE_LACKS_GETPROTOBYNAME
-#define ACE_LACKS_GETPROTOBYNUMBER
-#define ACE_LACKS_KEY_T
-#define ACE_LACKS_LSTAT
-#define ACE_LACKS_MADVISE
-#define ACE_LACKS_MALLOC_H
-#define ACE_LACKS_MEMORY_H
-#define ACE_LACKS_MKFIFO
-#define ACE_LACKS_MKTEMP
-#define ACE_LACKS_MKSTEMP
-#define ACE_LACKS_MMAP
-#define ACE_LACKS_MPROTECT
-#define ACE_LACKS_MSYNC
-#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
-#define ACE_LACKS_SYS_PARAM_H
-#define ACE_LACKS_PWD_FUNCTIONS
-#define ACE_LACKS_READDIR_R
-#define ACE_LACKS_READLINK
-#define ACE_LACKS_REALPATH
-#define ACE_LACKS_PIPE
-#define ACE_LACKS_RLIMIT
-#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_SBRK
-#define ACE_LACKS_SEEKDIR
-#define ACE_LACKS_SEMBUF_T
-#define ACE_LACKS_SIGINFO_H
-#define ACE_LACKS_SI_ADDR
-#define ACE_LACKS_SOCKETPAIR
-#define ACE_LACKS_STRRECVFD
-#define ACE_LACKS_SYSV_SHMEM
-#define ACE_LACKS_TELLDIR
-#define ACE_LACKS_TEMPNAM
-#define ACE_LACKS_TIMESPEC_T
-#define ACE_LACKS_TRUNCATE
-#define ACE_LACKS_UCONTEXT_H
-#define ACE_LACKS_USECONDS_T
-#define ACE_LACKS_UMASK
-#define ACE_LACKS_STRPTIME
-#define ACE_PAGE_SIZE 4096
-#define ACE_THR_PRI_FIFO_DEF 101
-#define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF
-#define ACE_HAS_SIGTIMEDWAIT
-#define ACE_HAS_SIGSUSPEND
-#if !defined (ACE_VXWORKS_SPARE)
-# define ACE_VXWORKS_SPARE spare4
-#endif /* ! ACE_VXWORKS_SPARE */
-#define ACE_HAS_GETIFADDRS
-
-#define ACE_LACKS_SETEGID
-#define ACE_LACKS_SETPGID
-#define ACE_LACKS_SETREGID
-#define ACE_LACKS_SETREUID
-#define ACE_LACKS_SETSID
-#define ACE_LACKS_SETUID
-#define ACE_LACKS_SETEUID
-#define ACE_LACKS_GETEUID
-#define ACE_LACKS_GETUID
-#define ACE_LACKS_GETPGID
-#define ACE_LACKS_GETEGID
-#define ACE_LACKS_GETGID
-#define ACE_LACKS_SETGID
-
-#define ACE_LACKS_SYS_UIO_H
-#define ACE_LACKS_SYS_IPC_H
-#define ACE_LACKS_SYS_SEM_H
-#define ACE_LACKS_STROPTS_H
-#define ACE_LACKS_SYS_MSG_H
-#define ACE_LACKS_PWD_H
-#define ACE_LACKS_SYS_SHM_H
-#define ACE_LACKS_TERMIOS_H
-#define ACE_LACKS_POLL_H
-#define ACE_LACKS_FCNTL
-
-// Some string things
-#define ACE_LACKS_STRCASECMP
-#define ACE_LACKS_ITOW
-#define ACE_LACKS_WCSDUP
-#define ACE_LACKS_WCSICMP
-#define ACE_LACKS_WCSNICMP
-#define ACE_LACKS_STRTOLL
-#define ACE_LACKS_WCSTOLL
-#define ACE_LACKS_STRTOULL
-#define ACE_LACKS_WCSTOULL
-
-#define ACE_HAS_CHARPTR_SOCKOPT
-#define ACE_LACKS_SYMLINKS
-#define ACE_LACKS_ISCTYPE
-
-#if defined __RTP__
- // We are building for RTP mode
- #if !defined (ACE_AS_STATIC_LIBS)
- # define ACE_HAS_SVR4_DYNAMIC_LINKING
- #endif
- #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
- #define ACE_LACKS_REGEX_H
- #define ACE_LACKS_PUTENV
- #define ACE_HAS_SETENV
- #define ACE_HAS_3_PARAM_WCSTOK
- #define ACE_HAS_WCHAR
- #define ACE_HAS_VFWPRINTF
- #define ACE_SIZEOF_WCHAR 2
- #define ACE_HAS_TIMEZONE
- #define ACE_LACKS_ISASCII
-#else
- // We are building for kernel mode
- #define ACE_LACKS_INTPTR_T
- #define ACE_LACKS_SUSECONDS_T
- #define ACE_LACKS_INTTYPES_H
- #define ACE_LACKS_STDINT_H
- #define ACE_LACKS_UNAME
- #define ACE_LACKS_UTSNAME_T
- #define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
- #define ACE_LACKS_DLFCN_H
- #define ACE_LACKS_WAIT
- #define ACE_LACKS_WAITPID
- #define ACE_LACKS_SYS_TIME_H
- #define ACE_LACKS_SYS_SELECT_H
- #define ACE_LACKS_STRINGS_H
- #define ACE_MKDIR_LACKS_MODE
- #define ACE_HAS_SIZET_PTR_ASCTIME_R_AND_CTIME_R
- #define ACE_LACKS_SEARCH_H
- #define ACE_LACKS_SYSCONF
- #define ACE_LACKS_GETPID
- #define ACE_LACKS_GETPPID
- #define ACE_LACKS_WCHAR_H
- #define ACE_LACKS_WCTYPE_H
- #define ACE_LACKS_WCSCAT
- #define ACE_LACKS_WCSCHR
- #define ACE_LACKS_WCSCMP
- #define ACE_LACKS_WCSCPY
- #define ACE_LACKS_WCSCSPN
- #define ACE_LACKS_WCSLEN
- #define ACE_LACKS_WCSNCAT
- #define ACE_LACKS_WCSNCMP
- #define ACE_LACKS_WCSNCPY
- #define ACE_LACKS_WCSPBRK
- #define ACE_LACKS_WCSRCHR
- #define ACE_LACKS_WCSSPN
- #define ACE_LACKS_WCSSTR
- #define ACE_LACKS_WCSTOK
- #define ACE_LACKS_TOWLOWER
- #define ACE_LACKS_TOWUPPER
- #define ACE_LACKS_WCSTOD
- #define ACE_LACKS_WCSTOL
- #define ACE_LACKS_WCSTOUL
- #define ACE_LACKS_FGETWC
- #define ACE_LACKS_FGETWS
- #define ACE_LACKS_FPUTWS
- #define ACE_LACKS_ISWCTYPE
- #if !defined (ACE_MAIN)
- # define ACE_MAIN ace_main
- #endif /* ! ACE_MAIN */
- #define ACE_LACKS_TZSET
- #define ACE_LACKS_ISBLANK
-#endif
-
-// It is possible to enable pthread support with VxWorks, when the user decides
-// to use this, we need some more defines
-#if defined ACE_HAS_PTHREADS
-# define ACE_HAS_THREAD_SPECIFIC_STORAGE
-# define ACE_HAS_POSIX_SEM
-# define ACE_LACKS_MUTEXATTR_PSHARED
-# define ACE_LACKS_CONDATTR_PSHARED
-// Include this file, the sys/stat.h file shipped with VxWorks has old types
-// and without this include we get a lot of compile errors. A TSR has been filed
-// so that hopefully in the future we can zap this include
-#include "types/vxTypesOld.h"
-#else
-# define ACE_LACKS_PTHREAD_H
-# define ACE_HAS_VXTHREADS
-# if !defined __RTP__
-// Only when building for kernel mode we can use TSS emulation, in rtp mode
-// we can't use the WIND_TCB struct anymore
-# define ACE_HAS_TSS_EMULATION
-# endif
-// VxWorks has no recursive mutexes. This was set in the past but it doesn't
-// work with the pthread support, so only set it for the time being when pthread
-// is disabled
-# define ACE_HAS_RECURSIVE_MUTEXES
-# define ACE_LACKS_COND_T
-# define ACE_HAS_MUTEX_TIMEOUTS
-#endif
-
-#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
-#endif
-
-// Needed include to get all VxWorks CPU types
-#include "types/vxCpu.h"
-#if (CPU == PENTIUM || CPU == PENTIUM2 || CPU == PENTIUM3 || CPU == PENTIUM4)
-// If running an Intel Pentium the
-// ACE_OS::gethrtime () can use the RDTSC instruction.
-# define ACE_HAS_PENTIUM
-#endif
-
-// VxWorks defines the CPU define MAP, undef it to prevent problems with
-// application code
-#if defined (MAP)
-#undef MAP
-#endif /* MAP */
-
-#if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
-# define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
-#endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
-
-#if !defined (ACE_NTRACE)
-# define ACE_NTRACE 1
-#endif /* ACE_NTRACE */
-
-// By default, don't include RCS Id strings in object code.
-#if !defined (ACE_USE_RCSID)
-#define ACE_USE_RCSID 0
-#endif /* !ACE_USE_RCSID */
-
-#if defined (ACE_HAS_IP_MULTICAST)
-# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
-#endif /* ACE_HAS_IP_MULTICAST */
-
-#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_VXWORKS_6_2_H */
diff --git a/ace/config-vxworks6.3.h b/ace/config-vxworks6.3.h
deleted file mode 100644
index d8d0697d17a..00000000000
--- a/ace/config-vxworks6.3.h
+++ /dev/null
@@ -1,325 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-// The following configuration file is designed to work for VxWorks
-// 6.3 platforms using one of these compilers:
-// 1) The GNU g++ compiler that is shipped with VxWorks 6.3
-
-#ifndef ACE_CONFIG_VXWORKS_6_3_H
-#define ACE_CONFIG_VXWORKS_6_3_H
-#include /**/ "ace/pre.h"
-
-#if ! defined (VXWORKS)
-# define VXWORKS
-#endif /* ! VXWORKS */
-
-#if ! defined (ACE_VXWORKS)
-# define ACE_VXWORKS 0x630
-#endif /* ! ACE_VXWORKS */
-
-#if ! defined (__ACE_INLINE__)
-# define __ACE_INLINE__
-#endif /* ! __ACE_INLINE__ */
-
-// Compiler-specific configuration.
-#if defined (__GNUG__)
-# include "ace/config-g++-common.h"
-
-# define ACE_LACKS_IOSTREAM_FX
-# define ACE_LACKS_LINEBUFFERED_STREAMBUF
-
-# if defined (__RTP__) && !defined (_HAS_C9X)
-// Workaround for the fact that under RTP the log2 method can't be used
-// without this define set, see TSR560446
-# if !defined (_C99)
-# define _C99
-# endif
-# endif
-
-#elif defined (__DCC__)
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_TEMPLATES_REQUIRE_SOURCE
-#else /* ! __GNUG__ && ! ghs && !__DCC__ */
-# ifdef __cplusplus /* Let it slide for C compilers. */
-# error unsupported compiler on VxWorks
-# endif /* __cplusplus */
-#endif /* ! __GNUG__ && ! ghs */
-
-#if !defined __RTP__
-# if defined (TOOL) && (TOOL == gnu)
-# if defined (CPU) && (CPU == PPC85XX || CPU == PPC604 || CPU == PPC603)
-// These PPC's do lack log2 in kernel mode
-# define ACE_LACKS_LOG2
-# endif
-# endif
-#endif
-
-// OS-specific configuration
-#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
-#define ACE_HAS_NONCONST_GETBY
-#define ACE_HAS_NONCONST_SWAB
-#define ACE_LACKS_UNIX_SYSLOG
-#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
-#define ACE_DEFAULT_THREAD_KEYS 16
-#define ACE_HAS_BROKEN_ACCEPT_ADDR
-#define ACE_HAS_NONCONST_SENDMSG
-#define ACE_HAS_NONCONST_WRITEV
-#define ACE_HAS_CHARPTR_DL
-#define ACE_HAS_CLOCK_GETTIME
-#define ACE_HAS_CLOCK_SETTIME
-#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_HAS_CPLUSPLUS_HEADERS
-#define ACE_HAS_DIRENT
-#define ACE_HAS_DLL 0
-#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
-#define ACE_HAS_MSG
-#define ACE_HAS_NONCONST_READV
-#define ACE_HAS_NONCONST_SELECT_TIMEVAL
-#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
-#define ACE_HAS_POSIX_NONBLOCK
-#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_REENTRANT_FUNCTIONS
-#define ACE_HAS_SIGACTION_CONSTP2
-#define ACE_HAS_SIGINFO_T
-#define ACE_HAS_SIGWAIT
-#define ACE_HAS_SIG_ATOMIC_T
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-#define ACE_HAS_STRERROR
-#define ACE_HAS_THREADS
-#define ACE_HAS_SYSCTL
-#define ACE_LACKS_ALPHASORT
-#define ACE_LACKS_EXEC
-#define ACE_LACKS_FILELOCKS
-#define ACE_LACKS_FORK
-#define ACE_LACKS_GETHOSTENT
-#define ACE_LACKS_GETSERVBYNAME
-#define ACE_LACKS_GETPROTOBYNAME
-#define ACE_LACKS_GETPROTOBYNUMBER
-#define ACE_LACKS_GETIPNODEBYADDR
-#define ACE_LACKS_GETIPNODEBYNAME_IPV6
-#define ACE_LACKS_LSTAT
-#define ACE_LACKS_MADVISE
-#define ACE_LACKS_MALLOC_H
-#define ACE_LACKS_MEMORY_H
-#define ACE_LACKS_MKFIFO
-#define ACE_LACKS_MKTEMP
-#define ACE_LACKS_MKSTEMP
-#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
-#define ACE_LACKS_SYS_PARAM_H
-#define ACE_LACKS_PWD_FUNCTIONS
-#define ACE_LACKS_READDIR_R
-#define ACE_LACKS_READLINK
-#define ACE_LACKS_REALPATH
-#define ACE_LACKS_PIPE
-#define ACE_LACKS_RLIMIT
-#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_SBRK
-#define ACE_LACKS_SEEKDIR
-#define ACE_LACKS_SEMBUF_T
-#define ACE_LACKS_SIGINFO_H
-#define ACE_LACKS_SI_ADDR
-#define ACE_LACKS_SOCKETPAIR
-#define ACE_LACKS_STRRECVFD
-#define ACE_LACKS_SYSV_SHMEM
-#define ACE_LACKS_TELLDIR
-#define ACE_LACKS_TEMPNAM
-#define ACE_LACKS_TIMESPEC_T
-#define ACE_LACKS_TRUNCATE
-#define ACE_LACKS_UCONTEXT_H
-#define ACE_LACKS_USECONDS_T
-#define ACE_LACKS_UMASK
-#define ACE_LACKS_STRPTIME
-#define ACE_PAGE_SIZE 4096
-#define ACE_THR_PRI_FIFO_DEF 101
-#define ACE_THR_PRI_OTHER_DEF ACE_THR_PRI_FIFO_DEF
-#define ACE_HAS_SIGTIMEDWAIT
-#define ACE_HAS_SIGSUSPEND
-#define ACE_HAS_GETIFADDRS
-
-#define ACE_LACKS_SETEGID
-#define ACE_LACKS_SETPGID
-#define ACE_LACKS_SETREGID
-#define ACE_LACKS_SETREUID
-#define ACE_LACKS_SETSID
-#define ACE_LACKS_SETUID
-#define ACE_LACKS_SETEUID
-#define ACE_LACKS_GETEUID
-#define ACE_LACKS_GETUID
-#define ACE_LACKS_GETPGID
-#define ACE_LACKS_GETEGID
-#define ACE_LACKS_GETGID
-#define ACE_LACKS_SETGID
-
-#define ACE_LACKS_SYS_UIO_H
-#define ACE_LACKS_SYS_IPC_H
-#define ACE_LACKS_SYS_SEM_H
-#define ACE_LACKS_STROPTS_H
-#define ACE_LACKS_SYS_MSG_H
-#define ACE_LACKS_PWD_H
-#define ACE_LACKS_SYS_SHM_H
-#define ACE_LACKS_TERMIOS_H
-#define ACE_LACKS_POLL_H
-#define ACE_LACKS_FCNTL
-
-// Some string things
-#define ACE_LACKS_ITOW
-#define ACE_LACKS_WCSDUP
-#define ACE_LACKS_WCSICMP
-#define ACE_LACKS_WCSNICMP
-#define ACE_LACKS_STRTOLL
-#define ACE_LACKS_WCSTOLL
-#define ACE_LACKS_STRTOULL
-#define ACE_LACKS_WCSTOULL
-
-#define ACE_HAS_CHARPTR_SOCKOPT
-#define ACE_LACKS_SYMLINKS
-#define ACE_LACKS_ISCTYPE
-
-#if defined __RTP__
- // We are building for RTP mode
- #if !defined (ACE_AS_STATIC_LIBS)
- # define ACE_HAS_SVR4_DYNAMIC_LINKING
- #endif
- #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
- #define ACE_LACKS_REGEX_H
- #define ACE_LACKS_PUTENV
- #define ACE_HAS_SETENV
- #define ACE_HAS_3_PARAM_WCSTOK
- #define ACE_HAS_WCHAR
- #define ACE_HAS_VFWPRINTF
- #define ACE_SIZEOF_WCHAR 2
- #define ACE_HAS_SHM_OPEN
- #if defined (ACE_AS_STATIC_LIBS)
- # define ACE_HAS_AIO_CALLS
- #endif
- #define ACE_LACKS_STRCASECMP
- // VxWorks seems to either not define this or define as zero up till now
- #if !defined (IOV_MAX) || (IOV_MAX == 0)
- #define ACE_IOV_MAX 16
- #endif
- #define ACE_HAS_TIMEZONE
- #define ACE_LACKS_ISASCII
-#else
- // We are building for kernel mode
- #define ACE_LACKS_SUSECONDS_T
- #define ACE_LACKS_INTPTR_T
- #define ACE_LACKS_INTTYPES_H
- #define ACE_LACKS_STDINT_H
- #define ACE_LACKS_UNAME
- #define ACE_LACKS_UTSNAME_T
- #define ACE_LACKS_RAND_REENTRANT_FUNCTIONS
- #define ACE_LACKS_DLFCN_H
- #define ACE_LACKS_WAIT
- #define ACE_LACKS_WAITPID
- #define ACE_LACKS_SYS_TIME_H
- #define ACE_LACKS_SYS_SELECT_H
- #define ACE_MKDIR_LACKS_MODE
- #define ACE_HAS_SIZET_PTR_ASCTIME_R_AND_CTIME_R
- #define ACE_LACKS_SEARCH_H
- #define ACE_LACKS_SYSCONF
- #define ACE_LACKS_GETPID
- #define ACE_LACKS_GETPPID
- #define ACE_LACKS_WCHAR_H
- #define ACE_LACKS_WCTYPE_H
- #define ACE_LACKS_WCSCAT
- #define ACE_LACKS_WCSCHR
- #define ACE_LACKS_WCSCMP
- #define ACE_LACKS_WCSCPY
- #define ACE_LACKS_WCSCSPN
- #define ACE_LACKS_WCSLEN
- #define ACE_LACKS_WCSNCAT
- #define ACE_LACKS_WCSNCMP
- #define ACE_LACKS_WCSNCPY
- #define ACE_LACKS_WCSPBRK
- #define ACE_LACKS_WCSRCHR
- #define ACE_LACKS_WCSSPN
- #define ACE_LACKS_WCSSTR
- #define ACE_LACKS_WCSTOK
- #define ACE_LACKS_TOWLOWER
- #define ACE_LACKS_TOWUPPER
- #define ACE_LACKS_WCSTOD
- #define ACE_LACKS_WCSTOL
- #define ACE_LACKS_WCSTOUL
- #define ACE_LACKS_FGETWC
- #define ACE_LACKS_FGETWS
- #define ACE_LACKS_FPUTWS
- #define ACE_HAS_IOCTL_INT_3_PARAM
- #define ACE_LACKS_MMAP
- #define ACE_LACKS_MSYNC
- #define ACE_LACKS_MPROTECT
- #if !defined (ACE_MAIN)
- # define ACE_MAIN ace_main
- #endif /* ! ACE_MAIN */
- #define ACE_LACKS_TZSET
- #define ACE_LACKS_ISWCTYPE
- #define ACE_LACKS_ISBLANK
-#endif
-
-// It is possible to enable pthread support with VxWorks, when the user decides
-// to use this, we need some more defines
-#if defined ACE_HAS_PTHREADS
-# define ACE_HAS_THREAD_SPECIFIC_STORAGE
-# define ACE_HAS_POSIX_SEM
-# define ACE_LACKS_MUTEXATTR_PSHARED
-# define ACE_LACKS_CONDATTR_PSHARED
-// Include this file, the sys/stat.h file shipped with VxWorks has old types
-// and without this include we get a lot of compile errors. A TSR has been filed
-// so that hopefully in the future we can zap this include
-#include "types/vxTypesOld.h"
-#else
-# define ACE_LACKS_PTHREAD_H
-# define ACE_HAS_VXTHREADS
-# if !defined __RTP__
-// Only when building for kernel mode we can use TSS emulation, in rtp mode
-// we can't use the WIND_TCB struct anymore
-# define ACE_HAS_TSS_EMULATION
-# if !defined (ACE_VXWORKS_SPARE)
-# define ACE_VXWORKS_SPARE spare4
-# endif /* ! ACE_VXWORKS_SPARE */
-# endif
-// VxWorks has no recursive mutexes. This was set in the past but it doesn't
-// work with the pthread support, so only set it for the time being when pthread
-// is disabled
-# define ACE_HAS_RECURSIVE_MUTEXES
-# define ACE_LACKS_COND_T
-# define ACE_HAS_MUTEX_TIMEOUTS
-#endif
-
-#if !defined (ACE_MT_SAFE)
-# define ACE_MT_SAFE 1
-#endif
-
-// Needed include to get all VxWorks CPU types
-#include "types/vxCpu.h"
-#if defined (CPU) && (CPU == PENTIUM || CPU == PENTIUM2 || CPU == PENTIUM3 || CPU == PENTIUM4)
- // If running an Intel Pentium the
- // ACE_OS::gethrtime () can use the RDTSC instruction.
- # define ACE_HAS_PENTIUM
-#endif
-
-// VxWorks defines the CPU define MAP, undef it to prevent problems with
-// application code
-#if defined (MAP)
-#undef MAP
-#endif /* MAP */
-
-#if !defined (ACE_NEEDS_HUGE_THREAD_STACKSIZE)
-# define ACE_NEEDS_HUGE_THREAD_STACKSIZE 65536
-#endif /* ACE_NEEDS_HUGE_THREAD_STACKSIZE */
-
-#if !defined (ACE_NTRACE)
-# define ACE_NTRACE 1
-#endif /* ACE_NTRACE */
-
-// By default, don't include RCS Id strings in object code.
-#if !defined (ACE_USE_RCSID)
-#define ACE_USE_RCSID 0
-#endif /* !ACE_USE_RCSID */
-
-#if defined (ACE_HAS_IP_MULTICAST)
-# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1
-#endif /* ACE_HAS_IP_MULTICAST */
-
-#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_VXWORKS_6_3_H */
diff --git a/ace/config-vxworks6.4.h b/ace/config-vxworks6.4.h
index 16aa1d6561c..dae90277785 100644
--- a/ace/config-vxworks6.4.h
+++ b/ace/config-vxworks6.4.h
@@ -83,7 +83,10 @@
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
#define ACE_HAS_3_PARAM_READDIR_R
#define ACE_HAS_NONCONST_GETBY
+#define ACE_HAS_NONCONST_INET_ADDR
#define ACE_HAS_NONCONST_SWAB
+#define ACE_USES_INETLIB_H
+#define ACE_USES_SELECTLIB_H
#define ACE_LACKS_UNIX_SYSLOG
#define ACE_DEFAULT_MAX_SOCKET_BUFSIZ 32768
#define ACE_DEFAULT_THREAD_KEYS 16
@@ -96,7 +99,6 @@
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
#define ACE_HAS_CPLUSPLUS_HEADERS
#define ACE_HAS_DIRENT
-#define ACE_HAS_DLL 0
#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
#define ACE_HAS_MSG
#define ACE_HAS_NONCONST_READV
@@ -111,7 +113,6 @@
#define ACE_HAS_SIG_ATOMIC_T
#define ACE_HAS_SOCKADDR_IN_SIN_LEN
#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN
-#define ACE_HAS_STRERROR
#define ACE_HAS_THREADS
#define ACE_HAS_SYSCTL
#define ACE_LACKS_ALPHASORT
@@ -229,6 +230,8 @@
#define ACE_LACKS_ISASCII
#else
// We are building for kernel mode
+ #define ACE_LACKS_SETENV
+ #define ACE_LACKS_UNSETENV
#define ACE_LACKS_SUSECONDS_T
#define ACE_LACKS_INTPTR_T
#define ACE_LACKS_INTTYPES_H
diff --git a/ace/config-vxworks6.6.h b/ace/config-vxworks6.6.h
index 04da8aa983e..5e61fb20264 100644
--- a/ace/config-vxworks6.6.h
+++ b/ace/config-vxworks6.6.h
@@ -22,8 +22,13 @@
#if !defined (__RTP__)
# undef ACE_HAS_IOCTL_INT_3_PARAM
+# define ACE_HAS_TASKCPUAFFINITYSET
#endif
+#define ACE_HAS_VXATOMICLIB
+#define ACE_HAS_CPUSET_T
+#define ACE_HAS_VXCPULIB
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_VXWORKS_6_6_H */
diff --git a/ace/config-vxworks6.7.h b/ace/config-vxworks6.7.h
index 7d11b8c53bb..ccbde7bb807 100644
--- a/ace/config-vxworks6.7.h
+++ b/ace/config-vxworks6.7.h
@@ -16,6 +16,8 @@
#include "ace/config-vxworks6.6.h"
+#undef ACE_HAS_NONCONST_INET_ADDR
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_VXWORKS_6_7_H */
diff --git a/ace/config-vxworks6.8.h b/ace/config-vxworks6.8.h
new file mode 100644
index 00000000000..e092e8ca241
--- /dev/null
+++ b/ace/config-vxworks6.8.h
@@ -0,0 +1,21 @@
+//* -*- C++ -*- */
+// $Id$
+
+// The following configuration file is designed to work for VxWorks
+// 6.8 platforms using one of these compilers:
+// 1) The GNU g++ compiler that is shipped with VxWorks 6.8
+// 2) The Diab compiler that is shipped with VxWorks 6.8
+
+#ifndef ACE_CONFIG_VXWORKS_6_8_H
+#define ACE_CONFIG_VXWORKS_6_8_H
+#include /**/ "ace/pre.h"
+
+#if !defined (ACE_VXWORKS)
+# define ACE_VXWORKS 0x680
+#endif /* ! ACE_VXWORKS */
+
+#include "ace/config-vxworks6.7.h"
+
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_VXWORKS_6_8_H */
+
diff --git a/ace/config-win32-borland.h b/ace/config-win32-borland.h
index 3e93b6714dc..ff62e5d3874 100644
--- a/ace/config-win32-borland.h
+++ b/ace/config-win32-borland.h
@@ -11,10 +11,6 @@
#error Use config-win32.h in config.h instead of this header
#endif /* ACE_CONFIG_WIN32_H */
-#if (__BORLANDC__ < 0x593)
-#error This version of CodeGear C++ is not supported.
-#endif
-
#define ACE_HAS_CUSTOM_EXPORT_MACROS
#define ACE_Proper_Export_Flag __declspec (dllexport)
#define ACE_Proper_Import_Flag __declspec (dllimport)
@@ -32,14 +28,18 @@
# define __ACE_INLINE__ 1
# endif /* __ACE_INLINE__ */
-# define ACE_CC_NAME ACE_TEXT ("Borland C++ Builder")
+# define ACE_CC_NAME ACE_TEXT ("Embarcadero C++ Builder")
# define ACE_CC_MAJOR_VERSION (__BORLANDC__ / 0x100)
# define ACE_CC_MINOR_VERSION (__BORLANDC__ % 0x100)
# define ACE_CC_BETA_VERSION (0)
-# ifndef ACE_USING_MCPP_PREPROCESSOR
+#ifndef ACE_USING_MCPP_PREPROCESSOR
+# if (__BORLANDC__ >= 0x620)
+# define ACE_CC_PREPROCESSOR_ARGS "-q -Sl -o%s"
+# else
# define ACE_CC_PREPROCESSOR_ARGS "-q -P- -o%s"
# endif
+#endif
// Automatically define WIN32 macro if the compiler tells us it is our
// target platform.
@@ -106,28 +106,28 @@
#define ACE_LACKS_STRRECVFD
#define ACE_USES_EXPLICIT_STD_NAMESPACE
-# define ACE_EXPORT_NESTED_CLASSES 1
-# define ACE_HAS_CPLUSPLUS_HEADERS 1
-# define ACE_HAS_EXCEPTIONS
-# define ACE_HAS_GNU_CSTRING_H 1
-# define ACE_HAS_NONCONST_SELECT_TIMEVAL
-# define ACE_HAS_SIG_ATOMIC_T
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_HAS_STDCPP_STL_INCLUDES 1
-# define ACE_HAS_STRERROR
-# define ACE_HAS_STRING_CLASS 1
-# define ACE_HAS_TEMPLATE_TYPEDEFS 1
-# define ACE_HAS_USER_MODE_MASKS 1
-# define ACE_LACKS_ACE_IOSTREAM 1
-# define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
-# define ACE_LACKS_PRAGMA_ONCE 1
-# define ACE_HAS_NEW_NOTHROW
-# define ACE_TEMPLATES_REQUIRE_SOURCE 1
-# define ACE_SIZEOF_LONG_DOUBLE 10
-# define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%Lu"
-# define ACE_INT64_FORMAT_SPECIFIER_ASCII "%Ld"
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
+#define ACE_HAS_TIME_T_LONG_MISMATCH
+
+#define ACE_EXPORT_NESTED_CLASSES 1
+#define ACE_HAS_CPLUSPLUS_HEADERS 1
+#define ACE_HAS_EXCEPTIONS
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_STANDARD_CPP_LIBRARY 1
+#define ACE_HAS_STDCPP_STL_INCLUDES 1
+#define ACE_HAS_STRING_CLASS 1
+#define ACE_HAS_TEMPLATE_TYPEDEFS 1
+#define ACE_HAS_USER_MODE_MASKS 1
+#define ACE_LACKS_ACE_IOSTREAM 1
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
+#define ACE_HAS_NEW_NOTHROW
+#define ACE_TEMPLATES_REQUIRE_SOURCE 1
+#define ACE_SIZEOF_LONG_DOUBLE 10
+#define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%Lu"
+#define ACE_INT64_FORMAT_SPECIFIER_ASCII "%Ld"
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+#define ACE_USES_STD_NAMESPACE_FOR_ABS 1
+#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
#if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
// must have _MT defined to include multithreading
@@ -140,22 +140,16 @@
# endif /* !_MT && !ACE_HAS_WINCE */
#endif /* ACE_MT_SAFE && ACE_MT_SAFE != 0 */
-#if (__BORLANDC__ < 0x610)
-# define ACE_HAS_NONCONST_TEMPNAM
-# define ACE_LACKS_STRTOLL
-# define ACE_LACKS_WCSTOLL
-# define ACE_LACKS_STRTOULL
-# define ACE_LACKS_WCSTOULL
-#endif
-
-#if (__BORLANDC__ <= 0x610)
+#if (__BORLANDC__ < 0x620)
# define ACE_LACKS_ISBLANK
# define ACE_LACKS_ISWBLANK
-# define ACE_LACKS_ISCTYPE
-# define ACE_LACKS_ISWCTYPE
+# define ACE_LACKS_PRAGMA_ONCE 1
#endif
-#if (__BORLANDC__ <= 0x610)
+#define ACE_LACKS_ISWCTYPE
+#define ACE_LACKS_ISCTYPE
+
+#if (__BORLANDC__ < 0x620)
// Older Borland compilers can't handle assembly in inline methods or
// templates (E2211). When we build for pentium optimized and we are inlining
// then we disable inline assembly
@@ -164,11 +158,16 @@
# endif
#endif
+#if (__BORLANDC__ == 0x621)
+// C++ Builder 2010 wcsncat seems broken
+# define ACE_LACKS_WCSNCAT
+#endif
#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
#define ACE_STRCASECMP_EQUIVALENT ::stricmp
#define ACE_STRNCASECMP_EQUIVALENT ::strnicmp
#define ACE_WTOF_EQUIVALENT ::_wtof
+#define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
#define ACE_HAS_ITOA 1
#include /**/ "ace/post.h"
diff --git a/ace/config-win32-cegcc.h b/ace/config-win32-cegcc.h
new file mode 100644
index 00000000000..ceff1b9dac0
--- /dev/null
+++ b/ace/config-win32-cegcc.h
@@ -0,0 +1,113 @@
+// -*- C++ -*-
+// $Id$
+
+//
+// The following configuration file is designed to work for win32
+// platforms using gcc/g++ with mingw32 (http://www.mingw.org).
+//
+
+#ifndef ACE_CONFIG_WIN32_CEGCC_H
+#define ACE_CONFIG_WIN32_CEGCC_H
+#include /**/ "ace/pre.h"
+
+#ifndef ACE_CONFIG_WIN32_H
+# error Use config-win32.h in config.h instead of this header
+#endif /* ACE_CONFIG_WIN32_H */
+
+#define ACE_CC_NAME ACE_TEXT ("g++")
+#define ACE_CC_PREPROCESSOR "cpp"
+#define ACE_CC_PREPROCESOR_ARGS ""
+
+// Why all this is not in config-g++-common.h?
+#define ACE_CC_MAJOR_VERSION __GNUC__
+#define ACE_CC_MINOR_VERSION __GNUC_MINOR__
+#define ACE_CC_BETA_VERSION (0)
+
+#if !defined (ACE_HAS_CEGCC)
+# error You do not seem to be using cegcc
+#endif
+
+// We trust the user: He must have used -mpentiumpro or -mpentium
+// if that is what he wants.
+#if defined(pentiumpro) || defined(pentium)
+# define ACE_HAS_PENTIUM
+#endif
+
+#include "ace/config-g++-common.h"
+
+#include /**/ <cegcc.h>
+#include /**/ <w32api.h>
+#include /**/ <_mingw.h>
+
+#if (__MINGW32_MAJOR_VERSION > 3) || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 15))
+# undef ACE_LACKS_USECONDS_T
+#endif
+
+#define ACE_HAS_USER_MODE_MASKS
+
+#define ACE_HAS_SSIZE_T
+#undef ACE_LACKS_STRUCT_DIR
+#undef ACE_LACKS_OPENDIR
+#undef ACE_LACKS_CLOSEDIR
+#undef ACE_LACKS_READDIR
+#undef ACE_LACKS_TELLDIR
+#undef ACE_LACKS_SEEKDIR
+#undef ACE_LACKS_REWINDDIR
+
+#undef ACE_HAS_WTOF
+
+#define ACE_LACKS_SYS_SHM_H
+#define ACE_LACKS_TERMIOS_H
+#define ACE_LACKS_NETINET_TCP_H
+#define ACE_LACKS_STRRECVFD
+#define ACE_LACKS_STRPTIME
+#define ACE_LACKS_POLL_H
+#define ACE_LACKS_REGEX_H
+#define ACE_LACKS_SYS_MSG_H
+#define ACE_LACKS_PWD_H
+#define ACE_LACKS_SEMAPHORE_H
+#define ACE_LACKS_UCONTEXT_H
+#define ACE_LACKS_SYS_SELECT_H
+#define ACE_LACKS_SYS_RESOURCE_H
+#define ACE_LACKS_SYS_WAIT_H
+#define ACE_LACKS_DLFCN_H
+#define ACE_LACKS_SYS_MMAN_H
+#define ACE_LACKS_SYS_UIO_H
+#define ACE_LACKS_SYS_SOCKET_H
+#define ACE_LACKS_NETINET_IN_H
+#define ACE_LACKS_NETDB_H
+#define ACE_LACKS_NET_IF_H
+#define ACE_LACKS_SYS_IPC_H
+#define ACE_LACKS_SYS_SEM_H
+#define ACE_LACKS_STROPTS_H
+#define ACE_LACKS_SYS_IOCTL_H
+#define ACE_LACKS_PDH_H
+#define ACE_LACKS_PDHMSG_H
+#define ACE_HAS_NONCONST_WCSDUP
+#define ACE_HAS_WINSOCK2_GQOS
+#define ACE_LACKS_CORRECT_ISWPRINT_TAB
+
+//Changes to compile on CE gcc.
+#undef ACE_HAS_TYPES_H
+#define ACE_LACKS_ERRNO_H
+#undef ACE_LACKS_DEV_T
+#define ACE_LACKS_ISCTYPE
+#define ACE_HAS_NONCONST_WFDOPEN
+#undef ACE_HAS_WTOI
+#undef ACE_HAS_WTOL
+
+#define ACE_INT64_FORMAT_SPECIFIER_ASCII "%I64d"
+#define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%I64u"
+#define ACE_ENDTHREADEX(STATUS) ExitThread ((DWORD) STATUS)
+
+#define ACE_Proper_Export_Flag __declspec (dllexport)
+#define ACE_Proper_Import_Flag __declspec (dllimport)
+#define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T
+#define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>;
+#define ACE_IMPORT_SINGLETON_DECLARATION(T) extern template class T
+#define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE <CLASS, LOCK>;
+
+#define ACE_DLL_PREFIX ACE_TEXT ("lib")
+
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_CEGCC_H */
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
index 5d6e52b1832..fde0ad9d025 100644
--- a/ace/config-win32-common.h
+++ b/ace/config-win32-common.h
@@ -92,6 +92,17 @@
# define ACE_MT_SAFE 1
#endif
+// On winCE these classes do not exist. If they are
+// introduced in the future, no changes need to be made
+#if defined (ABOVE_NORMAL_PRIORITY_CLASS) && \
+ defined (BELOW_NORMAL_PRIORITY_CLASS) && \
+ defined (HIGH_PRIORITY_CLASS) && \
+ defined (IDLE_PRIORITY_CLASS) && \
+ defined (NORMAL_PRIORITY_CLASS) && \
+ defined (REALTIME_PRIORITY_CLASS)
+#define ACE_HAS_WIN32_PRIORITY_CLASS
+#endif
+
// Build ACE services as DLLs. If you write a library and want it to
// use ACE_Svc_Export, this will cause those macros to build dlls. If
// you want your ACE service to be a static library, comment out this
@@ -103,7 +114,7 @@
// #endif
// Define the special export macros needed to export symbols outside a dll
-#if !defined(__BORLANDC__)
+#if !defined(__BORLANDC__) && !defined (ACE_HAS_CUSTOM_EXPORT_MACROS)
#define ACE_HAS_CUSTOM_EXPORT_MACROS 1
#define ACE_Proper_Export_Flag __declspec (dllexport)
#define ACE_Proper_Import_Flag __declspec (dllimport)
@@ -148,8 +159,6 @@
// using static object managers.
#if !defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER)
# define ACE_HAS_NONSTATIC_OBJECT_MANAGER
-#elif (ACE_HAS_NONSTATIC_OBJECT_MANAGER == 0)
-# undef ACE_HAS_NONSTATIC_OBJECT_MANAGER
#endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER */
#define ACE_HAS_GPERF
@@ -273,6 +282,17 @@
#define ACE_LACKS_WAIT
#define ACE_LACKS_IOVEC
#define ACE_LACKS_LOG2
+#define ACE_LACKS_CADDR_T
+#if !defined(__MINGW32__) && !defined (__BORLANDC__)
+# define ACE_LACKS_MODE_T
+#endif
+#if !defined (__BORLANDC__)
+# define ACE_LACKS_NLINK_T
+# define ACE_LACKS_UID_T
+# define ACE_LACKS_GID_T
+#endif
+#define ACE_LACKS_SETENV
+#define ACE_LACKS_UNSETENV
#define ACE_HAS_PDH_H
#define ACE_HAS_PDHMSG_H
@@ -300,6 +320,8 @@
// Win32 has wide-char support. Use of the compiler-defined wchar_t type
// is controlled in compiler configs since it's a compiler switch.
#define ACE_HAS_WCHAR
+#define ACE_HAS_WTOI
+#define ACE_HAS_WTOL
// Compiler/platform correctly calls init()/fini() for shared
// libraries. - applied for DLLs ?
@@ -323,9 +345,6 @@
// Platform provides <sys/filio.h> header.
//define ACE_HAS_SYS_FILIO_H
-// Compiler/platform supports sys_siglist array.
-//define ACE_HAS_SYS_SIGLIST
-
// Platform supports ACE_TLI timod STREAMS module.
//define ACE_HAS_TIMOD_H
@@ -346,7 +365,10 @@
#define ACE_LACKS_WRITEV
#define ACE_LACKS_READV
-#define ACE_LACKS_COND_T
+#if !defined (ACE_HAS_WTHREADS_CONDITION_VARIABLE)
+# define ACE_LACKS_COND_T
+#endif
+
#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_KEY_T
@@ -441,6 +463,10 @@
#if !defined(ACE_HAS_WINSOCK2)
# define ACE_HAS_WINSOCK2 1
#endif /* !defined(ACE_HAS_WINSOCK2) */
+// Not use WS1 by default
+#if !defined(ACE_HAS_WINSOCK1)
+# define ACE_HAS_WINSOCK1 0
+#endif /* !defined(ACE_HAS_WINSOCK1) */
#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
@@ -488,7 +514,7 @@
# define EDQUOT WSAEDQUOT
# define ESTALE WSAESTALE
# define EREMOTE WSAEREMOTE
-# endif /* UNDER_CE */
+# endif /* (_WIN32_WCE) && (_WIN32_WCE < 0x600) */
# endif /* _WINSOCK2API */
# if defined (ACE_HAS_FORE_ATM_WS2)
@@ -521,7 +547,7 @@
// PharLap ETS has its own winsock lib, so don't grab the one
// supplied with the OS.
-# if defined (_MSC_VER) && !defined (UNDER_CE) && !defined (ACE_HAS_PHARLAP)
+# if defined (_MSC_VER) && !defined (_WIN32_WCE) && !defined (ACE_HAS_PHARLAP)
# pragma comment(lib, "wsock32.lib")
# endif /* _MSC_VER */
@@ -550,7 +576,7 @@
# define ACE_HAS_CANCEL_IO
# define ACE_HAS_WIN32_OVERLAPPED_IO
# define ACE_HAS_WIN32_NAMED_PIPES
-#endif /* !defined (ACE_USES_WINCE_SEMA_SIMULATION) && !ACE_HAS_PHARLAP */
+#endif /* !defined (ACE_HAS_WINCE) && !ACE_HAS_PHARLAP */
#if !defined (ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION)
# define ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION EXCEPTION_CONTINUE_SEARCH
diff --git a/ace/config-win32-dmc.h b/ace/config-win32-dmc.h
index 2c6a45ceaee..ec48e1b6422 100644
--- a/ace/config-win32-dmc.h
+++ b/ace/config-win32-dmc.h
@@ -49,12 +49,10 @@
# define ACE_EXPORT_NESTED_CLASSES 1
# define ACE_HAS_CPLUSPLUS_HEADERS 1
//# define ACE_HAS_EXCEPTIONS 1
-# define ACE_HAS_GNU_CSTRING_H 1
# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
# define ACE_HAS_SIG_ATOMIC_T 1
# define ACE_HAS_STANDARD_CPP_LIBRARY 0
# define ACE_HAS_STDCPP_STL_INCLUDES 1
-# define ACE_HAS_STRERROR 1
# define ACE_HAS_STRING_CLASS 1
# define ACE_HAS_TEMPLATE_TYPEDEFS 1
# define ACE_HAS_USER_MODE_MASKS 1
diff --git a/ace/config-win32-ghs.h b/ace/config-win32-ghs.h
index 2467d4845c4..937bcf1f479 100644
--- a/ace/config-win32-ghs.h
+++ b/ace/config-win32-ghs.h
@@ -57,12 +57,10 @@
# define ACE_EXPORT_NESTED_CLASSES 1
# define ACE_HAS_CPLUSPLUS_HEADERS 1
//# define ACE_HAS_EXCEPTIONS 1
-# define ACE_HAS_GNU_CSTRING_H 1
# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1
# define ACE_HAS_SIG_ATOMIC_T 1
# define ACE_HAS_STANDARD_CPP_LIBRARY 1
# define ACE_HAS_STDCPP_STL_INCLUDES 1
-# define ACE_HAS_STRERROR 1
# define ACE_HAS_STRING_CLASS 1
# define ACE_HAS_TEMPLATE_TYPEDEFS 1
# define ACE_HAS_USER_MODE_MASKS 1
diff --git a/ace/config-win32-interix.h b/ace/config-win32-interix.h
index 19cb586aa8f..e8188fbf3b8 100644
--- a/ace/config-win32-interix.h
+++ b/ace/config-win32-interix.h
@@ -6,70 +6,104 @@
#ifndef ACE_CONFIG_WIN32_INTERIX_H
#define ACE_CONFIG_WIN32_INTERIX_H
-#include /**/ "ace/pre.h"
-#include <arpa/inet.h>
-# define ACE_LACKS_SENDMSG
-# define ACE_LACKS_RECVMSG
-# define ACE_LACKS_STDINT_H
-# define ACE_LACKS_INTTYPES_H
-# define ACE_LACKS_PRAGMA_ONCE
-# define ACE_LACKS_RWLOCK_T
-# define ACE_LACKS_GETPGID // Don't have getpgid(), have setpgid() though...
-# define ACE_LACKS_UCONTEXT_H
-# define ACE_HAS_REENTRANT_FUNCTIONS
-# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS // Don't have gethostbyaddr_r and friends.
-# define ACE_HAS_DIRENT
-# define ACE_HAS_STDCPP_STL_INCLUDES
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# define ACE_HAS_NONCONST_SELECT_TIMEVAL
-# define ACE_HAS_SIGWAIT
-# define ACE_HAS_SIGINFO_T
+#include /**/ "ace/pre.h"
#include "ace/config-g++-common.h"
-#define ACE_HAS_NEW_NOTHROW // Need to know 'new's failure semantics.
-
-#if defined (ACE_HAS_THREADS)
-#define ACE_HAS_THREADS
-#define ACE_HAS_PTHREADS
-#define _THREAD_SAFE
-#define ACE_MTSAFE 1
-#define ACE_MT_SAFE 1
-#define ACE_LACKS_PTHREAD_YIELD
-#define ACE_HAS_MUTEX_TIMEOUTS
-#else
- error "You need to enable threads for this Interix port."
-#endif /* ACE_HAS_THREADS */
-
-// INTERIX has the following, just an issue with porting for the moment
-#define ACE_LACKS_ACCESS
-// END INTERIX has the following....
-
-#define ACE_SIZEOF_LONG_DOUBLE 12
-#define ACE_PAGE_SIZE 4096
-
-#define ACE_HAS_SYSV_IPC
-#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_3_PARAM_READDIR_R
+#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_AUTOMATIC_INIT_FINI
+#define ACE_HAS_BROKEN_T_ERROR
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_HAS_SVR4_DYNAMIC_LINKING
-#define ACE_HAS_POSIX_TIME // Supports POSIX timers via struct timespec.
-#define ACE_LACKS_TIMESPEC_T // Defines struct timespec but not timespec_t.
-#define ACE_LACKS_STRRECVFD
-#define ACE_LACKS_SETSCHED
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_RTLD_LAZY_V
-#define ACE_HAS_POSIX_NONBLOCK
+#define ACE_HAS_DIRENT
+#define ACE_HAS_EXCEPTIONS
+#define ACE_HAS_GETPAGESIZE
#define ACE_HAS_GETRUSAGE
-#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_GETRUSAGE_PROTOTYPE
+#define ACE_HAS_GPERF
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+#define ACE_HAS_ICMP_SUPPORT 1
+#define ACE_HAS_IP_MULTICAST
+#define ACE_HAS_MEMCHR
+#define ACE_HAS_MKDIR
+#define ACE_HAS_MSG
+#define ACE_HAS_NEW_NOTHROW
+#define ACE_HAS_NEW_NO_H
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+#define ACE_HAS_POLL
+#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
+#define ACE_HAS_POSIX_GETPWNAM_R
+#define ACE_HAS_POSIX_NONBLOCK
+#define ACE_HAS_POSIX_TIME
+#define ACE_HAS_PTHREADS_STD
+#define ACE_HAS_PTHREADS_UNIX98_EXT
+#define ACE_HAS_PTHREAD_GETCONCURRENCY
+#define ACE_HAS_PTHREAD_SETCONCURRENCY
+#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE
+#define ACE_HAS_P_READ_WRITE
+#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+#define ACE_HAS_REENTRANT_FUNCTIONS
+#define ACE_HAS_RTLD_LAZY_V
#define ACE_HAS_SEMUN
+#define ACE_HAS_SIGINFO_T
+#define ACE_HAS_SIGSUSPEND
+#define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_SIG_C_FUNC
+#define ACE_HAS_SOCKADDR_MSG_NAME
+#define ACE_HAS_SOCKLEN_T
#define ACE_HAS_SSIZE_T
-#define ACE_HAS_STRERROR
+#define ACE_HAS_STANDARD_CPP_LIBRARY 1
+#define ACE_HAS_STDCPP_STL_INCLUDES
+#define ACE_HAS_STREAMS
+#define ACE_HAS_STRING_CLASS
+#define ACE_HAS_STRSIGNAL
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
#define ACE_HAS_SVR4_GETTIMEOFDAY
-#define ACE_HAS_UALARM
+#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_SYSV_IPC
+#define ACE_HAS_SYS_SYSCALL_H
#define ACE_HAS_TERMIOS
-#define ACE_HAS_SIGWAIT
+#define ACE_HAS_UALARM
+#define ACE_HAS_UCONTEXT_T
+#define ACE_HAS_VOIDPTR_GETTIMEOFDAY
+#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+
+#define ACE_LACKS_GETPGID
+#define ACE_LACKS_ISCTYPE
+#define ACE_LACKS_LOG2
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+#define ACE_LACKS_NET_IF_H
+#define ACE_LACKS_PRAGMA_ONCE
+#define ACE_LACKS_SETSCHED
+#define ACE_LACKS_STRRECVFD
+#define ACE_LACKS_SYS_SYSCTL_H
+#define ACE_LACKS_TIMESPEC_T
+#define ACE_LACKS_WCSTOK
+#define ACE_LACKS_WCSTOLL
+#define ACE_LACKS_WCSTOULL
+
+// These are probably not needed with gcc 4.x
+#define ACE_LACKS_UNSETENV
+#define ACE_LACKS_STRTOLL
+#define ACE_LACKS_STRTOULL
+#define ACE_LACKS_SETEGID
+#define ACE_LACKS_SETEUID
+
+
+#define ACE_PAGE_SIZE 4096
+#define ACE_SIZEOF_LONG_LONG 8
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+
+#if defined (ACE_HAS_THREADS)
+# define ACE_HAS_MUTEX_TIMEOUTS
+# define ACE_HAS_PTHREADS
+# define ACE_MT_SAFE 1
+#else
+# error "You need to enable threads for this Interix port."
+#endif /* ACE_HAS_THREADS */
// Turns off the tracing feature.
#if !defined (ACE_NTRACE)
@@ -87,14 +121,7 @@
#define ACE_HAS_THREAD_SPECIFIC_STORAGE // We need thread specific storage even though...
#define ACE_HAS_TSS_EMULATION // It would appear to be broken in Interix!
-#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_WIN32_INTERIX_H */
-
-/*
-The following tests do not run.
-Dynamic_Priority_Test.log ACE_HAS_TIMED_MESSAGE_BLOCKS
-Enum_Interfaces_Test.log
-IOStream_Test.log ACE_IOSTREAM not supported on this platform
-*/
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_INTERIX_H */
diff --git a/ace/config-win32-mingw.h b/ace/config-win32-mingw.h
index afb1e1233e5..12a2b6bea42 100644
--- a/ace/config-win32-mingw.h
+++ b/ace/config-win32-mingw.h
@@ -51,16 +51,17 @@
# define ACE_LACKS_DIRENT_H
#endif
-#undef ACE_LACKS_SIGSET
+#if (__MINGW32_MAJOR_VERSION > 3) || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 15))
+# undef ACE_LACKS_USECONDS_T
+#endif
+
#undef ACE_HAS_WTOF
-#define ACE_LACKS_SIGSET_DEFINITIONS
#define ACE_LACKS_SYS_SHM_H
#define ACE_LACKS_TERMIOS_H
#define ACE_LACKS_NETINET_TCP_H
#define ACE_LACKS_STRRECVFD
#define ACE_LACKS_STRPTIME
-#define ACE_HAS_STRERROR
#define ACE_LACKS_POLL_H
#define ACE_LACKS_REGEX_H
#define ACE_LACKS_SYS_MSG_H
@@ -98,5 +99,7 @@
#define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) (STATUS))
+#define ACE_DLL_PREFIX ACE_TEXT ("lib")
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_WIN32_MINGW_H */
diff --git a/ace/config-win32-msvc-10.h b/ace/config-win32-msvc-10.h
index b91e241530d..2a9ce4338f4 100644
--- a/ace/config-win32-msvc-10.h
+++ b/ace/config-win32-msvc-10.h
@@ -51,6 +51,11 @@
#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+#if defined (ACE_HAS_WINCE)
+# define ACE_FILENO_EQUIVALENT ::_fileno
+#else
+# define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
+#endif
#ifndef ACE_HAS_EXCEPTIONS
# define ACE_HAS_EXCEPTIONS
@@ -61,7 +66,6 @@
# define ACE_HAS_SIG_ATOMIC_T
# endif /* !Win CE 6.0 or less */
-#define ACE_HAS_STRERROR
#define ACE_LACKS_STRPTIME
// Evaluate this with a WinCE build; maybe things have improved since VC8.
@@ -138,5 +142,12 @@
// explicitly instantiate a template that has ACE_UNIMPLEMENTED_FUNC.
# define ACE_NEEDS_FUNC_DEFINITIONS
+// Windows Vista and Windows Server 2008 and newer do have native condition
+// variables
+#if defined (WIN32_WINNT) && (WIN32_WINNT >= 0x0600)
+# define ACE_HAS_WTHREADS_CONDITION_VARIABLE
+# undef ACE_LACKS_COND_T
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_WIN32_MSVC_10_H */
diff --git a/ace/config-win32-msvc-7.h b/ace/config-win32-msvc-7.h
index fd381591d93..4c6a153a63d 100644
--- a/ace/config-win32-msvc-7.h
+++ b/ace/config-win32-msvc-7.h
@@ -50,7 +50,6 @@
#define ACE_HAS_EXCEPTIONS
#endif /* ACE_HAS_WINCE */
-#define ACE_HAS_STRERROR
#define ACE_LACKS_STRPTIME
#define ACE_HAS_SIG_ATOMIC_T
@@ -112,7 +111,7 @@
#pragma warning(disable:4231)
// 'function' : unreferenced local function has been removed
-# pragma warning(disable:4505)
+#pragma warning(disable:4505)
// A template can not be exported. Only an instantiation may be exported.
#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
diff --git a/ace/config-win32-msvc-8.h b/ace/config-win32-msvc-8.h
index 05ba1afe649..4720103c862 100644
--- a/ace/config-win32-msvc-8.h
+++ b/ace/config-win32-msvc-8.h
@@ -53,6 +53,11 @@
#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+#if defined (ACE_HAS_WINCE)
+# define ACE_FILENO_EQUIVALENT ::_fileno
+#else
+# define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
+#endif
#ifndef ACE_HAS_EXCEPTIONS
# define ACE_HAS_EXCEPTIONS
@@ -66,12 +71,11 @@
# define ACE_HAS_SIG_ATOMIC_T
# endif /* !Win CE 6.0 or less */
-#define ACE_HAS_STRERROR
#define ACE_LACKS_STRPTIME
#if !defined (ACE_HAS_WINCE)
-# define ACE_HAS_INTRIN_H
-# define ACE_HAS_INTRINSIC_INTERLOCKED
+# define ACE_HAS_INTRIN_H
+# define ACE_HAS_INTRINSIC_INTERLOCKED
#endif
#if !defined (_WIN32_WCE) || (_WIN32_WCE >= 0x501)
@@ -119,7 +123,13 @@
// Maybe in the future.
// Disable warning of using Microsoft Extension.
-# pragma warning(disable:4231)
+#pragma warning(disable:4231)
+
+// 'class1' : inherits 'class2::member' via dominance
+#pragma warning(disable:4250)
+
+// 'this' : used in base member initializer list
+#pragma warning(disable:4355)
// CE (at least thru Windows Mobile 5) doesn't have the new, secure CRT.
#if !defined (ACE_HAS_WINCE) && !defined (ACE_HAS_TR24731_2005_CRT)
diff --git a/ace/config-win32-msvc-9.h b/ace/config-win32-msvc-9.h
index 65b817482d6..76167dc78db 100644
--- a/ace/config-win32-msvc-9.h
+++ b/ace/config-win32-msvc-9.h
@@ -51,6 +51,11 @@
#define ACE_STRCASECMP_EQUIVALENT ::_stricmp
#define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
#define ACE_WCSDUP_EQUIVALENT ::_wcsdup
+#if defined (ACE_HAS_WINCE)
+# define ACE_FILENO_EQUIVALENT ::_fileno
+#else
+# define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
+#endif
#ifndef ACE_HAS_EXCEPTIONS
# define ACE_HAS_EXCEPTIONS
@@ -61,14 +66,13 @@
# define ACE_HAS_SIG_ATOMIC_T
# endif /* !Win CE 6.0 or less */
-#define ACE_HAS_STRERROR
#define ACE_LACKS_STRPTIME
// Evaluate this with a WinCE build; maybe things have improved since VC8.
-//#if !defined (ACE_HAS_WINCE)
+#if !defined (ACE_HAS_WINCE)
# define ACE_HAS_INTRIN_H
# define ACE_HAS_INTRINSIC_INTERLOCKED
-//#endif
+#endif
#if !defined (_WIN32_WCE) || (_WIN32_WCE >= 0x501)
# define ACE_HAS_INTRINSIC_BYTESWAP
@@ -138,5 +142,12 @@
// explicitly instantiate a template that has ACE_UNIMPLEMENTED_FUNC.
# define ACE_NEEDS_FUNC_DEFINITIONS
+// Windows Vista and Windows Server 2008 and newer do have native condition
+// variables
+#if defined (WIN32_WINNT) && (WIN32_WINNT >= 0x0600)
+# define ACE_HAS_WTHREADS_CONDITION_VARIABLE
+# undef ACE_LACKS_COND_T
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_WIN32_MSVC_9_H */
diff --git a/ace/config-win32-msvc.h b/ace/config-win32-msvc.h
index 66f5f015434..21fc60a2e58 100644
--- a/ace/config-win32-msvc.h
+++ b/ace/config-win32-msvc.h
@@ -42,6 +42,7 @@
# define ACE_ENDTHREADEX(STATUS) ::_endthreadex ((DWORD) STATUS)
#endif /* _WIN32_WCE */
+//FUZZ: disable check_for_msc_ver
#if (_MSC_VER >= 1600)
# include "ace/config-win32-msvc-10.h"
#elif (_MSC_VER >= 1500)
@@ -53,6 +54,7 @@
#else
# error This version of Microsoft Visual C++ is not supported.
#endif
+//FUZZ: enable check_for_msc_ver
// MFC changes the behavior of operator new at all MSVC versions from 6 up
// by throwing a static CMemoryException* instead of std::bad_alloc
@@ -131,6 +133,7 @@
#define ACE_LACKS_ISBLANK
#define ACE_LACKS_ISWBLANK
+#define ACE_LACKS_CORRECT_ISWPRINT_TAB
#define ACE_ISCTYPE_EQUIVALENT ::_isctype
// Turn off warnings for /W4
diff --git a/ace/config-win32.h b/ace/config-win32.h
index 37cfb683519..417b7ccfc28 100644
--- a/ace/config-win32.h
+++ b/ace/config-win32.h
@@ -37,6 +37,8 @@
# include "ace/config-win32-msvc.h"
#elif defined (ghs)
# include "ace/config-win32-ghs.h"
+#elif defined (ACE_HAS_CEGCC) //need to be prior to MINGW32
+# include "ace/config-win32-cegcc.h"
#elif defined (__MINGW32__)
# include "ace/config-win32-mingw.h"
#elif defined (__DMC__)
diff --git a/ace/iosfwd.h b/ace/iosfwd.h
index d255a75241c..fa959f6c021 100644
--- a/ace/iosfwd.h
+++ b/ace/iosfwd.h
@@ -44,6 +44,7 @@
# if !defined (ACE_USES_OLD_IOSTREAMS)
# include /**/ <iosfwd>
+#define ACE_HAS_CPP98_IOSTREAMS 1
# else
// @note If these forward declarations don't work (e.g. aren't
// portable), we may have to include "ace/streams.h" as a last
diff --git a/ace/os_include/arpa/os_inet.h b/ace/os_include/arpa/os_inet.h
index f3b0a9e3e37..8985f2bbdf2 100644
--- a/ace/os_include/arpa/os_inet.h
+++ b/ace/os_include/arpa/os_inet.h
@@ -32,9 +32,9 @@
}
#endif /* !ACE_LACKS_ARPA_INET_H */
-#if defined (ACE_VXWORKS)
+#if defined (ACE_USES_INETLIB_H)
# include /**/ <inetLib.h>
-#endif /* ACE_VXWORKS */
+#endif /* ACE_USES_INETLIB_H */
/**
* In some environments it is useful to swap the bytes on write, for
diff --git a/ace/os_include/net/os_if.h b/ace/os_include/net/os_if.h
index bb44c58504c..43ee7bff76c 100644
--- a/ace/os_include/net/os_if.h
+++ b/ace/os_include/net/os_if.h
@@ -25,17 +25,10 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if !defined (ACE_LACKS_NET_IF_H)
- // This part if to avoid STL name conflict with the map structure
- // in net/if.h.
-# if defined (ACE_HAS_STL_MAP_CONFLICT)
-# define map _Resource_Allocation_Map_
-# endif /* ACE_HAS_STL_MAP_CONFLICT */
- extern "C" {
# include /**/ <net/if.h>
- }
-# if defined (ACE_HAS_STL_MAP_CONFLICT)
-# undef map
-# endif /* ACE_HAS_STL_MAP_CONFLICT */
+# if defined (ACE_HAS_NET_IF_DL_H)
+# include /**/ <net/if_dl.h>
+# endif /* ACE_HAS_NET_IF_DL_H */
# if defined (HPUX) && defined (IOR)
/* HP-UX 11.11 defines IOR in /usr/include/pa/inline.h
and we don't want that definition. See IOP_IORC.h.
diff --git a/ace/os_include/netinet/os_in.h b/ace/os_include/netinet/os_in.h
index f8af16f84fb..b3ef1e68420 100644
--- a/ace/os_include/netinet/os_in.h
+++ b/ace/os_include/netinet/os_in.h
@@ -1,3 +1,4 @@
+
// -*- C++ -*-
//=============================================================================
@@ -31,31 +32,24 @@
# include /**/ <ws2tcpip.h>
#endif /* ACE_HAS_WINSOCK2 */
-#if !defined (ACE_LACKS_NETINET_IN_H)
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# define queue _Queue_
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
- extern "C" {
-# include /**/ <netinet/in.h>
- }
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# undef queue
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
-#endif /* !ACE_LACKS_NETINET_IN_H */
-
// Place all additions (especially function declarations) within extern "C" {}
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
+#if !defined (ACE_LACKS_NETINET_IN_H)
+# include /**/ <netinet/in.h>
+#endif /* !ACE_LACKS_NETINET_IN_H */
+
+
# if defined (ACE_HAS_PHARLAP_RT)
# define ACE_IPPROTO_TCP SOL_SOCKET
# else
# define ACE_IPPROTO_TCP IPPROTO_TCP
# endif /* ACE_HAS_PHARLAP_RT */
-# if !defined (ACE_HAS_IP_MULTICAST) && defined (ACE_LACKS_IP_ADD_MEMBERSHIP)
+# if !defined (ACE_HAS_IP_MULTICAST) && defined (ACE_LACKS_IP_ADD_MEMBERSHIP)
// Even if ACE_HAS_IP_MULTICAST is not defined, if IP_ADD_MEMBERSHIP
// is defined, assume that the ip_mreq struct is also defined
// (presumably in netinet/in.h).
diff --git a/ace/os_include/netinet/os_tcp.h b/ace/os_include/netinet/os_tcp.h
index e0d6c4124d6..9ec1a3bb256 100644
--- a/ace/os_include/netinet/os_tcp.h
+++ b/ace/os_include/netinet/os_tcp.h
@@ -26,7 +26,7 @@
#if !defined (ACE_LACKS_NETINET_TCP_H)
# include /**/ <netinet/tcp.h>
-#endif /* !ACE_LACKS_NETIINET_TCP_H */
+#endif /* !ACE_LACKS_NETINET_TCP_H */
// Place all additions (especially function declarations) within extern "C" {}
#ifdef __cplusplus
diff --git a/ace/os_include/os_errno.h b/ace/os_include/os_errno.h
index eb51405c576..a24024ae37c 100644
--- a/ace/os_include/os_errno.h
+++ b/ace/os_include/os_errno.h
@@ -41,46 +41,122 @@ extern "C"
#if defined (ACE_WIN32)
// error code mapping for windows
-# define ETIME ERROR_SEM_TIMEOUT
-# define EWOULDBLOCK WSAEWOULDBLOCK
-# define EINPROGRESS WSAEINPROGRESS
-# define EALREADY WSAEALREADY
-# define ENOTSOCK WSAENOTSOCK
-# define EDESTADDRREQ WSAEDESTADDRREQ
-# define EMSGSIZE WSAEMSGSIZE
-# define EPROTOTYPE WSAEPROTOTYPE
-# define ENOPROTOOPT WSAENOPROTOOPT
-# define EPROTONOSUPPORT WSAEPROTONOSUPPORT
-# define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
-# define EOPNOTSUPP WSAEOPNOTSUPP
-# define EPFNOSUPPORT WSAEPFNOSUPPORT
-# define EAFNOSUPPORT WSAEAFNOSUPPORT
-# define EADDRINUSE WSAEADDRINUSE
-# define EADDRNOTAVAIL WSAEADDRNOTAVAIL
-# define ENETDOWN WSAENETDOWN
-# define ENETUNREACH WSAENETUNREACH
-# define ENETRESET WSAENETRESET
-# define ECONNABORTED WSAECONNABORTED
-# define ECONNRESET WSAECONNRESET
-# define ENOBUFS WSAENOBUFS
-# define EISCONN WSAEISCONN
-# define ENOTCONN WSAENOTCONN
-# define ESHUTDOWN WSAESHUTDOWN
-# define ETOOMANYREFS WSAETOOMANYREFS
-# define ETIMEDOUT WSAETIMEDOUT
-# define ECONNREFUSED WSAECONNREFUSED
-# define ELOOP WSAELOOP
-# define EHOSTDOWN WSAEHOSTDOWN
-# define EHOSTUNREACH WSAEHOSTUNREACH
-# define EPROCLIM WSAEPROCLIM
-# define EUSERS WSAEUSERS
-# define EDQUOT WSAEDQUOT
-# define ESTALE WSAESTALE
-# define EREMOTE WSAEREMOTE
- // Grrr! ENAMETOOLONG and ENOTEMPTY are already defined by the horrible
- // 'standard' library.
- // #define ENAMETOOLONG WSAENAMETOOLONG
-# define EADDRINUSE WSAEADDRINUSE
+
+# if !defined (ETIME)
+# define ETIME ERROR_SEM_TIMEOUT
+# endif /* !ETIME */
+# if !defined (EWOULDBLOCK)
+# define EWOULDBLOCK WSAEWOULDBLOCK
+# endif /* !EWOULDBLOCK */
+# if !defined (EINPROGRESS)
+# define EINPROGRESS WSAEINPROGRESS
+# endif /* !EINPROGRESS */
+# if !defined (EALREADY)
+# define EALREADY WSAEALREADY
+# endif /* !EALREADY */
+# if !defined (ENOTSOCK)
+# define ENOTSOCK WSAENOTSOCK
+# endif /* !ENOTSOCK */
+# if !defined (EDESTADDRREQ)
+# define EDESTADDRREQ WSAEDESTADDRREQ
+# endif /* !EDESTADDRREQ */
+# if !defined (EMSGSIZE)
+# define EMSGSIZE WSAEMSGSIZE
+# endif /* !EMSGSIZE */
+# if !defined (EPROTOTYPE)
+# define EPROTOTYPE WSAEPROTOTYPE
+# endif /* !EPROTOTYPE */
+# if !defined (ENOPROTOOPT)
+# define ENOPROTOOPT WSAENOPROTOOPT
+# endif /* !ENOPROTOOPT */
+# if !defined (EPROTONOSUPPORT)
+# define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+# endif /* !EPROTONOSUPPORT */
+# if !defined (ESOCKTNOSUPPORT)
+# define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
+# endif /* !ESOCKTNOSUPPORT */
+# if !defined (EOPNOTSUPP)
+# define EOPNOTSUPP WSAEOPNOTSUPP
+# endif /* !EOPNOTSUPP */
+# if !defined (EPFNOSUPPORT)
+# define EPFNOSUPPORT WSAEPFNOSUPPORT
+# endif /* !EPFNOSUPPORT */
+# if !defined (EAFNOSUPPORT)
+# define EAFNOSUPPORT WSAEAFNOSUPPORT
+# endif /* !EAFNOSUPPORT */
+# if !defined (EADDRINUSE)
+# define EADDRINUSE WSAEADDRINUSE
+# endif /* !EADDRINUSE */
+# if !defined (EADDRNOTAVAIL)
+# define EADDRNOTAVAIL WSAEADDRNOTAVAIL
+# endif /* !EADDRNOTAVAIL */
+# if !defined (ENETDOWN)
+# define ENETDOWN WSAENETDOWN
+# endif /* !ENETDOWN */
+# if !defined (ENETUNREACH)
+# define ENETUNREACH WSAENETUNREACH
+# endif /* !ENETUNREACH */
+# if !defined (ENETRESET)
+# define ENETRESET WSAENETRESET
+# endif /* !ENETRESET */
+# if !defined (ECONNABORTED)
+# define ECONNABORTED WSAECONNABORTED
+# endif /* !ECONNABORTED */
+# if !defined (ECONNRESET)
+# define ECONNRESET WSAECONNRESET
+# endif /* !ECONNRESET */
+# if !defined (ENOBUFS)
+# define ENOBUFS WSAENOBUFS
+# endif /* !ENOBUFS */
+# if !defined (EISCONN)
+# define EISCONN WSAEISCONN
+# endif /* !EISCONN */
+# if !defined (ENOTCONN)
+# define ENOTCONN WSAENOTCONN
+# endif /* !ENOTCONN */
+# if !defined (ESHUTDOWN)
+# define ESHUTDOWN WSAESHUTDOWN
+# endif /* !ESHUTDOWN */
+# if !defined (ETOOMANYREFS)
+# define ETOOMANYREFS WSAETOOMANYREFS
+# endif /* !ETOOMANYREFS */
+# if !defined (ETIMEDOUT)
+# define ETIMEDOUT WSAETIMEDOUT
+# endif /* !ETIMEDOUT */
+# if !defined (ECONNREFUSED)
+# define ECONNREFUSED WSAECONNREFUSED
+# endif /* !ECONNREFUSED */
+# if !defined (ELOOP)
+# define ELOOP WSAELOOP
+# endif /* !ELOOP */
+# if !defined (EHOSTDOWN)
+# define EHOSTDOWN WSAEHOSTDOWN
+# endif /* !EHOSTDOWN */
+# if !defined (EHOSTUNREACH)
+# define EHOSTUNREACH WSAEHOSTUNREACH
+# endif /* !EHOSTUNREACH */
+# if !defined (EPROCLIM)
+# define EPROCLIM WSAEPROCLIM
+# endif /* !EPROCLIM */
+# if !defined (EUSERS)
+# define EUSERS WSAEUSERS
+# endif /* !EUSERS */
+# if !defined (EDQUOT)
+# define EDQUOT WSAEDQUOT
+# endif /* !EDQUOT */
+# if !defined (ESTALE)
+# define ESTALE WSAESTALE
+# endif /* !ESTALE */
+# if !defined (EREMOTE)
+# define EREMOTE WSAEREMOTE
+# endif /* !EREMOTE */
+
+ // Grrr! ENAMETOOLONG and ENOTEMPTY are already defined by the horrible
+ // 'standard' library.
+ // #define ENAMETOOLONG WSAENAMETOOLONG
+# if !defined (EADDRINUSE)
+# define EADDRINUSE WSAEADDRINUSE
+# endif /* EADDRINUSE*/
// CE needs this...
# if !defined (EPERM)
@@ -92,6 +168,120 @@ extern "C"
void herror (const char *str);
#endif /* ACE_HAS_H_ERRNO */
+#if defined (ACE_LACKS_ERRNO_H)
+# if !defined (EPERM)
+# define EPERM 1
+# endif /* EPERM */
+# if !defined (ENOENT)
+# define ENOENT 2
+# endif /* ENOENT */
+# if !defined (ESRCH)
+# define ESRCH 3
+# endif /* ESRCH */
+# if !defined (EINTR)
+# define EINTR 4
+# endif /* EINTR */
+# if !defined (EIO)
+# define EIO 5
+# endif /* EIO */
+# if !defined (ENXIO)
+# define ENXIO 6
+# endif /* ENXIO */
+# if !defined (E2BIG)
+# define E2BIG 7
+# endif /* E2BIG */
+# if !defined (ENOEXEC)
+# define ENOEXEC 8
+# endif /* ENOEXEC */
+# if !defined (EBADF)
+# define EBADF 9
+# endif /* EBADF */
+# if !defined (ECHILD)
+# define ECHILD 10
+# endif /* ECHILD */
+# if !defined (EAGAIN)
+# define EAGAIN 11
+# endif /* EAGAIN */
+# if !defined (ENOMEM)
+# define ENOMEM 12
+# endif /* ENOMEM */
+# if !defined (EACCES)
+# define EACCES 13
+# endif /* EACCES */
+# if !defined (EFAULT)
+# define EFAULT 14
+# endif /* EFAULT */
+# if !defined (EBUSY)
+# define EBUSY 16
+# endif /* EBUSY */
+# if !defined (EEXIST)
+# define EEXIST 17
+# endif /* EEXIST */
+# if !defined (EXDEV)
+# define EXDEV 18
+# endif /* EXDEV */
+# if !defined (ENODEV)
+# define ENODEV 19
+# endif /* ENODEV */
+# if !defined (ENOTDIR)
+# define ENOTDIR 20
+# endif /* ENOTDIR */
+# if !defined (EISDIR)
+# define EISDIR 21
+# endif /* EISDIR */
+# if !defined (EINVAL)
+# define EINVAL 22
+# endif /* EINVAL */
+# if !defined (ENFILE)
+# define ENFILE 23
+# endif /* ENFILE */
+# if !defined (EMFILE)
+# define EMFILE 24
+# endif /* EMFILE */
+# if !defined (ENOTTY)
+# define ENOTTY 25
+# endif /* ENOTTY */
+# if !defined (EFBIG)
+# define EFBIG 27
+# endif /* EFBIG */
+# if !defined (ENOSPC)
+# define ENOSPC 28
+# endif /* ENOSPC */
+# if !defined (ESPIPE)
+# define ESPIPE 29
+# endif /* ESPIPE */
+# if !defined (EROFS)
+# define EROFS 30
+# endif /* EROFS */
+# if !defined (EMLINK)
+# define EMLINK 31
+# endif /* EMLINK */
+# if !defined (EPIPE)
+# define EPIPE 32
+# endif /* EPIPE */
+# if !defined (EDOM)
+# define EDOM 33
+# endif /* EDOM */
+# if !defined (ERANGE)
+# define ERANGE 34
+# endif /* ERANGE */
+# if !defined (EDEADLK)
+# define EDEADLK 36
+# endif /* EDEADLK */
+# if !defined (ENAMETOOLONG)
+# define ENAMETOOLONG 38
+# endif /* ENAMETOOLONG */
+# if !defined (ENOLCK)
+# define ENOLCK 39
+# endif /* ENOLCK */
+# if !defined (ENOSYS)
+# define ENOSYS 40
+# endif /* ENOSYS */
+# if !defined (ENOTEMPTY)
+# define ENOTEMPTY 41
+# endif /* ENOTEMPTY */
+#endif /* ACE_LACKS_ERRNO_H */
+
#if defined (ACE_LACKS_T_ERRNO)
extern int t_errno;
#endif /* ACE_LACKS_T_ERRNO */
diff --git a/ace/os_include/os_limits.h b/ace/os_include/os_limits.h
index a7f6e9e0fb2..8a0c14ae798 100644
--- a/ace/os_include/os_limits.h
+++ b/ace/os_include/os_limits.h
@@ -102,7 +102,7 @@ extern "C"
# define ACE_IOV_MAX IOV_MAX
#endif /* ACE_IOV_MAX */
-#if defined (ACE_VXWORKS) && ((ACE_VXWORKS >= 0x620) && (ACE_VXWORKS <= 0x660)) && !defined (__RTP__)
+#if defined (ACE_VXWORKS) && ((ACE_VXWORKS >= 0x620) && (ACE_VXWORKS <= 0x670)) && !defined (__RTP__)
# if defined (PIPE_BUF) && (PIPE_BUF == -1)
# undef PIPE_BUF
# endif
diff --git a/ace/os_include/os_netdb.h b/ace/os_include/os_netdb.h
index e69a3c78cf0..217aa655c8c 100644
--- a/ace/os_include/os_netdb.h
+++ b/ace/os_include/os_netdb.h
@@ -27,18 +27,6 @@
#include "ace/os_include/netinet/os_in.h"
#include "ace/os_include/os_limits.h"
-#if !defined (ACE_LACKS_NETDB_H)
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# define queue _Queue_
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
- extern "C" {
-# include /**/ <netdb.h>
- }
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# undef queue
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
-#endif /* !ACE_LACKS_NETDB_H */
-
#if defined (ACE_VXWORKS) && (ACE_VXWORKS < 0x620)
# include /**/ <hostLib.h>
#endif /* ACE_VXWORKS */
@@ -49,6 +37,10 @@ extern "C"
{
#endif /* __cplusplus */
+#if !defined (ACE_LACKS_NETDB_H)
+# include /**/ <netdb.h>
+#endif /* !ACE_LACKS_NETDB_H */
+
#if defined (ACE_LACKS_HOSTENT)
struct hostent {
char *h_name; /* official name of host */
diff --git a/ace/os_include/os_sched.h b/ace/os_include/os_sched.h
index e430a6f0fa1..c28f8cf947d 100644
--- a/ace/os_include/os_sched.h
+++ b/ace/os_include/os_sched.h
@@ -37,11 +37,15 @@ extern "C"
#endif /* __cplusplus */
#if !defined (__cpu_set_t_defined) || !defined (ACE_HAS_CPU_SET_T)
+#if defined (ACE_HAS_CPUSET_T)
+ typedef cpuset_t cpu_set_t;
+#else
# define ACE_CPU_SETSIZE 1024
typedef struct
{
ACE_UINT32 bit_array_[ACE_CPU_SETSIZE / (8 * sizeof (ACE_UINT32))];
} cpu_set_t;
+#endif
#endif /* !ACE_HAS_CPU_SET_T || !__cpu_set_t_defined */
#ifdef __cplusplus
diff --git a/ace/os_include/os_signal.h b/ace/os_include/os_signal.h
index dfde6708ff6..5e0206abefa 100644
--- a/ace/os_include/os_signal.h
+++ b/ace/os_include/os_signal.h
@@ -58,25 +58,9 @@ extern "C"
{
#endif /* __cplusplus */
-#if defined (ACE_LACKS_SIGSET)
+#if defined (ACE_LACKS_SIGSET) && !defined (__MINGW32__)
typedef u_int sigset_t;
-#endif /* ACE_LACKS_SIGSET */
-
-#if defined (ACE_HAS_SIG_MACROS)
-# undef sigemptyset
-# undef sigfillset
-# undef sigaddset
-# undef sigdelset
-# undef sigismember
-#endif /* ACE_HAS_SIG_MACROS */
-
-// This must come after signal.h is #included. It's to counteract
-// the sigemptyset and sigfillset #defines, which only happen
-// when __OPTIMIZE__ is #defined (really!) on Linux.
-#if defined (linux) && defined (__OPTIMIZE__)
-# undef sigemptyset
-# undef sigfillset
-#endif /* linux && __OPTIMIZE__ */
+#endif /* ACE_LACKS_SIGSET && !sigset_t */
#if !defined (ACE_HAS_SIG_ATOMIC_T)
typedef int sig_atomic_t;
@@ -171,17 +155,17 @@ extern "C"
// All other platforms set NSIG to one greater than the
// highest-numbered signal.
# define ACE_NSIG NSIG
-#endif /* __Lynx__ */
+#endif /* ACE_VXWORKS */
#if defined (ACE_HAS_WINCE)
typedef void (__cdecl * __sighandler_t)(int);
#endif
-#if defined (ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES) || defined (ACE_HAS_LYNXOS50_SIGNALS)
- // Prototypes for both signal() and struct sigaction are consistent..
+#if defined (ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES)
+ // Prototypes for both signal() and struct sigaction are consistent..
typedef void (*ACE_SignalHandler)(int);
typedef void (*ACE_SignalHandlerV)(int);
-#elif defined (ACE_HAS_LYNXOS_SIGNALS) || defined (ACE_HAS_TANDEM_SIGNALS)
+#elif defined (ACE_HAS_LYNXOS4_SIGNALS) || defined (ACE_HAS_TANDEM_SIGNALS)
typedef void (*ACE_SignalHandler)(...);
typedef void (*ACE_SignalHandlerV)(...);
#elif defined (ACE_HAS_SVR4_SIGNAL_T)
diff --git a/ace/os_include/os_stddef.h b/ace/os_include/os_stddef.h
index 1c047ac1983..117a332b6f2 100644
--- a/ace/os_include/os_stddef.h
+++ b/ace/os_include/os_stddef.h
@@ -36,28 +36,6 @@ extern "C"
{
#endif /* __cplusplus */
-//FUZZ: disable check_for_NULL
-// NULL pointer constant
-#if defined (ACE_LACKS_NULL)
-# undef NULL
-# if defined(__cplusplus)
-# define NULL 0
-# else
-# define NULL ((void *)0)
-# endif
-#endif /* ACE_LACKS_NULL */
-//FUZZ: enable check_for_NULL
-
-/*
- Integer constant expression of type size_t, the value of which is the offset
- in bytes to the structure member (member-designator), from the beginning of
- its structure (type).
-*/
-#if defined (ACE_LACKS_OFFSETOF)
-# undef offsetof
-# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif /* ACE_LACKS_OFFSETOF */
-
// Signed integer type of the result of subtracting two pointers.
#if defined (ACE_LACKS_PTRDIFF_T)
# if !defined (ACE_PTRDIFF_T_TYPE)
@@ -76,7 +54,7 @@ extern "C"
*/
#if defined (ACE_LACKS_WCHAR_T)
# if !defined (ACE_WCHAR_T_TYPE)
-# define ACE_WCHAR_T_TYPE long;
+# define ACE_WCHAR_T_TYPE long
# endif /* !ACE_WCHAR_T_TYPE */
typedef ACE_WCHAR_T_TYPE wchar_t;
#endif /* ACE_LACKS_WCHAR_T */
@@ -84,7 +62,7 @@ extern "C"
// Unsigned integer type of the result of the sizeof operator.
#if defined (ACE_LACKS_SIZE_T)
# if !defined (ACE_SIZE_T_TYPE)
-# define ACE_SIZE_T_TYPE unsigned int;
+# define ACE_SIZE_T_TYPE unsigned int
# endif /* !ACE_SIZE_T_TYPE */
typedef ACE_SIZE_T_TYPE size_t;
#endif /* ACE_LACKS_SIZE_T */
diff --git a/ace/os_include/os_string.h b/ace/os_include/os_string.h
index 7c7f63de930..afd671e5123 100644
--- a/ace/os_include/os_string.h
+++ b/ace/os_include/os_string.h
@@ -26,18 +26,10 @@
#include "ace/os_include/os_stddef.h"
-// Matthew Stevens 7-10-95 Fix GNU GCC 2.7 for memchr() problem.
-#if defined (ACE_HAS_GNU_CSTRING_H)
-// Define this file to keep /usr/include/memory.h from being included.
-# include /**/ <cstring>
-#else
-# if !defined (ACE_LACKS_MEMORY_H)
-# include /**/ <memory.h>
-# endif /* !ACE_LACKS_MEMORY_H */
-# if !defined (ACE_LACKS_STRING_H)
-# include /**/ <string.h>
-# endif /* !ACE_LACKS_STRING_H */
-#endif /* ACE_HAS_GNU_CSTRING_H */
+#if !defined (ACE_LACKS_STRING_H)
+# include /**/ <string.h>
+#endif /* !ACE_LACKS_STRING_H */
+
// Place all additions (especially function declarations) within extern "C" {}
#ifdef __cplusplus
@@ -45,16 +37,6 @@ extern "C"
{
#endif /* __cplusplus */
- // this looks fishy... dhinton
-#if !defined (ACE_HAS_STRERROR)
-# if defined (ACE_HAS_SYS_ERRLIST)
- extern char *sys_errlist[];
-# define strerror(err) sys_errlist[err]
-# else
-# define strerror(err) "strerror is unsupported"
-# endif /* ACE_HAS_SYS_ERRLIST */
-#endif /* !ACE_HAS_STRERROR */
-
#if defined (ACE_LACKS_STRTOK_R_PROTOTYPE) && !defined (_POSIX_SOURCE)
char *strtok_r (char *s, const char *delim, char **save_ptr);
#endif /* ACE_LACKS_STRTOK_R_PROTOTYPE */
diff --git a/ace/os_include/os_stropts.h b/ace/os_include/os_stropts.h
index 9d2429bebf6..03d0f7c6ce4 100644
--- a/ace/os_include/os_stropts.h
+++ b/ace/os_include/os_stropts.h
@@ -27,13 +27,7 @@
#include "ace/os_include/os_unistd.h"
#if defined (ACE_HAS_TIMOD_H)
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# define queue _Queue_
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
# include /**/ <sys/timod.h>
-# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-# undef queue
-# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
#elif defined (ACE_HAS_OSF_TIMOD_H)
# include /**/ <tli/timod.h>
#endif /* ACE_HAS_TIMOD_H */
diff --git a/ace/os_include/os_time.h b/ace/os_include/os_time.h
index 6d03b2f6e82..c86916e9b70 100644
--- a/ace/os_include/os_time.h
+++ b/ace/os_include/os_time.h
@@ -81,10 +81,6 @@ extern "C"
{
#endif /* __cplusplus */
-#if defined (ACE_HAS_BROKEN_CTIME)
-# undef ctime
-#endif /* ACE_HAS_BROKEN_CTIME */
-
// There are a lot of threads-related macro definitions in the config files.
// They came in at different times and from different places and platform
// requirements as threads evolved. They are probably not all needed - some
diff --git a/ace/os_include/os_typeinfo.h b/ace/os_include/os_typeinfo.h
new file mode 100644
index 00000000000..f5c1d56d186
--- /dev/null
+++ b/ace/os_include/os_typeinfo.h
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file os_typeinfo.h
+ *
+ * definitions for the typeinfo file
+ *
+ * $Id$
+ *
+ * @author Don Hinton Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_OS_TYPEINFO_H
+#define ACE_OS_INCLUDE_OS_TYPEINFO_H
+
+#include /**/ "ace/pre.h"
+
+#include /**/ "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include /**/ <typeinfo>
+
+// Place all additions (especially function declarations) within extern "C" {}
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#include /**/ "ace/post.h"
+#endif /* ACE_OS_INCLUDE_OS_TYPEINFO_H */
diff --git a/ace/os_include/os_unistd.h b/ace/os_include/os_unistd.h
index 29c9a39e405..07ae8cec7e8 100644
--- a/ace/os_include/os_unistd.h
+++ b/ace/os_include/os_unistd.h
@@ -63,7 +63,7 @@ extern "C"
// The following are #defines and #includes that are specific to
// WIN32.
# if defined (ACE_HAS_WINCE)
-# define ACE_STDIN _fileno (stdin)
+# define ACE_STDIN _fileno (stdin)
# define ACE_STDOUT _fileno (stdout)
# define ACE_STDERR _fileno (stderr)
# else
diff --git a/ace/os_include/sys/os_select.h b/ace/os_include/sys/os_select.h
index 1cfc68386f1..bf436a67bf5 100644
--- a/ace/os_include/sys/os_select.h
+++ b/ace/os_include/sys/os_select.h
@@ -32,9 +32,9 @@
# include /**/ <sys/select.h>
#endif /* !ACE_LACKS_SYS_SELECT_H */
-#if defined (ACE_VXWORKS) && defined (ACE_LACKS_SYS_SELECT_H)
+#if defined (ACE_USES_SELECTLIB_H) && defined (ACE_LACKS_SYS_SELECT_H)
# include /**/ <selectLib.h>
-#endif /* ACE_VXWORKS */
+#endif /* ACE_USES_SELECTLIB_H && ACE_LACKS_SYS_SELECT_H */
// Place all additions (especially function declarations) within extern "C" {}
#ifdef __cplusplus
diff --git a/ace/os_include/sys/os_socket.h b/ace/os_include/sys/os_socket.h
index 3e18332d1fc..a1d7999ae81 100644
--- a/ace/os_include/sys/os_socket.h
+++ b/ace/os_include/sys/os_socket.h
@@ -30,9 +30,9 @@
# include /**/ <sys/socket.h>
#endif /* !ACE_LACKS_SYS_SOCKET_H */
-#if defined (ACE_VXWORKS) && (ACE_VXWORKS < 0x620)
+#if defined (ACE_USES_SOCKLIB_H)
# include /**/ <sockLib.h>
-#endif /* ACE_VXWORKS */
+#endif /* ACE_USES_SOCKLIB_H */
// Place all additions (especially function declarations) within extern "C" {}
#ifdef __cplusplus
diff --git a/ace/os_include/sys/os_stat.h b/ace/os_include/sys/os_stat.h
index 389cb1151a6..aebcad5ea7c 100644
--- a/ace/os_include/sys/os_stat.h
+++ b/ace/os_include/sys/os_stat.h
@@ -46,19 +46,44 @@ extern "C"
// the following macros are for POSIX conformance.
# if !defined (ACE_HAS_USER_MODE_MASKS)
-# define S_IRWXU 00700 /* read, write, execute: owner. */
-# define S_IRUSR 00400 /* read permission: owner. */
-# define S_IWUSR 00200 /* write permission: owner. */
-# define S_IXUSR 00100 /* execute permission: owner. */
+# if !defined (S_IRWXU)
+# define S_IRWXU 00700 /* read, write, execute: owner. */
+# endif /* !S_IRWXU */
+# if !defined (S_IRUSR)
+# define S_IRUSR 00400 /* read permission: owner. */
+# endif /* !S_IRUSR */
+# if !defined (S_IWUSR)
+# define S_IWUSR 00200 /* write permission: owner. */
+# endif /* !S_IWUSR */
+# if !defined (S_IXUSR)
+# define S_IXUSR 00100 /* execute permission: owner. */
+# endif /* !S_IXUSR */
# endif /* ACE_HAS_USER_MODE_MASKS */
-# define S_IRWXG 00070 /* read, write, execute: group. */
-# define S_IRGRP 00040 /* read permission: group. */
-# define S_IWGRP 00020 /* write permission: group. */
-# define S_IXGRP 00010 /* execute permission: group. */
-# define S_IRWXO 00007 /* read, write, execute: other. */
-# define S_IROTH 00004 /* read permission: other. */
-# define S_IWOTH 00002 /* write permission: other. */
-# define S_IXOTH 00001 /* execute permission: other. */
+
+# if !defined (S_IRWXG)
+# define S_IRWXG 00070
+# endif /* S_IRWXG */
+# if !defined (S_IRGRP)
+# define S_IRGRP 00040
+# endif /* S_IRGRP */
+# if !defined (S_IWGRP)
+# define S_IWGRP 00020
+# endif /* S_IWGRP */
+# if !defined (S_IXGRP)
+# define S_IXGRP 00010
+# endif /* S_IXGRP */
+# if !defined (S_IRWXO)
+# define S_IRWXO 00007
+# endif /* S_IRWXO */
+# if !defined (S_IROTH)
+# define S_IROTH 00004
+# endif /* S_IROTH */
+# if !defined (S_IWOTH)
+# define S_IWOTH 00002
+# endif /* S_IWOTH */
+# if !defined (S_IXOTH)
+# define S_IXOTH 00001
+# endif /* S_IXOTH */
// WinCE's S_IFLNK is defined with the other bits, below.
#if !defined (S_IFLNK) && !defined (ACE_HAS_WINCE)
@@ -86,10 +111,11 @@ extern "C"
# define S_IFREG FILE_ATTRIBUTE_NORMAL
# define S_IFLNK 0
- // Since CE does not have _stat by default as NT/2000 does, the 'stat'
- // struct defined here will be used. Also note that CE file system
- // struct is only for the CE 3.0 or later.
- // Refer to the WCHAR.H from Visual C++ and WIBASE.H from eVC 3.0.
+# if !defined (__MINGW32__)
+ // Since CE does not have _stat by default as NT/2000 does, the 'stat'
+ // struct defined here will be used. Also note that CE file system
+ // struct is only for the CE 3.0 or later.
+ // Refer to the WCHAR.H from Visual C++ and WIBASE.H from eVC 3.0.
struct stat
{
/// always 0 on Windows platforms
@@ -120,6 +146,7 @@ extern "C"
//u_long st_blksize; // optimal blocksize for I/O
//u_long st_flags; // user defined flags for file
};
+ #endif
#endif /* ACE_HAS_WINCE */
#ifdef __cplusplus
diff --git a/ace/os_include/sys/os_time.h b/ace/os_include/sys/os_time.h
index d8d061b5d62..491dc209b69 100644
--- a/ace/os_include/sys/os_time.h
+++ b/ace/os_include/sys/os_time.h
@@ -41,11 +41,7 @@ extern "C"
#endif /* __cplusplus */
#if defined (ACE_HAS_SVR4_GETTIMEOFDAY)
-# if !defined (SCO)
int gettimeofday (struct timeval *tp, void * = 0);
-# else
- int gettimeofday (struct timeval *tp);
-# endif /* !SCO */
#elif defined (ACE_HAS_OSF1_GETTIMEOFDAY)
int gettimeofday (struct timeval *tp, struct timezone * = 0);
#elif defined (ACE_HAS_VOIDPTR_GETTIMEOFDAY)
diff --git a/ace/os_include/sys/os_types.h b/ace/os_include/sys/os_types.h
index bb416f3f46e..c21b5bb6c84 100644
--- a/ace/os_include/sys/os_types.h
+++ b/ace/os_include/sys/os_types.h
@@ -71,8 +71,8 @@ typedef double ACE_timer_t;
#if defined (ACE_SIZEOF_LONG) && ACE_SIZEOF_LONG == 8
typedef off_t ACE_LOFF_T;
-#elif defined (ACE_HAS_RTEMS) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || \
- (defined (ACE_OPENVMS) && defined (_LARGEFILE)) || defined(ACE_MVS)
+#elif defined (ACE_HAS_RTEMS) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || defined(ACE_MVS) || defined(__INTERIX) || \
+ (defined (ACE_OPENVMS) && defined (_LARGEFILE))
typedef off_t ACE_LOFF_T;
#elif defined (__sgi) || defined (AIX) || defined (HPUX) || defined (__QNX__)
typedef off64_t ACE_LOFF_T;
@@ -80,7 +80,7 @@ typedef double ACE_timer_t;
typedef offset_t ACE_LOFF_T;
#elif defined (WIN32)
typedef __int64 ACE_LOFF_T;
-#elif (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x660)) || \
+#elif (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x680)) || \
defined (ACE_LYNXOS_MAJOR) || \
(defined (ACE_OPENVMS) && !defined (_LARGEFILE)) || \
defined (__TANDEM)
@@ -89,17 +89,25 @@ typedef double ACE_timer_t;
typedef loff_t ACE_LOFF_T;
#endif
-#if defined (ACE_WIN32)
-# if !defined (__BORLANDC__)
- typedef DWORD nlink_t;
-# if !defined(__MINGW32__)
- typedef u_short mode_t;
-# endif /* !__MINGW32__ */
- typedef long uid_t;
- typedef long gid_t;
-# endif /* __BORLANDC__ */
- typedef char *caddr_t;
-#endif /* ACE_WIN32 */
+#if defined (ACE_LACKS_UID_T)
+typedef long uid_t;
+#endif /* ACE_LACKS_UID_T */
+
+#if defined (ACE_LACKS_GID_T)
+typedef long gid_t;
+#endif /* ACE_LACKS_GID_T */
+
+#if defined (ACE_LACKS_CADDR_T)
+typedef char *caddr_t;
+#endif /* ACE_LACKS_CADDR_T */
+
+#if defined (ACE_LACKS_MODE_T)
+typedef u_short mode_t;
+#endif /* ACE_LACKS_MODE_T */
+
+#if defined (ACE_LACKS_NLINK_T)
+typedef DWORD nlink_t;
+#endif /* ACE_LACKS_NLINK_T */
#if defined (ACE_LACKS_KEY_T)
# if defined (ACE_WIN32)
diff --git a/ace/os_include/sys/os_un.h b/ace/os_include/sys/os_un.h
index a9bf2457dc1..e1a47dcb45f 100644
--- a/ace/os_include/sys/os_un.h
+++ b/ace/os_include/sys/os_un.h
@@ -36,12 +36,12 @@ extern "C"
{
#endif /* __cplusplus */
-#if defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x600)
+#if defined (ACE_LACKS_SOCKADDR_UN)
struct sockaddr_un {
short sun_family; // AF_UNIX.
char sun_path[108]; // path name.
};
-#endif /* ACE_VXWORKS */
+#endif /* ACE_LACKS_SOCKADDR_UN */
#ifdef __cplusplus
diff --git a/ace/svcconf.mpb b/ace/svcconf.mpb
index ec333fb26eb..aec4ab5113c 100644
--- a/ace/svcconf.mpb
+++ b/ace/svcconf.mpb
@@ -25,34 +25,5 @@ feature(ace_svcconf) {
UTF32_Encoding_Converter.cpp
XML_Svc_Conf.cpp
}
-
- verbatim(gnuace, local) {
- "Svc_Conf_y.cpp: Svc_Conf.y"
- "ifeq ($(notdir $(YACC)), bison)"
- " $(YACC) -l -d Svc_Conf.y"
- " sed -e 's/fprintf/ACE_OS::fprintf/g' \\" // Use ACE's fprintf, not library's
- " -e 's/\\t/ /g' \\" // Eliminate tabs (replace with 2 spaces)
- " -e 's/yy/ace_yy/g' \\"
- " -e 's/->ace_yyerrno/->yyerrno/g' \\" // This reverses the ace_ prefix where it
- " -e 's/->ace_yylineno/->yylineno/g' \\" // should not have been added by the substitution, above.
- " -e 's/ NULL/ 0/g' \\"
- " -e 's/ace_yyerror[ ]*([ ]*\"/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, \"/g' \\"
- " -e 's/ace_yyerror[ ]*([ ]*ace_yymsg/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg/g' \\"
- " -e 's/ace_yyerror[ ]*([ ]*YY_/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_/g' \\"
- " -e 's@#include <stdio\.h>@@' \\"
- " -e 's/Svc_Conf\\.tab\\.c/Svc_Conf_y.cpp/g' <Svc_Conf.tab.c >$@"
- " $(RM) -f Svc_Conf.tab.c Svc_Conf_y.cpp.orig"
- "else"
- " @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
- " @/bin/false"
- "endif"
-
- "Svc_Conf_Token_Table.h: Svc_Conf.y Svc_Conf_y.cpp"
- "ifeq ($(notdir $(YACC)), bison)"
- " mv Svc_Conf.tab.h Svc_Conf_Token_Table.h"
- "else"
- " @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
- " @/bin/false"
- "endif"
- }
}
+
diff --git a/ace/svcconfgen.mpc b/ace/svcconfgen.mpc
new file mode 100644
index 00000000000..5e4e8baab98
--- /dev/null
+++ b/ace/svcconfgen.mpc
@@ -0,0 +1,35 @@
+// -*- MPC -*-
+// $Id$
+
+project(ace_svcconf_gen) {
+ requires += ace_svcconf_gen
+ verbatim(gnuace, local) {
+ "Svc_Conf_y.cpp: Svc_Conf.y"
+ "ifeq ($(notdir $(YACC)), bison)"
+ " $(YACC) -l -d Svc_Conf.y"
+ " sed -e 's/fprintf/ACE_OS::fprintf/g' \\" // Use ACE's fprintf, not library's
+ " -e 's/\\t/ /g' \\" // Eliminate tabs (replace with 2 spaces)
+ " -e 's/yy/ace_yy/g' \\"
+ " -e 's/->ace_yyerrno/->yyerrno/g' \\" // This reverses the ace_ prefix where it
+ " -e 's/->ace_yylineno/->yylineno/g' \\" // should not have been added by the substitution, above.
+ " -e 's/ NULL/ 0/g' \\"
+ " -e 's/ace_yyerror[ ]*([ ]*\"/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, \"/g' \\"
+ " -e 's/ace_yyerror[ ]*([ ]*ace_yymsg/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg/g' \\"
+ " -e 's/ace_yyerror[ ]*([ ]*YY_/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_/g' \\"
+ " -e 's@#include <stdio\.h>@@' \\"
+ " -e 's/Svc_Conf\\.tab\\.c/Svc_Conf_y.cpp/g' <Svc_Conf.tab.c >$@"
+ " $(RM) -f Svc_Conf.tab.c Svc_Conf_y.cpp.orig"
+ "else"
+ " @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
+ " @/bin/false"
+ "endif"
+
+ "Svc_Conf_Token_Table.h: Svc_Conf.y Svc_Conf_y.cpp"
+ "ifeq ($(notdir $(YACC)), bison)"
+ " mv Svc_Conf.tab.h Svc_Conf_Token_Table.h"
+ "else"
+ " @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
+ " @/bin/false"
+ "endif"
+ }
+}
diff --git a/apps/JAWS/ChangeLog b/apps/JAWS/ChangeLog
index 8fbcef9842b..79562d051a9 100644
--- a/apps/JAWS/ChangeLog
+++ b/apps/JAWS/ChangeLog
@@ -1,9 +1,15 @@
+Tue Feb 17 16:15:16 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * server/HTTP_Server.h:
+
+ Updated to reflect movement of the svc_export.h file.
+
Fri Dec 7 22:00:18 UTC 2007 Will Otte <wotte@dre.Vanderbilt.Edu>
* server/HTTP_Helpers.cpp:
Replaced format strings passed sscanf as char arrays to be
- string literals instead, to address a gcc warning.
-
+ string literals instead, to address a gcc warning.
+
Wed Jul 17 14:40:28 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* clients/Caching/http_handler.cpp:
diff --git a/apps/JAWS/clients/Blobby/Blob_Handler.cpp b/apps/JAWS/clients/Blobby/Blob_Handler.cpp
index 6f2cd6ee3d4..0264c14ab17 100644
--- a/apps/JAWS/clients/Blobby/Blob_Handler.cpp
+++ b/apps/JAWS/clients/Blobby/Blob_Handler.cpp
@@ -280,8 +280,7 @@ ACE_Blob_Writer::send_request (void)
// Create the header, store the actual length in mesglen.
mesglen = ACE_OS::sprintf (mesg, "%s /%s %s " ACE_SIZE_T_FORMAT_SPECIFIER_ASCII "\n\n",
- request_prefix_, filename_, request_suffix_,
- (unsigned long)length_);
+ request_prefix_, filename_, request_suffix_, length_);
// Send the header followed by the data
diff --git a/apps/JAWS/server/HTTP_Handler.cpp b/apps/JAWS/server/HTTP_Handler.cpp
index 340d4773c3f..5bb9adfdc2e 100644
--- a/apps/JAWS/server/HTTP_Handler.cpp
+++ b/apps/JAWS/server/HTTP_Handler.cpp
@@ -7,7 +7,7 @@
#include "HTTP_Handler.h"
#include "HTTP_Helpers.h"
-#include "IO.h"
+#include "JAWS_IO.h"
#include "ace/OS_NS_sys_socket.h"
#include "ace/OS_NS_stdio.h"
@@ -34,7 +34,7 @@ void
HTTP_Handler::open (ACE_HANDLE handle,
ACE_Message_Block &initial_data)
{
- ACE_DEBUG ((LM_DEBUG, "(%t) New connection \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) New connection\n"));
int sockbufsize = HTTP_Handler::MAX_SOCKBUFSIZE;
int result = ACE_OS::setsockopt (handle,
diff --git a/apps/JAWS/server/HTTP_Handler.h b/apps/JAWS/server/HTTP_Handler.h
index c4c44799535..65685909428 100644
--- a/apps/JAWS/server/HTTP_Handler.h
+++ b/apps/JAWS/server/HTTP_Handler.h
@@ -26,7 +26,7 @@ class HTTP_Handler_Factory;
#include "HTTP_Request.h"
#include "HTTP_Response.h"
-#include "IO.h"
+#include "JAWS_IO.h"
/**
* @class HTTP_Handler
diff --git a/apps/JAWS/server/HTTP_Response.cpp b/apps/JAWS/server/HTTP_Response.cpp
index 2f67a49c873..1a2641c927f 100644
--- a/apps/JAWS/server/HTTP_Response.cpp
+++ b/apps/JAWS/server/HTTP_Response.cpp
@@ -11,7 +11,7 @@
#include "HTTP_Request.h"
#include "HTTP_Helpers.h"
#include "HTTP_Config.h"
-#include "IO.h"
+#include "JAWS_IO.h"
ACE_RCSID(server, HTTP_Response, "$Id$")
@@ -112,7 +112,7 @@ HTTP_Response::error_response (int status_code, const char *log_message)
;
- char *buf;
+ char *buf = 0;
char buf1[4 * BUFSIZ];
char buf2[BUFSIZ];
@@ -237,46 +237,46 @@ HTTP_Response::cgi_response (void)
cgi_options.command_line ("%s", this->request_.path ());
// Build environment variables
- cgi_options.setenv ("SERVER_SOFTWARE", "%s", "JAWS/1.0");
- cgi_options.setenv ("SERVER_NAME", "%s", "localhost");
- cgi_options.setenv ("GATEWAY_INTERFACE", "%s", "CGI/1.1");
+ cgi_options.setenv (ACE_TEXT ("SERVER_SOFTWARE"), ACE_TEXT ("%s"), ACE_TEXT ("JAWS/1.0"));
+ cgi_options.setenv (ACE_TEXT ("SERVER_NAME"), ACE_TEXT ("%s"), ACE_TEXT ("localhost"));
+ cgi_options.setenv (ACE_TEXT ("GATEWAY_INTERFACE"), ACE_TEXT ("%s"), ACE_TEXT ("CGI/1.1"));
- cgi_options.setenv ("SERVER_PROTOCOL", "%s",
+ cgi_options.setenv (ACE_TEXT ("SERVER_PROTOCOL"), ACE_TEXT ("%s"),
this->request_.version ()
? this->request_.version ()
: "HTTP/0.9");
- cgi_options.setenv ("SERVER_PORT", "%d", 5432);
+ cgi_options.setenv (ACE_TEXT ("SERVER_PORT"), ACE_TEXT ("%d"), 5432);
- cgi_options.setenv ("REQUEST_METHOD", "%s", this->request_.method ());
+ cgi_options.setenv (ACE_TEXT ("REQUEST_METHOD"), ACE_TEXT ("%s"), this->request_.method ());
if (this->request_.path_info ())
{
- cgi_options.setenv ("PATH_INFO", "%s",
+ cgi_options.setenv (ACE_TEXT ("PATH_INFO"), ACE_TEXT ("%s"),
this->request_.path_info ());
- cgi_options.setenv ("PATH_TRANSLATED",
- "%s/%s",
+ cgi_options.setenv (ACE_TEXT ("PATH_TRANSLATED"),
+ ACE_TEXT ("%s/%s"),
HTTP_Config::instance ()->document_root (),
this->request_.path_info ());
}
- cgi_options.setenv ("SCRIPT_NAME",
- "%s",
+ cgi_options.setenv (ACE_TEXT ("SCRIPT_NAME"),
+ ACE_TEXT ("%s"),
this->request_.uri ());
if (this->request_.query_string ())
- cgi_options.setenv ("QUERY_STRING",
- "%s",
+ cgi_options.setenv (ACE_TEXT ("QUERY_STRING"),
+ ACE_TEXT ("%s"),
this->request_.query_string ());
if (this->request_.cgi_env ())
for (size_t i = 0; this->request_.cgi_env ()[i]; i += 2)
- cgi_options.setenv (this->request_.cgi_env ()[i],
- "%s",
- this->request_.cgi_env ()[i+1]);
+ cgi_options.setenv (ACE_TEXT_CHAR_TO_TCHAR (this->request_.cgi_env ()[i]),
+ ACE_TEXT ("%s"),
+ ACE_TEXT_CHAR_TO_TCHAR (this->request_.cgi_env ()[i+1]));
- char buf[BUFSIZ];
- char *p, *q;
- ACE_OS::strcpy (buf, "HTTP_");
+ ACE_TCHAR buf[BUFSIZ];
+ ACE_TCHAR *p = 0, *q = 0;
+ ACE_OS::strcpy (buf, ACE_TEXT ("HTTP_"));
p = q = buf + ACE_OS::strlen (buf);
for (size_t i = 0; i < HTTP_Request::NUM_HEADER_STRINGS; i++)
diff --git a/apps/JAWS/server/HTTP_Server.cpp b/apps/JAWS/server/HTTP_Server.cpp
index 292b2ee89b2..3ef96eda033 100644
--- a/apps/JAWS/server/HTTP_Server.cpp
+++ b/apps/JAWS/server/HTTP_Server.cpp
@@ -12,7 +12,7 @@
#include "ace/Signal.h"
#include "ace/Auto_Ptr.h"
-#include "IO.h"
+#include "JAWS_IO.h"
#include "HTTP_Server.h"
ACE_RCSID(server, HTTP_Server, "$Id$")
@@ -159,7 +159,6 @@ HTTP_Server::init (int argc, ACE_TCHAR *argv[])
//you know what you are doing
ACE_Auto_Ptr<HTTP_Handler_Factory> factory (f);
-
// Choose what concurrency strategy to run.
switch (this->strategy_)
{
diff --git a/apps/JAWS/server/JAWS_Concurrency.h b/apps/JAWS/server/JAWS_Concurrency.h
index 7096d1dbefa..0020d24fc84 100644
--- a/apps/JAWS/server/JAWS_Concurrency.h
+++ b/apps/JAWS/server/JAWS_Concurrency.h
@@ -11,7 +11,7 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Task.h"
-#include "IO.h"
+#include "JAWS_IO.h"
class JAWS_Concurrency_Base : public ACE_Task<ACE_SYNCH>
// = TITLE
diff --git a/apps/JAWS/server/IO.cpp b/apps/JAWS/server/JAWS_IO.cpp
index 394a6a88f2a..4043193d2ee 100644
--- a/apps/JAWS/server/IO.cpp
+++ b/apps/JAWS/server/JAWS_IO.cpp
@@ -7,7 +7,7 @@
#include "ace/Min_Max.h"
#include "ace/SOCK_Stream.h"
#include "ace/Filecache.h"
-#include "IO.h"
+#include "JAWS_IO.h"
#include "HTTP_Helpers.h"
#include "ace/OS_NS_fcntl.h"
@@ -85,7 +85,7 @@ JAWS_Synch_IO::receive_file (const char *filename,
int initial_data_length,
int entire_length)
{
- ACE_Filecache_Handle handle (filename, entire_length);
+ ACE_Filecache_Handle handle (ACE_TEXT_CHAR_TO_TCHAR (filename), entire_length);
int result = handle.error ();
@@ -118,7 +118,7 @@ JAWS_Synch_IO::transmit_file (const char *filename,
const char *trailer,
int trailer_size)
{
- ACE_Filecache_Handle handle (filename);
+ ACE_Filecache_Handle handle (ACE_TEXT_CHAR_TO_TCHAR (filename));
int result = handle.error ();
diff --git a/apps/JAWS/server/IO.h b/apps/JAWS/server/JAWS_IO.h
index 0fd3035558e..c7d512946f5 100644
--- a/apps/JAWS/server/IO.h
+++ b/apps/JAWS/server/JAWS_IO.h
@@ -2,7 +2,7 @@
//=============================================================================
/**
- * @file IO.h
+ * @file JAWS_IO.h
*
* $Id$
*
diff --git a/apps/JAWS/server/Makefile.am b/apps/JAWS/server/Makefile.am
index 206dce1d281..70fa5f67798 100644
--- a/apps/JAWS/server/Makefile.am
+++ b/apps/JAWS/server/Makefile.am
@@ -32,7 +32,7 @@ libJAWS_la_SOURCES = \
HTTP_Request.cpp \
HTTP_Response.cpp \
HTTP_Server.cpp \
- IO.cpp \
+ JAWS_IO.cpp \
JAWS_Concurrency.cpp \
JAWS_Pipeline.cpp \
Parse_Headers.cpp
@@ -44,7 +44,7 @@ noinst_HEADERS = \
HTTP_Request.h \
HTTP_Response.h \
HTTP_Server.h \
- IO.h \
+ JAWS_IO.h \
JAWS_Concurrency.h \
JAWS_Pipeline.h \
Parse_Headers.h
diff --git a/apps/JAWS/server/server.mpc b/apps/JAWS/server/server.mpc
index 19e880d3530..6d86b6a02c2 100644
--- a/apps/JAWS/server/server.mpc
+++ b/apps/JAWS/server/server.mpc
@@ -18,7 +18,7 @@ project(JAWS) : ace_output, acelib {
HTTP_Request.cpp
HTTP_Response.cpp
Parse_Headers.cpp
- IO.cpp
+ JAWS_IO.cpp
}
}
diff --git a/apps/JAWS2/JAWS/Concurrency.h b/apps/JAWS2/JAWS/Concurrency.h
index c88d75c4dbe..6f65c5017bd 100644
--- a/apps/JAWS2/JAWS/Concurrency.h
+++ b/apps/JAWS2/JAWS/Concurrency.h
@@ -14,7 +14,7 @@
#include "ace/Synch_Traits.h"
#include "JAWS/Export.h"
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
class JAWS_Data_Block;
class JAWS_Dispatch_Policy;
diff --git a/apps/JAWS2/JAWS/IO_Acceptor.h b/apps/JAWS2/JAWS/IO_Acceptor.h
index 3f97f876d0b..e14a38a2714 100644
--- a/apps/JAWS2/JAWS/IO_Acceptor.h
+++ b/apps/JAWS2/JAWS/IO_Acceptor.h
@@ -17,7 +17,7 @@
#include "ace/Singleton.h"
#include "JAWS/Export.h"
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
#include "JAWS/IO_Handler.h"
// Forward declaration.
diff --git a/apps/JAWS2/JAWS/IO_Handler.cpp b/apps/JAWS2/JAWS/IO_Handler.cpp
index 82f9753a41d..9d052348b01 100644
--- a/apps/JAWS2/JAWS/IO_Handler.cpp
+++ b/apps/JAWS2/JAWS/IO_Handler.cpp
@@ -5,7 +5,7 @@
#include "ace/OS_NS_unistd.h"
#include "ace/OS_NS_sys_socket.h"
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
#include "JAWS/IO_Handler.h"
#include "JAWS/IO_Acceptor.h"
#include "JAWS/Data_Block.h"
diff --git a/apps/JAWS2/JAWS/IO.cpp b/apps/JAWS2/JAWS/Jaws_IO.cpp
index 41603c6b626..4f0525a6f6d 100644
--- a/apps/JAWS2/JAWS/IO.cpp
+++ b/apps/JAWS2/JAWS/Jaws_IO.cpp
@@ -11,7 +11,7 @@
#include "JAWS/Data_Block.h"
#include "JAWS/Policy.h"
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
#include "JAWS/IO_Handler.h"
#include "JAWS/IO_Acceptor.h"
#include "JAWS/Filecache.h"
diff --git a/apps/JAWS2/JAWS/IO.h b/apps/JAWS2/JAWS/Jaws_IO.h
index e336487bd86..188a5b64442 100644
--- a/apps/JAWS2/JAWS/IO.h
+++ b/apps/JAWS2/JAWS/Jaws_IO.h
@@ -38,8 +38,6 @@ ACE_END_VERSIONED_NAMESPACE_DECL
class JAWS_IO_Handler;
class JAWS_IO_Acceptor;
-
-
class JAWS_Export JAWS_IO
// = TITLE
//
diff --git a/apps/JAWS2/JAWS/Makefile.am b/apps/JAWS2/JAWS/Makefile.am
index dd00e5870ea..99bd5bce9d0 100644
--- a/apps/JAWS2/JAWS/Makefile.am
+++ b/apps/JAWS2/JAWS/Makefile.am
@@ -34,7 +34,7 @@ libJAWS2_la_SOURCES = \
FILE.cpp \
Filecache.cpp \
Headers.cpp \
- IO.cpp \
+ Jaws_IO.cpp \
IO_Acceptor.cpp \
IO_Handler.cpp \
Parse_Headers.cpp \
@@ -65,7 +65,7 @@ noinst_HEADERS = \
Hash_Bucket_T.cpp \
Hash_Bucket_T.h \
Headers.h \
- IO.h \
+ Jaws_IO.h \
IO_Acceptor.h \
IO_Handler.h \
Parse_Headers.h \
diff --git a/apps/JAWS2/JAWS/Pipeline_Tasks.cpp b/apps/JAWS2/JAWS/Pipeline_Tasks.cpp
index 0368acfc6c4..8279d182de7 100644
--- a/apps/JAWS2/JAWS/Pipeline_Tasks.cpp
+++ b/apps/JAWS2/JAWS/Pipeline_Tasks.cpp
@@ -1,6 +1,6 @@
// $Id$
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
#include "JAWS/Pipeline_Tasks.h"
#include "JAWS/Pipeline_Handler_T.h"
#include "JAWS/Data_Block.h"
diff --git a/apps/JAWS2/JAWS/Server.cpp b/apps/JAWS2/JAWS/Server.cpp
index aeb3e9cbd7d..24200d9d211 100644
--- a/apps/JAWS2/JAWS/Server.cpp
+++ b/apps/JAWS2/JAWS/Server.cpp
@@ -11,7 +11,7 @@
#include "JAWS/Server.h"
#include "JAWS/Data_Block.h"
#include "JAWS/Concurrency.h"
-#include "JAWS/IO.h"
+#include "JAWS/Jaws_IO.h"
#include "JAWS/IO_Handler.h"
#include "JAWS/IO_Acceptor.h"
#include "JAWS/Pipeline_Tasks.h"
diff --git a/apps/JAWS2/JAWS/jaws2.mpc b/apps/JAWS2/JAWS/jaws2.mpc
index f1fa986cc8c..c371f14c28c 100644
--- a/apps/JAWS2/JAWS/jaws2.mpc
+++ b/apps/JAWS2/JAWS/jaws2.mpc
@@ -21,7 +21,7 @@ project(JAWS2) : ace_output, acelib {
FILE.cpp
Filecache.cpp
Headers.cpp
- IO.cpp
+ Jaws_IO.cpp
IO_Acceptor.cpp
IO_Handler.cpp
Parse_Headers.cpp
diff --git a/apps/JAWS3/jaws3/Asynch_IO.cpp b/apps/JAWS3/jaws3/Asynch_IO.cpp
index 54b4f1c012d..298f5b02274 100644
--- a/apps/JAWS3/jaws3/Asynch_IO.cpp
+++ b/apps/JAWS3/jaws3/Asynch_IO.cpp
@@ -6,7 +6,7 @@
#include "ace/config-lite.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Asynch_IO.h"
#include "jaws3/Event_Completer.h"
#include "jaws3/Event_Result.h"
diff --git a/apps/JAWS3/jaws3/Asynch_IO.h b/apps/JAWS3/jaws3/Asynch_IO.h
index 68fd257cb24..f2b7cb81cb7 100644
--- a/apps/JAWS3/jaws3/Asynch_IO.h
+++ b/apps/JAWS3/jaws3/Asynch_IO.h
@@ -10,7 +10,7 @@
#include "ace/Time_Value.h"
#include "jaws3/Export.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Event_Result.h"
class JAWS_Asynch_IO;
diff --git a/apps/JAWS3/jaws3/Asynch_IO_Helpers.h b/apps/JAWS3/jaws3/Asynch_IO_Helpers.h
index e82ab8189e5..21c65e73339 100644
--- a/apps/JAWS3/jaws3/Asynch_IO_Helpers.h
+++ b/apps/JAWS3/jaws3/Asynch_IO_Helpers.h
@@ -7,7 +7,7 @@
#include "ace/Asynch_IO.h"
#include "ace/Singleton.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Event_Result.h"
#include "jaws3/Event_Completer.h"
diff --git a/apps/JAWS3/jaws3/IO.cpp b/apps/JAWS3/jaws3/Jaws_IO.cpp
index 98e2e6e32f5..f4187cbb806 100644
--- a/apps/JAWS3/jaws3/IO.cpp
+++ b/apps/JAWS3/jaws3/Jaws_IO.cpp
@@ -6,7 +6,7 @@
#include "ace/OS_NS_strings.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Asynch_IO.h"
#include "jaws3/Synch_IO.h"
#include "jaws3/Reactive_IO.h"
diff --git a/apps/JAWS3/jaws3/IO.h b/apps/JAWS3/jaws3/Jaws_IO.h
index a910a4fb029..a910a4fb029 100644
--- a/apps/JAWS3/jaws3/IO.h
+++ b/apps/JAWS3/jaws3/Jaws_IO.h
diff --git a/apps/JAWS3/jaws3/Makefile.am b/apps/JAWS3/jaws3/Makefile.am
index d140de85b12..96751258f06 100644
--- a/apps/JAWS3/jaws3/Makefile.am
+++ b/apps/JAWS3/jaws3/Makefile.am
@@ -33,7 +33,7 @@ libJAWS3_la_SOURCES = \
Event_Completer.cpp \
Event_Dispatcher.cpp \
FILE.cpp \
- IO.cpp \
+ Jaws_IO.cpp \
Options.cpp \
Protocol_Handler.cpp \
Reactive_IO.cpp \
@@ -63,7 +63,7 @@ noinst_HEADERS = \
Event_Result.h \
Export.h \
FILE.h \
- IO.h \
+ Jaws_IO.h \
Options.h \
Protocol_Handler.h \
Reactive_IO.h \
diff --git a/apps/JAWS3/jaws3/Reactive_IO.cpp b/apps/JAWS3/jaws3/Reactive_IO.cpp
index ead383efa24..d2e16ff8b11 100644
--- a/apps/JAWS3/jaws3/Reactive_IO.cpp
+++ b/apps/JAWS3/jaws3/Reactive_IO.cpp
@@ -8,7 +8,7 @@
#define JAWS_BUILD_DLL
#endif
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Reactive_IO.h"
#include "jaws3/Reactive_IO_Helpers.h"
#include "jaws3/Event_Completer.h"
diff --git a/apps/JAWS3/jaws3/Reactive_IO.h b/apps/JAWS3/jaws3/Reactive_IO.h
index e899357e5fc..1efc0f86cc5 100644
--- a/apps/JAWS3/jaws3/Reactive_IO.h
+++ b/apps/JAWS3/jaws3/Reactive_IO.h
@@ -10,7 +10,7 @@
#include "ace/Time_Value.h"
#include "jaws3/Export.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Event_Result.h"
class JAWS_Reactive_IO;
diff --git a/apps/JAWS3/jaws3/Reactive_IO_Helpers.h b/apps/JAWS3/jaws3/Reactive_IO_Helpers.h
index 9f94fd4caaf..d14f6c33998 100644
--- a/apps/JAWS3/jaws3/Reactive_IO_Helpers.h
+++ b/apps/JAWS3/jaws3/Reactive_IO_Helpers.h
@@ -10,7 +10,7 @@
#include "ace/Time_Value.h"
#include "jaws3/Export.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Event_Result.h"
#include "jaws3/Event_Completer.h"
diff --git a/apps/JAWS3/jaws3/Synch_IO.cpp b/apps/JAWS3/jaws3/Synch_IO.cpp
index 69b0d92fd95..1f66363d8ea 100644
--- a/apps/JAWS3/jaws3/Synch_IO.cpp
+++ b/apps/JAWS3/jaws3/Synch_IO.cpp
@@ -6,7 +6,7 @@
#define JAWS_BUILD_DLL
#endif
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Synch_IO.h"
#include "jaws3/Event_Completer.h"
diff --git a/apps/JAWS3/jaws3/Synch_IO.h b/apps/JAWS3/jaws3/Synch_IO.h
index 5ecf5267088..79c8a936a2e 100644
--- a/apps/JAWS3/jaws3/Synch_IO.h
+++ b/apps/JAWS3/jaws3/Synch_IO.h
@@ -6,7 +6,7 @@
#include "ace/Singleton.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
class JAWS_Export JAWS_Synch_IO : public JAWS_IO_Impl
{
diff --git a/apps/JAWS3/jaws3/Templates.cpp b/apps/JAWS3/jaws3/Templates.cpp
index c28a9019318..2f702936747 100644
--- a/apps/JAWS3/jaws3/Templates.cpp
+++ b/apps/JAWS3/jaws3/Templates.cpp
@@ -13,7 +13,7 @@
#include "jaws3/Asynch_IO.h"
#include "jaws3/Concurrency.h"
#include "jaws3/Export.h"
-#include "jaws3/IO.h"
+#include "jaws3/Jaws_IO.h"
#include "jaws3/Event_Dispatcher.h"
#include "jaws3/Event_Completer.h"
#include "jaws3/Options.h"
diff --git a/apps/JAWS3/jaws3/jaws3.mpc b/apps/JAWS3/jaws3/jaws3.mpc
index 850c50b09c3..e8ba773a578 100644
--- a/apps/JAWS3/jaws3/jaws3.mpc
+++ b/apps/JAWS3/jaws3/jaws3.mpc
@@ -21,7 +21,7 @@ project(JAWS3) : ace_output, acelib {
Event_Completer.cpp
Event_Dispatcher.cpp
FILE.cpp
- IO.cpp
+ Jaws_IO.cpp
Options.cpp
Protocol_Handler.cpp
Reactive_IO.cpp
@@ -55,7 +55,7 @@ project(JAWS3) : ace_output, acelib {
Event_Result.h
Export.h
FILE.h
- IO.h
+ Jaws_IO.h
Options.h
Protocol_Handler.h
Reactive_IO.h
diff --git a/apps/drwho/CM_Server.cpp b/apps/drwho/CM_Server.cpp
index 2b2da3abe51..5cca27910fc 100644
--- a/apps/drwho/CM_Server.cpp
+++ b/apps/drwho/CM_Server.cpp
@@ -21,7 +21,7 @@ CM_Server::open (short port_number)
if (this->sokfd_ < 0)
return -1;
- ACE_OS::memset (&this->sin_, sizeof this->sin_, 0);
+ ACE_OS::memset (&this->sin_, 0, sizeof this->sin_);
this->sin_.sin_family = AF_INET;
this->sin_.sin_port = htons (port_number);
this->sin_.sin_addr.s_addr = INADDR_ANY;
diff --git a/apps/gperf/ChangeLog b/apps/gperf/ChangeLog
index 139597c03fc..b762f3b14f2 100644
--- a/apps/gperf/ChangeLog
+++ b/apps/gperf/ChangeLog
@@ -1,3 +1,20 @@
+Mon Jul 13 15:32:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/Bool_Array.h
+ * src/Vectors.h
+ Doxygen changes
+
+Sun Jun 28 03:20:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * src/*.{h,cpp}:
+ Use doxygen comment tags, small code improvements
+
+ * src/gperf.mpc:
+ Build a shared library that can later be used by gperf
+
+ * src/gperf_export.h:
+ New file
+
Wed Jul 02 11:30:00 UTC 2008 Simon Massey <sma at prismtech dot com>
* src/Key_List.cpp:
@@ -44,7 +61,7 @@ Tue Mar 14 21:08:12 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
conditional expression", "conversion from some type to another type, possible
loss of data", "local variable may be used without having been initialized" and
so on.
- Thanks to Lukas Gruetzmacher <gruetzmacher at ais-dresden dot de> for
+ Thanks to Lukas Gruetzmacher <gruetzmacher at ais-dresden dot de> for
motivating the fix to these "VC level 4 warnings".
Wed Jan 4 22:55:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
@@ -1118,7 +1135,7 @@ Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
* Boy, it has been a *long* time since I hacked this puppy. Let's
see, I'm about to add long-overdue support for case-insensitive
string comparisons to gperf's generated output code. We are
- going to employ the hitherto unused option -I to indicte this!
+ going to employ the hitherto unused option -I to indicate this!
Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant)
@@ -1964,7 +1981,7 @@ Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
is now computed in Key_List::Read_Keys, and thus
Key_List::Print_Min_Max doesn't need to bother.
- * Modifed the key position iterator scheme in options.cc to
+ * Modified the key position iterator scheme in options.cc to
eliminate the need for member function Options::Advance.
Now, the Options::Get function performs the advancement
automatically, obviating the need for an extra function call.
diff --git a/apps/gperf/src/Bool_Array.cpp b/apps/gperf/src/Bool_Array.cpp
index 668f0cd0016..0a083aa6382 100644
--- a/apps/gperf/src/Bool_Array.cpp
+++ b/apps/gperf/src/Bool_Array.cpp
@@ -1,27 +1,29 @@
// -*- C++ -*-
-// $Id$
-
// Fast lookup table abstraction implemented as an Iteration Number Array
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Bool_Array.h"
#include "ace/OS_NS_string.h"
@@ -40,7 +42,7 @@ Bool_Array::~Bool_Array (void)
ACE_DEBUG ((LM_DEBUG,
"\ndumping boolean array information\n"
"size = %u\niteration number = %u\nend of array dump\n",
- size_,
+ size_,
generation_number_));
delete [] this->storage_array_;
}
diff --git a/apps/gperf/src/Bool_Array.h b/apps/gperf/src/Bool_Array.h
index da76fd7d3e6..0089295f748 100644
--- a/apps/gperf/src/Bool_Array.h
+++ b/apps/gperf/src/Bool_Array.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef BOOL_ARRAY_H
#define BOOL_ARRAY_H
@@ -34,41 +36,48 @@
#if defined (ACE_HAS_GPERF)
+#if defined (__BORLANDC__) && (__BORLANDC__ < 0x630)
+#include "gperf_export.h"
+#endif
+
+/**
+ * Efficient lookup table abstraction implemented as a "Generation
+ * Number" Array.
+ *
+ * Uses a "Generation Numbering" implementation to minimize
+ * initialization time.
+ */
+#if defined (__BORLANDC__) && (__BORLANDC__ < 0x630)
+class ACE_GPERF_Export Bool_Array
+#else
class Bool_Array
+#endif
{
- // = TITLE
- // Efficient lookup table abstraction implemented as a "Generation
- // Number" Array.
- //
- // = DESCRIPTION
- // Uses a "Generation Numbering" implementation to minimize
- // initialization time.
public:
- // = Initialization and termination methods.
+ /// Constructor
Bool_Array (void);
- // Constructor
+ /// Initialize the array (requires O(n) time).
int open (u_long);
- // Initialize the array (requires O(n) time).
+ /// Destructor.
~Bool_Array (void);
- // Destructor.
+ /// Locate the @a value in the array (requires O(1) time).
int find (u_long value);
- // Locate the <value> in the array (requires O(1) time).
+ /// Reinitializes the array (requires O(1) time).
void reset (void);
- // Reinitializes the array (requires O(1) time).
private:
+ /// Initialization of the index space.
unsigned long *storage_array_;
- // Initialization of the index space.
+ /// Keep track of the current Generation.
unsigned long generation_number_;
- // Keep track of the current Generation.
+ /// Keep track of array size.
unsigned long size_;
- // Keep track of array size.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Gen_Perf.cpp b/apps/gperf/src/Gen_Perf.cpp
index ed1a1bc3cba..2439f7d6093 100644
--- a/apps/gperf/src/Gen_Perf.cpp
+++ b/apps/gperf/src/Gen_Perf.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Gen_Perf.h"
@@ -33,26 +35,24 @@ ACE_RCSID(src, Gen_Perf, "$Id$")
#include "ace/OS_NS_stdio.h"
#include "ace/OS_Memory.h"
-// Current release version.
+/// Current release version.
extern const char *version_string;
-// Reads input keys, possibly applies the reordering heuristic, sets
-// the maximum associated value size (rounded up to the nearest power
-// of 2), may initialize the associated values array, and determines
-// the maximum hash table size. Note: using the random numbers is
-// often helpful, though not as deterministic, of course!
-
+/// Reads input keys, possibly applies the reordering heuristic, sets
+/// the maximum associated value size (rounded up to the nearest power
+/// of 2), may initialize the associated values array, and determines
+/// the maximum hash table size. Note: using the random numbers is
+/// often helpful, though not as deterministic, of course!
Gen_Perf::Gen_Perf (void)
: fewest_collisions (0),
num_done (1)
{
}
-// Merge two disjoint hash key multisets to form the ordered disjoint
-// union of the sets. (In a multiset, an element can occur multiple
-// times). Precondition: both set1 and set2 must be
-// ordered. Returns the length of the combined set.
-
+/// Merge two disjoint hash key multisets to form the ordered disjoint
+/// union of the sets. (In a multiset, an element can occur multiple
+/// times). Precondition: both set1 and set2 must be
+/// ordered. Returns the length of the combined set.
int
Gen_Perf::compute_disjoint_union (char *set1, char *set2, char *set3)
{
@@ -85,11 +85,10 @@ Gen_Perf::compute_disjoint_union (char *set1, char *set2, char *set3)
return set3 - base;
}
-// Sort the UNION_SET in increasing frequency of occurrence. This
-// speeds up later processing since we may assume the resulting set
-// (Set_3, in this case), is ordered. Uses insertion sort, since the
-// UNION_SET is typically short.
-
+/// Sort the UNION_SET in increasing frequency of occurrence. This
+/// speeds up later processing since we may assume the resulting set
+/// (Set_3, in this case), is ordered. Uses insertion sort, since the
+/// UNION_SET is typically short.
void
Gen_Perf::sort_set (char *union_set, int len)
{
@@ -107,8 +106,7 @@ Gen_Perf::sort_set (char *union_set, int len)
}
}
-// Generate a keysig's hash value.
-
+/// Generate a keysig's hash value.
int
Gen_Perf::hash (List_Node *key_node)
{
@@ -121,21 +119,22 @@ Gen_Perf::hash (List_Node *key_node)
return sum;
}
-// Find out how character value change affects successfully hash
-// items. Returns FALSE if no other hash values are affected, else
-// returns TRUE. Note that because Option.Get_Asso_Max is a power of
-// two we can guarantee that all legal Vectors::Asso_Values are
-// visited without repetition since Option.Get_Jump was forced to be
-// an odd value!
-
+/// Find out how character value change affects successfully hash
+/// items. Returns FALSE if no other hash values are affected, else
+/// returns TRUE. Note that because Option.Get_Asso_Max is a power of
+/// two we can guarantee that all legal Vectors::Asso_Values are
+/// visited without repetition since Option.Get_Jump was forced to be
+/// an odd value!
inline int
Gen_Perf::affects_prev (char c, List_Node *curr)
{
- int original_char = Vectors::asso_values[(int) c];
- int total_iterations;
+ int const original_char = Vectors::asso_values[(int) c];
+ int total_iterations = 0;
if (!option[FAST])
- total_iterations = option.asso_max ();
+ {
+ total_iterations = option.asso_max ();
+ }
else
{
total_iterations = option.iterations ();
@@ -148,8 +147,6 @@ Gen_Perf::affects_prev (char c, List_Node *curr)
for (int i = total_iterations - 1; i >= 0; --i)
{
- int collisions = 0;
-
Vectors::asso_values[(int) c] =
(Vectors::asso_values[(int) c]
+ (option.jump () ? option.jump () : ACE_OS::rand ()))
@@ -158,9 +155,10 @@ Gen_Perf::affects_prev (char c, List_Node *curr)
// Iteration Number array is a win, O(1) intialization time!
this->char_search.reset ();
+ int collisions = 0;
+
// See how this asso_value change affects previous keywords. If
// it does better than before we'll take it!
-
for (List_Node *ptr = this->key_list.head;
this->char_search.find (this->hash (ptr)) == 0
|| ++collisions < fewest_collisions;
@@ -169,14 +167,14 @@ Gen_Perf::affects_prev (char c, List_Node *curr)
if (ptr == curr)
{
fewest_collisions = collisions;
-
+
if (option[DEBUGGING])
{
ACE_DEBUG ((LM_DEBUG,
"- resolved after %d iterations",
total_iterations - i));
}
-
+
return 0;
}
}
@@ -184,18 +182,18 @@ Gen_Perf::affects_prev (char c, List_Node *curr)
// Restore original values, no more tries.
Vectors::asso_values[(int) c] = original_char;
+
// If we're this far it's time to try the next character....
return 1;
}
-// Change a character value, try least-used characters first.
-
+/// Change a character value, try least-used characters first.
int
Gen_Perf::change (List_Node *prior, List_Node *curr)
{
if (option[DEBUGGING])
ACE_DEBUG ((LM_DEBUG,
- "collision on keyword #%d, prior = \"%s\", curr = \"%s\" hash = %d\n",
+ "collision on keyword #%d, prior = \"%C\", curr = \"%C\" hash = %d\n",
num_done,
prior->key,
curr->key,
@@ -207,7 +205,7 @@ Gen_Perf::change (List_Node *prior, List_Node *curr)
// Try changing some values, if change doesn't alter other values
// continue normal action.
- fewest_collisions++;
+ ++fewest_collisions;
for (char *temp = union_set; *temp != '\0'; temp++)
if (affects_prev (*temp, curr) == 0)
@@ -247,7 +245,7 @@ Gen_Perf::open (void)
this->key_list.reorder ();
int asso_value_max = option.asso_max ();
- int non_linked_length = this->key_list.keyword_list_length ();
+ int const non_linked_length = this->key_list.keyword_list_length ();
if (asso_value_max == 0)
asso_value_max = non_linked_length;
@@ -269,7 +267,7 @@ Gen_Perf::open (void)
}
else
{
- int asso_value = option.initial_value ();
+ int const asso_value = option.initial_value ();
// Initialize array if user requests non-zero default.
if (asso_value)
@@ -316,9 +314,9 @@ Gen_Perf::open (void)
return 0;
}
-// For binary search, do normal string sort on the keys, and then
-// assign hash values from 0 to N-1. Then go ahead with the normal
-// logic that is there for perfect hashing.
+/// For binary search, do normal string sort on the keys, and then
+/// assign hash values from 0 to N-1. Then go ahead with the normal
+/// logic that is there for perfect hashing.
int
Gen_Perf::compute_binary_search (void)
{
@@ -326,7 +324,7 @@ Gen_Perf::compute_binary_search (void)
this->key_list.string_sort ();
// Assign hash values.
- List_Node *curr;
+ List_Node *curr = 0;
int hash_value;
for (hash_value = 0, curr = this->key_list.head;
curr != 0;
@@ -346,8 +344,8 @@ Gen_Perf::compute_linear_search (void)
this->key_list.string_sort ();
// Assign hash values.
- List_Node *curr;
- int hash_value;
+ List_Node *curr = 0;
+ int hash_value = 0;
for (hash_value = 0, curr = this->key_list.head;
curr != 0;
curr = curr->next, hash_value++)
@@ -360,7 +358,7 @@ Gen_Perf::compute_linear_search (void)
int
Gen_Perf::compute_perfect_hash (void)
{
- List_Node *curr;
+ List_Node *curr = 0;
for (curr = this->key_list.head;
curr != 0;
@@ -412,16 +410,15 @@ Gen_Perf::compute_perfect_hash (void)
return 0;
}
-// Does the hard stuff.... Initializes the Bool Array, and attempts
-// to find a perfect function that will hash all the key words without
-// getting any duplications. This is made much easier since we aren't
-// attempting to generate *minimum* functions, only perfect ones. If
-// we can't generate a perfect function in one pass *and* the user
-// hasn't enabled the DUP option, we'll inform the user to try the
-// randomization option, use -D, or choose alternative key positions.
-// The alternatives (e.g., back-tracking) are too time-consuming, i.e,
-// exponential in the number of keys.
-
+/// Does the hard stuff.... Initializes the Bool Array, and attempts
+/// to find a perfect function that will hash all the key words without
+/// getting any duplications. This is made much easier since we aren't
+/// attempting to generate *minimum* functions, only perfect ones. If
+/// we can't generate a perfect function in one pass *and* the user
+/// hasn't enabled the DUP option, we'll inform the user to try the
+/// randomization option, use -D, or choose alternative key positions.
+/// The alternatives (e.g., back-tracking) are too time-consuming, i.e,
+/// exponential in the number of keys.
int
Gen_Perf::run (void)
{
@@ -453,8 +450,7 @@ Gen_Perf::run (void)
return 0;
}
-// Prints out some diagnostics upon completion.
-
+/// Prints out some diagnostics upon completion.
Gen_Perf::~Gen_Perf (void)
{
if (option[DEBUGGING])
diff --git a/apps/gperf/src/Gen_Perf.h b/apps/gperf/src/Gen_Perf.h
index b9038face7a..ee6813953a1 100644
--- a/apps/gperf/src/Gen_Perf.h
+++ b/apps/gperf/src/Gen_Perf.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef GEN_PERF_H
#define GEN_PERF_H
@@ -27,24 +29,26 @@
#include "Options.h"
#include "Key_List.h"
#include "Bool_Array.h"
+#include "gperf_export.h"
+#include "ace/Copy_Disabled.h"
#if defined (ACE_HAS_GPERF)
-class Gen_Perf
+/*
+ * Provides high-level routines to manipulate the keyword list
+ * structures the code generation output.
+ */
+class ACE_GPERF_Export Gen_Perf : private ACE_Copy_Disabled
{
- // = TITLE
- // Provides high-level routines to manipulate the keyword list
- // structures the code generation output.
public:
- // = Initialization and termination methods.
+ /// Constructor.
Gen_Perf (void);
- // Constructor.
+ /// Destructor
~Gen_Perf (void);
- // Destructor
+ /// Attempt to generate a perfect hash function.
int run (void);
- // Attempt to generate a perfect hash function.
private:
int open (void);
@@ -57,24 +61,24 @@ private:
static int compute_disjoint_union (char *s1, char *s2, char *s3);
static void sort_set (char *union_set, int len);
+ /// Maximum possible hash value.
int max_hash_value;
- // Maximum possible hash value.
+ /// Records fewest # of collisions for asso value.
int fewest_collisions;
- // Records fewest # of collisions for asso value.
+ /// Number of keywords processed without a collision.
int num_done;
- // Number of keywords processed without a collision.
+ /// Disjoint union.
char *union_set;
- // Disjoint union.
+ /// List of the keys we're trying to map into a perfect hash
+ /// function.
Key_List key_list;
- // List of the keys we're trying to map into a perfect hash
- // function.
+ /// Table that keeps track of key collisions.
Bool_Array char_search;
- // Table that keeps track of key collisions.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Hash_Table.cpp b/apps/gperf/src/Hash_Table.cpp
index 26551a8e3a0..e5af3073e49 100644
--- a/apps/gperf/src/Hash_Table.cpp
+++ b/apps/gperf/src/Hash_Table.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Hash_Table.h"
diff --git a/apps/gperf/src/Hash_Table.h b/apps/gperf/src/Hash_Table.h
index d8385858271..f8bd8c5c1fa 100644
--- a/apps/gperf/src/Hash_Table.h
+++ b/apps/gperf/src/Hash_Table.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef HASH_TABLE_H
#define HASH_TABLE_H
@@ -32,34 +34,39 @@
#include "Options.h"
#include "List_Node.h"
+#include "ace/Copy_Disabled.h"
#if defined (ACE_HAS_GPERF)
-// @@ This class should be replaced by something in ACE, e.g.,
-// ACE_Hash_Map_Manager. Perhaps we should implement a new
-// ACE_Hash_Map that uses double hashing, however!
-class Hash_Table
+
+/**
+ * Hash table used to check for duplicate keyword entries.
+ *
+ * This implementation uses "double hashing."
+ *
+ * @todo This class should be replaced by something in ACE, e.g.,
+ * ACE_Hash_Map_Manager. Perhaps we should implement a new
+ * ACE_Hash_Map that uses double hashing, however!
+ */
+class Hash_Table : private ACE_Copy_Disabled
{
- // = TITLE
- // Hash table used to check for duplicate keyword entries.
- //
- // = DESCRIPTION
- // This implementation uses "double hashing."
public:
+ /// Constructor
Hash_Table (size_t s);
+ /// Destructor
~Hash_Table (void);
List_Node *find (List_Node *item, int ignore_length);
private:
+ /// Vector of pointers to linked lists of List_Node's.
List_Node **table_;
- // Vector of pointers to linked lists of List_Node's.
+ /// Size of the vector.
size_t size_;
- // Size of the vector.
+ /// Find out how well our double hashing is working!
int collisions_;
- // Find out how well our double hashing is working!
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Iterator.cpp b/apps/gperf/src/Iterator.cpp
index 12ce57de2b5..c8ef2c53c06 100644
--- a/apps/gperf/src/Iterator.cpp
+++ b/apps/gperf/src/Iterator.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Iterator.h"
@@ -29,8 +31,7 @@ ACE_RCSID(src, Iterator, "$Id$")
#include "ace/OS_NS_ctype.h"
-// Constructor for Iterator.
-
+/// Constructor for Iterator.
Iterator::Iterator (char *s,
int lo,
int hi,
@@ -46,9 +47,8 @@ Iterator::Iterator (char *s,
{
}
-// Provide an Iterator, returning the ``next'' value from the list of
-// valid values given in the constructor.
-
+/// Provide an Iterator, returning the ``next'' value from the list of
+/// valid values given in the constructor.
int
Iterator::operator() (void)
{
@@ -95,7 +95,7 @@ Iterator::operator() (void)
return error_value;
}
}
-
+
return curr_value >= lo_bound && curr_value <= hi_bound
? curr_value
: error_value;
diff --git a/apps/gperf/src/Iterator.h b/apps/gperf/src/Iterator.h
index 03b9316205a..58c779c5852 100644
--- a/apps/gperf/src/Iterator.h
+++ b/apps/gperf/src/Iterator.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef ITERATOR_H
#define ITERATOR_H
@@ -31,22 +33,24 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "Options.h"
+#include "ace/Copy_Disabled.h"
#if defined (ACE_HAS_GPERF)
-class Iterator
+
+/**
+ * Provides an Iterator that expands and decodes a control string
+ * containing digits and ranges, returning an integer every time the
+ * generator function is called.
+ *
+ * This class is used to decode the user's key position requests.
+ * For example: "-k 1,2,5-10,$" will return 1, 2, 5, 6, 7, 8, 9,
+ * 10, and 0 ( representing the abstract ``last character of the
+ * key'' on successive calls to the member function operator ().
+ * No errors are handled in these routines, they are passed back
+ * to the calling routines via a user-supplied Error_Value
+ */
+class Iterator : private ACE_Copy_Disabled
{
- // = TITLE
- // Provides an Iterator that expands and decodes a control string
- // containing digits and ranges, returning an integer every time the
- // generator function is called.
- //
- // = DESCRIPTION
- // This class is used to decode the user's key position requests.
- // For example: "-k 1,2,5-10,$" will return 1, 2, 5, 6, 7, 8, 9,
- // 10, and 0 ( representing the abstract ``last character of the
- // key'' on successive calls to the member function operator ().
- // No errors are handled in these routines, they are passed back
- // to the calling routines via a user-supplied Error_Value */
public:
Iterator (char *s,
int lo,
@@ -57,23 +61,23 @@ public:
int operator () (void);
private:
+ /// A pointer to the string provided by the user.
char *str;
- // A pointer to the string provided by the user.
+ /// Value returned after last key is processed.
int end;
- // Value returned after last key is processed.
+ /// A value marking the abstract ``end of word'' (usually '$').
int end_word;
- // A value marking the abstract ``end of word'' (usually '$').
+ /// Error value returned when input is syntactically erroneous.
int error_value;
- // Error value returned when input is syntactically erroneous.
+ /// Greatest possible value, inclusive.
int hi_bound;
- // Greatest possible value, inclusive.
+ /// Smallest possible value, inclusive.
int lo_bound;
- // Smallest possible value, inclusive.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Key_List.cpp b/apps/gperf/src/Key_List.cpp
index ca4e04d71c9..d4b57e7b502 100644
--- a/apps/gperf/src/Key_List.cpp
+++ b/apps/gperf/src/Key_List.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Key_List.h"
@@ -34,19 +36,35 @@ ACE_RCSID(src, Key_List, "$Id$")
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_string.h"
-// Default type for generated code.
+/// Default type for generated code.
const char *const Key_List::default_array_type = "char *";
-// in_word_set return type, by default.
+/// in_word_set return type, by default.
const char *const Key_List::default_return_type = "char *";
-// How wide the printed field width must be to contain the maximum
-// hash value.
+namespace
+{
+
+char *
+dup_string (const char *const str)
+{
+ char *buf = 0;
+ ACE_NEW_RETURN (buf,
+ char [ACE_OS::strlen (str) + 1],
+ 0);
+ ACE_OS::strcpy (buf, str);
+
+ return buf;
+}
+
+} // unnamed namespace
+
+/// How wide the printed field width must be to contain the maximum
+/// hash value.
int Key_List::field_width = 0;
int Key_List::determined_[ACE_STANDARD_CHARACTER_SET_SIZE];
-// Destructor dumps diagnostics during debugging.
-
+/// Destructor dumps diagnostics during debugging.
Key_List::~Key_List (void)
{
if (option[DEBUGGING])
@@ -55,7 +73,7 @@ Key_List::~Key_List (void)
// Free up all the nodes in the list.
while (this->head != 0)
{
- List_Node *temp;
+ List_Node *temp = 0;
// Make sure to delete the linked nodes, as well.
for (List_Node *ptr = this->head->link;
@@ -70,23 +88,26 @@ Key_List::~Key_List (void)
delete this->head;
this->head = temp;
}
-}
-// Gathers the input stream into a buffer until one of two things occur:
-//
-// 1. We read a '%' followed by a '%'
-// 2. We read a '%' followed by a '}'
-//
-// The first symbolizes the beginning of the keyword list proper, The
-// second symbolizes the end of the C source code to be generated
-// verbatim in the output file.
-//
-// I assume that the keys are separated from the optional preceding
-// struct declaration by a consecutive % followed by either % or }
-// starting in the first column. The code below uses an expandible
-// buffer to scan off and return a pointer to all the code (if any)
-// appearing before the delimiter.
+ delete [] this->array_type_;
+ delete [] this->return_type;
+ delete [] this->struct_tag;
+}
+/// Gathers the input stream into a buffer until one of two things occur:
+///
+/// 1. We read a '%' followed by a '%'
+/// 2. We read a '%' followed by a '}'
+///
+/// The first symbolizes the beginning of the keyword list proper, The
+/// second symbolizes the end of the C source code to be generated
+/// verbatim in the output file.
+///
+/// I assume that the keys are separated from the optional preceding
+/// struct declaration by a consecutive % followed by either % or }
+/// starting in the first column. The code below uses an expandible
+/// buffer to scan off and return a pointer to all the code (if any)
+/// appearing before the delimiter.
char *
Key_List::special_input (char delimiter)
{
@@ -141,12 +162,12 @@ Key_List::special_input (char delimiter)
buf[i] = static_cast<char> (c);
}
+ delete [] buf;
return 0;
}
-// Stores any C/C++ source code that must be included verbatim into
-// the generated code output.
-
+/// Stores any C/C++ source code that must be included verbatim into
+/// the generated code output.
char *
Key_List::save_include_src (void)
{
@@ -164,24 +185,23 @@ Key_List::save_include_src (void)
return (char *) "";
}
-// Determines from the input file whether the user wants to build a
-// table from a user-defined struct, or whether the user is content to
-// simply use the default array of keys.
-
+/// Determines from the input file whether the user wants to build a
+/// table from a user-defined struct, or whether the user is content to
+/// simply use the default array of keys.
char *
Key_List::array_type (void)
{
return special_input ('%');
}
-// Sets up the Return_Type, the Struct_Tag type and the Array_Type
-// based upon various user Options.
-
+/// Sets up the Return_Type, the Struct_Tag type and the Array_Type
+/// based upon various user Options.
int
Key_List::output_types (void)
{
if (option[TYPE])
{
+ delete [] array_type_;
array_type_ = array_type ();
if (array_type_ == 0)
// Something's wrong, but we'll catch it later on....
@@ -193,6 +213,7 @@ Key_List::output_types (void)
"{\n\0");
if (option[POINTER]) // And it must return a pointer...
{
+ delete [] return_type;
ACE_NEW_RETURN (return_type,
char[struct_tag_length + 2],
-1);
@@ -203,30 +224,33 @@ Key_List::output_types (void)
return_type[struct_tag_length + 1] = '\0';
}
+ delete [] struct_tag;
ACE_NEW_RETURN (struct_tag,
char[struct_tag_length + 2],
-1);
ACE_OS::strncpy (struct_tag,
array_type_,
struct_tag_length);
- if (struct_tag[struct_tag_length] != ' ')
+ if (struct_tag[struct_tag_length - 1] != ' ')
{
struct_tag[struct_tag_length] = ' ';
- struct_tag_length++;
+ ++struct_tag_length;
}
struct_tag[struct_tag_length] = '\0';
}
}
else if (option[POINTER]) // Return a char *.
- return_type = (char *) Key_List::default_array_type;
+ {
+ delete [] return_type;
+ return_type = dup_string (Key_List::default_array_type);
+ }
return 0;
}
-// Reads in all keys from standard input and creates a linked list
-// pointed to by Head. This list is then quickly checked for
-// ``links,'' i.e., unhashable elements possessing identical key sets
-// and lengths.
-
+/// Reads in all keys from standard input and creates a linked list
+/// pointed to by Head. This list is then quickly checked for
+/// ``links,'' i.e., unhashable elements possessing identical key sets
+/// and lengths.
int
Key_List::read_keys (void)
{
@@ -266,7 +290,7 @@ Key_List::read_keys (void)
static_cast<int> (ACE_OS::strcspn (buffer,
delimiter))),
-1);
- this->total_keys++;
+ ++this->total_keys;
}
// See if any additional source code is included at end of
@@ -300,8 +324,8 @@ Key_List::read_keys (void)
trail = temp;
else
{
- total_duplicates++;
- list_len--;
+ ++total_duplicates;
+ --list_len;
trail->next = temp->next;
temp->link = ptr->link;
ptr->link = temp;
@@ -310,7 +334,7 @@ Key_List::read_keys (void)
// option.
if (!option[DUP] || option[DEBUGGING])
ACE_ERROR ((LM_ERROR,
- "Static key link: \"%s\" = \"%s\", with key set \"%s\".\n",
+ "Static key link: \"%C\" = \"%C\", with key set \"%C\".\n",
temp->key,
ptr->key,
temp->keysig));
@@ -349,12 +373,11 @@ Key_List::read_keys (void)
return 0;
}
-// Recursively merges two sorted lists together to form one sorted
-// list. The ordering criteria is by frequency of occurrence of
-// elements in the key set or by the hash value. This is a kludge,
-// but permits nice sharing of almost identical code without incurring
-// the overhead of a function call comparison.
-
+/// Recursively merges two sorted lists together to form one sorted
+/// list. The ordering criteria is by frequency of occurrence of
+/// elements in the key set or by the hash value. This is a kludge,
+/// but permits nice sharing of almost identical code without incurring
+/// the overhead of a function call comparison.
List_Node *
Key_List::merge (List_Node *list1, List_Node *list2)
{
@@ -366,7 +389,7 @@ Key_List::merge (List_Node *list1, List_Node *list2)
{
return list1;
}
- else if (occurrence_sort && list1->occurrence < list2->occurrence
+ else if ((occurrence_sort && list1->occurrence < list2->occurrence)
|| (hash_sort && list1->hash_value > list2->hash_value)
|| (key_sort && ACE_OS::strcmp (list1->key, list2->key) >= 0))
{
@@ -382,7 +405,6 @@ Key_List::merge (List_Node *list1, List_Node *list2)
// Applies the merge sort algorithm to recursively sort the key list
// by frequency of occurrence of elements in the key set.
-
List_Node *
Key_List::merge_sort (List_Node *a_head)
{
@@ -408,7 +430,6 @@ Key_List::merge_sort (List_Node *a_head)
}
// Returns the frequency of occurrence of elements in the key set.
-
inline int
Key_List::occurrence (List_Node *ptr)
{
@@ -422,7 +443,6 @@ Key_List::occurrence (List_Node *ptr)
// Sets the index location for all keysig characters that are now
// determined.
-
inline void
Key_List::determined (List_Node *ptr)
{
@@ -431,7 +451,6 @@ Key_List::determined (List_Node *ptr)
}
// Returns TRUE if PTR's key set is already completely determined.
-
inline int
Key_List::already_determined (List_Node *ptr)
{
@@ -442,7 +461,6 @@ Key_List::already_determined (List_Node *ptr)
return is_determined;
}
-
// Reorders the table by first sorting the list so that frequently
// occuring keys appear first, and then the list is reorded so that
// keys whose values are already determined will be placed towards the
@@ -453,7 +471,7 @@ Key_List::already_determined (List_Node *ptr)
void
Key_List::reorder (void)
{
- List_Node *ptr;
+ List_Node *ptr = 0;
for (ptr = head; ptr; ptr = ptr->next)
ptr->occurrence = occurrence (ptr);
@@ -496,7 +514,7 @@ Key_List::reorder (void)
void
Key_List::output_min_max (void)
{
- List_Node *temp;
+ List_Node *temp = 0;
for (temp = head; temp->next; temp = temp->next)
continue;
@@ -1532,7 +1550,7 @@ Key_List::output_lookup_function (void)
{
ACE_OS::printf (" {\n"
" %schar *s = wordlist[slot]", option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "");
- if (array_type_ != Key_List::default_array_type)
+ if (ACE_OS::strcmp (array_type_, Key_List::default_array_type) != 0)
ACE_OS::printf (".%s", option.key_name ());
ACE_OS::printf (";\n\n if (%s%s == *s && !ACE_OS::%s)\n return %s;\n }\n",
@@ -1551,7 +1569,7 @@ Key_List::output_lookup_function (void)
" while (--ptr >= base)\n ",
option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "", struct_tag,
option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "", struct_tag);
- if (array_type_ != Key_List::default_array_type)
+ if (ACE_OS::strcmp (array_type_, Key_List::default_array_type) != 0)
{
if (option[COMP])
ACE_OS::printf ("if (%s == *ptr->%s && !ACE_OS::%s (str + 1, ptr->%s + 1, len - 1",
@@ -1568,8 +1586,8 @@ Key_List::output_lookup_function (void)
? (option[STRCASECMP] ? "strncasecmp (str + 1, *ptr + 1, len - 1" : "strncmp (str + 1, *ptr + 1, len - 1")
: (option[STRCASECMP] ? "strcasecmp (str + 1, *ptr + 1" : "strcmp (str + 1, *ptr + 1"));
ACE_OS::printf ("))\n return %sptr;"
- "\n }\n }\n %s\n}\n", array_type_ ==
- Key_List::default_array_type ? "*" : "", option[OPTIMIZE] ? "" : "}\n return 0;");
+ "\n }\n }\n %s\n}\n", ACE_OS::strcmp (array_type_,
+ Key_List::default_array_type) == 0 ? "*" : "", option[OPTIMIZE] ? "" : "}\n return 0;");
}
else
{
@@ -1581,7 +1599,7 @@ Key_List::output_lookup_function (void)
ACE_OS::printf (" %schar *s = wordlist[key]", option[CONSTANT] || pointer_and_type_enabled == 0 ? "const " : "");
- if (array_type_ != Key_List::default_array_type)
+ if (ACE_OS::strcmp (array_type_, Key_List::default_array_type) != 0)
ACE_OS::printf (".%s", option.key_name ());
ACE_OS::printf (";\n\n if (%s%s == *s && !ACE_OS::%s)\n return %s",
@@ -1946,9 +1964,9 @@ Key_List::dump (void)
Key_List::Key_List (void)
: head (0),
total_duplicates (0),
- array_type_ ((char *) Key_List::default_array_type),
- return_type ((char *) Key_List::default_return_type),
- struct_tag ((char *) Key_List::default_array_type),
+ array_type_ (dup_string (Key_List::default_array_type)),
+ return_type (dup_string (Key_List::default_return_type)),
+ struct_tag (dup_string (Key_List::default_array_type)),
max_key_len (INT_MIN),
min_key_len (INT_MAX),
key_sort (0),
diff --git a/apps/gperf/src/Key_List.h b/apps/gperf/src/Key_List.h
index 34f8e2c05bf..7d39532c17c 100644
--- a/apps/gperf/src/Key_List.h
+++ b/apps/gperf/src/Key_List.h
@@ -1,63 +1,75 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef KEY_LIST_H
#define KEY_LIST_H
#include "Options.h"
-#include "List_Node.h"
-#include "Vectors.h"
#if defined (ACE_HAS_GPERF)
-class Duplicate_Entry
+#include "List_Node.h"
+#include "Vectors.h"
+#include "ace/Copy_Disabled.h"
+
+#if defined (__BORLANDC__) && (__BORLANDC__ < 0x630)
+#include "gperf_export.h"
+#endif
+
+/**
+ * Describes a duplicate entry.
+ *
+ * This is used for generating code by the <Key_List>.
+ */
+class Duplicate_Entry : private ACE_Copy_Disabled
{
- // = TITLE
- // Describes a duplicate entry.
- //
- // = DESCRIPTION
- // This is used for generating code by the <Key_List>.
public:
+ /// Hash value for this particular duplicate set.
int hash_value;
- // Hash value for this particular duplicate set.
+ /// Slot into the main keyword storage array.
int slot;
- // Slot into the main keyword storage array.
+ /// Number of consecutive duplicates at this slot.
int count;
- // Number of consecutive duplicates at this slot.
};
-class Key_List
+/**
+ * Data and function member declarations for the keyword list class.
+ *
+ * The key word list is a useful abstraction that keeps track of
+ * various pieces of information that enable that fast generation of
+ * the Gen_Perf.hash function. A Key_List is a singly-linked list
+ * of List_Nodes.
+ */
+#if defined (__BORLANDC__) && (__BORLANDC__ < 0x630)
+class ACE_GPERF_Export Key_List : private ACE_Copy_Disabled
+#else
+class Key_List : private ACE_Copy_Disabled
+#endif
{
- // = TITLE
- // Data and function member declarations for the keyword list class.
- //
- // = DESCRIPTION
- // The key word list is a useful abstraction that keeps track of
- // various pieces of information that enable that fast generation of
- // the Gen_Perf.hash function. A Key_List is a singly-linked list
- // of List_Nodes.
public:
Key_List (void);
~Key_List (void);
@@ -69,11 +81,11 @@ public:
int read_keys (void);
int output (void);
+ /// Points to the head of the linked list.
List_Node *head;
- // Points to the head of the linked list.
+ /// Total number of duplicate hash values.
int total_duplicates;
- // Total number of duplicate hash values.
private:
// = Make hash table 10 times larger than # of keyword entries.
@@ -112,61 +124,61 @@ private:
int i2,
Duplicate_Entry *dup_ptr,
int value);
+ /// Pointer to the type for word list.
char *array_type_;
- // Pointer to the type for word list.
- char *return_type;
// Pointer to return type for lookup function.
+ char *return_type;
+ /// Shorthand for user-defined struct tag type.
char *struct_tag;
- // Shorthand for user-defined struct tag type.
+ /// C source code to be included verbatim.
char *include_src;
- // C source code to be included verbatim.
+ /// Maximum length of the longest keyword.
int max_key_len;
- // Maximum length of the longest keyword.
+ /// Minimum length of the shortest keyword.
int min_key_len;
- // Minimum length of the shortest keyword.
+ /// Minimum hash value for all keywords.
int min_hash_value;
- // Minimum hash value for all keywords.
+ /// Maximum hash value for all keywords.
int max_hash_value;
- // Maximum hash value for all keywords.
+ /// True if sorting by occurrence.
int occurrence_sort;
- // True if sorting by occurrence.
+ /// True if sorting by hash value.
int hash_sort;
- // True if sorting by hash value.
+ /// True if sorting by key value.
int key_sort;
- // True if sorting by key value.
+ /// True if any additional C code is included.
int additional_code;
- // True if any additional C code is included.
+ /// Length of head's Key_List, not counting duplicates.
int list_len;
- // Length of head's Key_List, not counting duplicates.
+ /// Total number of keys, counting duplicates.
int total_keys;
- // Total number of keys, counting duplicates.
+ /// Default type for generated code.
static const char *const default_array_type;
- // Default type for generated code.
+ /// in_word_set return type, by default.
static const char *const default_return_type;
- // in_word_set return type, by default.
+ /// How wide the printed field width must be to contain the maximum
+ /// hash value.
static int field_width;
- // How wide the printed field width must be to contain the maximum
- // hash value.
+ /// Sets the slot location for all keysig characters that are now
+ /// determined.
static int determined_[ACE_STANDARD_CHARACTER_SET_SIZE];
- // Sets the slot location for all keysig characters that are now
- // determined.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/List_Node.cpp b/apps/gperf/src/List_Node.cpp
index 1668ab114c0..f828ec91dab 100644
--- a/apps/gperf/src/List_Node.cpp
+++ b/apps/gperf/src/List_Node.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "List_Node.h"
@@ -30,9 +32,8 @@ ACE_RCSID(src, List_Node, "$Id$")
#include "Vectors.h"
#include "ace/OS_NS_ctype.h"
-// Sorts the key set alphabetically to speed up subsequent operation
-// Uses insertion sort since the set is probably quite small.
-
+/// Sorts the key set alphabetically to speed up subsequent operation
+/// Uses insertion sort since the set is probably quite small.
inline void
List_Node::sort (char *base, int len)
{
@@ -54,19 +55,18 @@ List_Node::sort (char *base, int len)
}
}
-// Initializes a List_Node. This requires obtaining memory for the
-// CHAR_SET initializing them using the information stored in the
-// KEY_POSITIONS array in Options, and checking for simple errors.
-// It's important to note that KEY and REST are both pointers to the
-// different offsets into the same block of dynamic memory pointed to
-// by parameter K. The data member REST is used to store any
-// additional fields of the input file (it is set to the "" string if
-// Option[TYPE] is not enabled). This is useful if the user wishes to
-// incorporate a lookup structure, rather than just an array of keys.
-// Finally, KEY_NUMBER contains a count of the total number of keys
-// seen so far. This is used to initialize the INDEX field to some
-// useful value.
-
+/// Initializes a List_Node. This requires obtaining memory for the
+/// CHAR_SET initializing them using the information stored in the
+/// KEY_POSITIONS array in Options, and checking for simple errors.
+/// It's important to note that KEY and REST are both pointers to the
+/// different offsets into the same block of dynamic memory pointed to
+/// by parameter K. The data member REST is used to store any
+/// additional fields of the input file (it is set to the "" string if
+/// Option[TYPE] is not enabled). This is useful if the user wishes to
+/// incorporate a lookup structure, rather than just an array of keys.
+/// Finally, KEY_NUMBER contains a count of the total number of keys
+/// seen so far. This is used to initialize the INDEX field to some
+/// useful value.
List_Node::List_Node (char *k, int len)
: link (0),
next (0),
@@ -95,12 +95,10 @@ List_Node::List_Node (char *k, int len)
else
{
// Only use those character positions specified by the user.
-
option.reset ();
// Iterate thru the list of key_positions, initializing
// occurrences table and keysig (via char * pointer ptr).
-
for (int i; (i = option.get ()) != EOS; )
{
if (i == WORD_END) // Special notation for last KEY position, i.e. '$'.
diff --git a/apps/gperf/src/List_Node.h b/apps/gperf/src/List_Node.h
index ebe9bd57a99..25f36553c80 100644
--- a/apps/gperf/src/List_Node.h
+++ b/apps/gperf/src/List_Node.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef LIST_NODE_H
#define LIST_NODE_H
@@ -31,49 +33,51 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "Options.h"
+#include "ace/Copy_Disabled.h"
#if defined (ACE_HAS_GPERF)
-class List_Node
+
+/**
+ * Data and function members for defining values and operations of
+ * a list node.
+ */
+class List_Node : private ACE_Copy_Disabled
{
- // = TITLE
- // Data and function members for defining values and operations of
- // a list node.
public:
- // = Initialization and termination methods.
+ /// Constructor.
List_Node (char *key, int len);
- // Constructor.
+ /// Destructor.
~List_Node (void);
- // Destructor.
static void sort (char *base, int len);
+ /// TRUE if key has an identical KEY_SET as another key.
List_Node *link;
- // TRUE if key has an identical KEY_SET as another key.
+ /// Points to next element on the list.
List_Node *next;
- // Points to next element on the list.
+ /// Each keyword string stored here.
char *key;
- // Each keyword string stored here.
+ /// Additional information for building hash function.
char *rest;
- // Additional information for building hash function.
+ /// Set of characters to hash, specified by user.
char *keysig;
- // Set of characters to hash, specified by user.
+ /// Length of the key.
int length;
- // Length of the key.
+ /// Hash value for the key.
int hash_value;
- // Hash value for the key.
+ /// A metric for frequency of key set occurrences.
int occurrence;
- // A metric for frequency of key set occurrences.
+ /// Position of this node relative to other nodes.
int slot;
- // Position of this node relative to other nodes.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Options.cpp b/apps/gperf/src/Options.cpp
index be5f8c356c3..f6d7a9a7cfc 100644
--- a/apps/gperf/src/Options.cpp
+++ b/apps/gperf/src/Options.cpp
@@ -1,27 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Handles parsing the Options provided to the user.
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Options.h"
@@ -35,9 +35,9 @@ ACE_RCSID(src, Options, "$Id$")
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_stdlib.h"
-// These need to appear before the global class instantiation, since
-// they are static members with a default constructor that initializes
-// an ACE_Allocator needed in the Options class constructor.
+/// These need to appear before the global class instantiation, since
+/// they are static members with a default constructor that initializes
+/// an ACE_Allocator needed in the Options class constructor.
ACE_CString Options::function_name_;
ACE_CString Options::fill_default_;
ACE_CString Options::key_name_;
@@ -45,31 +45,31 @@ ACE_CString Options::class_name_;
ACE_CString Options::hash_name_;
ACE_CString Options::delimiters_;
-// Global option coordinator for the entire program.
+/// Global option coordinator for the entire program.
Options option;
-// Current program version.
+/// Current program version.
extern const char *version_string;
-// Size to jump on a collision.
+/// Size to jump on a collision.
static const int DEFAULT_JUMP_VALUE = 5;
-// Default name for generated lookup function.
+/// Default name for generated lookup function.
static const char *const DEFAULT_NAME = "in_word_set";
-// Default filler for keyword table.
+/// Default filler for keyword table.
static const char *const DEFAULT_FILL = "";
-// Default name for the key component.
+/// Default name for the key component.
static const char *const DEFAULT_KEY = "name";
-// Default name for the generated class.
+/// Default name for the generated class.
static const char *const DEFAULT_CLASS_NAME = "Perfect_Hash";
-// Default name for generated hash function.
+/// Default name for generated hash function.
static const char *const DEFAULT_HASH_NAME = "hash";
-// Default delimiters that separate keywords from their attributes.
+/// Default delimiters that separate keywords from their attributes.
static const char *const DEFAULT_DELIMITERS = ",\n";
int Options::option_word_;
@@ -84,8 +84,7 @@ ACE_TCHAR **Options::argv_;
int Options::iterations_;
char Options::key_positions_[MAX_KEY_POS];
-// Prints program usage to standard error stream.
-
+/// Prints program usage to standard error stream.
void
Options::usage (void)
{
@@ -96,8 +95,7 @@ Options::usage (void)
"(type %n -h for help)\n"));
}
-// Output command-line Options.
-
+/// Output command-line Options.
void
Options::print_options (void)
{
@@ -112,19 +110,19 @@ Options::print_options (void)
ACE_OS::printf (" */");
}
-// Sorts the key positions *IN REVERSE ORDER!!* This makes further
-// routines more efficient. Especially when generating code. Uses a
-// simple Insertion Sort since the set is probably ordered. Returns 1
-// if there are no duplicates, 0 otherwise.
-
+/// Sorts the key positions *IN REVERSE ORDER!!* This makes further
+/// routines more efficient. Especially when generating code. Uses a
+/// simple Insertion Sort since the set is probably ordered. Returns 1
+/// if there are no duplicates, 0 otherwise.
int
Options::key_sort (char *base, int len)
{
- int i, j;
-
+ int j = 0;
+ int i = 0;
for (i = 0, j = len - 1; i < j; i++)
{
- int curr, tmp;
+ int curr = 0;
+ int tmp = 0;
for (curr = i + 1, tmp = base[curr];
curr > 0 && tmp >= base[curr - 1];
@@ -159,13 +157,12 @@ Options::Options (void)
initial_asso_value_ = iterations_ = 0;
}
-// Dumps option status when debug is set.
-
+/// Dumps option status when debug is set.
Options::~Options (void)
{
if (ACE_BIT_ENABLED (option_word_, DEBUGGING))
{
- char *ptr;
+ char *ptr = 0;
ACE_OS::fprintf (stderr,
"\ndumping Options:"
@@ -243,7 +240,7 @@ Options::~Options (void)
"all characters are used in the hash function\n");
ACE_OS::fprintf (stderr,
- "maximum keysig size = %d\nkey positions are: \n",
+ "maximum keysig size = %d\nkey positions are:\n",
total_keysig_size_);
for (ptr = key_positions_; *ptr != EOS; ptr++)
@@ -256,9 +253,8 @@ Options::~Options (void)
}
}
-// Parses the command line Options and sets appropriate flags in
-// option_word_.
-
+/// Parses the command line Options and sets appropriate flags in
+/// option_word_.
int
Options::parse_args (int argc, ACE_TCHAR *argv[])
{
@@ -269,11 +265,10 @@ Options::parse_args (int argc, ACE_TCHAR *argv[])
ACE_Get_Opt getopt (argc, argv, ACE_TEXT("abBcCdDe:Ef:F:gGhH:i:IJj:k:K:lL:mMnN:oOprs:S:tTvVZ:"));
//FUZZ: enable check_for_lack_ACE_OS
- int option_char;
-
argc_ = argc;
argv_ = argv;
+ int option_char;
while ((option_char = getopt ()) != -1)
{
switch (option_char)
@@ -440,7 +435,7 @@ Options::parse_args (int argc, ACE_TCHAR *argv[])
"\tof 2 generates 2 tables with 1/2 the elements in each table, etc.\n"
"\tThis is useful since many C compilers cannot correctly generate code\n"
"\tfor large switch statements.\n"
- "-t\tAllows the user to include a structured type declaration for \n"
+ "-t\tAllows the user to include a structured type declaration for\n"
"\tgenerated code. Any text before %%%% is consider part of the type\n"
"\tdeclaration. Key words and additional fields may follow this, one\n"
"\tgroup of fields per line.\n"
@@ -719,24 +714,21 @@ Options::parse_args (int argc, ACE_TCHAR *argv[])
return 0;
}
-// True if option enable, else false.
-
+/// True if option enable, else false.
int
Options::operator[] (Option_Type option)
{
return ACE_BIT_ENABLED (option_word_, option);
}
-// Enables option OPT.
-
+/// Enables option OPT.
void
Options::operator = (enum Option_Type opt)
{
ACE_SET_BITS (option_word_, opt);
}
-// Disables option OPT.
-
+/// Disables option OPT.
bool
Options::operator != (enum Option_Type opt)
{
@@ -746,128 +738,112 @@ Options::operator != (enum Option_Type opt)
return true;
}
-// Initializes the key Iterator.
-
+/// Initializes the key Iterator.
void
Options::reset (void)
{
key_pos_ = 0;
}
-// Returns current key_position and advanced index.
-
+/// Returns current key_position and advanced index.
int
Options::get (void)
{
return key_positions_[key_pos_++];
}
-// Sets the size of the table size.
-
+/// Sets the size of the table size.
void
Options::asso_max (int r)
{
size_ = r;
}
-// Returns the size of the table size.
-
+/// Returns the size of the table size.
int
Options::asso_max (void)
{
return size_;
}
-// Returns total distinct key positions.
-
+/// Returns total distinct key positions.
u_int
Options::max_keysig_size (void)
{
return total_keysig_size_;
}
-// Sets total distinct key positions.
-
+/// Sets total distinct key positions.
void
Options::keysig_size (u_int a_size)
{
total_keysig_size_ = a_size;
}
-// Returns the jump value.
-
+/// Returns the jump value.
int
Options::jump (void)
{
return jump_;
}
-// Returns the generated function name.
-
+/// Returns the generated function name.
const char *
Options::function_name (void)
{
return function_name_.c_str ();
}
-// Returns the fill default
-
+/// Returns the fill default
const char *
Options::fill_default (void)
{
return fill_default_.c_str ();
}
-// Returns the keyword key name.
-
+/// Returns the keyword key name.
const char *
Options::key_name (void)
{
return key_name_.c_str ();
}
-// Returns the hash function name.
-
+/// Returns the hash function name.
const char *
Options::hash_name (void)
{
return hash_name_.c_str ();
}
-// Returns the generated class name.
-
+/// Returns the generated class name.
const char *
Options::class_name (void)
{
return class_name_.c_str ();
}
-// Returns the initial associated character value.
-
+/// Returns the initial associated character value.
int
Options::initial_value (void)
{
return initial_asso_value_;
}
-// Returns the iterations value.
-
+/// Returns the iterations value.
int
Options::iterations (void)
{
return iterations_;
}
-// Returns the string used to delimit keywords from other attributes.
-
+/// Returns the string used to delimit keywords from other attributes.
const char *
Options::delimiter (void)
{
return delimiters_.c_str ();
}
-// Gets the total number of switch statements to generate.
-
+/// Gets the total number of switch statements to generate.
int
Options::total_switches (void)
{
diff --git a/apps/gperf/src/Options.h b/apps/gperf/src/Options.h
index 78dfccafdab..94e94efbf99 100644
--- a/apps/gperf/src/Options.h
+++ b/apps/gperf/src/Options.h
@@ -1,31 +1,35 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef OPTIONS_H
#define OPTIONS_H
#include "ace/Log_Msg.h"
#include "ace/SString.h"
+#include "ace/Copy_Disabled.h"
+#include "gperf_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -33,39 +37,38 @@
#if defined (ACE_HAS_GPERF)
-// Enumerate the potential debugging Options.
-
+/// Enumerate the potential debugging Options.
enum Option_Type
{
- DEBUGGING = 01, // Enable debugging (prints diagnostics to stderr).
- ORDER = 02, // Apply ordering heuristic to speed-up search time.
- ANSI = 04, // Generate ANSI prototypes.
- ALLCHARS = 010, // Use all characters in hash function.
- INLINE = 020, // Generate code for inline functions.
- TYPE = 040, // Handle user-defined type structured keyword input.
- RANDOM = 0100, // Randomly initialize the associated values table.
- DEFAULTCHARS = 0200, // Make default char positions be 1,$ (end of keyword).
- SWITCH = 0400, // Generate switch output to save space.
- POINTER = 01000, // Have in_word_set function return pointer, not boolean.
- NOLENGTH = 02000, // Don't include keyword length in hash computations.
- LENTABLE = 04000, // Generate a length table for string comparison.
- DUP = 010000, // Handle duplicate hash values for keywords.
- FAST = 020000, // Generate the hash function ``fast.''
- NOTYPE = 040000, // Don't include user-defined type definition in output -- it's already defined elsewhere.
- COMP = 0100000, // Generate strncmp rather than strcmp.
- GLOBAL = 0200000, // Make the keyword table a global variable.
- CONSTANT = 0400000, // Make the generated tables readonly (const).
- CPLUSPLUS = 01000000, // Generate C++ code.
- C = 02000000, // Generate C code.
- ENUM = 04000000, // Use enum for constants.
- STRCASECMP = 010000000, // Use the case insensitive comparison.
- OPTIMIZE = 020000000, // Assume all input keywords are in the keyset.
- ADA = 040000000, // Generate Ada code.
- MUTE = 0100000000, // Dont print the warnings.
- SKIPCLASS = 0200000000, // Skip the class definition part in the output while in C++ mode.
- SKIPSTRINGH = 0400000000, // Skip including the header file ace/OS_NS_string.h.
- BINARYSEARCH = 01000000000, // Generates Binary Search code.
- LINEARSEARCH = 02000000000 // Generates Linear Search code.
+ DEBUGGING = 01, /* Enable debugging (prints diagnostics to stderr). */
+ ORDER = 02, /**< Apply ordering heuristic to speed-up search time. */
+ ANSI = 04, /**< Generate ANSI prototypes. */
+ ALLCHARS = 010, /**< Use all characters in hash function. */
+ INLINE = 020, /**< Generate code for inline functions. */
+ TYPE = 040, /**< Handle user-defined type structured keyword input. */
+ RANDOM = 0100, /**< Randomly initialize the associated values table. */
+ DEFAULTCHARS = 0200, /**< Make default char positions be 1,$ (end of keyword). */
+ SWITCH = 0400, /**< Generate switch output to save space. */
+ POINTER = 01000, /**< Have in_word_set function return pointer, not boolean. */
+ NOLENGTH = 02000, /**< Don't include keyword length in hash computations. */
+ LENTABLE = 04000, /**< Generate a length table for string comparison. */
+ DUP = 010000, /**< Handle duplicate hash values for keywords. */
+ FAST = 020000, /**< Generate the hash function ``fast.'' */
+ NOTYPE = 040000, /**< Don't include user-defined type definition in output -- it's already defined elsewhere. */
+ COMP = 0100000, /**< Generate strncmp rather than strcmp. */
+ GLOBAL = 0200000, /**< Make the keyword table a global variable. */
+ CONSTANT = 0400000, /**< Make the generated tables readonly (const). */
+ CPLUSPLUS = 01000000, /**< Generate C++ code. */
+ C = 02000000, /**< Generate C code. */
+ ENUM = 04000000, /**< Use enum for constants. */
+ STRCASECMP = 010000000, /**< Use the case insensitive comparison. */
+ OPTIMIZE = 020000000, /**< Assume all input keywords are in the keyset. */
+ ADA = 040000000, /**< Generate Ada code. */
+ MUTE = 0100000000, /**< Dont print the warnings. */
+ SKIPCLASS = 0200000000, /**< Skip the class definition part in the output while in C++ mode. */
+ SKIPSTRINGH = 0400000000, /**< Skip including the header file ace/OS_NS_string.h. */
+ BINARYSEARCH = 01000000000, /**< Generates Binary Search code. */
+ LINEARSEARCH = 02000000000 /**< Generates Linear Search code. */
};
// Define some useful constants (these don't really belong here, but
@@ -81,25 +84,26 @@ enum Option_Type
enum
{
- MAX_KEY_POS = 128 - 1, // Max size of each word's key set.
- WORD_START = 1, // Signals the start of a word.
- WORD_END = 0, // Signals the end of a word.
- EOS = MAX_KEY_POS // Signals end of the key list.
+ MAX_KEY_POS = 128 - 1, /**< Max size of each word's key set. */
+ WORD_START = 1, /**< Signals the start of a word. */
+ WORD_END = 0, /**< Signals the end of a word. */
+ EOS = MAX_KEY_POS /**< Signals end of the key list. */
};
-// @@ The Options class should be changed to use the Singleton pattern.
-class Options
+/*
+ * This class provides a uniform interface to the various options
+ * available to a user of the gperf hash function generator.
+ *
+ * In addition to the run-time options, found in the <Option_Type>
+ * there is also the hash table Size and the Keys to be used in
+ * the hashing. The overall design of this module was an
+ * experiment in using C++ classes as a mechanism to enhance
+ * centralization of option and and error handling.
+ *
+ * @todo The Options class should be changed to use the Singleton pattern.
+ */
+class ACE_GPERF_Export Options : private ACE_Copy_Disabled
{
- // = TITLE
- // This class provides a uniform interface to the various options
- // available to a user of the gperf hash function generator.
- //
- // = DESCRIPTION
- // In addition to the run-time options, found in the <Option_Type>
- // there is also the hash table Size and the Keys to be used in
- // the hashing. The overall design of this module was an
- // experiment in using C++ classes as a mechanism to enhance
- // centralization of option and and error handling.
public:
Options (void);
~Options (void);
@@ -126,66 +130,66 @@ public:
static const char *delimiter (void);
private:
+ /// Holds the user-specified Options.
static int option_word_;
- // Holds the user-specified Options.
+ /// Number of switch statements to generate.
static int total_switches_;
- // Number of switch statements to generate.
+ /// Total number of distinct key_positions.
static u_int total_keysig_size_;
- // Total number of distinct key_positions.
+ /// Range of the hash table.
static int size_;
- // Range of the hash table.
+ /// Tracks current key position for Iterator.
static int key_pos_;
- // Tracks current key position for Iterator.
+ /// Tracks current key position for Iterator.
static int jump_;
- // Jump length when trying alternative values.
+ /// Initial value for asso_values table.
static int initial_asso_value_;
- // Initial value for asso_values table.
+ /// Amount to iterate when a collision occurs.
static int iterations_;
- // Amount to iterate when a collision occurs.
+ /// Records count of command-line arguments.
static int argc_;
- // Records count of command-line arguments.
+ /// Stores a pointer to command-line vector.
static ACE_TCHAR **argv_;
- // Stores a pointer to command-line vector.
+ /// Names used for generated lookup function.
static ACE_CString function_name_;
- // Names used for generated lookup function.
+ /// Expression used to assign default values in keyword table.
static ACE_CString fill_default_;
- // Expression used to assign default values in keyword table.
+ /// Name used for keyword key.
static ACE_CString key_name_;
- // Name used for keyword key.
+ /// Name used for generated C++ class.
static ACE_CString class_name_;
- // Name used for generated C++ class.
+ /// Name used for generated hash function.
static ACE_CString hash_name_;
- // Name used for generated hash function.
+ /// Separates keywords from other attributes.
static ACE_CString delimiters_;
- // Separates keywords from other attributes.
+ /// Contains user-specified key choices.
static char key_positions_[MAX_KEY_POS];
- // Contains user-specified key choices.
+ /// Sorts key positions in REVERSE order.
static int key_sort (char *base, int len);
- // Sorts key positions in REVERSE order.
+ /// Prints proper program usage.
static void usage (void);
- // Prints proper program usage.
};
-// Global option coordinator for the entire program.
-extern Options option;
+/// Global option coordinator for the entire program.
+extern ACE_GPERF_Export Options option;
#endif /* ACE_HAS_GPERF */
#endif /* OPTIONS_H */
diff --git a/apps/gperf/src/Vectors.cpp b/apps/gperf/src/Vectors.cpp
index 95706725549..c1f28affd46 100644
--- a/apps/gperf/src/Vectors.cpp
+++ b/apps/gperf/src/Vectors.cpp
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Vectors.h"
@@ -27,10 +29,10 @@ ACE_RCSID(src, Vectors, "$Id$")
#if defined (ACE_HAS_GPERF)
-// Counts occurrences of each key set character.
+/// Counts occurrences of each key set character.
int Vectors::occurrences[ACE_STANDARD_CHARACTER_SET_SIZE];
-// Value associated with each character.
-int Vectors::asso_values[ACE_STANDARD_CHARACTER_SET_SIZE];
+/// Value associated with each character.
+int Vectors::asso_values[ACE_STANDARD_CHARACTER_SET_SIZE];
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Vectors.h b/apps/gperf/src/Vectors.h
index 6555c3f50b7..d6a9dc4bcfe 100644
--- a/apps/gperf/src/Vectors.h
+++ b/apps/gperf/src/Vectors.h
@@ -1,25 +1,27 @@
// -*- C++ -*-
-// $Id$
-
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#ifndef VECTORS_H
#define VECTORS_H
@@ -44,17 +46,18 @@
#define ACE_STANDARD_CHARACTER_SET_SIZE 128
#endif /* 'a' < 'A' */
+/*
+ * Static class data members that are shared between several
+ * classes via inheritance.
+ */
class Vectors
{
- // = TITLE
- // Static class data members that are shared between several
- // classes via inheritance.
public:
+ /// Counts occurrences of each key set character.
static int occurrences[ACE_STANDARD_CHARACTER_SET_SIZE];
- // Counts occurrences of each key set character.
+ /// Value associated with each character.
static int asso_values[ACE_STANDARD_CHARACTER_SET_SIZE];
- // Value associated with each character.
};
#endif /* ACE_HAS_GPERF */
diff --git a/apps/gperf/src/Version.cpp b/apps/gperf/src/Version.cpp
index d2967050e43..3954b4169a2 100644
--- a/apps/gperf/src/Version.cpp
+++ b/apps/gperf/src/Version.cpp
@@ -1,27 +1,29 @@
// -*- C++ -*-
-// $Id$
-
// Current program version number.
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "ace/ACE.h"
diff --git a/apps/gperf/src/gperf.cpp b/apps/gperf/src/gperf.cpp
index c6a838e2874..8f011dd2ab7 100644
--- a/apps/gperf/src/gperf.cpp
+++ b/apps/gperf/src/gperf.cpp
@@ -1,30 +1,29 @@
// -*- C++ -*-
-// $Id$
-
// Driver program for the gperf hash function generator.
-// Copyright (C) 1989 Free Software Foundation, Inc.
-// written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
-
-// This file is part of GNU GPERF.
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-// Simple driver program for the gperf hash function generator. All
-// the hard work is done in class Gen_Perf and its class methods.
+/**
+ * $Id$
+ *
+ * Copyright (C) 1989 Free Software Foundation, Inc.
+ * written by Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ *
+ * This file is part of GNU GPERF.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
#include "Gen_Perf.h"
@@ -40,15 +39,13 @@ ACE_RCSID(src, gperf, "$Id$")
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
- struct tm *tm;
- time_t clock;
-
// Sets the Options.
if (option.parse_args (argc, argv) == -1)
return 1;
+ time_t clock;
ACE_OS::time (&clock);
- tm = ACE_OS::localtime (&clock);
+ struct tm *tm = ACE_OS::localtime (&clock);
if (option[DEBUGGING])
ACE_OS::printf ("/* starting time is %d:%02d:%02d */\n",
@@ -61,7 +58,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
// Generates and prints the gperf hash table. Don't use exit here,
// it skips the destructors.
- int status = gperf.run ();
+ int const status = gperf.run ();
ACE_OS::time (&clock);
tm = ACE_OS::localtime (&clock);
@@ -75,11 +72,8 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
}
#else /* ! ACE_HAS_GPERF */
int
-ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+ACE_TMAIN (int, ACE_TCHAR *[])
{
- ACE_UNUSED_ARG (argc);
- ACE_UNUSED_ARG (argv);
-
ACE_ERROR_RETURN ((LM_ERROR,
"gperf is not operational because "
"ACE_HAS_GPERF was not enabled for the build\n"),
diff --git a/apps/gperf/src/gperf.mpc b/apps/gperf/src/gperf.mpc
index 65bc33a98c4..5b1e56cae32 100644
--- a/apps/gperf/src/gperf.mpc
+++ b/apps/gperf/src/gperf.mpc
@@ -1,11 +1,10 @@
// -*- MPC -*-
// $Id$
-project(gperf) : aceexe, install, crosscompile {
- install = $(ACE_ROOT)/bin
- exename = ace_gperf
+project(ACE_gperf) : acelib, install, crosscompile, ace_output {
+ sharedname = ACE_gperf_lib
+ dynamicflags = ACE_GPERF_BUILD_DLL
Source_Files {
- gperf.cpp
Options.cpp
Iterator.cpp
Gen_Perf.cpp
@@ -17,3 +16,13 @@ project(gperf) : aceexe, install, crosscompile {
Version.cpp
}
}
+
+project(gperf) : aceexe, install, crosscompile {
+ install = $(ACE_ROOT)/bin
+ after += ACE_gperf
+ libs += ACE_gperf_lib
+ exename = ace_gperf
+ Source_Files {
+ gperf.cpp
+ }
+}
diff --git a/apps/gperf/src/gperf_export.h b/apps/gperf/src/gperf_export.h
new file mode 100644
index 00000000000..4e1943b4ff3
--- /dev/null
+++ b/apps/gperf/src/gperf_export.h
@@ -0,0 +1,47 @@
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by
+// generate_export_file.pl
+// ------------------------------
+
+#ifndef ACE_GPERF_EXPORT_H
+#define ACE_GPERF_EXPORT_H
+
+#include "ace/config-lite.h"
+
+#if defined (ACE_AS_STATIC_LIBS)
+# if !defined (ACE_GPERF_HAS_DLL)
+# define ACE_GPERF_HAS_DLL 0
+# endif /* ! ACE_GPERF_HAS_DLL */
+#else
+# if !defined (ACE_GPERF_HAS_DLL)
+# define ACE_GPERF_HAS_DLL 1
+# endif /* ! ACE_GPERF_HAS_DLL */
+#endif /* ACE_AS_STATIC_LIB */
+
+#if defined (ACE_GPERF_HAS_DLL)
+# if (ACE_GPERF_HAS_DLL == 1)
+# if defined (ACE_GPERF_BUILD_DLL)
+# define ACE_GPERF_Export ACE_Proper_Export_Flag
+# define ACE_GPERF_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACE_GPERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else
+# define ACE_GPERF_Export ACE_Proper_Import_Flag
+# define ACE_GPERF_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACE_GPERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACE_GPERF_BUILD_DLL */
+# else
+# define ACE_GPERF_Export
+# define ACE_GPERF_SINGLETON_DECLARATION(T)
+# define ACE_GPERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ! ACE_GPERF_HAS_DLL == 1 */
+#else
+# define ACE_GPERF_Export
+# define ACE_GPERF_SINGLETON_DECLARATION(T)
+# define ACE_GPERF_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACE_GPERF_HAS_DLL */
+
+#endif /* ACE_GPERF_EXPORT_H */
+
+// End of auto generated file.
diff --git a/apps/mkcsregdb/mkcsregdb.cpp b/apps/mkcsregdb/mkcsregdb.cpp
index 2dc87b85bce..bdb112c14b8 100644
--- a/apps/mkcsregdb/mkcsregdb.cpp
+++ b/apps/mkcsregdb/mkcsregdb.cpp
@@ -236,7 +236,7 @@ csdb_generator::init_output (const char *srcfile)
ACE_OS::fprintf (outf_,"/*\n * Codeset registry DB, generated %s * source: %s\n",
ACE_OS::asctime (ACE_OS::localtime(&now)),
srcfile);
- ACE_OS::fprintf (outf_," *\n * To populate the registry_db, construct a codeset registry text file based \n");
+ ACE_OS::fprintf (outf_," *\n * To populate the registry_db, construct a codeset registry text file based\n");
ACE_OS::fprintf (outf_," * on the OSF's Character and Code Set Registry. See DCE RFC 40.1 for details\n");
ACE_OS::fprintf (outf_," * on obtaining the full text for the current registry. Once you have composed\n");
ACE_OS::fprintf (outf_," * a text file containing all the desired codeset information, build and run\n");
diff --git a/bin/ACETAOCIAO.style b/bin/ACETAOCIAO.style
index 575eb7a31c2..3e20fc492d3 100644
--- a/bin/ACETAOCIAO.style
+++ b/bin/ACETAOCIAO.style
@@ -50,7 +50,7 @@
<presetreference>Classes and Structs_Member Alignment Together_False</presetreference>
</rule>
<rule name="constructor-initialiser-packing">
-<presetreference>Constructor_Member Initializers_One Per Line</presetreference>
+<presetreference>Constructor_Member Initializers_One Per Line Comma Below</presetreference>
</rule>
<rule name="constructor-initialiser-style">
<presetreference>Constructor_Initializer Alignment_True</presetreference>
@@ -100,6 +100,12 @@
<rule name="expressions-binary-spacing">
<presetreference>Expressions_Binary Operators_Spaced</presetreference>
</rule>
+<rule name="expressions-conditional-spacing">
+<presetreference>Expressions_Conditional Operators_Spaced</presetreference>
+</rule>
+<rule name="expressions-conditional-spacing" override="true">
+<presetreference>Expressions_Conditional Operators_Disabled</presetreference>
+</rule>
<rule name="expressions-functioncall-spacing">
<presetreference>Functions_Calls_Spaced</presetreference>
</rule>
@@ -109,6 +115,9 @@
<rule name="expressions-pointer-spacing">
<presetreference>Expressions_Pointer Operators_Not Spaced</presetreference>
</rule>
+<rule name="expressions-pointer-wrapping">
+<presetreference>Expressions_Pointer Operator Wrapping_After</presetreference>
+</rule>
<rule name="expressions-unary-spacing">
<presetreference>Expressions_Logical and Bitwise Unary Operators_Not Spaced</presetreference>
</rule>
@@ -151,8 +160,11 @@
<rule name="function-parameter-alignment">
<presetreference>Functions_Parameter Alignment_Bracket</presetreference>
</rule>
+<rule name="function-parameter-brackets" override="true">
+<presetreference>Functions_Parameter Brackets_Disabled</presetreference>
+</rule>
<rule name="function-parameter-lines">
-<presetreference>Functions_Parameter Lines_False</presetreference>
+<presetreference>Functions_Parameter Lines_True</presetreference>
</rule>
<rule name="function-parameter-spacing">
<presetreference>Functions_Parameter Spacing_AfterComma</presetreference>
@@ -170,7 +182,7 @@
<presetreference>Global_Alignment ensures at least one space_False</presetreference>
</rule>
<rule name="global-bracing-style">
-<presetreference>Global_Default Block Brace Position_Aligned</presetreference>
+<presetreference>Global_Default Block Brace Position_Indented</presetreference>
</rule>
<rule name="global-bracket-alignment">
<presetreference>Expressions_Bracket Alignment_AlignAtBracket</presetreference>
@@ -245,7 +257,7 @@
<presetreference>Global_Line Wrapping_80</presetreference>
</rule>
<rule name="member-initialiser-position">
-<presetreference>Constructor_Member Initializer Position_Below Indented</presetreference>
+<presetreference>Constructor_Member Initializer Position_Below</presetreference>
</rule>
<rule name="min-member-align">
<presetreference>Classes and Structs_Minimum Member Alignment_None</presetreference>
@@ -253,9 +265,6 @@
<rule name="multiple-inheritance">
<presetreference>Classes and Structs_Multiple Inheritance_OnePerLine</presetreference>
</rule>
-<rule name="multiple-inheritance" override="true">
-<presetreference>Classes and Structs_Multiple Inheritance_Disabled</presetreference>
-</rule>
<rule name="namespace-bracing-style">
<presetreference>Namespaces_Brace Position_Aligned</presetreference>
</rule>
diff --git a/bin/MakeProjectCreator/config/MPC.cfg b/bin/MakeProjectCreator/config/MPC.cfg
index e42621a774f..a0e354d1f4f 100644
--- a/bin/MakeProjectCreator/config/MPC.cfg
+++ b/bin/MakeProjectCreator/config/MPC.cfg
@@ -1,3 +1,3 @@
-includes = $TAO_ROOT/MPC/config, $CIAO_ROOT/MPC/config
-dynamic_types = $ACE_ROOT/bin/MakeProjectCreator, $DDS_ROOT/MPC
+includes = $CIAO_ROOT/MPC/config, $DANCE_ROOT/MPC/config
+dynamic_types = $ACE_ROOT/bin/MakeProjectCreator, $DDS_ROOT/MPC, $TAO_ROOT/MPC
main_functions = cplusplus:ACE_TMAIN
diff --git a/bin/MakeProjectCreator/config/ace_athena3d.mpb b/bin/MakeProjectCreator/config/ace_athena3d.mpb
new file mode 100644
index 00000000000..8ca8f43d109
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_athena3d.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project: ace_xt {
+ macros += ACE_HAS_ATHENA3D
+ requires += athena3d
+ lit_libs += Xaw3d
+}
diff --git a/bin/MakeProjectCreator/config/ace_fl.mpb b/bin/MakeProjectCreator/config/ace_fl.mpb
index 2f42e405db6..6c9d558870b 100644
--- a/bin/MakeProjectCreator/config/ace_fl.mpb
+++ b/bin/MakeProjectCreator/config/ace_fl.mpb
@@ -10,9 +10,9 @@ project : ace_x11, ace_gl {
CPPFLAGS += $(PLATFORM_GL_CPPFLAGS) $(PLATFORM_X11_CPPFLAGS)
LIBS += $(PLATFORM_FL_LIBS) $(PLATFORM_GL_LIBS) $(PLATFORM_X11_LIBS)
LDFLAGS += $(PLATFORM_FL_LDFLAGS) $(PLATFORM_GL_LDFLAGS)
- LDFLAGS += $(PLATFORM_GL_LDFLAGS)
+ LDFLAGS += $(PLATFORM_X11_LDFLAGS)
}
- specific(vc10,vc9,vc8,vc71) {
+ specific(prop:microsoft) {
libs += fltkdll
}
diff --git a/bin/MakeProjectCreator/config/ace_gl.mpb b/bin/MakeProjectCreator/config/ace_gl.mpb
index 4b18245232a..e71387335dc 100644
--- a/bin/MakeProjectCreator/config/ace_gl.mpb
+++ b/bin/MakeProjectCreator/config/ace_gl.mpb
@@ -10,7 +10,7 @@ project : ace_x11 {
LIBS += $(PLATFORM_GL_LIBS) $(PLATFORM_X11_LIBS)
LDFLAGS += $(PLATFORM_GL_LDFLAGS) $(PLATFORM_GL_LDFLAGS)
}
- specific(vc71,vc8,vc9,vc10) {
+ specific(prop:microsoft) {
lit_libs += OpenGL32
}
}
diff --git a/bin/MakeProjectCreator/config/ace_mc.mpb b/bin/MakeProjectCreator/config/ace_mc.mpb
index 5d7ea882f48..fe152fbae0c 100644
--- a/bin/MakeProjectCreator/config/ace_mc.mpb
+++ b/bin/MakeProjectCreator/config/ace_mc.mpb
@@ -6,12 +6,13 @@ project : ace_etcl_parser {
libs += ACE_Monitor_Control
avoids += wince
- specific (vc6, vc7, vc71, vc8, vc9, vc10, nmake) {
+ specific (prop:microsoft) {
lit_libs += pdh
}
verbatim (gnuace, local) {
"ifeq (1,$(winnt))"
" ACE_SHLIBS += pdh.lib"
+ " LDLIBS += pdh.lib"
"endif"
}
}
diff --git a/bin/MakeProjectCreator/config/ace_qt.mpb b/bin/MakeProjectCreator/config/ace_qt.mpb
index d5853390400..b17c35c4d5d 100644
--- a/bin/MakeProjectCreator/config/ace_qt.mpb
+++ b/bin/MakeProjectCreator/config/ace_qt.mpb
@@ -21,7 +21,7 @@ project: qt {
pure_libs += $(ACE_QT_LIBS)
}
- specific(vc71, vc8, vc9, vc10, nmake) {
+ specific(prop:microsoft) {
lit_libs -= qt-mt$(QT_VERSION)
pure_libs += $(PLATFORM_QT_LIBS)
}
diff --git a/bin/MakeProjectCreator/config/ace_qt4reactor.mpb b/bin/MakeProjectCreator/config/ace_qt4reactor.mpb
new file mode 100644
index 00000000000..46ff8f75c59
--- /dev/null
+++ b/bin/MakeProjectCreator/config/ace_qt4reactor.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project : acelib, ace_qt4 {
+ requires += ace_qt4reactor
+ after += ACE_QtReactor
+ libs += ACE_QtReactor
+}
diff --git a/bin/MakeProjectCreator/config/ace_unicode.mpb b/bin/MakeProjectCreator/config/ace_unicode.mpb
index 8bb4381f3ce..f6ce89fbf6b 100644
--- a/bin/MakeProjectCreator/config/ace_unicode.mpb
+++ b/bin/MakeProjectCreator/config/ace_unicode.mpb
@@ -1,6 +1,6 @@
// -*- MPC -*-
// $Id$
-project: unicode {
- macros += ACE_USES_WCHAR=1
+feature (uses_wchar) : unicode {
+ macros += ACE_USES_WCHAR
}
diff --git a/bin/MakeProjectCreator/config/ace_x11.mpb b/bin/MakeProjectCreator/config/ace_x11.mpb
index ac67115901d..12de6ed62bc 100644
--- a/bin/MakeProjectCreator/config/ace_x11.mpb
+++ b/bin/MakeProjectCreator/config/ace_x11.mpb
@@ -2,7 +2,7 @@
// $Id$
project {
- specific(vc71,vc8,vc9,vc10) {
+ specific(prop:microsoft) {
} else {
requires += x11
}
diff --git a/bin/MakeProjectCreator/config/acedefaults.mpb b/bin/MakeProjectCreator/config/acedefaults.mpb
index c6e9a9fb756..6065844d16d 100644
--- a/bin/MakeProjectCreator/config/acedefaults.mpb
+++ b/bin/MakeProjectCreator/config/acedefaults.mpb
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-project: ipv6, vc_warnings, build_files, test_files {
+project: ipv6, vc_warnings, build_files, test_files, svc_conf_files, ace_unicode {
staticflags += ACE_AS_STATIC_LIBS
includes += $(ACE_ROOT)
libpaths += $(ACE_ROOT)/lib
@@ -19,7 +19,7 @@ project: ipv6, vc_warnings, build_files, test_files {
libpaths -= $(ACE_ROOT)/lib
}
- specific(vc7,vc71,vc8,vc9,vc10,nmake) {
+ specific(prop:microsoft) {
macro_for_lib_modifier=1
}
}
diff --git a/bin/MakeProjectCreator/config/aceexe.mpb b/bin/MakeProjectCreator/config/aceexe.mpb
index cfd59d40b8d..cd10a7f6f23 100644
--- a/bin/MakeProjectCreator/config/aceexe.mpb
+++ b/bin/MakeProjectCreator/config/aceexe.mpb
@@ -2,5 +2,4 @@
// $Id$
project: acedefaults, acenosubsets, ace_for_tao, versioned_namespace {
-
}
diff --git a/bin/MakeProjectCreator/config/bmake.features b/bin/MakeProjectCreator/config/bmake.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/bmake.features
+++ b/bin/MakeProjectCreator/config/bmake.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/crosscompile.mpb b/bin/MakeProjectCreator/config/crosscompile.mpb
index 2aba9af82ad..8ee8d6b7799 100644
--- a/bin/MakeProjectCreator/config/crosscompile.mpb
+++ b/bin/MakeProjectCreator/config/crosscompile.mpb
@@ -1,8 +1,11 @@
+
// -*- MPC -*-
// $Id$
project {
- specific(vc7, vc71, vc8, vc9, vc10) {
+ avoids += cross_compile
+
+ specific(prop:microsoft) {
nocross = 1
}
verbatim(gnuace, circuit) {
diff --git a/bin/MakeProjectCreator/config/em3.features b/bin/MakeProjectCreator/config/em3.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/em3.features
+++ b/bin/MakeProjectCreator/config/em3.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/global.features b/bin/MakeProjectCreator/config/global.features
index ff05cf53120..65727123a97 100644
--- a/bin/MakeProjectCreator/config/global.features
+++ b/bin/MakeProjectCreator/config/global.features
@@ -24,6 +24,7 @@ ace_token = 1
// By default we disable these.
ace_for_tao = 0
+cross_compile = 0
ssl = 0
qos = 0
rapi = 0
@@ -33,6 +34,7 @@ java = 0
zlib = 0
zzip = 0
bzip2 = 0
+lzo1 = 0
lzo2 = 0
ipv6 = 0
mfc = 0
@@ -40,17 +42,29 @@ rpc = 0
sctp = 0
boost = 0
dummy_label = 0
-cidl = 0
wince = 0
uses_wchar = 0 // i.e. unicode
gen_ostream = 0
ziparchive = 0
negotiate_codesets = 0
+notify_monitor_control = 0
versioned_namespace = 0
vcl = 0
stl = 0
xsc = 0
+tao_idl_fe_gen = 0
+ace_svcconf_gen = 0
+xerces = 0
+xerces2 = 0
+xerces3 = 0
+ofccm = 0
+ndds = 0
mcpp = 0
+wireshark = 0
+
+dds4ccm_opendds = 0
+dds4ccm_ndds = 0
+dds4ccm_splice = 0
// Features for various GUI libraries
@@ -128,3 +142,8 @@ tao_no_iiop = 0
// Option to enable the linking of the TAO_CodecFactory library
// whenever TAO is linked in
link_codecfactory = 0
+
+// Feature for LwCCM
+ccm_lw = 0
+
+valuetype_out_indirection=1
diff --git a/bin/MakeProjectCreator/config/gnuace.features b/bin/MakeProjectCreator/config/gnuace.features
index 8fccc7fad7b..91c997ed09c 100644
--- a/bin/MakeProjectCreator/config/gnuace.features
+++ b/bin/MakeProjectCreator/config/gnuace.features
@@ -5,6 +5,6 @@ qt=1
fl=1
tk=1
xt=1
-cidl=1
sctp=1
+ndds=1
diff --git a/bin/MakeProjectCreator/config/ipv6.mpb b/bin/MakeProjectCreator/config/ipv6.mpb
index 8184e876675..92473ad7113 100644
--- a/bin/MakeProjectCreator/config/ipv6.mpb
+++ b/bin/MakeProjectCreator/config/ipv6.mpb
@@ -2,13 +2,9 @@
// $Id$
feature(ipv6) {
- specific(vc6, vc7, vc71, vc8, vc9, vc10, nmake, bmake, bds4) {
+ specific(prop:windows) {
lit_libs += iphlpapi
}
- specific(em3) {
- lit_libs += iphlpapi ccrtrtti
- }
-
macros += ACE_HAS_IPV6
}
diff --git a/bin/MakeProjectCreator/config/minizip.mpb b/bin/MakeProjectCreator/config/minizip.mpb
new file mode 100644
index 00000000000..907b8eedf11
--- /dev/null
+++ b/bin/MakeProjectCreator/config/minizip.mpb
@@ -0,0 +1,8 @@
+// -*- MPC -*-
+// $Id$
+
+project {
+ after += minizip
+ libs += minizip
+ includes += $(ACE_ROOT)/contrib
+}
diff --git a/bin/MakeProjectCreator/config/nmake.features b/bin/MakeProjectCreator/config/nmake.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/nmake.features
+++ b/bin/MakeProjectCreator/config/nmake.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/svc_conf_files.mpb b/bin/MakeProjectCreator/config/svc_conf_files.mpb
new file mode 100644
index 00000000000..dccc17de3dc
--- /dev/null
+++ b/bin/MakeProjectCreator/config/svc_conf_files.mpb
@@ -0,0 +1,7 @@
+// $Id$
+project {
+ Define_Custom(Svc_Conf) {
+ inputext = .conf, .conf.xml
+ }
+}
+
diff --git a/bin/MakeProjectCreator/config/vc10.features b/bin/MakeProjectCreator/config/vc10.features
new file mode 100644
index 00000000000..8d442a15983
--- /dev/null
+++ b/bin/MakeProjectCreator/config/vc10.features
@@ -0,0 +1,6 @@
+// $Id$
+
+ssl=0
+qos=1
+rwho=0
+sctp=0
diff --git a/bin/MakeProjectCreator/config/vc71.features b/bin/MakeProjectCreator/config/vc71.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/vc71.features
+++ b/bin/MakeProjectCreator/config/vc71.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/vc8.features b/bin/MakeProjectCreator/config/vc8.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/vc8.features
+++ b/bin/MakeProjectCreator/config/vc8.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/vc9.features b/bin/MakeProjectCreator/config/vc9.features
index 16181dc6293..8d442a15983 100644
--- a/bin/MakeProjectCreator/config/vc9.features
+++ b/bin/MakeProjectCreator/config/vc9.features
@@ -2,6 +2,5 @@
ssl=0
qos=1
-cidl=0
rwho=0
sctp=0
diff --git a/bin/MakeProjectCreator/config/vc_warnings.mpb b/bin/MakeProjectCreator/config/vc_warnings.mpb
index 3e8ae307f7d..e892bf1a9e5 100644
--- a/bin/MakeProjectCreator/config/vc_warnings.mpb
+++ b/bin/MakeProjectCreator/config/vc_warnings.mpb
@@ -10,22 +10,19 @@
feature(vc_avoid_crt_secure_warnings) {
- specific(vc8, vc9, vc10, nmake) {
+ specific(prop:microsoft) {
macros += _CRT_SECURE_NO_WARNINGS _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE
}
}
feature(!vc_scl_secure_warnings) {
- specific(vc8, vc9, vc10, nmake) {
+ specific(prop:microsoft) {
macros += _SCL_SECURE_NO_WARNINGS
}
}
feature(vc_avoid_this_in_initializer_warnings) {
- specific(vc8, vc9, vc10) {
+ specific(prop:microsoft) {
DisableSpecificWarnings += 4355
}
- specific(nmake) {
- compile_flags += /wd4355
- }
}
diff --git a/bin/MakeProjectCreator/config/vcfullmacros.mpt b/bin/MakeProjectCreator/config/vcfullmacros.mpt
index a3bb4b1bbd1..eeab3db82c0 100644
--- a/bin/MakeProjectCreator/config/vcfullmacros.mpt
+++ b/bin/MakeProjectCreator/config/vcfullmacros.mpt
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-// ACE specific macros for nmake, vc6, vc7 and em3
+// ACE specific macros for nmake, vc6, and vc7
Static MFC Release {
defines += ACE_HAS_MFC=1 ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER
diff --git a/bin/MakeProjectCreator/config/vcpartialmacros.mpt b/bin/MakeProjectCreator/config/vcpartialmacros.mpt
index 1105c25cd39..0a521b3ff1d 100644
--- a/bin/MakeProjectCreator/config/vcpartialmacros.mpt
+++ b/bin/MakeProjectCreator/config/vcpartialmacros.mpt
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-// ACE specific macros for nmake, vc6, vc7 and em3
+// ACE specific macros for nmake, vc6, and vc7
MFC Release {
defines += ACE_HAS_MFC=1 ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER
diff --git a/bin/MakeProjectCreator/config/wb26.features b/bin/MakeProjectCreator/config/wb26.features
new file mode 100644
index 00000000000..46dfdb183d3
--- /dev/null
+++ b/bin/MakeProjectCreator/config/wb26.features
@@ -0,0 +1,4 @@
+// $Id$
+
+// We're always cross-compiling with wb26
+cross_compile = 1
diff --git a/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm b/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm
index 47ef47cb3d2..c21cc166cce 100644
--- a/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm
@@ -64,12 +64,6 @@ sub fill_value {
return ((defined $incs && $incs =~ /ciao/i) ||
(defined $libs && $libs =~ /ciao/i));
}
- elsif ($name eq 'dds') {
- my($incs) = $self->get_assignment('includes');
- my($libs) = $self->get_assignment('libpaths');
- return ((defined $incs && $incs =~ /dds/i) ||
- (defined $libs && $libs =~ /dds/i));
- }
return undef;
}
diff --git a/bin/MakeProjectCreator/templates/gnu.mpd b/bin/MakeProjectCreator/templates/gnu.mpd
index 656145b8eba..c447335405a 100644
--- a/bin/MakeProjectCreator/templates/gnu.mpd
+++ b/bin/MakeProjectCreator/templates/gnu.mpd
@@ -20,6 +20,9 @@ BIN_UNCHECKED = <%exename%>
LIB_PREFIX ?= lib
<%endif%>
+<%if(need_staticflags)%>
+static_libs_only ?= 1
+<%endif%>
<%if(staticname)%>
## LIB_CHECKED may be set to empty later on in this file
@@ -167,16 +170,14 @@ VSHDIR = <%targetoutdir%>.shobj/
<%endif%>
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-<%if(!dds && version)%>
+<%if(version)%>
ifeq ($(versioned_so),1)
SOVERSION = .<%version%>
endif # versioned_so
<%endif%>
-<%if(dds)%>
-include $(DDS_ROOT)/rules.dds.GNU
-<%endif%>
+<%marker(extension)%>
<%if(ciao)%>
include $(CIAO_ROOT)/rules.ciao.GNU
<%endif%>
@@ -225,7 +226,7 @@ else
ifeq ($(findstring k, $(MAKEFLAGS)),k)
LIBCHECK = 1
else
- LIBCHECK ?= $(filter-out $(foreach lib,<%foreach(libs)%><%libname_prefix%><%lib%><%fornotlast(" ")%><%endfor%>,$(findstring $(lib),$(foreach libpath,<%foreach(libpaths)%><%if(targetoutdir)%><%libpath%>/<%targetoutdir%> <%endif%><%libpath%> <%endfor%>/usr/lib /usr/lib64 $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),<%foreach(libs)%><%libname_prefix%><%lib%><%fornotlast(" ")%><%endfor%>)
+ LIBCHECK ?= $(filter-out $(foreach lib,<%foreach(libs)%><%libname_prefix%><%lib%><%fornotlast(" ")%><%endfor%>,$(findstring $(lib),$(foreach libpath,<%foreach(libpaths)%><%if(targetoutdir)%><%libpath%>/<%targetoutdir%> <%endif%><%libpath%> <%libpath%>/$(ARCH) <%endfor%>/usr/lib /usr/lib64 $(INSLIB),$(wildcard $(libpath)/$(LIB_PREFIX)$(lib).* $(libpath)/$(lib).lib)))),<%foreach(libs)%><%libname_prefix%><%lib%><%fornotlast(" ")%><%endfor%>)
ifeq ($(LIBCHECK),)
LIBCHECK = 1
endif
@@ -444,7 +445,7 @@ endif
ifeq ($(VXWORKSLINK),1)
LDLIBPATH =<%foreach(libpaths)%> <%if(targetoutdir)%>-L<%libpath%>/<%targetoutdir%> <%endif%>-L<%libpath%><%endfor%><%if(linkflags)%> <%linkflags%><%endif%>
else
-LDFLAGS +=<%foreach(libpaths)%> <%if(targetoutdir)%>-L<%libpath%>/<%targetoutdir%> <%endif%>-L<%libpath%><%endfor%><%if(linkflags)%> <%linkflags%><%endif%>
+LDFLAGS +=<%foreach(libpaths)%> <%if(targetoutdir)%>-L<%libpath%>/<%targetoutdir%> <%endif%>-L<%libpath%> -L<%libpath%>/$(ARCH)<%endfor%><%if(linkflags)%> <%linkflags%><%endif%>
endif
<%endif%>
<%if(includes)%>
@@ -506,6 +507,7 @@ ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
endif
endif
+SPACE = $(should_be_unset) $(should_be_unset)
<%foreach(custom_types)%>
<%if(custom_type->libpath)%>
DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):<%custom_type->libpath%>
@@ -534,7 +536,7 @@ ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
## If all of the generated files are there, then we need to check
## and make sure that the generated files are up-to-date. If they are not
## then we need the special rule.
- ifneq ($(shell<%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) <%custom_type->input_file%> -nt <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%> 2> /dev/null &&<%endfor%> echo 0),)
+ ifneq ($(shell<%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) "<%custom_type->input_file%>" -nt "<%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%>" 2> /dev/null &&<%endfor%> echo 0),)
.NOTPARALLEL:
<%if(flag_overrides(custom_type->input_file, dependent))%>
else
@@ -542,7 +544,7 @@ ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
## with respect to the source file. Now we need to make sure that
## they are up-to-date with respect to the generation tool. If the tool
## is newer than the generated files, then we need the special rule.
- ifneq ($(shell<%foreach(dep, flag_overrides(custom_type->input_file, dependent))%><%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) <%dep%> -nt <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%> 2> /dev/null &&<%endfor%><%endfor%> echo 0),)
+ ifneq ($(shell<%foreach(dep, flag_overrides(custom_type->input_file, dependent))%><%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) "<%dep%>" -nt "<%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%>" 2> /dev/null &&<%endfor%><%endfor%> echo 0),)
.NOTPARALLEL:
endif
<%else%>
@@ -552,7 +554,7 @@ ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
## with respect to the source file. Now we need to make sure that
## they are up-to-date with respect to the generation tool. If the tool
## is newer than the generated files, then we need the special rule.
- ifneq ($(shell<%foreach(custom_type->dependent)%><%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) <%custom_type->dependent%> -nt <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%> 2> /dev/null &&<%endfor%><%endfor%> echo 0),)
+ ifneq ($(shell<%foreach(custom_type->dependent)%><%foreach(custom_type->input_file->output_files)%> $(TEST_EXE) "<%custom_type->dependent%>" -nt "<%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%>" 2> /dev/null &&<%endfor%><%endfor%> echo 0),)
.NOTPARALLEL:
endif
<%endif%>
@@ -566,7 +568,7 @@ else
endif
<%endif%>
<%endfor%>
-<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%if(!compares(flag_overrides(custom_type->input_file, gendir),.))%><%flag_overrides(custom_type->input_file, gendir)%>/<%endif%><%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%><%if(custom_type->input_file->dependencies)%> <%custom_type->input_file->dependencies%><%endif%><%if(flag_overrides(custom_type->input_file, dependent))%> <%flag_overrides(custom_type->input_file, dependent)%><%else%><%if(custom_type->dependent)%> <%custom_type->dependent%><%endif%><%endif%>
+<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%if(!compares(flag_overrides(custom_type->input_file, gendir),.))%><%flag_overrides(custom_type->input_file, gendir)%>/<%endif%><%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%>: <%custom_type->input_file%><%if(custom_type->input_file->dependencies)%><%foreach(custom_type->input_file->dependencies)%> <%if(contains(custom_type->input_file->dependencie, [\s\$]))%>$(subst $(SPACE),\$(SPACE),<%custom_type->input_file->dependencie%>)<%else%><%custom_type->input_file->dependencie%><%endif%><%endfor%><%endif%><%if(flag_overrides(custom_type->input_file, dependent))%><%foreach(dep, flag_overrides(custom_type->input_file, dependent))%> <%if(contains(dep, [\s\$]))%>$(subst $(SPACE),\$(SPACE),<%dep%>)<%else%><%dep%><%endif%><%endfor%><%else%><%if(custom_type->dependent)%><%foreach(custom_type->dependent)%> <%if(contains(custom_type->dependent, [\s\$]))%>$(subst $(SPACE),\$(SPACE),<%custom_type->dependent%>)<%else%><%custom_type->dependent%><%endif%><%endfor%><%endif%><%endif%>
<%if(flag_overrides(custom_type->input_file, gendir))%>
<%if(!compares(flag_overrides(custom_type->input_file, gendir),.))%>
$(MKDIR) <%flag_overrides(custom_type->input_file, gendir)%>
@@ -675,17 +677,35 @@ endif
<%endif%>
__prebuild__:
+<%foreach(requires)%>
+ifeq ($(<%require%>),1)
+<%endfor%>
+<%foreach(avoids)%>
+ifneq ($(<%avoid%>),1)
+<%endfor%>
<%if(prebuild)%>
@<%eval(prebuild)%>
<%else%>
@-:
<%endif%>
+<%foreach(avoids requires)%>
+endif
+<%endfor%>
<%if(postbuild)%>
all: __postbuild__
__postbuild__:
+<%foreach(requires)%>
+ifeq ($(<%require%>),1)
+<%endfor%>
+<%foreach(avoids)%>
+ifneq ($(<%avoid%>),1)
+<%endfor%>
@<%eval(postbuild)%>
+<%foreach(avoids requires)%>
+endif
+<%endfor%>
<%endif%>
<%marker(bottom)%>
diff --git a/bin/PerlACE/ProcessLVRT.pm b/bin/PerlACE/ProcessLVRT.pm
index bae61141578..606c807001a 100644
--- a/bin/PerlACE/ProcessLVRT.pm
+++ b/bin/PerlACE/ProcessLVRT.pm
@@ -197,7 +197,7 @@ sub Spawn ()
}
print STDERR "ERROR: can't $cmdline: " . $reply . "\n";
$self->{TARGET}->{FTP}->delete($program);
- $self->{TARGET}->NeedReboot;
+ # Not unless can't get the response. $self->{TARGET}->NeedReboot;
return -1;
}
@@ -345,4 +345,13 @@ CHECK:
return -1;
}
+###
+
+sub kill_all
+{
+ my $procmask = shift;
+ my $target = shift;
+ ## NOT IMPLEMENTED YET
+}
+
1;
diff --git a/bin/PerlACE/ProcessVX.pm b/bin/PerlACE/ProcessVX.pm
index 6c7e63f7e15..852e77493da 100644
--- a/bin/PerlACE/ProcessVX.pm
+++ b/bin/PerlACE/ProcessVX.pm
@@ -130,6 +130,16 @@ sub IgnoreExeSubDir
return $self->{IGNOREEXESUBDIR};
}
+sub IgnoreHostRoot
+{
+ my $self = shift;
+
+ if (@_ != 0) {
+ $self->{IGNOREHOSTROOT} = shift;
+ }
+
+ return $self->{IGNOREHOSTROOT};
+}
sub delay_factor {
my($lps) = 128;
@@ -192,6 +202,8 @@ sub iboot_cycle_power {
if (defined($iboot_outlet) && defined($iboot_user) && defined($iboot_passwd)) {
# We perform case #3
+ # This case doesn't support shutdown
+ return if $mode == 1;
my $t = new Net::Telnet();
@@ -363,6 +375,7 @@ sub reboot {
# Helper for spawning with list of kernel modules in a .vxtest file
sub handle_vxtest_file
{
+ my $self = shift;
my $vxtestfile = shift;
my $vx_ref = shift;
my $unld_ref = shift;
@@ -383,6 +396,26 @@ sub handle_vxtest_file
return 1;
}
+# Load a file that is used as startup script. This script has to be
+# located on the host system
+sub handle_startup_script
+{
+ my $script = shift;
+ my $cmds = shift;
+ my $fh = new FileHandle;
+ if (open ($fh, $script)) {
+ while(<$fh>) {
+ my $line1 = $_;
+ chomp $line1;
+ push @$cmds, "$line1";
+ }
+ close $fh;
+ } else {
+ return 0;
+ }
+ return 1;
+}
+
### Check for -ExeSubDir commands, store the last one
my @new_argv = ();
@@ -405,14 +438,27 @@ for(my $i = 0; $i <= $#ARGV; ++$i) {
$PerlACE::ProcessVX::WAIT_DELAY_FACTOR = $ENV{"ACE_RUNTEST_DELAY"};
if (defined $ENV{'ACE_TEST_WINCE'}) {
- require PerlACE::ProcessWinCE;
+ if ($OSNAME eq "MSWin32") {
+ require PerlACE::ProcessWinCE;
+ } else {
+ require PerlACE::ProcessWinCE_Unix;
+ }
} else {
-if ($OSNAME eq "MSWin32") {
- require PerlACE::ProcessVX_Win32;
-}
-else {
- require PerlACE::ProcessVX_Unix;
+ if ($OSNAME eq "MSWin32") {
+ require PerlACE::ProcessVX_Win32;
+ }
+ else {
+ require PerlACE::ProcessVX_Unix;
+ }
}
+
+###
+
+sub kill_all
+{
+ my $procmask = shift;
+ my $target = shift;
+ ## NOT IMPLEMENTED YET
}
1;
diff --git a/bin/PerlACE/ProcessVX_Unix.pm b/bin/PerlACE/ProcessVX_Unix.pm
index 91764ffa3d0..3accc79b54b 100644
--- a/bin/PerlACE/ProcessVX_Unix.pm
+++ b/bin/PerlACE/ProcessVX_Unix.pm
@@ -50,10 +50,10 @@ sub new
$self->{RUNNING} = 0;
$self->{IGNOREEXESUBDIR} = 1;
+ $self->{IGNOREHOSTROOT} = 0;
$self->{PROCESS} = undef;
$self->{EXECUTABLE} = shift;
$self->{ARGUMENTS} = shift;
- $self->{TARGET} = shift;
if (!defined $PerlACE::ProcessVX::WAIT_DELAY_FACTOR) {
$PerlACE::ProcessVX::WAIT_DELAY_FACTOR = 2;
}
@@ -82,6 +82,41 @@ sub DESTROY
###############################################################################
+# Use the "expect" program to invoke telnet, doesn't need Perl's Net::Telnet.
+# This is run by the child process which was forked from Spawn().
+sub expect_telnet
+{
+ my($host, $port, $prompt, $cmdsRef) = @_;
+ my $pid = open(EXP, "|expect -f -") or die "ERROR: Could not run 'expect'";
+ $SIG{'TERM'} = sub { # If the parent wants to Kill() this process,
+ kill 'TERM', $pid; # send a SIGTERM to the expect process and
+ $SIG{'TERM'} = 'DEFAULT'; # then go back to the normal handler for TERM
+ kill 'TERM', $$; # and invoke it.
+ };
+ print EXP <<EOT;
+set timeout -1
+spawn telnet $host $port
+expect -re "$prompt"
+EOT
+ # target login and password are not currently implemented
+ for my $cmd (@$cmdsRef) {
+ my $cmdEsc = $cmd;
+ $cmdEsc =~ s/\"/\\\"/g; # escape quotes
+ print EXP <<EOT;
+send "$cmdEsc\r"
+expect -re "$prompt"
+EOT
+ }
+ print EXP <<EOT;
+send "exit\r"
+expect -re "Au revoir!"
+exit 0
+EOT
+ close EXP;
+ waitpid $pid, 0;
+}
+
+
# Spawn the process and continue.
sub Spawn ()
@@ -115,14 +150,11 @@ sub Spawn ()
$self->reboot();
my $program = $self->Executable ();
- my $cwdrel = dirname ($program);
+ my $exe_cwdrel = dirname ($program);
my $prjroot = defined $ENV{"ACE_RUN_VX_PRJ_ROOT"} ? $ENV{"ACE_RUN_VX_PRJ_ROOT"} : $ENV{"ACE_ROOT"};
- if (length ($cwdrel) > 0) {
- $cwdrel = File::Spec->abs2rel( cwd(), $prjroot );
- }
- else {
- $cwdrel = File::Spec->abs2rel( $cwdrel, $prjroot );
- }
+ $exe_cwdrel = cwd() if length ($exe_cwdrel) == 0;
+ $exe_cwdrel = File::Spec->abs2rel($exe_cwdrel, $prjroot);
+ my $cwdrel = File::Spec->abs2rel(cwd(), $prjroot);
$program = basename($program, $PerlACE::ProcessVX::ExeExt);
my @cmds;
@@ -149,6 +181,14 @@ sub Spawn ()
$PerlACE::ProcessVX::VxDefGw = 0;
}
+ if (defined $ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}) {
+ my(@start_commands);
+ if (handle_startup_script ($ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}, \@start_commands)) {
+ push @cmds, @start_commands;
+ $cmdnr += scalar @start_commands;
+ }
+ }
+
@cmds[$cmdnr++] = 'cd "' . $ENV{'ACE_RUN_VX_TGTSVR_ROOT'} . "/" . $cwdrel . '"';
@cmds[$cmdnr++] = 'C putenv("TMPDIR=' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel . '")';
@@ -163,6 +203,15 @@ sub Spawn ()
if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) {
@cmds[$cmdnr++] = 'C putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")';
}
+ if (defined $self->{TARGET}) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ @cmds[$cmdnr++] = 'C putenv("' . $env_key. '=' . $env_value . '")';
+ }
+ }
if (defined $ENV{'ACE_RUN_VX_CHECK_RESOURCES'}) {
@cmds[$cmdnr++] = 'C memShow()';
@@ -178,11 +227,19 @@ sub Spawn ()
$PerlACE::ProcessVX::VxDefGw = 0;
}
+ if (defined $ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}) {
+ my(@start_commands);
+ if (handle_startup_script ($ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}, \@start_commands)) {
+ push @cmds, @start_commands;
+ $cmdnr += scalar @start_commands;
+ }
+ }
+
my(@load_commands);
my(@unload_commands);
if (!$PerlACE::Static && !$PerlACE::VxWorks_RTP_Test) {
my $vxtest_file = $program . '.vxtest';
- if (handle_vxtest_file($vxtest_file, \@load_commands, \@unload_commands)) {
+ if (handle_vxtest_file($self, $vxtest_file, \@load_commands, \@unload_commands)) {
@cmds[$cmdnr++] = "cd \"$ENV{'ACE_RUN_VX_TGTSVR_ROOT'}/lib\"";
push @cmds, @load_commands;
$cmdnr += scalar @load_commands;
@@ -192,7 +249,7 @@ sub Spawn ()
}
}
- @cmds[$cmdnr++] = 'cd "' . $ENV{'ACE_RUN_VX_TGTSVR_ROOT'} . "/" . $cwdrel . "/" . $exesubdir . '"';
+ @cmds[$cmdnr++] = 'cd "' . $ENV{'ACE_RUN_VX_TGTSVR_ROOT'} . "/" . $exe_cwdrel . "/" . $exesubdir . '"';
@cmds[$cmdnr++] = 'putenv("TMPDIR=' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel . '")';
if (defined $ENV{'ACE_RUN_VX_CHECK_RESOURCES'}) {
@@ -210,11 +267,21 @@ sub Spawn ()
if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) {
@cmds[$cmdnr++] = 'putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")';
}
+ if (defined $self->{TARGET}) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ @cmds[$cmdnr++] = 'putenv("' . $env_key. '=' . $env_value . '")';
+ }
+ }
@cmds[$cmdnr++] = 'ld <'. $program . $PerlACE::ProcessVX::ExeExt;
$cmdline = $program . $PerlACE::ProcessVX::ExeExt . ' ' . $self->{ARGUMENTS};
if (defined $self->{ARGUMENTS}) {
($arguments = $self->{ARGUMENTS})=~ s/\"/\\\"/g;
+ ($arguments = $self->{ARGUMENTS})=~ s/\'/\\\'/g;
$arguments = ",\"" . $arguments . "\"";
}
if (defined $ENV{'ACE_RUN_VX_TGTSRV_WORKINGDIR'}) {
@@ -237,10 +304,6 @@ sub Spawn ()
}
elsif (defined $self->{PROCESS}) {
#child here
- if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print "$cmdline\n";
- }
-
my $telnet_port = $ENV{'ACE_RUN_VX_TGT_TELNET_PORT'};
my $telnet_host = $ENV{'ACE_RUN_VX_TGT_TELNET_HOST'};
if (!defined $telnet_host) {
@@ -248,13 +311,33 @@ sub Spawn ()
}
if (!defined $telnet_port) {
$telnet_port = 23;
- }
+ }
+ if (defined $ENV{'ACE_RUN_VX_USE_EXPECT'}) {
+ expect_telnet($telnet_host, $telnet_port, $prompt, \@cmds);
+ sleep(2);
+ exit;
+ }
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "Opening telnet connection <" . $telnet_host . ":". $telnet_port . ">\n";
+ }
my $t = new Net::Telnet(Timeout => 600, Errmode => 'return', Host => $telnet_host, Port => $telnet_port);
if (!defined $t) {
die "ERROR: Telnet failed to <" . $telnet_host . ":". $telnet_port . ">";
}
- $t->open();
- $t->print("");
+ my $retries = 10;
+ while ($retries--) {
+ if (!$t->open()) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "Couldn't open telnet connection; sleeping then retrying\n";
+ }
+ if ($retries == 0) {
+ die "ERROR: Telnet open to <" . $telnet_host . ":". $telnet_port . "> " . $t->errmsg;
+ }
+ sleep(5);
+ } else {
+ last;
+ }
+ }
my $target_login = $ENV{'ACE_RUN_VX_LOGIN'};
my $target_password = $ENV{'ACE_RUN_VX_PASSWORD'};
@@ -269,33 +352,41 @@ sub Spawn ()
$t->print("$target_password");
}
- my $ok;
- $ok = $t->waitfor('/-> $/');
- if ($ok) {
- my $i = 0;
- my @lines;
- while($i < $cmdnr) {
- if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print @cmds[$i]."\n";
- }
- if ($t->print (@cmds[$i++])) {
- my $blk;
- my $buf;
- while ($blk = $t->get) {
- printf $blk;
- $buf .= $blk;
- if ($buf =~ /$prompt/) {
- last;
- }
+ my $buf = '';
+ # wait for the prompt
+ my $prompt1 = '->[\ ]$';
+ while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt1/) {
+ last;
+ }
+ }
+ if ($buf !~ /$prompt1/) {
+ die "ERROR: Didn't got prompt but got <$buf>";
+ }
+ my $i = 0;
+ my @lines;
+ while($i < $cmdnr) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print @cmds[$i]."\n";
+ }
+ if ($t->print (@cmds[$i++])) {
+ # After each command wait for the prompt
+ my $buf = '';
+ while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt/) {
+ last;
}
- } else {
- print $t->errmsg;
}
+ } else {
+ print $t->errmsg;
}
}
- else {
- die "ERROR: exec failed for <" . $cmdline . ">";
- }
$t->close();
sleep(2);
exit;
@@ -387,7 +478,8 @@ sub Kill ()
my $self = shift;
if ($self->{RUNNING} && !defined $ENV{'ACE_TEST_WINDOW'}) {
- kill ('KILL', $self->{PROCESS});
+ kill ((defined $ENV{'ACE_RUN_VX_USE_EXPECT'}) ? 'TERM' : 'KILL',
+ $self->{PROCESS});
waitpid ($self->{PROCESS}, 0);
$self->check_return_value ($?);
}
@@ -431,5 +523,4 @@ sub TimedWait ($)
return -1;
}
-
1;
diff --git a/bin/PerlACE/ProcessVX_Win32.pm b/bin/PerlACE/ProcessVX_Win32.pm
index f1432314e48..6952f67d41c 100644
--- a/bin/PerlACE/ProcessVX_Win32.pm
+++ b/bin/PerlACE/ProcessVX_Win32.pm
@@ -29,10 +29,10 @@ sub new
$self->{RUNNING} = 0;
$self->{IGNOREEXESUBDIR} = 1;
+ $self->{IGNOREHOSTROOT} = 0;
$self->{PROCESS} = undef;
$self->{EXECUTABLE} = shift;
$self->{ARGUMENTS} = shift;
- $self->{TARGET} = shift;
if (!defined $PerlACE::ProcessVX::WAIT_DELAY_FACTOR) {
$PerlACE::ProcessVX::WAIT_DELAY_FACTOR = 3;
}
@@ -143,6 +143,14 @@ sub Spawn ()
$PerlACE::ProcessVX::VxDefGw = 0;
}
+ if (defined $ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}) {
+ my(@start_commands);
+ if (handle_startup_script ($ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}, \@start_commands)) {
+ push @cmds, @start_commands;
+ $cmdnr += scalar @start_commands;
+ }
+ }
+
@cmds[$cmdnr++] = 'cd "' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel . '"';
@cmds[$cmdnr++] = 'C putenv("TMPDIR=' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel . '")';
@@ -157,6 +165,15 @@ sub Spawn ()
if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) {
@cmds[$cmdnr++] = 'C putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")';
}
+ if (defined $self->{TARGET}) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ @cmds[$cmdnr++] = 'C putenv("' . $env_key. '=' . $env_value . '")';
+ }
+ }
if (defined $ENV{'ACE_RUN_VX_CHECK_RESOURCES'}) {
@cmds[$cmdnr++] = 'C memShow()';
@@ -172,11 +189,19 @@ sub Spawn ()
$PerlACE::ProcessVX::VxDefGw = 0;
}
+ if (defined $ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}) {
+ my(@start_commands);
+ if (handle_startup_script ($ENV{"ACE_RUN_VX_TGT_STARTUP_SCRIPT"}, \@start_commands)) {
+ push @cmds, @start_commands;
+ $cmdnr += scalar @start_commands;
+ }
+ }
+
my(@load_commands);
my(@unload_commands);
if (!$PerlACE::Static && !$PerlACE::VxWorks_RTP_Test) {
my $vxtest_file = $program . '.vxtest';
- if (handle_vxtest_file($vxtest_file, \@load_commands, \@unload_commands)) {
+ if (handle_vxtest_file($self, $vxtest_file, \@load_commands, \@unload_commands)) {
@cmds[$cmdnr++] = "cd \"$ENV{'ACE_RUN_VX_TGTSVR_ROOT'}/lib\"";
push @cmds, @load_commands;
$cmdnr += scalar @load_commands;
@@ -204,6 +229,15 @@ sub Spawn ()
if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) {
@cmds[$cmdnr++] = 'putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")';
}
+ if (defined $self->{TARGET}) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ @cmds[$cmdnr++] = 'putenv("' . $env_key. '=' . $env_value . '")';
+ }
+ }
@cmds[$cmdnr++] = 'ld <'. $program . $PerlACE::ProcessVX::ExeExt;
if (defined $self->{ARGUMENTS}) {
@@ -247,8 +281,9 @@ my $t = new Net::Telnet(Timeout => 600, Errmode => 'return', Host => $telnet_hos
if (!defined $t) {
die "ERROR: Telnet failed to <" . $telnet_host . ":". $telnet_port . ">";
}
-$t->open();
-$t->print("");
+if (!$t->open()) {
+ die "ERROR: Telnet open to <" . $telnet_host . ":". $telnet_port . "> " . $t->errmsg;
+}
my $target_login = $ENV{'ACE_RUN_VX_LOGIN'};
my $target_password = $ENV{'ACE_RUN_VX_PASSWORD'};
@@ -263,32 +298,40 @@ if (defined $target_password) {
$t->print("$target_password");
}
-$ok = $t->waitfor('/-> $/');
-if ($ok) {
- my $i = 0;
- my @lines;
- while($i < $cmdnr) {
- if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print @cmds[$i]."\n";
- }
- if ($t->print (@cmds[$i++])) {
- my $blk;
- my $buf;
- while ($blk = $t->get) {
- printf $blk;
- $buf .= $blk;
- if ($buf =~ /$prompt/) {
- last;
- }
+# wait for the prompt
+my $buf = '';
+my $prompt1 = '-> $';
+while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt1/) {
+ last;
+ }
+}
+if ($buf !~ /$prompt1/) {
+ die "ERROR: Didn't got prompt but got <$buf>";
+}
+my $i = 0;
+my @lines;
+while($i < $cmdnr) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print @cmds[$i]."\n";
+ }
+ if ($t->print (@cmds[$i++])) {
+ my $buf = '';
+ while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt/) {
+ last;
}
- } else {
- print $t->errmsg;
}
+ } else {
+ print $t->errmsg;
}
}
-else {
- die "ERROR: No prompt appeared\n";
-}
$t->close();
sleep(2);
exit;
@@ -382,5 +425,4 @@ sub Kill ()
$self->{RUNNING} = 0;
}
-
1;
diff --git a/bin/PerlACE/ProcessWinCE.pm b/bin/PerlACE/ProcessWinCE.pm
index 7556c68bdbb..9c7d92932be 100644
--- a/bin/PerlACE/ProcessWinCE.pm
+++ b/bin/PerlACE/ProcessWinCE.pm
@@ -29,6 +29,7 @@ sub new
$self->{RUNNING} = 0;
$self->{IGNOREEXESUBDIR} = 1;
+ $self->{IGNOREHOSTROOT} = 0;
$self->{PROCESS} = undef;
$self->{TARGET} = shift;
$self->{EXECUTABLE} = shift;
@@ -154,12 +155,11 @@ sub Spawn ()
my(@load_commands);
my(@unload_commands);
my $vxtest_file = $program . '.vxtest';
- if (handle_vxtest_file($vxtest_file, \@load_commands, \@unload_commands)) {
+ if (handle_vxtest_file($self, $vxtest_file, \@load_commands, \@unload_commands)) {
push @cmds, @load_commands;
$cmdnr += scalar @load_commands;
} else {
print STDERR "ERROR: Cannot find <", $vxtest_file, ">\n";
- return -1;
}
if (defined $self->{ARGUMENTS}) {
@@ -205,8 +205,10 @@ if (!defined $t) {
$t->open();
my $ok = false;
-while ($blk = $t->get) {
- printf $blk;
+my $buf = '';
+while (1) {
+ my $blk = $t->get;
+ print $blk;
$buf .= $blk;
if ($buf =~ /$prompt/) {
$ok = true;
@@ -221,9 +223,9 @@ if ($ok) {
print @cmds[$i]."\n";
}
if ($t->print (@cmds[$i++])) {
- my $blk;
- my $buf;
- while ($blk = $t->get) {
+ my $buf = '';
+ while (1) {
+ my $blk = $t->get;
printf $blk;
$buf .= $blk;
if ($buf =~ /$prompt/) {
@@ -333,23 +335,33 @@ sub Kill ()
sub handle_vxtest_file
{
+ my $self = shift;
my $vxtestfile = shift;
my $vx_ref = shift;
my $unld_ref = shift;
my $fh = new FileHandle;
- if (open ($fh, $vxtestfile)) {
- push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/MSVCR80D.dll .";
- my $line1 = <$fh>;
- chomp $line1;
- while(<$fh>) {
- $line1 = $_;
+
+ if (defined $self->{TARGET} && $self->{TARGET}->SystemLibs())
+ {
+ my @tokens = split(/;/, $self->{TARGET}->SystemLibs());
+ foreach my $token (@tokens) {
+ push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/" . $token . " .";
+ }
+ }
+ if (!$PerlACE::Static) {
+ if (open ($fh, $vxtestfile)) {
+ my $line1 = <$fh>;
chomp $line1;
- push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/$line1" . "d.dll .";
- unshift @$unld_ref, "del $line1" . "d.dll";
+ while(<$fh>) {
+ $line1 = $_;
+ chomp $line1;
+ push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/$line1" . "d.dll .";
+ unshift @$unld_ref, "del $line1" . "d.dll";
+ }
+ close $fh;
+ } else {
+ return 0;
}
- close $fh;
- } else {
- return 0;
}
return 1;
}
diff --git a/bin/PerlACE/ProcessWinCE_Unix.pm b/bin/PerlACE/ProcessWinCE_Unix.pm
new file mode 100644
index 00000000000..5354a427240
--- /dev/null
+++ b/bin/PerlACE/ProcessWinCE_Unix.pm
@@ -0,0 +1,442 @@
+#! /usr/bin/perl
+# $Id$
+
+package PerlACE::ProcessVX;
+
+use strict;
+use POSIX "sys_wait_h";
+use File::Basename;
+use File::Spec;
+use Config;
+use FileHandle;
+use Cwd;
+
+eval { require Net::Telnet; };
+
+###############################################################################
+
+### Grab signal names
+
+my @signame;
+
+if (defined $Config{sig_name}) {
+ my $i = 0;
+ foreach my $name (split (' ', $Config{sig_name})) {
+ $signame[$i] = $name;
+ $i++;
+ }
+}
+else {
+ my $i;
+ for ($i = 0; $i < 255; ++$i) {
+ $signame[$i] = $i;
+ }
+}
+
+###############################################################################
+
+# This is what GetExitCode will return if the process is still running.
+my $STILL_ACTIVE = 259;
+
+###############################################################################
+
+### Constructor and Destructor
+
+sub new
+{
+ my $proto = shift;
+ my $class = ref ($proto) || $proto;
+ my $self = {};
+
+ $self->{RUNNING} = 0;
+ $self->{IGNOREEXESUBDIR} = 1;
+ $self->{IGNOREHOSTROOT} = 0;
+ $self->{PROCESS} = undef;
+ $self->{EXECUTABLE} = shift;
+ $self->{ARGUMENTS} = shift;
+ $self->{TARGET} = shift;
+ if (!defined $PerlACE::ProcessVX::WAIT_DELAY_FACTOR) {
+ $PerlACE::ProcessVX::WAIT_DELAY_FACTOR = 2;
+ }
+ if (!defined $PerlACE::ProcessVX::RebootCmd) {
+ $PerlACE::ProcessVX::RebootCmd = "reboot 0x02";
+ }
+ bless ($self, $class);
+ return $self;
+}
+
+sub DESTROY
+{
+ my $self = shift;
+
+ if ($self->{RUNNING} == 1) {
+ print STDERR "ERROR: <", $self->{EXECUTABLE},
+ "> still running upon object destruction\n";
+ $self->Kill ();
+ }
+
+ if (defined $ENV{'ACE_RUN_VX_IBOOT'} && !defined $ENV{'ACE_RUN_VX_NO_SHUTDOWN'}) {
+ # Shutdown the target to save power
+ $self->iboot_cycle_power(1);
+ }
+}
+
+###############################################################################
+
+# Spawn the process and continue.
+
+sub Spawn ()
+{
+ my $self = shift;
+
+ if ($self->{RUNNING} == 1) {
+ print STDERR "ERROR: Cannot Spawn: <", $self->Executable (),
+ "> already running\n";
+ return -1;
+ }
+
+ if (!defined $self->{EXECUTABLE}) {
+ print STDERR "ERROR: Cannot Spawn: No executable specified\n";
+ return -1;
+ }
+
+ if ($self->{IGNOREEXESUBDIR} == 0) {
+ if (!-f $self->Executable ()) {
+ print STDERR "ERROR: Cannot Spawn: <", $self->Executable (),
+ "> not found\n";
+ return -1;
+ }
+ }
+
+ my $status = 0;
+
+ my $cmdline;
+
+ # Reboot the target if necessery
+ $self->reboot();
+
+ my $program = $self->Executable ();
+ my $cwdrel = dirname ($program);
+ my $prjroot = defined $ENV{"ACE_RUN_VX_PRJ_ROOT"} ? $ENV{"ACE_RUN_VX_PRJ_ROOT"} : $ENV{"ACE_ROOT"};
+ if (length ($cwdrel) > 0) {
+ $cwdrel = File::Spec->abs2rel( cwd(), $prjroot );
+ }
+ else {
+ $cwdrel = File::Spec->abs2rel( $cwdrel, $prjroot );
+ }
+ $program = basename($program, $PerlACE::ProcessVX::ExeExt);
+
+ my @cmds;
+ my $cmdnr = 0;
+ my $arguments = "";
+ my $prompt = '';
+ my $exesubdir = defined $ENV{"ACE_RUN_VX_EXE_SUBDIR"} ? $ENV{"ACE_RUN_VX_EXE_SUBDIR"} : "";
+
+ if (defined $ENV{"ACE_RUN_VX_STARTUP_SCRIPT"}) {
+ if (defined $ENV{"ACE_RUN_VX_STARTUP_SCRIPT_ROOT"}) {
+ @cmds[$cmdnr++] = 'cd "' . $ENV{'ACE_RUN_VX_STARTUP_SCRIPT_ROOT'} . '"';
+ }
+ @cmds[$cmdnr++] = '< ' . $ENV{"ACE_RUN_VX_STARTUP_SCRIPT"};
+ }
+
+ if (defined $ENV{"ACE_RUN_VX_STARTUP_COMMAND"}) {
+ @cmds[$cmdnr++] = $ENV{"ACE_RUN_VX_STARTUP_COMMAND"};
+ }
+
+ @cmds[$cmdnr++] = 'cd ' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel . "/" . $exesubdir;
+ @cmds[$cmdnr++] = 'set TMPDIR=' . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/" . $cwdrel;
+
+ if (defined $ENV{'ACE_RUN_ACE_DEBUG'}) {
+ @cmds[$cmdnr++] = 'set ACE_DEBUG=' . $ENV{"ACE_RUN_ACE_DEBUG"};
+ }
+
+ if (defined $ENV{'ACE_RUN_TAO_ORB_DEBUG'}) {
+ @cmds[$cmdnr++] = 'set TAO_ORB_DEBUG=' . $ENV{"ACE_RUN_TAO_ORB_DEBUG"};
+ }
+
+ if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) {
+ @cmds[$cmdnr++] = 'set ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"};
+ }
+
+ my(@load_commands);
+ my(@unload_commands);
+ my $vxtest_file = $program . '.vxtest';
+ if (handle_vxtest_file($self, $vxtest_file, \@load_commands, \@unload_commands)) {
+ push @cmds, @load_commands;
+ $cmdnr += scalar @load_commands;
+ } else {
+ print STDERR "ERROR: Cannot find <", $vxtest_file, ">\n";
+ }
+
+ if (defined $self->{ARGUMENTS}) {
+ ($arguments = $self->{ARGUMENTS})=~ s/\"/\\\"/g;
+ ($arguments = $self->{ARGUMENTS})=~ s/\'/\\\'/g;
+ }
+ $cmdline = $program . ' ' . $arguments;
+ if (defined $ENV{'ACE_RUN_VX_TGTSRV_WORKINGDIR'}) {
+ @cmds[$cmdnr++] = 'cd ' . $ENV{'ACE_RUN_VX_TGTSRV_WORKINGDIR'};
+ } else {
+ @cmds[$cmdnr++] = 'cd ' . $ENV{'ACE_RUN_VX_TGTSVR_ROOT'} . "/" . $cwdrel;
+ }
+ @cmds[$cmdnr++] = $cmdline;
+ if (!defined $ENV{'ACE_TEST_VERBOSE'}) {
+ push @cmds, @unload_commands;
+ $cmdnr += scalar @unload_commands;
+ }
+ $prompt = '[\\\\].*>[\ ]$';
+
+ FORK:
+ {
+ if ($self->{PROCESS} = fork) {
+ #parent here
+ bless $self;
+ }
+ elsif (defined $self->{PROCESS}) {
+ #child here
+ my $telnet_port = $ENV{'ACE_RUN_VX_TGT_TELNET_PORT'};
+ my $telnet_host = $ENV{'ACE_RUN_VX_TGT_TELNET_HOST'};
+ if (!defined $telnet_host) {
+ $telnet_host = $ENV{'ACE_RUN_VX_TGTHOST'};
+ }
+ if (!defined $telnet_port) {
+ $telnet_port = 23;
+ }
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "Opening telnet connection <" . $telnet_host . ":". $telnet_port . ">\n";
+ }
+ my $t = new Net::Telnet(Timeout => 600, Errmode => 'return', Host => $telnet_host, Port => $telnet_port);
+ if (!defined $t) {
+ die "ERROR: Telnet failed to <" . $telnet_host . ":". $telnet_port . ">";
+ }
+ my $retries = 10;
+ while ($retries--) {
+ if (!$t->open()) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "Couldn't open telnet connection; sleeping then retrying\n";
+ }
+ if ($retries == 0) {
+ die "ERROR: Telnet open to <" . $telnet_host . ":". $telnet_port . "> " . $t->errmsg;
+ }
+ sleep(5);
+ } else {
+ last;
+ }
+ }
+
+ my $target_login = $ENV{'ACE_RUN_VX_LOGIN'};
+ my $target_password = $ENV{'ACE_RUN_VX_PASSWORD'};
+
+ if (defined $target_login) {
+ $t->waitfor('/VxWorks login: $/');
+ $t->print("$target_login");
+ }
+
+ if (defined $target_password) {
+ $t->waitfor('/Password: $/');
+ $t->print("$target_password");
+ }
+
+ my $buf = '';
+ # wait for the prompt
+ while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt/) {
+ last;
+ }
+ }
+ if ($buf !~ /$prompt/) {
+ die "ERROR: Didn't got prompt but got <$buf>";
+ }
+ my $i = 0;
+ my @lines;
+ while($i < $cmdnr) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print @cmds[$i]."\n";
+ }
+ if ($t->print (@cmds[$i++])) {
+ # After each command wait for the prompt
+ my $buf = '';
+ while (1) {
+ my $blk = $t->get;
+ print $blk;
+ $buf .= $blk;
+ if ($buf =~ /$prompt/) {
+ last;
+ }
+ }
+ } else {
+ print $t->errmsg;
+ }
+ }
+ $t->close();
+ sleep(2);
+ exit;
+ }
+ elsif ($! =~ /No more process/) {
+ #EAGAIN, supposedly recoverable fork error
+ sleep 5;
+ redo FORK;
+ }
+ else {
+ # weird fork error
+ print STDERR "ERROR: Can't fork <" . $cmdline . ">: $!\n";
+ }
+ }
+ $self->{RUNNING} = 1;
+ return 0;
+}
+
+
+# Terminate the process and wait for it to finish
+
+sub TerminateWaitKill ($)
+{
+ my $self = shift;
+ my $timeout = shift;
+
+ if ($self->{RUNNING}) {
+ print STDERR "INFO: $self->{EXECUTABLE} being killed.\n";
+ kill ('TERM', $self->{PROCESS});
+
+ $PerlACE::ProcessVX::DoVxInit = 1; # force reboot on next run
+ }
+
+ return $self->WaitKill ($timeout);
+}
+
+# really only for internal use
+sub check_return_value ($)
+{
+ my $self = shift;
+ my $rc = shift;
+
+ my $CC_MASK = 0xff00;
+
+ # Exit code processing
+ if ($rc == 0) {
+ return 0;
+ }
+ elsif ($rc == $CC_MASK) {
+ print STDERR "ERROR: <", $self->{EXECUTABLE},
+ "> failed: $!\n";
+
+ $PerlACE::ProcessVX::DoVxInit = 1; # force reboot on next run
+
+ return ($rc >> 8);
+ }
+ elsif (($rc & 0xff) == 0) {
+ $rc >>= 8;
+ return $rc;
+ }
+
+ # Remember Core dump flag
+ my $dump = 0;
+
+ if ($rc & 0x80) {
+ $rc &= ~0x80;
+ $dump = 1;
+ }
+
+ # check for ABRT, KILL or TERM
+ if ($rc == 6 || $rc == 9 || $rc == 15) {
+ return 0;
+ }
+
+ print STDERR "ERROR: <", $self->{EXECUTABLE},
+ "> exited with ";
+
+ print STDERR "coredump from " if ($dump == 1);
+
+ print STDERR "signal $rc : ", $signame[$rc], "\n";
+
+ $PerlACE::ProcessVX::DoVxInit = 1; # force reboot on next run
+
+ return 0;
+}
+
+sub Kill ()
+{
+ my $self = shift;
+
+ if ($self->{RUNNING} && !defined $ENV{'ACE_TEST_WINDOW'}) {
+ kill ('KILL', $self->{PROCESS});
+ waitpid ($self->{PROCESS}, 0);
+ $self->check_return_value ($?);
+ }
+
+ $self->{RUNNING} = 0;
+}
+
+# Wait until a process exits.
+# return -1 if the process is still alive.
+sub Wait ($)
+{
+ my $self = shift;
+ my $timeout = shift;
+ if (!defined $timeout || $timeout < 0) {
+ waitpid ($self->{PROCESS}, 0);
+ } else {
+ return TimedWait($self, $timeout);
+ }
+
+}
+
+sub TimedWait ($)
+{
+ my $self = shift;
+ my $timeout = shift;
+
+ if ($PerlACE::Process::WAIT_DELAY_FACTOR > 0) {
+ $timeout *= $PerlACE::Process::WAIT_DELAY_FACTOR;
+ }
+
+ while ($timeout-- != 0) {
+ my $pid = waitpid ($self->{PROCESS}, &WNOHANG);
+ if ($pid != 0 && $? != -1) {
+ return $self->check_return_value ($?);
+ }
+ sleep 1;
+ }
+
+ $PerlACE::ProcessVX::DoVxInit = 1; # force reboot on next run
+
+ return -1;
+}
+
+sub handle_vxtest_file
+{
+ my $self = shift;
+ my $vxtestfile = shift;
+ my $vx_ref = shift;
+ my $unld_ref = shift;
+ my $fh = new FileHandle;
+
+ if (defined $self->{TARGET} && $self->{TARGET}->SystemLibs())
+ {
+ my @tokens = split(/;/, $self->{TARGET}->SystemLibs());
+ foreach my $token (@tokens) {
+ push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/" . $token . " .";
+ unshift @$unld_ref, "del " . $token;
+ }
+ }
+ if (!$PerlACE::Static) {
+ if (open ($fh, $vxtestfile)) {
+ my $line1 = <$fh>;
+ chomp $line1;
+ while(<$fh>) {
+ $line1 = $_;
+ chomp $line1;
+ push @$vx_ref, "copy " . $ENV{"ACE_RUN_VX_TGTSVR_ROOT"} . "/lib/$line1" . ".dll .";
+ unshift @$unld_ref, "del $line1" . ".dll";
+ }
+ close $fh;
+ } else {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+1;
diff --git a/bin/PerlACE/Process_Unix.pm b/bin/PerlACE/Process_Unix.pm
index 01300ed75e4..8e6848bad06 100644
--- a/bin/PerlACE/Process_Unix.pm
+++ b/bin/PerlACE/Process_Unix.pm
@@ -72,6 +72,10 @@ sub DESTROY
"> still running upon object destruction\n";
$self->Kill ();
}
+
+ if (defined $self->{SCRIPTFILE}) {
+ unlink $self->{SCRIPTFILE};
+ }
}
###############################################################################
@@ -87,6 +91,15 @@ sub Executable
}
my $executable = $self->{EXECUTABLE};
+
+ # If the target's config has a different ACE_ROOT, rebase the executable
+ # from $ACE_ROOT to the target's root.
+ if (defined $self->{TARGET} &&
+ $self->{TARGET}->ACE_ROOT() ne $ENV{"ACE_ROOT"}) {
+ $executable = PerlACE::rebase_path ($executable,
+ $ENV{"ACE_ROOT"},
+ $self->{TARGET}->ACE_ROOT());
+ }
if ($self->{IGNOREHOSTROOT} == 0) {
if (PerlACE::is_vxworks_test()) {
@@ -99,7 +112,7 @@ sub Executable
}
my $basename = basename ($executable);
- my $dirname = dirname ($executable). '/';
+ my $dirname = dirname ($executable).'/';
$executable = $dirname.$PerlACE::Process::ExeSubDir.$basename;
@@ -121,7 +134,8 @@ sub CommandLine ()
{
my $self = shift;
- my $commandline = $self->Executable ();
+ my $exe = $self->Executable ();
+ my $commandline = $exe;
if (defined $self->{REMOTEINFO}) {
my($method) = $self->{REMOTEINFO}->{method};
@@ -135,7 +149,8 @@ sub CommandLine ()
if (defined $libpath) {
my($csh) = (defined $self->{REMOTEINFO}->{shell} &&
$self->{REMOTEINFO}->{shell} =~ /csh/);
- foreach my $pvar ('LD_LIBRARY_PATH', 'LIBPATH', 'SHLIB_PATH') {
+ foreach my $pvar ('DYLD_LIBRARY_PATH', 'LD_LIBRARY_PATH',
+ 'LIBPATH', 'SHLIB_PATH') {
if ($csh) {
$commandline .= "if (! \\\$?$pvar) setenv $pvar; " .
"setenv $pvar $libpath:\\\$$pvar; ";
@@ -178,8 +193,65 @@ sub CommandLine ()
if (defined $self->{REMOTEINFO}) {
$commandline .= '"';
+ } elsif (defined $self->{TARGET} && defined $self->{TARGET}->{REMOTE_SHELL}) {
+ my($shell) = $self->{TARGET}->{REMOTE_SHELL};
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ my($root) = $self->{TARGET}->ACE_ROOT();
+ if (!defined $root) {
+ $root = $ENV{'ACE_ROOT'};
+ }
+ my($exedir) = dirname ($exe);
+ my($local_xdir)= File::Spec->rel2abs($self->{EXECUTABLE});
+ if ($exedir == '.' || $exedir == './' || $exedir == '') {
+ $exedir = cwd ();
+ $local_xdir = $exedir;
+ }
+ if (!defined $self->{PIDFILE}) {
+ $self->{PIDFILE} = "/tmp/.acerun/ace-".rand(time).".pid";
+ }
+ if (!defined $self->{SCRIPTFILE}) {
+ $self->{SCRIPTFILE} = "$local_xdir/run-".rand(time).".sh";
+ }
+ ## create scriptfile
+ my $libpath = "$root/lib";
+ if (defined $self->{TARGET}->{LIBPATH}) {
+ $libpath = PerlACE::concat_path ($libpath, $self->{TARGET}->{LIBPATH});
+ }
+ my $run_script =
+ "if [ ! -e /tmp/.acerun ]; then mkdir /tmp/.acerun; fi\n".
+ "cd $exedir\n".
+ "export LD_LIBRARY_PATH=$libpath:\$LD_LIBRARY_PATH\n".
+ "export DYLD_LIBRARY_PATH=$libpath:\$DYLD_LIBRARY_PATH\n".
+ "export LIBPATH=$libpath:\$LIBPATH\n".
+ "export SHLIB_PATH=$libpath:\$SHLIB_PATH\n".
+ "export PATH=\$PATH:$root/bin:$root/lib:$libpath\n";
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ $run_script .=
+ "export $env_key=$env_value\n";
+ }
+ $run_script .=
+ "$commandline &\n";
+ $run_script .=
+ "MY_PID=\$!\n".
+ "echo \$MY_PID > ".$self->{PIDFILE}."\n";
+ $run_script .=
+ "wait \$MY_PID\n";
+
+ unless (open (RUN_SCRIPT, ">".$self->{SCRIPTFILE})) {
+ print STDERR "ERROR: Cannot Spawn: <", $self->Executable (),
+ "> failed to create ",$self->{SCRIPTFILE},"\n";
+ return -1;
+ }
+ print RUN_SCRIPT $run_script;
+ close RUN_SCRIPT;
+
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: created run script [",$self->{SCRIPTFILE},"]\n", $run_script;
+ }
+
+ $commandline = "$shell \"source $exedir/".basename ($self->{SCRIPTFILE})."\"";
}
-
+
return $commandline;
}
@@ -288,7 +360,7 @@ sub Spawn ()
$cmdline = "$executable $orig_cmdline";
}
elsif (defined $ENV{'ACE_TEST_WINDOW'}) {
- $cmdline = $ENV{'ACE_TEST_WINDOW'} . ' ' . $self->CommandLine();
+ $cmdline = $ENV{'ACE_TEST_WINDOW'} . ' ' . $self->CommandLine();
}
else {
$executable = $self->Executable();
@@ -310,6 +382,29 @@ sub Spawn ()
print "INFO: argument - '$arg'\n";
}
}
+ # update environment for target
+ if (defined $self->{TARGET}) {
+ if (!(defined $self->{TARGET}->{REMOTE_SHELL} || defined $self->{REMOTEINFO})) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ $ENV{$env_key} = $env_value;
+ }
+ }
+ if ($self->{TARGET}->{LIBPATH}) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target libpath ".$self->{TARGET}->{LIBPATH}."\n";
+ }
+ PerlACE::add_lib_path ($self->{TARGET}->{LIBPATH});
+ }
+ }
+ if (!(defined $self->{VALGRIND_CMD} || defined $ENV{'ACE_TEST_WINDOW'}) &&
+ (defined $self->{TARGET}) && ($ENV{'ACE_ROOT'} ne $self->{TARGET}->ACE_ROOT ())) {
+ my $x_dir = dirname ($executable);
+ chdir ($x_dir);
+ }
exec @cmdlist;
die "ERROR: exec failed for <" . $cmdline . ">\n";
}
@@ -323,6 +418,33 @@ sub Spawn ()
print STDERR "ERROR: Can't fork <" . $cmdline . ">: $!\n";
}
}
+
+ if (defined $self->{TARGET} && defined $self->{TARGET}->{REMOTE_SHELL}) {
+ my $shell = $self->{TARGET}->{REMOTE_SHELL};
+ my $pidfile = $self->{PIDFILE};
+ ## wait max 5 sec for pid file to appear
+ my $timeout = 5;
+ my $rc = 1;
+ while ($timeout-- != 0) {
+ $rc = int(`$shell 'test -e $pidfile && test -s $pidfile ; echo \$?'`);
+ if ($rc == 0) {
+ $timeout = 0;
+ } else {
+ sleep 1;
+ }
+ }
+ if ($rc != 0) {
+ print STDERR "ERROR: Remote command failed <" . $cmdline . ">: $! No PID found.\n";
+ return -1;
+ }
+ $self->{REMOTE_PID} = `$shell cat $pidfile`;
+ $self->{REMOTE_PID} =~ s/\s+//g;
+ system("$shell rm -f $pidfile 2>&1 >/dev/null");
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: Process started remote with pid [",$self->{REMOTE_PID},"]\n";
+ }
+ }
+
$self->{RUNNING} = 1;
return 0;
}
@@ -467,7 +589,15 @@ sub Kill ($)
my $ignore_return_value = shift;
if ($self->{RUNNING} && !defined $ENV{'ACE_TEST_WINDOW'}) {
- kill ('KILL', $self->{PROCESS});
+ if (defined $self->{TARGET} && defined $self->{TARGET}->{REMOTE_SHELL}) {
+ my $cmd = $self->{TARGET}->{REMOTE_SHELL}." kill -s KILL ".$self->{REMOTE_PID};
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: Killing remote process <", $cmd, ">\n";
+ }
+ $cmd = `$cmd 2>&1`;
+ } else {
+ kill ('KILL', $self->{PROCESS});
+ }
for(my $i = 0; $i < 10; $i++) {
my $pid = waitpid ($self->{PROCESS}, WNOHANG);
if ($pid > 0) {
@@ -524,4 +654,54 @@ sub TimedWait ($)
return -1;
}
+###
+
+sub kill_all
+{
+ my $procmask = shift;
+ my $target = shift;
+ my $pid = -1;
+ my $first = 1;
+ my $ps_cmd = 'ps xw';
+ if (defined $target && defined $target->{PS_CMD}) {
+ ## in case a special command is required
+ $ps_cmd = $ENV{'PS_CMD'};
+ } elsif (! (defined $target && defined $target->{REMOTE_SHELL}) ) {
+ my $ps_file = `which ps`;
+ $ps_file =~ s/^\s+//;
+ $ps_file =~ s/\s+$//;
+ if ((-l $ps_file) and (readlink ($ps_file)) =~ /busybox/) {
+ ## some embedded targets use BusyBox for base tools
+ ## with different arguments
+ $ps_cmd = 'ps w';
+ }
+ }
+ if (defined $target && defined $target->{REMOTE_SHELL}) {
+ $ps_cmd = $target->{REMOTE_SHELL}.' '.$ps_cmd;
+ }
+ for my $line (`$ps_cmd`) {
+ if ($first) {
+ # skip first line (headers)
+ $first = 0;
+ } else {
+ # find matching process line
+ if ($line =~ /$procmask/) {
+ # find process PID
+ if ($line =~ /^\s*(\d+)\s+/) {
+ $pid = $1;
+ if (defined $target && defined $target->{REMOTE_SHELL}) {
+ my $kill_cmd = $target->{REMOTE_SHELL}." kill -s KILL $pid";
+ $kill_cmd = `$kill_cmd`;
+ } else {
+ kill ('KILL', $pid); # kill process
+ }
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: Killed process at [$line]\n";
+ }
+ }
+ }
+ }
+ }
+}
+
1;
diff --git a/bin/PerlACE/Process_VMS.pm b/bin/PerlACE/Process_VMS.pm
index 30d4cdd271b..2a628b30269 100644
--- a/bin/PerlACE/Process_VMS.pm
+++ b/bin/PerlACE/Process_VMS.pm
@@ -356,4 +356,13 @@ sub TimedWait ($)
return -1;
}
+###
+
+sub kill_all
+{
+ my $procmask = shift;
+ my $target = shift;
+ ## NOT IMPLEMENTED YET
+}
+
1;
diff --git a/bin/PerlACE/Process_Win32.pm b/bin/PerlACE/Process_Win32.pm
index ace30cb05bd..99eda59bb65 100644
--- a/bin/PerlACE/Process_Win32.pm
+++ b/bin/PerlACE/Process_Win32.pm
@@ -229,6 +229,9 @@ sub Spawn ()
my $cmdline = "";
my $executable = "";
+ my $chdir_needed = 0;
+ my $curdir_bak;
+
if (defined $self->{PURIFY_CMD}) {
my $orig_cmdline = $self->CommandLine ();
$executable = $self->{PURIFY_CMD};
@@ -286,24 +289,51 @@ sub Spawn ()
$cmdline = "cmd /C start /B /WAIT $self->{WINCE_CTL} $pocket_device_opts -m NAME=start_test.cmd;WAIT=401000; -e"
}
elsif (defined $ENV{'ACE_TEST_WINDOW'}) {
- $state = ($ENV{'ACE_TEST_WINDOW'} =~ /\/k/i ? CREATE_NEW_CONSOLE : DETACHED_PROCESS);
- $executable = $ENV{'ComSpec'};
- $cmdline = $ENV{'ACE_TEST_WINDOW'} . ' ' . $self->CommandLine();
+ $state = ($ENV{'ACE_TEST_WINDOW'} =~ /\/k/i ? CREATE_NEW_CONSOLE : DETACHED_PROCESS);
+ $executable = $ENV{'ComSpec'};
+ $cmdline = $ENV{'ACE_TEST_WINDOW'} . ' ' . $self->CommandLine();
}
else {
$executable = $self->Executable ();
$cmdline = $self->CommandLine ();
+ if ((defined $self->{TARGET}) && ($ENV{'ACE_ROOT'} ne $self->{TARGET}->ACE_ROOT ())) {
+ $chdir_needed = 1;
+ $curdir_bak = cwd ();
+ chdir (dirname ($executable));
+ }
}
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
print "$executable $cmdline\n";
}
+ my %backup_ENV = %ENV;
+ # update environment for target
+ if (defined $self->{TARGET}) {
+ if (!defined $self->{TARGET}->{REMOTE_SHELL}) {
+ my $x_env_ref = $self->{TARGET}->{EXTRA_ENV};
+ while ( my ($env_key, $env_value) = each(%$x_env_ref) ) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target environment $env_key=$env_value\n";
+ }
+ $ENV{$env_key} = $env_value;
+ }
+ }
+ if ($self->{TARGET}->{LIBPATH}) {
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print "INFO: adding target libpath ".$self->{TARGET}->{LIBPATH}."\n";
+ }
+ PerlACE::add_lib_path ($self->{TARGET}->{LIBPATH});
+ }
+ }
my $status = Win32::Process::Create ($self->{PROCESS},
$executable,
$cmdline,
($state == 0 ? 1 : 0),
$state,
'.');
-
+ %ENV = %backup_ENV;
+ if ($chdir_needed) {
+ chdir ($curdir_bak);
+ }
if ($status == 0) {
print STDERR "ERROR: Spawn failed for <", $self->CommandLine (), ">\n";
return -1;
@@ -416,4 +446,26 @@ sub TimedWait ($)
return $self->Wait($timeout);
}
+###
+
+sub kill_all
+{
+ my $procmask = shift;
+ my $target = shift;
+ my $pid = -1;
+ for my $line (`tasklist /nh /fo csv`) {
+ # find matching process line
+ if ($line =~ /$procmask/) {
+ # find process PID
+ if ($line =~ /^\"[^\"]+\",\"(\d+)\",/) {
+ $pid = $1;
+ Win32::Process::KillProcess ($pid, 0); # kill process
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "INFO: Killed process at [$line]\n"
+ }
+ }
+ }
+ }
+}
+
1;
diff --git a/bin/PerlACE/Run_Test.pm b/bin/PerlACE/Run_Test.pm
index 29217351ac2..7beddf69f98 100644
--- a/bin/PerlACE/Run_Test.pm
+++ b/bin/PerlACE/Run_Test.pm
@@ -42,7 +42,11 @@ if ($PerlACE::LabVIEW_RT_Test) {
$PerlACE::WinCE_Test = $config->check_config("WINCE");
if ($PerlACE::WinCE_Test) {
+if ($OSNAME eq "MSWin32") {
require PerlACE::ProcessWinCE;
+} else {
+ require PerlACE::ProcessWinCE_Unix;
+}
}
# Figure out the svc.conf extension
@@ -83,12 +87,19 @@ sub LocalFile ($)
return $newfile;
}
+sub rebase_path {
+ my $path = shift;
+ my $cur_root = shift;
+ my $new_root = shift;
+ $path = File::Spec->rel2abs ($path);
+ $path = File::Spec->abs2rel ($path, $cur_root);
+ return $new_root."/".$path;
+}
+
sub VX_HostFile($)
{
my $file = shift;
- $file = File::Spec->rel2abs ($file);
- $file = File::Spec->abs2rel ($file, $ENV{"ACE_ROOT"});
- return $ENV{"HOST_ROOT"}."/".$file;
+ return rebase_path ($file, $ENV{"ACE_ROOT"}, $ENV{"HOST_ROOT"});
}
# Returns a random port within the range of 10002 - 32767
@@ -201,32 +212,38 @@ sub is_vxworks_rtp_test()
return ($PerlACE::VxWorks_RTP_Test);
}
+sub concat_path {
+ my $pathlist = shift;
+ my $path = shift;
+ if ((!defined $pathlist) || $pathlist =~ /^\s*$/) {
+ return $path;
+ } else {
+ return $pathlist . ($^O eq 'MSWin32' ? ';' : ':') . $path;
+ }
+}
+
sub add_path {
- my $name = shift;
- my $value = shift;
- if (defined $ENV{$name}) {
- $ENV{$name} .= ($^O eq 'MSWin32' ? ';' : ':') . $value
- }
- else {
- $ENV{$name} = $value;
- }
+ my $name = shift;
+ my $value = shift;
+ $ENV{$name} = concat_path ($ENV{$name}, $value);
}
sub add_lib_path {
- my($value) = shift;
-
- # Set the library path supporting various platforms.
- add_path('PATH', $value);
- add_path('LD_LIBRARY_PATH', $value);
- add_path('LIBPATH', $value);
- add_path('SHLIB_PATH', $value);
-
- if (defined $ENV{"HOST_ROOT"}) {
- add_path('PATH', VX_HostFile ($value));
- add_path('LD_LIBRARY_PATH', VX_HostFile ($value));
- add_path('LIBPATH', VX_HostFile ($value));
- add_path('SHLIB_PATH', VX_HostFile ($value));
- }
+ my($value) = shift;
+
+ # Set the library path supporting various platforms.
+ add_path('PATH', $value);
+ add_path('DYLD_LIBRARY_PATH', $value);
+ add_path('LD_LIBRARY_PATH', $value);
+ add_path('LIBPATH', $value);
+ add_path('SHLIB_PATH', $value);
+
+ if (defined $ENV{"HOST_ROOT"}) {
+ add_path('PATH', VX_HostFile ($value));
+ add_path('LD_LIBRARY_PATH', VX_HostFile ($value));
+ add_path('LIBPATH', VX_HostFile ($value));
+ add_path('SHLIB_PATH', VX_HostFile ($value));
+ }
}
sub check_privilege_group {
diff --git a/bin/PerlACE/TestTarget.pm b/bin/PerlACE/TestTarget.pm
index b83ac809b76..cde7ce76090 100644
--- a/bin/PerlACE/TestTarget.pm
+++ b/bin/PerlACE/TestTarget.pm
@@ -41,7 +41,7 @@ sub create_target
}
my $config_os = $ENV{$envname};
SWITCH: {
- if ($config_os =~ m/local/i) {
+ if ($config_os =~ m/local|remote/i) {
$target = new PerlACE::TestTarget ($config_name);
last SWITCH;
}
@@ -199,6 +199,36 @@ sub GetConfigSettings ($)
if (exists $ENV{$env_name}) {
$self->{HOST_ROOT} = $ENV{$env_name};
}
+ $env_name = $env_prefix.'SYSTEM_LIBS';
+ if (exists $ENV{$env_name}) {
+ $self->{SYSTEM_LIBS} = $ENV{$env_name};
+ }
+ $env_name = $env_prefix.'REMOTE_SHELL';
+ if (exists $ENV{$env_name}) {
+ $self->{REMOTE_SHELL} = $ENV{$env_name};
+ }
+ $env_name = $env_prefix.'LIBPATH';
+ if (exists $ENV{$env_name}) {
+ $self->{LIBPATH} = $ENV{$env_name};
+ }
+ $env_name = $env_prefix.'REMOTE_FILETEST';
+ if (exists $ENV{$env_name}) {
+ $self->{REMOTE_FILETEST} = $ENV{$env_name};
+ }
+ $env_name = $env_prefix.'PS_CMD';
+ if (exists $ENV{$env_name}) {
+ $self->{PS_CMD} = $ENV{$env_name};
+ }
+ $self->{EXTRA_ENV} = {};
+ $env_name = $env_prefix.'EXTRA_ENV';
+ if (exists $ENV{$env_name}) {
+ my @x_env = split (' ', $ENV{$env_name});
+ foreach my $x_env_s (@x_env) {
+ if ($x_env_s =~ /(\w+)=(.*)/) {
+ $self->{EXTRA_ENV}->{$1} = $2;
+ }
+ }
+ }
}
##################################################################
@@ -237,6 +267,12 @@ sub ExeSubDir ($)
return $self->{EXE_SUBDIR};
}
+sub SystemLibs ($)
+{
+ my $self = shift;
+ return $self->{SYSTEM_LIBS};
+}
+
sub RandomPort ($)
{
my $self = shift;
@@ -246,20 +282,12 @@ sub RandomPort ($)
sub ProcessStartWaitInterval ($)
{
my $self = shift;
- my $new_val = shift;
- if (defined $new_val) {
- $self->{PROCESS_START_WAIT_INTERVAL} = $new_val;
- }
return $self->{PROCESS_START_WAIT_INTERVAL};
}
sub ProcessStopWaitInterval ($)
{
my $self = shift;
- my $new_val = shift;
- if (defined $new_val) {
- $self->{PROCESS_STOP_WAIT_INTERVAL} = $new_val;
- }
return $self->{PROCESS_STOP_WAIT_INTERVAL};
}
@@ -269,7 +297,7 @@ sub LocalFile ($)
my $file = shift;
my $newfile = PerlACE::LocalFile($file);
if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print STDERR "LocalFile for $file is $newfile\n";
+ print STDERR "LocalFile for $file is $newfile\n";
}
return $newfile;
}
@@ -278,10 +306,35 @@ sub AddLibPath ($)
{
my $self = shift;
my $dir = shift;
- if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print STDERR "Adding libpath $dir\n";
+ if ($self->ACE_ROOT () eq $ENV{'ACE_ROOT'}) {
+ # add (relative) path without rebasing
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "Adding libpath $dir\n";
+ }
+ $self->{LIBPATH} = PerlACE::concat_path ($self->{LIBPATH}, $dir);
+ } else {
+ # add rebased path
+ $dir = PerlACE::rebase_path ($dir, $ENV{"ACE_ROOT"}, $self->ACE_ROOT ());
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "Adding libpath $dir\n";
+ }
+ $self->{LIBPATH} = PerlACE::concat_path ($self->{LIBPATH}, $dir);
}
- PerlACE::add_lib_path ($dir);
+}
+
+sub SetEnv ($)
+{
+ my $self = shift;
+ my $env_name = shift;
+ my $env_value = shift;
+ $self->{EXTRA_ENV}->{$env_name} = $env_value;
+}
+
+sub GetEnv ($)
+{
+ my $self = shift;
+ my $env_name = shift;
+ return $self->{EXTRA_ENV}->{$env_name};
}
sub DeleteFile ($)
@@ -319,7 +372,33 @@ sub WaitForFileTimed ($)
my $file = shift;
my $timeout = shift;
my $newfile = $self->LocalFile($file);
- return PerlACE::waitforfile_timed ($newfile, $timeout);
+ if (defined $self->{REMOTE_SHELL} && defined $self->{REMOTE_FILETEST}) {
+ # If the target's config has a different ACE_ROOT, rebase the file
+ # from $ACE_ROOT to the target's root.
+ if ($self->ACE_ROOT () ne $ENV{'ACE_ROOT'}) {
+ $file = File::Spec->rel2abs($file);
+ $file = File::Spec->abs2rel($file, $ENV{"ACE_ROOT"});
+ $file = $self->{TARGET}->ACE_ROOT() . "/$file";
+ }
+ $timeout *= $PerlACE::Process::WAIT_DELAY_FACTOR;
+ my $cmd = $self->{REMOTE_SHELL};
+ if ($self->{REMOTE_FILETEST} =~ /^\d*$/) {
+ $cmd .= " 'test -e $newfile && test -s $newfile ; echo \$?'";
+ } else {
+ $cmd .= $self->{REMOTE_FILETEST} . ' ' . $file;
+ }
+ my $rc = 1;
+ while ($timeout-- != 0) {
+ $rc = int(`$cmd`);
+ if ($rc == 0) {
+ return 0;
+ }
+ sleep 1;
+ }
+ return -1;
+ } else {
+ return PerlACE::waitforfile_timed ($newfile, $timeout);
+ }
}
sub CreateProcess ($)
@@ -337,4 +416,11 @@ sub GetStderrLog ($)
return;
}
+sub KillAll ($)
+{
+ my $self = shift;
+ my $procmask = shift;
+ PerlACE::Process::kill_all ($procmask, $self);
+}
+
1;
diff --git a/bin/PerlACE/TestTarget_LVRT.pm b/bin/PerlACE/TestTarget_LVRT.pm
index 3e5df034e44..ee2eda264db 100644
--- a/bin/PerlACE/TestTarget_LVRT.pm
+++ b/bin/PerlACE/TestTarget_LVRT.pm
@@ -140,12 +140,18 @@ sub DeleteFile ($)
sub GetFile ($)
{
# Use FTP to retrieve the file from the target; should still be open.
+ # If only one name is given, use it for both local and remote (after
+ # properly LocalFile-ing it). If both names are given, assume the caller
+ # knows what he wants and don't adjust the paths.
my $self = shift;
my $remote_file = shift;
my $local_file = shift;
- my $newfile = $self->LocalFile($file);
+ if (!defined $local_file) {
+ $local_file = $remote_file;
+ $remote_file = $self->LocalFile($local_file);
+ }
$self->{FTP}->ascii();
- if ($self->{FTP}->get($newfile, $local_file)) {
+ if ($self->{FTP}->get($remote_file, $local_file)) {
return 0;
}
return -1;
@@ -282,4 +288,11 @@ sub RebootReset ($)
}
}
+sub KillAll ($)
+{
+ my $self = shift;
+ my $procmask = shift;
+ PerlACE::ProcessLVRT::kill_all ($procmask, $self);
+}
+
1;
diff --git a/bin/PerlACE/TestTarget_VxWorks.pm b/bin/PerlACE/TestTarget_VxWorks.pm
index bbd99b068dd..37c967587c8 100644
--- a/bin/PerlACE/TestTarget_VxWorks.pm
+++ b/bin/PerlACE/TestTarget_VxWorks.pm
@@ -17,6 +17,7 @@ use strict;
use PerlACE::TestTarget;
use PerlACE::ProcessVX;
use Cwd;
+use English;
our @ISA = qw(PerlACE::TestTarget);
@@ -25,17 +26,27 @@ our @ISA = qw(PerlACE::TestTarget);
# ******************************************************************
sub LocalFile {
- my($self, $file) = @_;
- if (defined $ENV{'ACE_TEST_VERBOSE'}) {
- print STDERR "LocalFile is $file\n";
- }
- return $file;
+ my($self, $file) = @_;
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "LocalFile is $file\n";
+ }
+ return $file;
+}
+
+sub AddLibPath ($) {
+ my $self = shift;
+ my $dir = shift;
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "Adding libpath $dir\n";
+ }
+ PerlACE::add_lib_path ($dir);
}
sub CreateProcess {
- my $self = shift;
- my $process = new PerlACE::ProcessVX (@_, $self, );
- return $process;
+ my $self = shift;
+ my $process = new PerlACE::ProcessVX (@_);
+ $process->{TARGET} = $self;
+ return $process;
}
# Need a reboot when this target is destroyed.
@@ -71,4 +82,11 @@ sub WaitForFileTimed ($)
return PerlACE::waitforfile_timed ($newfile, $timeout);
}
+sub KillAll ($)
+{
+ my $self = shift;
+ my $procmask = shift;
+ PerlACE::ProcessVX::kill_all ($procmask, $self);
+}
+
1;
diff --git a/bin/PerlACE/TestTarget_WinCE.pm b/bin/PerlACE/TestTarget_WinCE.pm
index b1d650e5c88..5dc0c1b8277 100644
--- a/bin/PerlACE/TestTarget_WinCE.pm
+++ b/bin/PerlACE/TestTarget_WinCE.pm
@@ -18,6 +18,7 @@ use PerlACE::TestTarget;
use PerlACE::ProcessVX;
use File::Copy;
use Cwd;
+use English;
our @ISA = qw(PerlACE::TestTarget);
@@ -105,10 +106,22 @@ sub LocalFile {
return $newfile;
}
+sub AddLibPath ($) {
+ my $self = shift;
+ my $dir = shift;
+ if (defined $ENV{'ACE_TEST_VERBOSE'}) {
+ print STDERR "Adding libpath $dir\n";
+ }
+ PerlACE::add_lib_path ($dir);
+}
+
sub CreateProcess {
my $self = shift;
- my $process = new PerlACE::ProcessVX ($self, @_);
- return $process;
+if ($OSNAME eq "MSWin32") {
+ my $process = new PerlACE::ProcessVX ($self, @_); return $process;
+} else {
+ my $process = new PerlACE::ProcessVX (@_, $self); return $process;
+}
}
# Need a reboot when this target is destroyed.
@@ -166,4 +179,11 @@ sub DeleteFile ($)
unlink ("$newfile");
}
+sub KillAll ($)
+{
+ my $self = shift;
+ my $procmask = shift;
+ PerlACE::ProcessVX::kill_all ($procmask, $self);
+}
+
1;
diff --git a/bin/ace_tests.lst b/bin/ace_tests.lst
index 340782ab47f..a7048fcc519 100644
--- a/bin/ace_tests.lst
+++ b/bin/ace_tests.lst
@@ -16,3 +16,4 @@ protocols/tests/HTBP/ping/run_test.pl: !NO_UUID !nsk !LynxOS !ACE_FOR_TAO !VxWor
protocols/tests/HTBP/Send_Recv_Tests/run_test.pl: !NO_UUID !nsk !LynxOS !ACE_FOR_TAO !VxWorks !LabVIEW_RT
protocols/tests/HTBP/Send_Large_Msg/run_test.pl: !NO_UUID !nsk !LynxOS !ACE_FOR_TAO !VxWorks !LabVIEW_RT
protocols/tests/HTBP/Reactor_Tests/run_test.pl: !NO_UUID !nsk !LynxOS !ACE_FOR_TAO !VxWorks !LabVIEW_RT
+tests/non_mpc_makefile/Bug_3708_Regression.pl
diff --git a/bin/auto_run_tests.pl b/bin/auto_run_tests.pl
index 7eeb87a0f13..6f26303157b 100755
--- a/bin/auto_run_tests.pl
+++ b/bin/auto_run_tests.pl
@@ -19,6 +19,13 @@ use Cwd;
use Env qw(ACE_ROOT PATH TAO_ROOT CIAO_ROOT);
+if (!defined $TAO_ROOT && -d "$ACE_ROOT/TAO") {
+ $TAO_ROOT = "$ACE_ROOT/TAO";
+}
+if (!defined $CIAO_ROOT && -d "$ACE_ROOT/TAO/CIAO") {
+ $CIAO_ROOT = "$ACE_ROOT/TAO/CIAO";
+}
+
################################################################################
if (!getopts ('adl:os:r:tC') || $opt_h) {
@@ -41,34 +48,39 @@ if (!getopts ('adl:os:r:tC') || $opt_h) {
$ace_config_list = new PerlACE::ConfigList;
$ace_config_list->load ($ACE_ROOT."/bin/ace_tests.lst");
print "ACE Test Configs: " . $ace_config_list->list_configs () . "\n";
- $orb_config_list = new PerlACE::ConfigList;
- $orb_config_list->load ($ACE_ROOT."/bin/tao_orb_tests.lst");
- print "ORB Test Configs: " . $orb_config_list->list_configs () . "\n";
- $tao_config_list = new PerlACE::ConfigList;
- $tao_config_list->load ($ACE_ROOT."/bin/tao_other_tests.lst");
- print "TAO Test Configs: " . $tao_config_list->list_configs () . "\n";
- $ciao_config_list = new PerlACE::ConfigList;
- $ciao_config_list->load ($ACE_ROOT."/bin/ciao_tests.lst");
- print "CIAO Test Configs: " . $ciao_config_list->list_configs () . "\n";
+ if (defined $TAO_ROOT) {
+ $orb_config_list = new PerlACE::ConfigList;
+ $orb_config_list->load ($TAO_ROOT."/bin/tao_orb_tests.lst");
+ print "ORB Test Configs: " . $orb_config_list->list_configs () . "\n";
+ $tao_config_list = new PerlACE::ConfigList;
+ $tao_config_list->load ($TAO_ROOT."/bin/tao_other_tests.lst");
+ print "TAO Test Configs: " . $tao_config_list->list_configs () . "\n";
+ }
+ if (defined $CIAO_ROOT) {
+ $ciao_config_list = new PerlACE::ConfigList;
+ $ciao_config_list->load ($CIAO_ROOT."/bin/ciao_tests.lst");
+ print "CIAO Test Configs: " . $ciao_config_list->list_configs ()
+ . "\n";
+ }
exit (1);
}
my @file_list;
if ($opt_a) {
-push (@file_list, "/bin/ace_tests.lst");
+push (@file_list, "bin/ace_tests.lst");
}
if ($opt_o) {
-push (@file_list, "/bin/tao_orb_tests.lst");
+push (@file_list, "$TAO_ROOT/bin/tao_orb_tests.lst");
}
if ($opt_t) {
-push (@file_list, "/bin/tao_other_tests.lst");
+push (@file_list, "$TAO_ROOT/bin/tao_other_tests.lst");
}
if ($opt_C) {
-push (@file_list, "/bin/ciao_tests.lst");
+push (@file_list, "$CIAO_ROOT/bin/ciao_tests.lst");
}
if ($opt_r) {
@@ -83,13 +95,13 @@ push (@file_list, "$opt_l");
}
if (scalar(@file_list) == 0) {
- push (@file_list, "/bin/ace_tests.lst");
- if (-d $TAO_ROOT || -d "$ACE_ROOT/TAO") {
- push (@file_list, "/bin/tao_orb_tests.lst");
- push (@file_list, "/bin/tao_other_tests.lst");
+ push (@file_list, "bin/ace_tests.lst");
+ if (-d $TAO_ROOT) {
+ push (@file_list, "$TAO_ROOT/bin/tao_orb_tests.lst");
+ push (@file_list, "$TAO_ROOT/bin/tao_other_tests.lst");
}
- if (-d $CIAO_ROOT || -d "$ACE_ROOT/TAO/CIAO") {
- push (@file_list, "/bin/ciao_tests.lst");
+ if (-d $CIAO_ROOT) {
+ push (@file_list, "$CIAO_ROOT/bin/ciao_tests.lst");
}
}
@@ -99,11 +111,11 @@ foreach my $test_lst (@file_list) {
if (-r $ACE_ROOT.$test_lst) {
$config_list->load ($ACE_ROOT.$test_lst);
}
- elsif (-r "$startdir/$test_list") {
+ elsif (-r "$startdir/$test_lst") {
$config_list->load ("$startdir/$test_lst");
}
else {
- $config_list->load ($test_list);
+ $config_list->load ($test_lst);
}
# Insures that we search for stuff in the current directory.
diff --git a/bin/bootstrap b/bin/bootstrap
index 9aadb28bf13..9b35e3e21da 100755
--- a/bin/bootstrap
+++ b/bin/bootstrap
@@ -70,9 +70,9 @@ if test -d m4; then
# Update the NEWS file
# For now just copy the contents of the `VERSION' file to make automake
# happy. Eventually, we should start putting real news in to it.
-# echo "Creating a NEWS file"
-# cp VERSION NEWS
+ autoupdate -f
+
# autoreconf -I m4 --install --force --symlink --verbose
autoreconf -I m4 --install --force
diff --git a/bin/ciao_tests.lst b/bin/ciao_tests.lst
deleted file mode 100644
index bd143442ef0..00000000000
--- a/bin/ciao_tests.lst
+++ /dev/null
@@ -1,17 +0,0 @@
-# $Id$
-#
-# This is the list of run_test.pl's that need to be run by
-# auto_run_tests.pl.
-# Each line has its own test, and a test can be followed by a
-# list of configurations it does _not_ run on.
-#
-# Example: TAO\examples\foo\run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-#
-TAO/CIAO/examples/Hello/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/examples/Hello/descriptors/run_test_without_ns.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/examples/Hello/descriptors_RTCCM/rt_run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO RT_CAPABLE !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_simple.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/DAnCE/tests/NodeApplicationTest/run_test_ex.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/tests/IDL3/Events/Any/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/CIAO/DevGuideExamples/CIAO/Messenger/descriptors/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
diff --git a/bin/cle.pl b/bin/cle.pl
index c6f0b2e2e27..1642e9622a5 100755
--- a/bin/cle.pl
+++ b/bin/cle.pl
@@ -193,6 +193,9 @@ sub usageAndExit {
" is used as the email address.\n" .
" CL_USERNAME This environment variable is used to override\n" .
" the user name (obtained from the password file).\n" .
+ " CL_CHANGELOG_FILE This environment variable is used as the\n".
+ " [ChangeLog File] argument if none is given\n".
+ " on the command line.\n".
"\n" .
" The user name and email address can be passed as a parameter to\n" .
" this script. If either is not passed, then the script will try\n" .
@@ -240,7 +243,12 @@ foreach my $arg (@ARGV) {
}
if (!defined $file) {
- $file = 'ChangeLog';
+ if (defined $ENV{CL_CHANGELOG_FILE}) {
+ $file = $ENV{CL_CHANGELOG_FILE};
+ }
+ else {
+ $file = 'ChangeLog';
+ }
}
if (!defined $name) {
my(@pwd) = ();
diff --git a/bin/copy-script.sh b/bin/copy-script.sh
index aca38ae198e..2b893b584e9 100755
--- a/bin/copy-script.sh
+++ b/bin/copy-script.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-for i in *.gz *.bz2 *.zip; do
+for i in *.gz *.bz2 *.zip *.md5; do
d=`echo $i | sed 's/\.[tz][ai][rp]/-$1&/'`
echo "Copying $i to $d"
cp -ip $i /export/www/download.dre/previous_versions/$d
diff --git a/bin/cut_cidlc.sh b/bin/cut_cidlc.sh
deleted file mode 100755
index 09f9e5de913..00000000000
--- a/bin/cut_cidlc.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-# $Id$
-
-function strip-binary {
- mkdir -p cut_cidlc/$1
- cd cut_cidlc/$1
- cp /web/users/isisbuilds/CIDLC/$1/cidlc .
- strip cidlc
- bzip2 cidlc
- mv cidlc.bz2 cidlc-$2.bz2
-}
-
-case "$1" in
- gnu-linux)
- strip-binary $1 $2
- ;;
-
- solaris-sparc)
- strip-binary "Solaris/SPARC" $2
- ;;
-
- solaris-x86)
- strip-binary "Solaris/x86" $2
- ;;
-
- darwin)
- strip-binary "Darwin/PowerPC" $2
- ;;
-
- *)
- ssh tango.dre.vanderbilt.edu ~/cut_cidlc.sh gnu-linux $1
- ssh sparc.dre.vanderbilt.edu ~/cut_cidlc.sh solaris-sparc $1
- ssh corona.dre.vanderbilt.edu ~/cut_cidlc.sh solaris-x86 $1
- ssh abbarach.dre.vanderbilt.edu ~/cut_cidlc.sh darwin $1
-
- cd cut_cidlc
- cp gnu-linux/cidlc-$1.bz2 /web/www/cidlc/binary/gnu-linux/i386/
- cp Solaris/SPARC/cidlc-$1.bz2 /web/www/cidlc/binary/solaris/SPARC/
- cp Solaris/x86/cidlc-$1.bz2 /web/www/cidlc/binary/solaris/x86/
- cp Darwin/PowerPC/cidlc-$1.bz2 /web/www/cidlc/binary/darwin/powerpc/
-
- #Grab windows
- cp /web/users/isisbuilds/CIDLC/Win32/cidlc.exe .
- zip ./cidlc-$1.zip ./cidlc.exe
- rm ./cidlc.exe
- cp ./cidlc-$1.zip /web/www/cidlc/binary/windows/i386/
-
- cd ..
- rm -rf cut_cidlc
- ;;
-esac
-
-exit 0
-
-
diff --git a/bin/diff-builds-and-group-fixed-tests-only.sh b/bin/diff-builds-and-group-fixed-tests-only.sh
index a02e1e22dd0..c87177b06d3 100755
--- a/bin/diff-builds-and-group-fixed-tests-only.sh
+++ b/bin/diff-builds-and-group-fixed-tests-only.sh
@@ -1,8 +1,11 @@
-if test -z $1; then olddate=2008_11_28; else olddate=$1; fi
-if test -z $2; then prefix=`date -u +%Y%m%d%a`; else prefix=$2; fi
+if test -z $1; then olddate=2010_04_02; else olddate=$1; fi
+if test -z $2; then newdate=`date -u +%Y_%m_%d`; else newdate=$2; fi
+if test -z $3; then prefix=`date -u +%Y%m%d%a`; else prefix=$3; fi
if test -z $ACE_ROOT; then ACE_ROOT=..; fi
+if test -z $TAO_ROOT; then TAO_ROOT=${ACE_ROOT}/TAO; fi
+if test -z $CIAO_ROOT; then CIAO_ROOT=${TAO_ROOT}/CIAO; fi
#
-grep -h \!FIXED_BUGS_ONLY ${ACE_ROOT}/tests/*.lst ${ACE_ROOT}/bin/*.lst | sed -e "s/^\([^\:]*\).*/\1/" | sed -e "s/\(\/run_test.pl\)\?\s*$//" > ${prefix}-Ignore.txt
+grep -h \!FIXED_BUGS_ONLY ${ACE_ROOT}/tests/*.lst ${ACE_ROOT}/bin/*.lst ${TAO_ROOT}/bin/*.lst ${CIAO_ROOT}/bin/*.lst | sed -e "s/^\([^\:]*\).*/\1/" | sed -e "s/\(\/run_test.pl\)\?\s*$//" > ${prefix}-Ignore.txt
#
-perl ${ACE_ROOT}/bin/diff-builds.pl -r -D $olddate -D `date -u +%Y_%m_%d` | perl -ne 'print unless /^(\@\@|[ \-][a-zA-Z])/' | grep -v -f ${prefix}-Ignore.txt | tee ${prefix}-Builds.txt | grep '+[a-zA-Z]' | sort | uniq -c | sort -n -r -s | sort -k3 -r -s > ${prefix}-Tests.txt
-perl ${ACE_ROOT}/bin/diff-builds.pl -D $olddate -D `date -u +%Y_%m_%d` | perl -ne 'print unless /^(\@\@|[ \-][a-zA-Z])/' | grep -v -f ${prefix}-Ignore.txt | grep '+[a-zA-Z]' | sort | uniq -c | sort -n -r -s > ${prefix}-Tests-NoTestRev.txt
+perl ${ACE_ROOT}/bin/diff-builds.pl -r -D $olddate -D $newdate | perl -ne 'print unless /^(\@\@|[ \-][a-zA-Z])/' | grep -v -f ${prefix}-Ignore.txt | tee ${prefix}-Builds.txt | grep '+[a-zA-Z]' | sort | uniq -c | sort -n -r -s | sort -k3 -r -s > ${prefix}-Tests.txt
+perl ${ACE_ROOT}/bin/diff-builds.pl -D $olddate -D $newdate | perl -ne 'print unless /^(\@\@|[ \-][a-zA-Z])/' | grep -v -f ${prefix}-Ignore.txt | grep '+[a-zA-Z]' | sort | uniq -c | sort -n -r -s > ${prefix}-Tests-NoTestRev.txt
diff --git a/bin/diff-builds.pl b/bin/diff-builds.pl
index 292f4b54e9a..6f001f5da5e 100755
--- a/bin/diff-builds.pl
+++ b/bin/diff-builds.pl
@@ -18,8 +18,8 @@ my $append_revision_to_new_test_fails = 0; # Default to not doing this.
# The root of the test statistics
my $teststaturl = "http://download.theaceorb.nl/teststat/builds/";
-my $allbuildsurl = "http://download.theaceorb.nl/teststat/buildscore.txt";
-my $cleanbuildsurl = "http://download.theaceorb.nl/teststat/cleanbuildtests.txt";
+my $allbuildsurl = "http://download.theaceorb.nl/teststat/buildscore";
+my $cleanbuildsurl = "http://download.theaceorb.nl/teststat/cleanbuildtests";
# Determine the available timestamps for a build on a date,
# by scanning the index page (build.html)
@@ -268,19 +268,19 @@ if ($#builds == -1 && $#dates >= 0)
{
my %revisions = {};
- if ($clean_builds_only) {
- find_builds (\@builds, $cleanbuildsurl, 8, \%revisions, 7);
- }
- else {
- find_builds (\@builds, $allbuildsurl, 4, \%revisions, 3);
- }
-
# only the start date given - implies we should
# use the today's date
if ($#dates == 0) {
$dates[1] = strftime ("%Y_%m_%d", gmtime);
}
+ if ($clean_builds_only) {
+ find_builds (\@builds, $cleanbuildsurl . "-" . $dates[1] . ".txt" , 8, \%revisions, 7);
+ }
+ else {
+ find_builds (\@builds, $allbuildsurl . "-" . $dates[1] . ".txt" , 4, \%revisions, 3);
+ }
+
foreach $build (sort @builds) {
$files[0] = $files[1] = $build;
differentiate (\@files, \@dates, $revisions{$build} );
diff --git a/bin/footprint_stats.sh b/bin/footprint_stats.sh
index 4792da5afc0..cd4b5c1a76f 100755
--- a/bin/footprint_stats.sh
+++ b/bin/footprint_stats.sh
@@ -43,6 +43,10 @@ LIBS="ace/libACE.a \
cd $ACE_ROOT
+mkdir -p $DEST/source
+mkdir -p $DEST/data
+mkdir -p $DEST/images
+
for i in $BINS; do
b=`basename $i`
if [ -x $i ]; then
diff --git a/bin/fuzz.pl b/bin/fuzz.pl
index 5b6006ac3a8..2a13242d839 100755
--- a/bin/fuzz.pl
+++ b/bin/fuzz.pl
@@ -33,6 +33,7 @@ use PerlACE::Run_Test;
###### END TODO
# Lists of all the files
+@files_cdp = ();
@files_cpp = ();
@files_inl = ();
@files_h = ();
@@ -49,6 +50,7 @@ use PerlACE::Run_Test;
@files_noncvs = ();
@files_sln = ();
@files_vcproj = ();
+@files_run_pl = ();
# To keep track of errors and warnings
$errors = 0;
@@ -116,11 +118,14 @@ sub store_file ($)
elsif ($name =~ /\.(dsw|vcp)$/i) {
push @files_dsw, ($name);
}
- elsif ($name =~ /\.(pidl|idl)$/i) {
+ elsif ($name =~ /\.(pidl|idl|idl3|idl3p)$/i) {
push @files_idl, ($name);
}
elsif ($name =~ /\.pl$/i) {
push @files_pl, ($name);
+ if ($name =~ /^run.*\.pl$/i) {
+ push @files_run_pl, ($name);
+ }
}
elsif ($name =~ /\.vcproj$/i) {
push @files_vcproj, ($name);
@@ -137,9 +142,12 @@ sub store_file ($)
elsif ($name =~ /\.(mpc|mwc|mpb|mpt)$/i) {
push @files_mpc, ($name);
}
- elsif ($name =~ /\.(icc|ncb|opt|zip)$/i) {
+ elsif ($name =~ /\.(icc|ncb|zip)$/i) {
push @files_noncvs, ($name);
}
+ elsif ($name =~ /\.(cdp)$/i) {
+ push @files_cdp, ($name);
+ }
}
##############################################################################
@@ -207,6 +215,9 @@ sub check_for_id_string ()
if (/\$id\$/) {
print_error ("$file:$.: Incorrect \$id\$ found (correct casing)");
}
+ if (/\$Id:\$/) {
+ print_error ("$file:$.: Incorrect \$Id:\$ found (remove colon)");
+ }
}
close (FILE);
if ($found == 0) {
@@ -256,6 +267,18 @@ sub check_for_msc_ver_string ()
$found = 1;
$mscline = $.;
}
+ if ($disable == 0 and /\_MSC_VER \>= 1300/) {
+ $found = 1;
+ $mscline = $.;
+ }
+ if ($disable == 0 and /\_MSC_VER \< 1310/) {
+ $found = 1;
+ $mscline = $.;
+ }
+ if ($disable == 0 and /\_MSC_VER \>= 1310/) {
+ $found = 1;
+ $mscline = $.;
+ }
}
close (FILE);
if ($found == 1) {
@@ -344,6 +367,19 @@ sub check_for_ACE_SYNCH_MUTEX ()
}
}
+# This test checks for not having export files in CIAO, all have to be ---
+# generated using TAO_IDL
+sub check_for_export_file ()
+{
+ print "Running export file check\n";
+ ITERATION: foreach $file (@files_h) {
+ if (($file =~ /.*CIAO.*export.h/)) {
+ print_error ("$file:$.: found should be generated by TAO_IDL, check -Gx** option");
+ }
+ }
+}
+
+
# This test checks for the use of ACE_Thread_Mutex in TAO/CIAO,
# TAO_SYNCH_MUTEX should used instead to make the code build
# in single-threaded builds.
@@ -386,7 +422,7 @@ sub check_for_ACE_Thread_Mutex ()
sub check_for_tab ()
{
print "Running tabs check\n";
- ITERATION: foreach $file (@files_cpp, @files_inl, @files_h, @files_idl) {
+ ITERATION: foreach $file (@files_cpp, @files_inl, @files_h, @files_idl, @files_cdp) {
if (open (FILE, $file)) {
my $disable = 0;
print "Looking at file $file\n" if $opt_d;
@@ -436,11 +472,11 @@ sub check_for_lack_ACE_OS ()
$OS_NS_signal_symbols = "kill|pthread_sigmask|sigaction|sigaddset|sigdelset|sigemptyset|sigfillset|sigismember|signal|sigprocmask|sigsuspend|raise";
- $OS_NS_stdio_symbols = "checkUnicodeFormat|clearerr|cuserid|fclose|fdopen|fflush|fgetc|getc|fgetpos|fgets|flock_adjust_params|flock_init|flock_destroy|flock_rdlock|flock_tryrdlock|flock_trywrlock|flock_unlock|flock_wrlock|fopen|default_win32_security_attributes|default_win32_security_attributes_r|get_win32_versioninfo|get_win32_resource_module|set_win32_resource_module|fprintf|ungetc|fputc|putc|fputs|fread|freopen|fseek|fsetpos|ftell|fwrite|perror|printf|puts|rename|rewind|snprintf|sprintf|tempnam|vsprintf|vsnprintf|asprintf|aswprintf|vasprintf|vaswprintf";
+ $OS_NS_stdio_symbols = "fileno|checkUnicodeFormat|clearerr|cuserid|fclose|fdopen|fflush|fgetc|getc|fgetpos|fgets|flock_adjust_params|flock_init|flock_destroy|flock_rdlock|flock_tryrdlock|flock_trywrlock|flock_unlock|flock_wrlock|fopen|default_win32_security_attributes|default_win32_security_attributes_r|get_win32_versioninfo|get_win32_resource_module|set_win32_resource_module|fprintf|ungetc|fputc|putc|fputs|fread|freopen|fseek|fsetpos|ftell|fwrite|perror|printf|puts|rename|rewind|snprintf|sprintf|tempnam|vsprintf|vsnprintf|asprintf|aswprintf|vasprintf|vaswprintf";
- $OS_NS_stdlib_symbols = "_exit|abort|atexit|atof|atol|atoi|atop|bsearch|calloc|exit|free|getenv|getenvstrings|itoa|itoa_emulation|itow_emulation|malloc|mkstemp|mkstemp_emulation|mktemp|putenv|qsort|rand|rand_r|realloc|realpath|set_exit_hook|srand|strenvdup|strtod|strtol|strtol_emulation|strtoul|strtoul_emulation|strtoll|strtoll_emulation|strtoull|strtoull_emulation|system|getprogname|setprogname";
+ $OS_NS_stdlib_symbols = "_exit|abort|atexit|atof|atol|atoi|atop|bsearch|calloc|exit|free|getenv|getenvstrings|itoa|itoa_emulation|itow_emulation|malloc|mkstemp|mkstemp_emulation|mktemp|setenv|unsetenv|putenv|qsort|rand|rand_r|realloc|realpath|set_exit_hook|srand|strenvdup|strtod|strtol|strtol_emulation|strtoul|strtoul_emulation|strtoll|strtoll_emulation|strtoull|strtoull_emulation|system|getprogname|setprogname";
- $OS_NS_string_symbols = "memchr|memchr_emulation|memcmp|memcpy|fast_memcpy|memmove|memset|strcat|strchr|strcmp|strcpy|strcspn|strdup|strdup_emulation|strecpy|strerror|strerror_emulation|strlen|strncat|strnchr|strncmp|strncpy|strnlen|strnstr|strpbrk|strrchr|strrchr_emulation|strsncpy|strspn|strstr|strtok|strtok_r|strtok_r_emulation";
+ $OS_NS_string_symbols = "memchr|memchr_emulation|memcmp|memcpy|fast_memcpy|memmove|memset|strcat|strchr|strcmp|strcpy|strcspn|strdup|strdup_emulation|strecpy|strerror|strerror_emulation|strsignal|strlen|strncat|strnchr|strncmp|strncpy|strnlen|strnstr|strpbrk|strrchr|strrchr_emulation|strsncpy|strspn|strstr|strtok|strtok_r|strtok_r_emulation";
$OS_NS_strings_symbols = "strcasecmp|strncasecmp|strcasecmp_emulation";
@@ -943,7 +979,7 @@ sub check_for_OS_h_include ()
if (/FUZZ\: enable check_for_OS_h_include/) {
$disable = 0;
}
- if ($disable == 0
+ if ($disable == 0 and ($file =~ /.*CIAO.*/)
and /^\s*#\s*include\s*\"ace\/OS\.h\"/) {
print_error ("$file:$.: expensive ace/OS.h included; consider an OS_NS_*.h file");
print " OS.h is very expensive in both ";
@@ -1348,21 +1384,18 @@ sub check_for_mismatched_filename ()
sub check_for_bad_run_test ()
{
print "Running run_test.pl test\n";
- # Add the know ACE files
- push @files_lst, $ENV{"ACE_ROOT"} . "/bin/tao_orb_tests.lst";
- push @files_lst, $ENV{"ACE_ROOT"} . "/bin/tao_other_tests.lst";
- push @files_lst, $ENV{"ACE_ROOT"} . "/bin/ciao_tests.lst";
- $config_list = new PerlACE::ConfigList;
- foreach $file (@files_lst) {
- $config_list->load ($file);
- }
- $config_list->add_one_config ("FUZZ");
- @valid_files = $config_list->valid_entries ();
- foreach $file (@valid_files) {
+ foreach $file (@files_run_pl) {
if (open (FILE, $file)) {
my $is_run_test = 0;
my $sub = 0;
+ if (($file =~ /.*TAO\/examples\/Advanced.*/)) {
+ next ITERATION;
+ }
+ if (($file =~ /.*TAO\/orbsvcs\/examples\/Security\/Send_File.*/)) {
+ next ITERATION;
+ }
+
print "Looking at file $file\n" if $opt_d;
while (<FILE>) {
@@ -1387,24 +1420,32 @@ sub check_for_bad_run_test ()
print_error ("$file:$.: using \$EXE_EXT");
}
- if (m/\$PerlACE::wait_interval_for_process_creation/) {
- print_error ("$file:$.: using \$PerlACE::wait_interval_for_process_creation");
+ if (m/Sys::Hostname/) {
+ print_error ("$file:$.: using Sys::Hostname");
}
- if (m/\$PerlACE::waitforfile_timed/) {
- print_error ("$file:$.: using \$PerlACE::waitforfile_timed");
+ if (m/PerlACE::wait_interval_for_process_creation/) {
+ print_error ("$file:$.: using PerlACE::wait_interval_for_process_creation");
}
- if (m/\$PerlACE::add_lib_path/) {
- print_error ("$file:$.: using \$PerlACE::add_lib_path");
+ if (m/PerlACE::waitforfile_timed/) {
+ print_error ("$file:$.: using PerlACE::waitforfile_timed");
}
- if (m/\PerlACE::Run_Test/) {
- print_error ("$file:$.: using PerlACE::Run_Test");
+ if (m/PerlACE::is_vxworks_test/) {
+ print_error ("$file:$.: using PerlACE::is_vxworks_test");
+ }
+
+ if (m/PerlACE::add_lib_path/) {
+ print_error ("$file:$.: using PerlACE::add_lib_path, use AddLibPath on the target");
+ }
+
+ if (m/PerlACE::Run_Test/) {
+ print_error ("$file:$.: using PerlACE::Run_Test, use PerlACE::TestTarget");
}
if (m/PerlACE::random_port/) {
- print_error ("$file:$.: using PerlACE::random_port");
+ print_error ("$file:$.: using PerlACE::random_port, use TestTarget::random_port");
}
if (m/PerlACE::Process/) {
@@ -1415,6 +1456,22 @@ sub check_for_bad_run_test ()
print_error ("$file:$.: using PerlACE::TestConfig");
}
+ if (m/ACE_RUN_VX_TGTHOST/) {
+ print_error ("$file:$.: using ACE_RUN_VX_TGTHOST, use TestTarget::HostName");
+ }
+
+ if (m/Spawn(Wait(Kill)?)?\s*\(.+\->ProcessStop.*\)/) {
+ print_error ("$file:$.: uses Stop together with Spawn");
+ }
+
+ if (m/Spawn(Wait(Kill)?)?\s*\(\d+\)/) {
+ print_error ("$file:$.: uses hardcoded timeout for Spawn");
+ }
+
+ if (m/Kill\s*\(\d+\)/) {
+ print_error ("$file:$.: uses hardcoded timeout for Kill");
+ }
+
if (m/unlink/) {
print_error ("$file:$.: using unlink");
}
@@ -1495,7 +1552,29 @@ sub check_for_absolute_ace_wrappers()
if (m/\~schmidt\/ACE_wrappers\//) {
chomp;
print_error ("$file:$.: ~schmidt/ACE_wrappers found");
- print_error ($_) if (defined $opt_v);
+ print_error ($_);
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
+# Check for generated headers in the code documentation
+sub check_for_generated_headers()
+{
+ print "Running generated headers test\n";
+ foreach $file (@files_cpp, @files_inl, @files_h) {
+ if (open (FILE, $file)) {
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ if (m/Code generated by the The ACE ORB \(TAO\) IDL Compiler/) {
+ chomp;
+ print_error ("$file:$.: header found");
+ print_error ($_);
}
}
close (FILE);
@@ -1534,7 +1613,9 @@ sub check_for_bad_ace_trace()
# Look for TRACE statements
if (m/ACE_OS_TRACE\s*\(\s*\"(.*)\"/
- || m/ACE_TRACE\s*\(\s*\"(.*)\"/) {
+ || m/ACE_TRACE\s*\(\s*\"(.*)\"/
+ || m/CIAO_TRACE\s*\(\s*\"(.*)\"/
+ || m/DDS4CCM_TRACE\s*\(\s*\"(.*)\"/) {
my $trace = $1;
# reduce the classname
@@ -1550,7 +1631,7 @@ sub check_for_bad_ace_trace()
|| ($trace =~ m/\:\:/ && !($trace =~ m/\Q$class\E/ && $trace =~ m/\Q$function\E/))) {
print_error ("$file:$.: Mismatched TRACE");
print_error ("$file:$.: I see \"$trace\" but I think I'm in \""
- . $class . "::" . $function . "\"") if (defined $opt_v);
+ . $class . "::" . $function . "\"");
}
}
}
@@ -1681,15 +1762,15 @@ sub check_for_include ()
}
if ($disable == 0) {
if (/^\s*#\s*include\s*<[(ace)|(TAO)|(CIAO)]\/.*>/) {
- print_error ("$file:$.: include <ace\/..> used") if ($opt_v);
+ print_error ("$file:$.: include <ace\/..> used");
++$bad_occurance;
}
if (/^\s*#\s*include\s*<tao\/.*>/) {
- print_error ("$file:$.: include <tao\/..> used") if ($opt_v);
+ print_error ("$file:$.: include <tao\/..> used");
++$bad_occurance;
}
if (/^\s*#\s*include\s*<ciao\/.*>/) {
- print_error ("$file:$.: include <ciao\/..> used") if ($opt_v);
+ print_error ("$file:$.: include <ciao\/..> used");
++$bad_occurance;
}
}
@@ -1826,6 +1907,35 @@ sub check_for_refcountservantbase ()
}
}
+sub check_for_TAO_Local_RefCounted_Object ()
+{
+ print "Running TAO_Local_RefCounted_Object check\n";
+
+ ITERATION: foreach $file (@files_h, @files_cpp, @files_inl) {
+ if (open (FILE, $file)) {
+ my $disable = 0;
+ print "Looking at file $file\n" if $opt_d;
+ while (<FILE>) {
+ if (/FUZZ\: disable check_for_TAO_Local_RefCounted_Object/) {
+ $disable = 1;
+ }
+ if (/FUZZ\: enable check_for_TAO_Local_RefCounted_Object/) {
+ $disable = 0;
+ next ITERATION;
+ }
+
+ if ($disable == 0 and /TAO_Local_RefCounted_Object/) {
+ print_error ("$file:$.: TAO_Local_RefCounted_Object is deprecated, use CORBA::LocalObject instead");
+ }
+ }
+ close (FILE);
+ }
+ else {
+ print STDERR "Error: Could not open $file\n";
+ }
+ }
+}
+
# This test checks for the correct use of ORB_init() so as
# to be compatiable with wide character builds.
sub check_for_ORB_init ()
@@ -1911,7 +2021,7 @@ sub check_for_ORB_init ()
##############################################################################
-use vars qw/$opt_c $opt_d $opt_h $opt_l $opt_t $opt_m $opt_v/;
+use vars qw/$opt_c $opt_d $opt_h $opt_l $opt_t $opt_m/;
if (!getopts ('cdhl:t:mv') || $opt_h) {
print "fuzz.pl [-cdhm] [-l level] [-t test_name][file1, file2, ...]\n";
@@ -1922,10 +2032,10 @@ if (!getopts ('cdhl:t:mv') || $opt_h) {
print " -l level set detection level (default = 5)\n";
print " -t test_name specify any single test to run. This will disable the run level setting\n";
print " -m only check locally modified files (uses cvs)\n";
- print " -v verbose mode\n";
print "======================================================\n";
print "list of the tests that could be run:\n";
print "\t check_for_noncvs_files
+ check_for_generated_headers
check_for_synch_include
check_for_OS_h_include
check_for_streams_include
@@ -1959,6 +2069,7 @@ if (!getopts ('cdhl:t:mv') || $opt_h) {
check_for_non_bool_operators
check_for_long_file_names
check_for_refcountservantbase
+ check_for_TAO_Local_RefCounted_Object
check_for_ORB_init\n";
exit (1);
}
@@ -1987,9 +2098,10 @@ if ($opt_t) {
print "--------------------Configuration: Fuzz - Level ",$opt_l,
"--------------------\n";
+check_for_generated_headers () if ($opt_l >= 6);
check_for_bad_run_test () if ($opt_l >= 5);
-check_for_deprecated_macros () if ($opt_l > 1 );
-check_for_refcountservantbase () if ($opt_l > 1 );
+check_for_deprecated_macros () if ($opt_l >= 1);
+check_for_refcountservantbase () if ($opt_l >= 1);
check_for_msc_ver_string () if ($opt_l >= 3);
check_for_empty_files () if ($opt_l >= 1);
check_for_noncvs_files () if ($opt_l >= 1);
@@ -2008,7 +2120,7 @@ check_for_NULL () if ($opt_l >= 1);
check_for_inline () if ($opt_l >= 2);
check_for_math_include () if ($opt_l >= 3);
check_for_synch_include () if ($opt_l >= 6);
-check_for_OS_h_include () if ($opt_l >= 6);
+check_for_OS_h_include () if ($opt_l >= 5);
check_for_line_length () if ($opt_l >= 8);
check_for_preprocessor_comments () if ($opt_l >= 7);
check_for_tchar () if ($opt_l >= 4);
@@ -2022,9 +2134,11 @@ check_for_changelog_errors () if ($opt_l >= 4);
check_for_ptr_arith_t () if ($opt_l >= 4);
check_for_include () if ($opt_l >= 5);
check_for_non_bool_operators () if ($opt_l > 2);
-check_for_long_file_names () if ($opt_l > 1 );
-check_for_improper_main_declaration ();
-check_for_ORB_init ();
+check_for_long_file_names () if ($opt_l >= 1);
+check_for_improper_main_declaration () if ($opt_l >= 1);
+check_for_TAO_Local_RefCounted_Object () if ($opt_l >= 1);
+check_for_ORB_init () if ($opt_l >= 1);
+check_for_export_file () if ($opt_l >= 6);
print "\nFuzz.pl - $errors error(s), $warnings warning(s)\n";
diff --git a/bin/generate_compile_stats.sh b/bin/generate_compile_stats.sh
index c78d6589a1c..eda06059b65 100755
--- a/bin/generate_compile_stats.sh
+++ b/bin/generate_compile_stats.sh
@@ -214,7 +214,7 @@ parse ()
#
# gen_chart
#
-# Generate the actual charts and move them to $DEST
+# Generate the actual charts and move them to ${DEST}
#
###############################################################################
gen_chart ()
@@ -224,18 +224,26 @@ gen_chart ()
local TYPE=$3
local EXT="txt"
local YLABEL="Compile Time (Seconds)"
- local FACTOR=100
+ local FACTOR=1
+ local low=$4
+ local high=$5
+
if [ "$TYPE" = "Footprint" ]; then
EXT="size"
- YLABEL="Footprint (KBytes)"
- FACTOR=1024
+ if [ ${high} -gt 1024 ]; then
+ YLABEL="Footprint (KBytes)"
+ FACTOR=1024
+ else
+ YLABEL="Footprint (Bytes)"
+ FACTOR=1
+ fi
fi
- local low=$4
let low="${low}/${FACTOR}"
- local high=$5
let high="${high}/${FACTOR}"
+ sort -t'/' -k1n -k2n -k3n ${DEST}/data/${object}.${EXT} | grep -E ^2 > tmp.txt
+
gnuplot <<EOF
set data style lp l
set time "$DATE"
@@ -245,26 +253,16 @@ gen_chart ()
set xtics rotate
set xlabel 'Date (YYYY/MM/DD)' 0,-3
set ylabel "${YLABEL}"
- set terminal png small size 800,600 color
- set yrange [$low:$high]
- set output ".metrics/images/${object}_${TYPE}.png"
+ set terminal png small size 1024,768 color
+ set yrange [0:]
+ set output "${DEST}/images/${object}_${TYPE}.png"
set title "${object//___//}"
- plot '.metrics/data/${object}.${EXT}' using 1:(\$2/$FACTOR) notitle w points, '.metrics/data/${object}.${EXT}' using 1:(\$2/$FACTOR) notitle w l lt 3 lw 4
+ plot 'tmp.txt' using 1:(\$2/$FACTOR) notitle w points, 'tmp.txt' using 1:(\$2/$FACTOR) notitle w l lt 3 lw 4
exit
EOF
# here's how to reduce the scale
# plot '$1' using 1:(\$2/1024.0) title '$3' w l
-
- # copy the data and images to $DEST
- /bin/cp .metrics/images/${object}_${TYPE}.png $DEST/images/${object}_${TYPE}.png
- # don't do thumbnails, yet...
- #/bin/cp .metrics/images/${object}_size.png .metrics/images/thumbnails/${object}_size.png
- #/usr/bin/X11/mogrify -geometry '25%' .metrics/images/thumbnails/${object}_size.png
- #/bin/cp .metrics/images/thumbnails/${object}_size.mgk $DEST/images/thumbnails/${object}_size.png
- /usr/bin/tac .metrics/data/${object}.${EXT} > $DEST/data/${object}.${EXT}
- /usr/bin/tail -5 .metrics/data/${object}.${EXT} > $DEST/data/LAST_${object}.${EXT}
-
}
###############################################################################
@@ -278,16 +276,13 @@ create_dirs ()
{
echo "create_dirs() '$1'"
if ! [ -d "${1}" ]; then
- mkdir ${1}
+ mkdir -p ${1}
fi
if ! [ -d "${1}data" ]; then
- mkdir ${1}data
+ mkdir -p ${1}data
fi
if ! [ -d "${1}images" ]; then
- mkdir ${1}images
- fi
- if ! [ -d "${1}images/thumbnails" ]; then
- mkdir ${1}images/thumbnails
+ mkdir -p ${1}images
fi
}
@@ -335,7 +330,7 @@ process_file ()
let hundreths="${userdec}+${systemdec}"
let CURRENT_TIME="(${seconds}*100 + ${hundreths})+$FUDGE_FACTOR"
- echo $DATE $CURRENT_TIME >> .metrics/data/${CURRENT_OBJECT}.txt
+ echo $DATE $CURRENT_TIME >> ${DEST}/data/${CURRENT_OBJECT}.txt
done # while
}
@@ -424,13 +419,13 @@ create_composite_list ()
local INFILE=$1
# create a pattern file
- echo "\-L" > .metrics/comp_match.txt
- echo "Entering directory" >> .metrics/comp_match.txt
+ echo "\-L" > ${DEST}/comp_match.txt
+ echo "Entering directory" >> ${DEST}/comp_match.txt
# grep out the entering directory line and all the link lines,
# but only keep entering directory lines preceeding link lines.
- cat $INFILE | grep -f .metrics/comp_match.txt | grep -B1 "\-L" \
- | grep -ve "--" | composite_list > .metrics/composites.txt
+ cat $INFILE | grep -f ${DEST}/comp_match.txt | grep -B1 "\-L" \
+ | grep -ve "--" | composite_list > ${DEST}/composites.txt
}
###############################################################################
@@ -493,13 +488,13 @@ create_library_list ()
local INFILE=$1
# create a pattern file
- echo "chmod" > .metrics/lib_match.txt
- echo "Entering directory" >> .metrics/lib_match.txt
+ echo "chmod" > ${DEST}/lib_match.txt
+ echo "Entering directory" >> ${DEST}/lib_match.txt
# grep out the entering directory line and all the link lines,
# but only keep entering directory lines preceeding link lines.
- cat $INFILE | grep -f .metrics/lib_match.txt | grep -B1 "chmod" \
- | grep -ve "--" | library_list > .metrics/libraries.txt
+ cat $INFILE | grep -f ${DEST}/lib_match.txt | grep -B1 "chmod" \
+ | grep -ve "--" | library_list > ${DEST}/libraries.txt
}
###############################################################################
@@ -514,13 +509,13 @@ rollup_compile_times ()
local temp
local tdate=""
local ttime=0
- local lpath=".metrics/data/"
+ local lpath="${DEST}/data/"
# rollup compile times
while read outfile colon infiles; do
#echo "$outfile ----- $infiles"
for i in $infiles; do
- temp=`tail -n 1 ${lpath}${i}.txt`
+ temp=`head -n 1 ${lpath}${i}.txt`
tdate=${temp%% *}
let ttime="${temp##* }"
@@ -543,14 +538,14 @@ footprint ()
echo "footprint()"
local TYPE="$1"
local fpath=""
- local lpath=".metrics/data/"
+ local lpath="${DEST}/data/"
local FILE=""
local SIZE=""
# Remove the old size_composites.txt and create a new one since
# we have all the info we need from the size command on a library.
- if [ "$TYPE" = "LIB" ] && [ -e .metrics/size_composites.txt ]; then
- rm .metrics/size_composites.txt
+ if [ "$TYPE" = "LIB" ] && [ -e ${DEST}/size_composites.txt ]; then
+ rm ${DEST}/size_composites.txt
fi
# go through all the targets and get the sizes of the target and
@@ -595,7 +590,7 @@ process_included ()
# size dependencies for each library.
LIBRARY="${LIBRARY#*$BASE_ROOT/}" # strip off $BASE_ROOT
LIBRARY="${LIBRARY//\//___}" # replace "/" with "___"
- echo -n "$LIBRARY : " >> .metrics/size_composites.txt
+ echo -n "$LIBRARY : " >> ${DEST}/size_composites.txt
while read size colon file; do
FILE=$fpath/$file
@@ -605,11 +600,11 @@ process_included ()
echo "$DATE $size" >> $lpath/${OUTFILE}.size
# add the object
- echo -n "$OUTFILE " >> .metrics/size_composites.txt
+ echo -n "$OUTFILE " >> ${DEST}/size_composites.txt
done
# add newline
- echo "" >> .metrics/size_composites.txt
+ echo "" >> ${DEST}/size_composites.txt
}
@@ -645,15 +640,15 @@ process_map_file ()
lib="${line##/*/}" # strip off path, but only if it starts a line
lib="${lib%%.a*}" # strip off rest of line
lib="$lib.a" # put back the .a to make it unambiguous
- libpath=`grep $lib .metrics/libraries.txt`
+ libpath=`grep $lib ${DEST}/libraries.txt`
path="${libpath%___lib*}" # strip off libname
FILE="${line#*(}" # strip off everything up to object name
FILE="${FILE%%)*}" # strip off rest of line
FILE="${path}___${FILE}"
- echo -n "$FILE " >> .metrics/size_composites.txt
+ echo -n "$FILE " >> ${DEST}/size_composites.txt
done
- echo "" >> .metrics/size_composites.txt
+ echo "" >> ${DEST}/size_composites.txt
}
@@ -671,7 +666,7 @@ create_size_composites ()
# reconstitue file name
FILE="$BASE_ROOT/${outfile//___//}.map"
if [ -e $FILE ]; then
- echo -n "$outfile : " >> .metrics/size_composites.txt
+ echo -n "$outfile : " >> ${DEST}/size_composites.txt
# only process lines that don't begin with a space
cat $FILE | sed -e '/Memory Configuration/,$d' \
| sed -e '/Allocating common symbols/,$d' \
@@ -699,10 +694,10 @@ create_images ()
local TMP=0
while read object; do
- if [ -e $object ] && [ `sort -k 2n $object | tail -n 1 | cut -d' ' -f2` ]; then
- let TMP=`sort -k 2n $object | tail -n 1 | cut -d' ' -f2`
+ if [ -e $object ] && [ `sort -t'/' -k1n -k2n -k3n $object | grep -E ^2 | tail -n 1 | cut -d' ' -f2` ]; then
+ let TMP=`sort -t'/' -k1n -k2n -k3n $object | grep -E ^2 | tail -n 1 | cut -d' ' -f2`
let TMP=$TMP*16/10
- STEP=1000
+ STEP=100
HIGH=0
while [ $HIGH -eq 0 ]; do
if [ $TMP -lt $STEP ]; then
@@ -774,8 +769,8 @@ create_index_page ()
echo "), and we use " $COMPILER " version "
- $COMPILER -dumpversion > .metrics/compilerversion.txt 2>&1
- cat .metrics/compilerversion.txt
+ $COMPILER -dumpversion > ${DEST}/compilerversion.txt 2>&1
+ cat ${DEST}/compilerversion.txt
echo ' to compile '$BASE_TITLE'. </P>'
@@ -819,8 +814,8 @@ create_index_page ()
echo '</PRE></TD></TR><TR><TD>Compiler Version</TD><TD>'$COMPILER' -v</TD></TR>'
echo '<TR><TD colspan="2">'
- $COMPILER -v > .metrics/compiler.txt 2>&1
- cat .metrics/compiler.txt
+ $COMPILER -v > ${DEST}/compiler.txt 2>&1
+ cat ${DEST}/compiler.txt
if [ -e "/lib/libc.so.6" ]; then
echo '</TD></TR><TR><TD>Library Version</TD><TD>/lib/libc.so.6</TD></TR>'
@@ -867,7 +862,7 @@ create_page ()
echo '</style>'
echo '<body text = "#000000" link="#000fff" vlink="#ff0f0f" bgcolor="#ffffff">'
echo "<br><center><h1>$TITLE</h1></center><br>"
- if [ -e ".metrics/images/${BASE}_${TYPE}.png" ]; then
+ if [ -e "${DEST}/images/${BASE}_${TYPE}.png" ]; then
echo '<DIV align="center"><P>'
echo "<IMG alt=\"$BASE\" border=0 src=\"images/${BASE}_${TYPE}.png\""
echo 'width="800" height="600"></P></DIV>'
@@ -877,25 +872,25 @@ create_page ()
echo "<center><h2>Detail (${DATE})</h2></center>"
echo '<TABLE border="2"><TBODY><TR><TD rowspan=2><b>Object</b></TD>'
- echo '<TD colspan="3" align=center><b>Last Compile</b></TD></TR>'
+ echo '<TD colspan="4" align=center><b>Last Compile</b></TD></TR>'
echo "<TR><TD align=center><b>Date</b></TD><TD align=center><b>$UNITS</b></TD>"
- echo '<TD align=center><b>%chg</b></TD></TR>'
+ echo '<TD align=center><b>%chg</b></TD><TD align=center><b>Data</b></TD></TR>'
while read i; do
- if [ -e ".metrics/data/${i}.${EXT}" ]; then
+ if [ -e "${DEST}/data/${i}.${EXT}" ]; then
LAST=0 PRE=0 VAL_TMP=0 VAL_INT=0 VAL_SIGN="+"
echo '<TR><TD>'
- if [ -e ".metrics/${i}_${TYPE}.html" ]; then
+ if [ -e "${DEST}/${i}_${TYPE}.html" ]; then
# strip off "TAO___" if it exists
NAME=${i#TAO___}
# strip off "CIAO___" if it exists
NAME=${i#CIAO___}
echo "<a href=\"${i}_${TYPE}.html\">${NAME//___//}</a>"
- elif [ -e ".metrics/images/${i}_${TYPE}.png" ]; then
+ elif [ -e "${DEST}/images/${i}_${TYPE}.png" ]; then
# since you'll only have images if it's a composite, strip off the
# path for the name
if [ "$TYPE" = "Footprint" ]; then
# if we are doing footprint, add library
- llib=`grep -e "lib.*\.a" .metrics/size_composites.txt | grep ${i} | awk '{print $1}'`
+ llib=`grep -e "lib.*\.a" ${DEST}/size_composites.txt | grep ${i} | awk '{print $1}'`
#echo "lib $llib"
#llib="${llib% :}"
llib="${llib//___//}"
@@ -908,10 +903,10 @@ create_page ()
echo "${i##*___}"
fi
echo '</TD><TD>'
- echo `tail -n1 .metrics/data/${i}.${EXT} | cut -d" " -f1`
- let LAST=`tail -n1 .metrics/data/${i}.${EXT} | cut -d" " -f2`
+ echo `sort -t'/' -k1n -k2n -k3n ${DEST}/data/${i}.${EXT} | grep -E ^2 | tail -n1 | cut -d" " -f1`
+ let LAST=`sort -t'/' -k1n -k2n -k3n ${DEST}/data/${i}.${EXT} | grep -E ^2 | tail -n1 | cut -d" " -f2`
echo "</TD><TD align=right>$LAST</TD>"
- let PRE=`tail -n2 .metrics/data/${i}.${EXT} | head -n1 | cut -d" " -f2`
+ let PRE=`sort -t'/' -k1n -k2n -k3n ${DEST}/data/${i}.${EXT} | grep -E ^2 | tail -n2 | head -n1 | cut -d" " -f2`
let VAL_TMP="((($LAST+1)-($PRE+1))*1000)/($PRE+1)"
if [ $VAL_TMP -lt 0 ]; then
VAL_SIGN="-"
@@ -921,14 +916,16 @@ create_page ()
fi
let VAL_INT="$VAL_TMP/10"
let VAL_TENTH="$VAL_TMP-($VAL_INT*10)"
- echo "<TD align=right>${VAL_SIGN}${VAL_INT}.${VAL_TENTH}</TD></TR>"
+ echo "<TD align=right>${VAL_SIGN}${VAL_INT}.${VAL_TENTH}</TD>"
+ echo "<TD align=right><a href=\"data/${i}.${EXT}\">Data</a></TD>"
+ ecoo "</TR>"
else
echo '<TR><TD>'
echo "${i}"
echo '</TD><TD>'
echo '?'
echo "</TD><TD align=right>?</TD>"
- echo "<TD align=right>?</TD></TR>"
+ echo "<TD align=right>?</TD><TD align=right>?</TD></TR>"
fi
done # for
echo '</TBODY></TABLE>'
@@ -946,18 +943,18 @@ create_page ()
sort_list ()
{
# sort the dependency files
- if [ -e .metrics/tmp_list ]; then
- rm .metrics/tmp_list
+ if [ -e ${DEST}/tmp_list ]; then
+ rm ${DEST}/tmp_list
fi
- touch .metrics/tmp_list
+ touch ${DEST}/tmp_list
for i in $@; do
- echo "$i" >> .metrics/tmp_list
+ echo "$i" >> ${DEST}/tmp_list
#echo $i
done
# sort eats underscores, soo...
- sed "s/___/000/g" .metrics/tmp_list | sort -f | sed "s/000/___/g"
+ sed "s/___/000/g" ${DEST}/tmp_list | sort -f | sed "s/000/___/g"
}
###############################################################################
@@ -980,8 +977,7 @@ create_html ()
# create individual page for app/lib
sort_list ${files} | create_page ${base} ${TYPE} \
- > .metrics/${base}_${TYPE}.html
- cp .metrics/${base}_${TYPE}.html $DEST/${base}_${TYPE}.html
+ > ${DEST}/${base}_${TYPE}.html
if [ "${base}" != "${base#TAO___CIAO}" ]; then
CIAO_OBJS="${CIAO_OBJS} ${base}"
elif [ "${base}" != "${base#TAO}" ]; then
@@ -993,26 +989,21 @@ create_html ()
done
# create main page
- create_index_page ${TYPE} > .metrics/index.html
- cp .metrics/index.html ${DEST}/index.html
+ create_index_page ${TYPE} > ${DEST}/index.html
if [ "${TYPE}" = "Compilation" ] || [ "${TYPE}" = "Footprint" ]; then
if [ $BASE_TITLE = $DEFAULT_TITLE ]; then
name="ace_${TYPE}.html"
- sort_list ${ACE_OBJS} | create_page "ACE" ${TYPE} > .metrics/${name}
- cp .metrics/${name} ${DEST}/${name}
+ sort_list ${ACE_OBJS} | create_page "ACE" ${TYPE} > ${DEST}/${name}
name="tao_${TYPE}.html"
- sort_list ${TAO_OBJS} | create_page "TAO" ${TYPE} > .metrics/${name}
- cp .metrics/${name} ${DEST}/${name}
+ sort_list ${TAO_OBJS} | create_page "TAO" ${TYPE} > ${DEST}/${name}
name="ciao_${TYPE}.html"
- sort_list ${CIAO_OBJS} | create_page "CIAO" ${TYPE} > .metrics/${name}
- cp .metrics/${name} ${DEST}/${name}
+ sort_list ${CIAO_OBJS} | create_page "CIAO" ${TYPE} > ${DEST}/${name}
else
name="all_${TYPE}.html"
- sort_list ${ACE_OBJS} | create_page $BASE_TITLE ${TYPE} > .metrics/${name}
- cp .metrics/${name} ${DEST}/${name}
+ sort_list ${ACE_OBJS} | create_page $BASE_TITLE ${TYPE} > ${DEST}/${name}
fi
fi
}
@@ -1035,8 +1026,8 @@ BASE_TITLE=$DEFAULT_TITLE
COMPILER="gcc"
parse $@
-create_dirs ".metrics/"
-create_dirs "$DEST/"
+create_dirs "${DEST}/"
+create_dirs "${DEST}/"
if [ "$METRIC" = "Compilation" ]; then
@@ -1046,46 +1037,46 @@ if [ "$METRIC" = "Compilation" ]; then
# grab the compile time metrics for objects only and process them
grep "compile time(0):" $INFILE | grep "\.o" | cut -d' ' -f3,4,5 | process_file
- # Create .metrics/composites.txt with entries like this:
+ # Create ${DEST}/composites.txt with entries like this:
# tests___OS_Test : tests___OS_Test.o tests___Main.o
create_composite_list $TARGETS
# compile times
- cat .metrics/composites.txt | rollup_compile_times
- find .metrics/data/ -name "*.txt" | create_images $DEST "Compilation"
- cat .metrics/composites.txt | create_html $DEST "Compilation"
+ cat ${DEST}/composites.txt | rollup_compile_times
+ find ${DEST}/data/ -name "*.txt" | create_images ${DEST} "Compilation"
+ cat ${DEST}/composites.txt | create_html ${DEST} "Compilation"
elif [ "$METRIC" = "Footprint" ]; then
########################################################
# footprint
- # Create .metrics/libraries.txt with entries like this:
+ # Create ${DEST}/libraries.txt with entries like this:
# ace___libACE.a
create_library_list $TARGETS
- # Create .metrics/composites.txt with entries like this:
+ # Create ${DEST}/composites.txt with entries like this:
# tests___OS_Test : tests___OS_Test.o tests___Main.o
create_composite_list $TARGETS
# Run size on the executables and append results to *.size file.
- cat .metrics/composites.txt | footprint
+ cat ${DEST}/composites.txt | footprint
# Run size on the libraries and append results to *.size for the
# library and each contained object.
- # It also creates .metrics/size_composites.txt based on size output for
+ # It also creates ${DEST}/size_composites.txt based on size output for
# libraries with entries like this:
# ace___libACE.a : ace___ACE.o ace___Addr.o
- cat .metrics/libraries.txt | footprint LIB
+ cat ${DEST}/libraries.txt | footprint LIB
- # Add executables to .metrics/size_composites.txt based on output
+ # Add executables to ${DEST}/size_composites.txt based on output
# from the map files (created with LDFLAGS=-Xlinker -M -Xlinker
# -Map -Xlinker $(@).map). Find the map files of we want based on
- # entries in .metrics/composites.txt.
- cat .metrics/composites.txt | create_size_composites
+ # entries in ${DEST}/composites.txt.
+ cat ${DEST}/composites.txt | create_size_composites
- find .metrics/data/ -name "*.size" | create_images $DEST "Footprint"
- cat .metrics/size_composites.txt | create_html $DEST "Footprint"
+ find ${DEST}/data/ -name "*.size" | create_images ${DEST} "Footprint"
+ cat ${DEST}/size_composites.txt | create_html ${DEST} "Footprint"
else
echo "metric type ($METRIC) not recognized"
diff --git a/bin/generate_doxygen.pl b/bin/generate_doxygen.pl
index db9cd9712c9..e7b9f0e54e7 100755
--- a/bin/generate_doxygen.pl
+++ b/bin/generate_doxygen.pl
@@ -77,7 +77,9 @@ if (defined $DDS_ROOT && -r "$DDS_ROOT/VERSION") {
,'tao_ifr');
@CIAO_DOCS = ('ciao_config_handlers'
,'ciao_DAnCE'
+ ,'ciao_dds4ccm'
,'ciao');
+@DDS_DOCS = ('dds');
# Modify defaults using the command line arguments
&parse_args ();
@@ -91,10 +93,10 @@ if (!-r "$ACE_ROOT/ace/config.h") {
$wrote_configh = 1;
}
-&generate_doxy_files ('ACE', "$ACE_ROOT/VERSION", @ACE_DOCS) if (!$exclude_ace);
-&generate_doxy_files ('TAO', "$TAO_ROOT/VERSION", @TAO_DOCS) if (!$exclude_tao);
-&generate_doxy_files ('CIAO',"$CIAO_ROOT/VERSION", @CIAO_DOCS) if (!$exclude_ciao);
-&generate_doxy_files ('DDS', "$DDS_ROOT/VERSION", ('dds')) if $dds;
+&generate_doxy_files ('ACE', "$ACE_ROOT", @ACE_DOCS) if (!$exclude_ace);
+&generate_doxy_files ('TAO', "$TAO_ROOT", @TAO_DOCS) if (!$exclude_tao);
+&generate_doxy_files ('CIAO', "$CIAO_ROOT", @CIAO_DOCS) if (!$exclude_ciao);
+&generate_doxy_files ('DDS', "$DDS_ROOT", @DDS_DOCS) if $dds;
unlink "$ACE_ROOT/ace/config.h" if $wrote_configh;
@@ -143,8 +145,9 @@ sub same_dir {
sub generate_doxy_files {
my $KIT = shift;
- my $VERSION_FILE = shift;
+ my $ROOT_DIR = shift;
my @DOCS = @_;
+ my $VERSION_FILE = "$ROOT_DIR/VERSION";
my $VERSION = 'Snapshot ('.
POSIX::strftime("%Y/%m/%d-%H:%M", localtime)
@@ -161,7 +164,7 @@ sub generate_doxy_files {
$VERSION = $major.'.'.$minor.'.'.$beta;
}
- my $input = "etc/".$i.".doxygen";
+ my $input = "$ROOT_DIR/etc/".$i.".doxygen";
my $output = "/tmp/".$i.".".$$.".doxygen";
open(DOXYINPUT, $input)
diff --git a/bin/generate_footprint_chart.sh b/bin/generate_footprint_chart.sh
index 49b783dde0a..8518d276c04 100755
--- a/bin/generate_footprint_chart.sh
+++ b/bin/generate_footprint_chart.sh
@@ -5,10 +5,11 @@
gnuplot <<_EOF_ >/dev/null 2>&1
set xdata time
+ set xtics rotate
set timefmt '%Y/%m/%d-%H:%M'
- set xlabel 'Date (MM/DD)'
+ set xlabel 'Date (MM/DD)' 0,-3
set ylabel 'Size (KBytes)'
- set terminal png small size 800,600 color
+ set terminal png small size 1024,768 color
set output "$2"
plot '$1' using 1:(\$2/1024.0) title '$3' w l
exit
diff --git a/bin/generate_performance_chart.sh b/bin/generate_performance_chart.sh
index ebff5f13c96..c08044a4967 100755
--- a/bin/generate_performance_chart.sh
+++ b/bin/generate_performance_chart.sh
@@ -5,11 +5,13 @@
gnuplot <<_EOF_ >/dev/null 2>&1
set xdata time
+ set xtics rotate
+ set format x "%Y/%m/%d"
set timefmt '%Y/%m/%d-%H:%M'
- set xlabel 'Date (YYYYMMDD)'
+ set xlabel 'Date (YYYY/MM/DD)' 0,-3
set ylabel 'Throughput (Requests/Second)'
- set terminal png small size 800,600 color
- set yrange [4000:25000]
+ set terminal png small size $4 color
+ set yrange [0:]
set output "$2"
plot '$1' using 1:2 title '$3' w l
exit
diff --git a/bin/generate_rel_manpages b/bin/generate_rel_manpages
index 91310625e49..214b7a86abe 100755
--- a/bin/generate_rel_manpages
+++ b/bin/generate_rel_manpages
@@ -26,7 +26,7 @@ my $status= 0;
my $doxy_path = '/usr/local/bin';
-my $doxy_version = '1.5.6';
+my $doxy_version = '1.6.2';
&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') ||
die "$0: doxygen path or version incorrect, please fix the script\n";
@@ -65,7 +65,6 @@ my $bin_files =
"\"\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" .
"\\.gif|\\.vcp|\\.vcproj|\\.vcw|\\.sln\"";
-my $dest = 'bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution';
my $release_files = '';
chomp ($release_files = `$make show_release_files`);
@@ -80,16 +79,15 @@ my $build_command =
"$find ./html $release_filter | $cpio -o -H tar | " .
"$gzip -9 > ACE-html.tar.gz && ".
"$find ./html $release_filter | $cpio -o -H tar | " .
- "$bzip -9 > ACE-html.tar.bz2 && ".
+ "$bzip -9 > ACE-html.tar.bz2 && ".
"$find ./html $release_filter | $egrep -v $bin_files | " .
"zip ACE-html.zip -q9@ &&" .
"md5sum ACE-html.tar.gz > ACE-html.tar.gz.md5 &&" .
"md5sum ACE-html.tar.bz2 > ACE-html.tar.bz2.md5 &&" .
- "md5sum ACE-html.zip > ACE-html.zip.md5 &&" .
- "$scp ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip ACE-html.tar.gz.md5 ACE-html.tar.bz2.md5 ACE-html.zip.md5 $dest;";
+ "md5sum ACE-html.zip > ACE-html.zip.md5;";
&ex ($build_command)
- && die "$0: failed to move ACE man pages to $dest\n";
+ && die "$0: failed to generate ACE man pages\n";
exit $status;
diff --git a/bin/generate_topinfo_charts.sh b/bin/generate_topinfo_charts.sh
index 09e2f0a1f51..8924cfb110c 100755
--- a/bin/generate_topinfo_charts.sh
+++ b/bin/generate_topinfo_charts.sh
@@ -5,6 +5,7 @@
gnuplot <<_EOF_ >/dev/null 2>&1
set xdata time
+ set xtics rotate
set timefmt '%Y/%m/%d-%H:%M'
set xlabel 'Date (MM/DD)'
set ylabel 'Size (KBytes) $4'
diff --git a/bin/mail_test_stats.sh b/bin/mail_test_stats.sh
new file mode 100755
index 00000000000..3a7256b6910
--- /dev/null
+++ b/bin/mail_test_stats.sh
@@ -0,0 +1,43 @@
+export TREE_ROOT=$HOME/ACE/latest
+export ACE_ROOT=$TREE_ROOT/ACE_wrappers
+export TAO_ROOT=$ACE_ROOT/TAO
+export CIAO_ROOT=$TAO_ROOT/CIAO
+mkdir -p $TREE_ROOT
+cd $TREE_ROOT
+svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE+TAO+CIAO .
+cd $ACE_ROOT/bin
+rm *Tests.txt
+rm *TestRev.txt
+rm *Ignore.txt
+rm *Builds.txt
+./diff-builds-and-group-fixed-tests-only.sh
+
+MAILTO="devo-group@list.isis.vanderbilt.edu"
+MAIL="mail -S smtp=10.2.0.3"
+MAILFROM="jwillemsen@remedy.nl"
+
+MAIL_ATTACHMENTS=
+for fn in `ls *Tests.txt`; do
+ MAIL_ATTACHMENTS=$MAIL_ATTACHMENTS+"-a $fn "
+done
+for fn in `ls *NoTestRev.txt`; do
+ MAIL_ATTACHMENTS=$MAIL_ATTACHMENTS+"-a $fn "
+done
+CURRENTDATE=`date -u +%Y_%m_%d`
+mailfile="/tmp/rsmailfile"
+{
+ echo "Sending test statistics for" $CURRENTDATE
+ echo
+ cat *NoTestRev.txt
+ echo
+ echo "Sending with revision number"
+ cat *Tests.txt
+ echo
+ echo "Sending results per build"
+ cat *Builds.txt
+} > $mailfile
+
+$MAIL -r $MAILFROM -s "ACE/TAO/CIAO test statistics for $CURRENTDATE" $MAILTO < $mailfile
+
+rm -f $mailfile
+
diff --git a/bin/make_release.py b/bin/make_release.py
index 7d46456c030..23e6cd4ef58 100755
--- a/bin/make_release.py
+++ b/bin/make_release.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python2.5
+#!/usr/bin/python
# @file make_release.py
# @author William R. Otte <wotte@dre.vanderbilt.edu>
@@ -45,7 +45,7 @@ release_date = strftime (# ie: Mon Jan 23 00:35:37 CST 2006
""" This is a regex that detects files that SHOULD NOT have line endings
converted to CRLF when being put into a ZIP file """
-bin_regex = re.compile ("\.(mak|mdp|ide|exe|ico|gz|zip|xls|sxd|gif|vcp|vcproj|vcw|sln|dfm|jpg|png|vsd|bz2|pdf)$")
+bin_regex = re.compile ("\.(mak|mdp|ide|exe|ico|gz|zip|xls|sxd|gif|vcp|vcproj|vcw|sln|dfm|jpg|png|vsd|bz2|pdf|ppt|graffle|pptx|odt)$")
##################################################
@@ -67,7 +67,7 @@ def svn_login_callback (realm, username, may_save):
def svn_log_message_callback ():
""" Callback used by the svn library to generate log messages
for operations such as copy """
- return (True, "ChangeLogTag:%s %s <%s>" % (release_date, signature, mailid))
+ return (True, "ChangeLogTag: %s %s <%s>" % (release_date, signature, mailid))
svn_client = pysvn.Client ()
svn_client.callback_get_login = svn_login_callback
@@ -102,15 +102,20 @@ def parse_args ():
parser.add_option ("--root", dest="repo_root", action="store",
help="Specify an alternate repository root",
- default="https://svn.dre.vanderbilt.edu/DOC/")
+ default=None)
+ # By default get repo root from working copy
+ # default="https://svn.dre.vanderbilt.edu/DOC/")
+
+ parser.add_option ("--mpc_root", dest="mpc_root", action="store",
+ help="Specify an alternate MPC repository root",
+ default=None)
+ # By default get repo root from MPC root in working copy
parser.add_option ("-n", dest="take_action", action="store_false",
help="Take no action", default=True)
parser.add_option ("--verbose", dest="verbose", action="store_true",
help="Print out actions as they are being performed",
default=False)
- parser.add_option ("--override-host", dest="override_host", action="store_true",
- help="Override the default release host. Not reccomended", default=False)
(options, arguments) = parser.parse_args ()
if options.action is None:
@@ -163,12 +168,6 @@ def check_environment ():
print "ERROR: Must define MAILID environment to your email address for changelogs."
return False
- from socket import gethostname
-
- if ((not opts.override_host) and gethostname () != "anduril.dre.vanderbilt.edu"):
- print "ERROR: Must run script on anduril.dre.vanderbilt.edu"
- return False
-
return True
def vprint (string):
@@ -185,10 +184,11 @@ def commit (files):
""" Commits the supplied list of files to the repository. """
vprint ("Committing the following files: " + " ".join (files))
- rev = svn_client.checkin (files,
- "ChangeLogTag:%s %s <%s>" % (release_date, signature, mailid))
+ if opts.take_action:
+ rev = svn_client.checkin (files,
+ "ChangeLogTag:%s %s <%s>" % (release_date, signature, mailid))
- print "Checked in files, resuling in revision ", rev.number
+ print "Checked in files, resuling in revision ", rev.number
def check_workspace ():
""" Checks that the DOC and MPC repositories are up to date. """
@@ -202,12 +202,26 @@ def check_workspace ():
raise
try:
- rev = svn_client.update (doc_root + "ACE/MPC")
+ rev = svn_client.update (doc_root + "/ACE/MPC")
print "Successfully updated MPC working copy to revision "
except:
- print "Unable to update the MPC workspace at " + doc_root + "/MPC"
+ print "Unable to update the MPC workspace at " + doc_root + "/ACE/MPC"
raise
+ # By default retrieve repo root from working copy
+ if opts.repo_root is None:
+ info = svn_client.info2 (doc_root + "/ACE")[0]
+ opts.repo_root = info[1]["repos_root_URL"]
+
+ # By default retrieve MPC root from working copy
+ if opts.mpc_root is None:
+ info = svn_client.info2 (doc_root + "/ACE/MPC")[0]
+ opts.mpc_root = info[1]["repos_root_URL"]
+
+ vprint ("Repos root URL = " + opts.repo_root + "\n")
+ vprint ("Repos MPC root URL = " + opts.mpc_root + "\n")
+
+
def update_version_files (component):
""" Updates the version files for a given component. This includes
Version.h, the PRF, and the VERSION file."""
@@ -293,6 +307,135 @@ def update_version_files (component):
return retval
+def update_spec_file ():
+
+ global comp_versions, opts
+
+ with open (doc_root + "/ACE/rpmbuild/ace-tao.spec", 'r+') as spec_file:
+ new_spec = ""
+ for line in spec_file.readlines ():
+ if line.find ("define ACEVER ") is not -1:
+ line = "%define ACEVER " + comp_versions["ACE_version"] + "\n"
+ if line.find ("define TAOVER ") is not -1:
+ line = "%define TAOVER " + comp_versions["TAO_version"] + "\n"
+ if line.find ("define CIAOVER ") is not -1:
+ line = "%define CIAOVER " + comp_versions["CIAO_version"] + "\n"
+ if line.find ("define is_major_ver") is not -1:
+ if opts.release_type == "beta":
+ line = "%define is_major_ver 0\n"
+ else:
+ line = "%define is_major_ver 1\n"
+
+ new_spec += line
+
+ if opts.take_action:
+ spec_file.seek (0)
+ spec_file.truncate (0)
+ spec_file.writelines (new_spec)
+ else:
+ print "New spec file:"
+ print "".join (new_spec)
+
+ return [doc_root + "/ACE/rpmbuild/ace-tao.spec"]
+
+def update_debianbuild ():
+ """ Updates ACE_ROOT/debianbuild directory.
+ - renames all files with version nrs in name to new scheme.
+ - updates version nrs in file debianbuild/control
+ Currently ONLY ACE & TAO stuff is handled here """
+
+ global comp_versions
+
+ import glob
+ import re
+ from os.path import basename
+ from os.path import dirname
+ from os.path import join
+
+ files = list ()
+ prev_ace_ver = None
+ prev_tao_ver = None
+
+ # rename files
+ mask = re.compile ("(libace|libkokyu|libtao)(.*)(\d+\.\d+\.\d+)(.*)")
+ tao = re.compile ("tao", re.IGNORECASE)
+
+ for fname in glob.iglob(doc_root + '/ACE/debianbuild/*'):
+ match = None
+
+ fbase = basename (fname)
+
+ match = mask.search (fbase)
+ fnewname = None
+ if match is not None:
+ if tao.search (fbase) is not None:
+ fnewname = join (dirname (fname), match.group (1) + match.group (2) + comp_versions["TAO_version"] + match.group (4))
+ prev_tao_ver = match.group (3)
+ else:
+ fnewname = join (dirname (fname), match.group (1) + match.group (2) + comp_versions["ACE_version"] + match.group (4))
+ prev_ace_ver = match.group (3)
+
+ if fnewname is not None:
+ if opts.take_action:
+ svn_client.move (fname, fnewname)
+ else:
+ print "Rename: " + fname + " to " + fnewname + "\n"
+
+ files.append (fname)
+ files.append (fnewname)
+
+ # update debianbuild/control
+ def update_ver (match):
+ if match.group (1) == 'libtao':
+ return match.group (1) + match.group (2) + comp_versions["TAO_version"] + match.group (4)
+ else:
+ return match.group (1) + match.group (2) + comp_versions["ACE_version"] + match.group (4)
+
+ with open (doc_root + "/ACE/debianbuild/control", 'r+') as control_file:
+ new_ctrl = ""
+ for line in control_file.readlines ():
+ if re.search ("^(Package|Depends|Suggests):", line) is not None:
+ line = mask.sub (update_ver, line)
+ elif re.search ('^Replaces:', line) is not None:
+ line = line.replace (prev_ace_ver, comp_versions["ACE_version"])
+
+ new_ctrl += line
+
+ if opts.take_action:
+ control_file.seek (0)
+ control_file.truncate (0)
+ control_file.writelines (new_ctrl)
+ else:
+ print "New control file:"
+ print "".join (new_ctrl)
+
+ files.append (doc_root + "/ACE/debianbuild/control")
+
+ # rewrite debianbuild/dsc
+ dsc_lines = """# Format: 1.0
+# Source: ace
+# Version: %s
+# Binary: ace
+# Maintainer: Johnny Willemsen <jwillemsen@remedy.nl>
+# Architecture: any
+# Build-Depends: g++
+# Files:
+# <hash> <size> ACE+TAO+CIAO-src-%s.tar.bz2
+#
+""" % (comp_versions["TAO_version"], comp_versions["ACE_version"])
+ if opts.take_action:
+ with open (doc_root + "/ACE/debianbuild/dsc", 'r+') as dsc_file:
+ dsc_file.seek (0)
+ dsc_file.truncate (0)
+ dsc_file.writelines (dsc_lines)
+ else:
+ print "New dsc file:\n"
+ print dsc_lines
+
+ files.append (doc_root + "/ACE/debianbuild/dsc")
+
+ return files
+
def get_and_update_versions ():
""" Gets current version information for each component,
updates the version files, creates changelog entries,
@@ -310,6 +453,8 @@ def get_and_update_versions ():
files += create_changelog ("ACE")
files += create_changelog ("TAO")
files += create_changelog ("CIAO")
+ files += update_spec_file ()
+ files += update_debianbuild ()
commit (files)
except:
@@ -416,6 +561,17 @@ def get_comp_versions (component):
str (comp_versions[component + "_minor"])
+def update_latest_tag (which, branch):
+ """ Update one of the Latest_* tags externals to point the new release """
+ global opts
+ root_anon = re.sub ("^https:", "svn:", opts.repo_root)
+ propval = """ACE_wrappers %s/tags/%s/ACE
+ACE_wrappers/TAO %s/tags/%s/TAO
+ACE_wrappers/TAO/CIAO %s/tags/%s/CIAO
+""" % (root_anon, branch, root_anon, branch, root_anon, branch)
+ svn_client.propset ("svn:externals", propval,
+ opts.repo_root + "/tags/Latest_" + which)
+
def tag ():
""" Tags the DOC and MPC repositories for the version """
global comp_versions, opts
@@ -423,13 +579,32 @@ def tag ():
branch = "ACE+TAO+CIAO-%d_%d_%d" % (comp_versions["ACE_major"],
comp_versions["ACE_minor"],
comp_versions["ACE_beta"])
- # Tag middleware
- svn_client.copy (opts.repo_root + "/Middleware/trunk",
- opts.repo_root + "/Middleware/tags/" + branch)
- # Tag MPC
- svn_client.copy (opts.repo_root + "/MPC/trunk",
- opts.repo_root + "/MPC/tags/" + branch)
+ if opts.take_action:
+ # Tag middleware
+ svn_client.copy (opts.repo_root + "/trunk",
+ opts.repo_root + "/tags/" + branch)
+
+ # Tag MPC
+ svn_client.copy (opts.mpc_root + "/trunk",
+ opts.mpc_root + "/tags/" + branch)
+
+ # Update latest tag
+ # mcorino@remedy.nl - subversion does not seem to support propset directly
+ # on URLs (except for some strange reason through propedit)
+ #if opts.release_type == "major":
+ #update_latest_tag ("Major", branch)
+ #elif opts.release_type == "minor":
+ #update_latest_tag ("Minor", branch)
+ #elif opts.release_type == "beta":
+ #update_latest_tag ("Beta", branch)
+ #update_latest_tag ("Micro", branch)
+ #if comp_versions["ACE_beta"] == 1:
+ #update_latest_tag ("BFO", branch)
+ else:
+ print "Creating tags:\n"
+ print opts.repo_root + "/trunk -> " + opts.repo_root + "/tags/" + branch + "\n"
+ print opts.mpc_root + "/trunk -> " + opts.mpc_root + "/tags/" + branch + "\n"
##################################################
#### Packaging methods
@@ -589,9 +764,9 @@ def create_file_lists (base_dir, prefix, exclude):
continue
else:
if bin_regex.search (fullitem) is not None:
- bin_files.append (os.path.join (prefix, fullitem))
+ bin_files.append ('"' + os.path.join (prefix, fullitem) + '"')
else:
- text_files.append (os.path.join (prefix, fullitem))
+ text_files.append ('"' + os.path.join (prefix, fullitem) + '"')
return (text_files, bin_files)
@@ -680,6 +855,7 @@ def generate_workspaces (stage_dir):
os.putenv ("MPC_ROOT", os.path.join (stage_dir, "ACE_wrappers", "MPC"))
os.putenv ("TAO_ROOT", os.path.join (stage_dir, "ACE_wrappers", "TAO"))
os.putenv ("CIAO_ROOT", os.path.join (stage_dir, "ACE_wrappers", "TAO", "CIAO"))
+ os.putenv ("DANCE_ROOT", os.path.join (stage_dir, "ACE_wrappers", "TAO", "CIAO", "DAnCE"))
# Create option strings
mpc_command = os.path.join (stage_dir, "ACE_wrappers", "bin", "mwc.pl")
@@ -687,9 +863,7 @@ def generate_workspaces (stage_dir):
mpc_option = ' -recurse -hierarchy -relative ACE_ROOT=' + stage_dir + '/ACE_wrappers '
mpc_option += ' -relative TAO_ROOT=' + stage_dir + '/ACE_wrappers/TAO '
mpc_option += ' -relative CIAO_ROOT=' + stage_dir + '/ACE_wrappers/TAO/CIAO '
-
- static_vc71_option = ' -static -name_modifier *_vc71_Static -apply_project -exclude TAO/CIAO '
- static_vc71_option += mpc_option
+ mpc_option += ' -relative DANCE_ROOT=' + stage_dir + '/ACE_wrappers/TAO/CIAO/DAnCE '
static_vc8_option = ' -static -name_modifier *_vc8_Static -apply_project -exclude TAO/CIAO '
static_vc8_option += mpc_option
@@ -699,22 +873,23 @@ def generate_workspaces (stage_dir):
vc9_option = ' -name_modifier *_vc9 '
vc8_option = ' -name_modifier *_vc8 '
- vc71_option = ' -name_modifier *_vc71 '
# Build option string for VC8 platforms
ce_option = ' -name_modifier *_vc8_WinCE -features "uses_wchar=1,wince=1" '
- ce_option += ' -value_template platforms=\'"Pocket PC 2003 (ARMV4)"\' '
- ce_option += ' -value_template platforms+=\'"Smartphone 2003 (ARMV4)"\' '
ce_option += ' -value_template platforms+=\'"Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"\' '
ce_option += ' -value_template platforms+=\'"Windows Mobile 5.0 Smartphone SDK (ARMV4I)"\' '
ce_option += ' -value_template platforms+=\'"Windows Mobile 6 Standard SDK (ARMV4I)"\' '
ce_option += ' -value_template platforms+=\'"Windows Mobile 6 Professional SDK (ARMV4I)"\' '
+ ce_option += ' -exclude TAO/CIAO '
redirect_option = str ()
if not opts.verbose:
redirect_option = " >> ../mpc.log 2>&1"
# Generate GNUmakefiles
+ print "\tBootstrapping autotools support"
+ ex ("bin/bootstrap " + redirect_option)
+
print "\tGenerating GNUmakefiles...."
ex (mpc_command + " -type gnuace " + exclude_option + mpc_option + redirect_option)
@@ -727,24 +902,12 @@ def generate_workspaces (stage_dir):
print "\tGenerating VC8 Windows CE solutions..."
ex (mpc_command + " -type vc8 " + mpc_option + ce_option + redirect_option)
- print "\tGenerating VC71 solutions..."
- ex (mpc_command + " -type vc71 " + mpc_option + vc71_option + redirect_option)
-
- print "\tGenerating Borland makefiles"
- ex (mpc_command + " -type bmake " + mpc_option + exclude_option + redirect_option)
-
- print "\tGenerating VC71 Static solutions"
- ex (mpc_command + " -type vc71 " + static_vc71_option + redirect_option)
-
print "\tGenerating VC8 Static solutions"
ex (mpc_command + " -type vc8 " + static_vc8_option + redirect_option)
print "\tGenerating VC9 Static solutions"
ex (mpc_command + " -type vc9 " + static_vc9_option + redirect_option)
- print "\tBootstrapping autotools support"
- ex ("bin/bootstrap " + redirect_option)
-
print "\tCorrecting permissions for all generated files..."
ex ("find ./ -name '*.vc[p,w]' -or -name '*.bmak' -or -name '*.vcproj' -or -name '*.sln' -or -name 'GNUmake*' | xargs chmod 0644")
diff --git a/bin/mpc-mode.el b/bin/mpc-mode.el
index 8f60f33b32c..3301f0daa37 100644
--- a/bin/mpc-mode.el
+++ b/bin/mpc-mode.el
@@ -78,6 +78,9 @@
("\\(install +=\\)" 1 font-lock-type-face t)
("\\(install -=\\)" 1 font-lock-type-face t)
("\\(libs\\)" 1 font-lock-type-face t)
+ ("\\(lit_libs\\)" 1 font-lock-type-face t)
+ ("\\(linkflags\\)" 1 font-lock-type-face t)
+ ("\\(specific\\)" 1 font-lock-type-face t)
("\\(macros\\)" 1 font-lock-type-face t)
("\\(after\\)" 1 font-lock-type-face t)
("\\(libout\\)" 1 font-lock-type-face t)
diff --git a/bin/mpc.pl b/bin/mpc.pl
index 7234756852f..903cf4ef2bc 100755
--- a/bin/mpc.pl
+++ b/bin/mpc.pl
@@ -20,8 +20,8 @@ use FindBin;
use File::Spec;
use File::Basename;
-my($basePath) = $FindBin::RealBin;
-my($baseName) = $FindBin::RealScript;
+my($basePath) = (defined $FindBin::RealBin ? $FindBin::RealBin :
+ File::Spec->rel2abs(dirname($0)));
if ($^O eq 'VMS') {
$basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
$basePath = VMS::Filespec::unixify($basePath);
@@ -64,5 +64,5 @@ sub getBasePath {
# Main Section
# ************************************************************
-my($driver) = new Driver($basePath, basename($0));
+my($driver) = new Driver($basePath, Driver::projects());
exit($driver->run(@ARGV));
diff --git a/bin/mwc.pl b/bin/mwc.pl
index 7234756852f..8e8a838eb29 100755
--- a/bin/mwc.pl
+++ b/bin/mwc.pl
@@ -20,8 +20,8 @@ use FindBin;
use File::Spec;
use File::Basename;
-my($basePath) = $FindBin::RealBin;
-my($baseName) = $FindBin::RealScript;
+my($basePath) = (defined $FindBin::RealBin ? $FindBin::RealBin :
+ File::Spec->rel2abs(dirname($0)));
if ($^O eq 'VMS') {
$basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
$basePath = VMS::Filespec::unixify($basePath);
@@ -64,5 +64,5 @@ sub getBasePath {
# Main Section
# ************************************************************
-my($driver) = new Driver($basePath, basename($0));
+my($driver) = new Driver($basePath, Driver::workspaces());
exit($driver->run(@ARGV));
diff --git a/bin/performance_stats.sh b/bin/performance_stats.sh
index 85143de5d71..64f645bd608 100755
--- a/bin/performance_stats.sh
+++ b/bin/performance_stats.sh
@@ -12,6 +12,10 @@ ACE_ROOT=$1
DEST=$2
DATE=`date +%Y/%m/%d-%H:%M`
+mkdir -p $DEST/images
+mkdir -p $DEST/data
+COMPILER="gcc"
+
COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool AMH_Single_Threaded"
SEQUENCE_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool AMH_Single_Threaded"
@@ -103,14 +107,14 @@ for i in $SEQUENCE_TESTS; do
done
for i in $COMMON_TESTS TCP Default; do
- $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i"
+ $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i" 1024,768
/bin/cp ${i}.png $DEST/images/${i}.png
/usr/bin/tac ${i}.txt > $DEST/data/${i}.txt
/usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt
done
for i in $SEQ_TEST_TYPE ; do
- $ACE_ROOT/bin/generate_performance_chart.sh Sequence_Default_${i}.txt Sequence_Default_${i}.png "Default Configuration for $i sequences"
+ $ACE_ROOT/bin/generate_performance_chart.sh Sequence_Default_${i}.txt Sequence_Default_${i}.png "Default Configuration for $i sequences" 1024,768
/bin/cp Sequence_Default_${i}.png $DEST/images/Sequence_Default_${i}.png
/usr/bin/tac $DEST/source/Sequence_Default_${i}.txt > $DEST/data/Sequence_Default_${i}.txt
/usr/bin/tail -5 $DEST/source/Sequence_Default_${i}.txt > $DEST/data/LAST_Sequence_Default_${i}.txt
@@ -118,7 +122,7 @@ done
for i in $SEQUENCE_TESTS; do
for j in $SEQ_TEST_TYPE; do
- $ACE_ROOT/bin/generate_performance_chart.sh Sequence_${i}_${j}.txt Sequence_${i}_${j}.png "Sequence_$i_$j"
+ $ACE_ROOT/bin/generate_performance_chart.sh Sequence_${i}_${j}.txt Sequence_${i}_${j}.png "Sequence_$i_$j" 1024,768
/bin/cp Sequence_${i}_${j}.png $DEST/images/Sequence_${i}_${j}.png
/usr/bin/tac Sequence_${i}_${j}.txt > $DEST/data/Sequence_${i}_${j}.txt
/usr/bin/tail -5 Sequence_${i}_${j}.txt > $DEST/data/LAST_Sequence_${i}_${j}.txt
@@ -129,9 +133,10 @@ gnuplot <<_EOF_ >/dev/null 2>&1
set xdata time
set timefmt '%Y/%m/%d-%H:%M'
set xlabel 'Date (YYYYMMDD)'
+ set xtics rotate
set ylabel 'Throughput (Requests/Second)'
set yrange [0:]
- set terminal png small size 800,600 color
+ set terminal png small size 1024,768 color
set output "/dev/null"
plot 'AMI.txt' using 1:2 title 'AMI' w l
replot 'DII.txt' using 1:2 title 'DII' w l
@@ -152,9 +157,10 @@ gnuplot <<_EOF_ >/dev/null 2>&1
set xdata time
set timefmt '%Y/%m/%d-%H:%M'
set xlabel 'Date (YYYYMMDD)'
+ set xtics rotate
set ylabel 'Throughput (Requests/Second)'
- set yrange [0:35000]
- set terminal png small size 800,600 color
+ set yrange [0:]
+ set terminal png small size 1024,768 color
set output "/dev/null"
plot 'AMI.txt' using 1:2 title 'AMI' w l
replot 'DII.txt' using 1:2 title 'DII' w l
@@ -172,28 +178,21 @@ _EOF_
/bin/cp CORBA.png All.png $DEST/images/
-MOGRIFY=/usr/local/bin/mogrify
-if [ ! -x "$MOGRIFY" ]; then
- MOGRIFY=/usr/X11R6/bin/mogrify
-fi
-
-(
- cd $DEST/images
- /bin/cp *.png thumbnails
- for i in *.png; do
- $MOGRIFY -geometry '25%' thumbnails/$i
- done
-)
-
cd $DEST/data
/bin/uname -a > uname.txt
-/usr/bin/gcc -v > gcc.txt 2>&1
-/usr/bin/gcc -dumpversion > gccversion.txt 2>&1
+$COMPILER -v > gcc.txt 2>&1
+$COMPILER -dumpversion > gccversion.txt 2>&1
/lib/libc.so.6 | sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' > libc.txt
cat /proc/cpuinfo > cpuinfo.txt
cat /proc/meminfo > meminfo.txt
-cat /etc/SuSE-release > linuxversion.txt
+if [ -e "/etc/SuSE-release" ]; then
+ cat /etc/SuSE-release > linuxversion.txt
+fi
+if [ -e "/etc/redhat-release" ]; then
+ cat /etc/redhat-release > linuxversion.txt
+fi
cat $ACE_ROOT/ace/config.h > config.h.txt
cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt
+cat $ACE_ROOT/bin/MakeProjectCreator/config/default.features > default.features.txt
cp $ACE_ROOT/html/Stats/* $DEST
diff --git a/bin/run_all.pl b/bin/run_all.pl
deleted file mode 100755
index dfa4841262c..00000000000
--- a/bin/run_all.pl
+++ /dev/null
@@ -1,224 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# -*- perl -*-
-# $Id$
-#
-# This script execute the test programs (usually, other scripts) in
-# the RUN_LIST defined below. If it detects any problem it send email.
-#
-# This script requires ActivePerl for Win32 and libnet from CPAN.
-#
-# Usage: run_all.pl <log directory> <admin email address>
-#
-# For example: run_all.pl /tmp/log peter_pan@neverland.org
-
-use Net::SMTP;
-use File::Basename;
-use FileHandle;
-require POSIX;
-
-push @INC, $ENV{'ACE_ROOT'}.'/bin';
-require run_all_list;
-
-# Find out the command name.
-$CMD = basename($0);
-
-$single_threaded = 0;
-$minimum_corba = 0;
-$dont_run = 0;
-$report_success = 0;
-$debug = 0;
-$ami=0
-@ARGS = ();
-while ($#ARGV >= 0) {
- if (!($ARGV[0] =~ m/-/)) {
- push @ARGS, $ARGV[0];
- shift;
- } elsif ($ARGV[0] eq "-single_threaded") {
- $single_threaded = 1;
- shift;
- } elsif ($ARGV[0] eq "-minimum_corba") {
- $minimum_corba = 1;
- shift;
- } elsif ($ARGV[0] eq "-ami") {
- $ami = 1;
- shift;
- } elsif ($ARGV[0] eq "-report_success") {
- $report_success = 1;
- shift;
- } elsif ($ARGV[0] eq "-debug") {
- $debug = 1;
- shift;
- }
-}
-
-# We obtain our revision to report errors.
-$REVISION='$Revision$ ';
-
-# Extract configuration information from command line.
- # TODO: Some validation and checking should be done here.
-$LOGDIR = $ARGS[0];
-$ADMIN = $ARGS[1];
-$MAIL = "mail";
-if ($#ARGS >= 2) {
- $MAIL = $ARGS[2];
-}
-
-$disable_file = $LOGDIR . '/.disable';
-$histfile = $LOGDIR . '/history';
-$LOGBASE = POSIX::strftime("%b%d_%Y.log", localtime);
-$LOGFILE = $LOGDIR . '/' . $LOGBASE;
-$HOST = `hostname`;
-chop $HOST;
-$LOG_NAME = $HOST . "_" . $BUILD . "_" . $LOGBASE;
-$STATUS = "OK";
-
-sub report_errors {
- # Now send a summary of the errors to the ADMIN account...
- local $to = $ADMIN;
-
- open (MAIL, "|".$MAIL.' -s [AUTO_COMPILE] '.$to)
- || die "Cannot open mail pipe for: $_\n";
-
- print MAIL 'The following message is brought to you by: ', "\n";
- print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n";
-
- local $m;
- foreach $m (@_) {
- print MAIL $m, "\n";
- }
-
- print MAIL "\nPlease check the following log for more info:\n\n";
- print MAIL 'http://www.cs.wustl.edu/~bugzilla/auto_compile_logs/',
- $LOG_NAME, "\n\n";
-
- close (MAIL); # Ignore errors....
-
-# # Now send the complete log to bugzilla...
-# local $bugs = 'bugzilla'.'@cs.wustl.edu';
-# open (MAIL, "|".$MAIL.' -s AUTO_COMPILE_LOG='.$LOG_NAME.' '.$bugs)
-# || die "Cannot open mail pipe for: $LOG_NAME\n";
-
-# print MAIL 'This is the log for: ', "\n";
-# print MAIL $CMD, ' [', $REVISION, "] for $BUILD on $CHECKOUT\n";
-
-# print MAIL "\n================================================================\n";
-
-# if (open (THELOG, "$LOGFILE"))
-# {
-# while (<THELOG>) {
-# print MAIL $_;
-# }
-# close (THELOG);
-# }
-# close (MAIL); # Ignore errors....
-}
-
-### MAIN FUNCTION
-
-$histfile = $LOGDIR . '/history';
-open(HIST, '>>' . $histfile)
- # Do not use 'die' to report the problem, it tries to use HIST....
- || die "cannot open history file \"$histfile\"\n";
-
-$date = localtime;
-
-print HIST $CMD, ': running at ', $date, ' ';
-
-if (-f $disable_file) {
- print HIST "DISABLED\n";
- exit 0;
-}
-
-open (DISABLE, '>' . $disable_file)
- || die "cannot open disable file";
-print DISABLE "auto_compile <$date> is running\n";
-close (DISABLE)
- || die "cannot close disable file";
-
-$LOGFILE = $LOGDIR . '/' . POSIX::strftime("%b%d_%Y.log", localtime);
-open(LOG, '>' . $LOGFILE)
- || die "cannot open log file";
-
-LOG->autoflush ();
-
-@failures = ();
-
-if ($dont_run == 0) {
- @LIST = @RUN_LIST;
- if ($single_threaded) {
- @LIST = @SINGLE_THREADED_LIST;
- } elsif ($minimum_corba) {
- @LIST = @MINIMUM_CORBA_LIST;
- } elsif ($ami) {
- @LIST = @AMI_CORBA_LIST;
- }
-
- $DIR = $ENV{'PWD'};
- foreach $i (@LIST) {
- local @test_info = split (/\ \,\ /, $i);
- local $directory = $test_info[0];
- local $program = $test_info[1];
-
- $date = localtime;
- print LOG "$CMD: =============================================\n";
- print LOG "$CMD: running $program in $directory at ", $date, "\n";
- local $subdir = $DIR . '/' . $directory;
- chdir ($subdir)
- || die "cannot chdir to $subdir";
-
- $run_error = 0;
- if (open(RUN, "perl $program 2>&1 |") == 0) {
- push @failures, "cannot run $program in $directory";
- next;
- }
- while (<RUN>) {
- print LOG $_;
- if (m/Error/
- || m/FAILED/
- || m/EXCEPTION/
- || m/pure virtual /i) {
- if ($STATUS eq "OK") {
- $STATUS = "RUNTIME ERROR";
- }
- $run_error = 1;
- }
- }
- if (close(RUN) == 0) {
- if ($STATUS eq "OK") {
- $STATUS = "RUNTIME ERROR";
- }
- push @failures, "Error when closing pipe for $program in $directory";
- next;
- }
- $date = localtime;
- print LOG "$CMD: $program finished ", $date, "\n";
-
- if ($run_error != 0) {
- push @failures,
- "errors detected while running $program in $directory";
- }
- }
-}
-
-if ($#failures >= 0) {
- report_errors @failures;
-}
-
-close(LOG)
- || die "cannot close LOGFILE";
-
-print HIST "$STATUS\n";
-close(HIST)
- || die "cannot close history file";
-
-unlink $disable_file
- || die "cannot unlink disable file";
-
-if ($report_success) {
- report_errors "Congratulations: No errors or warnings detected\n";
-}
-
-exit 0;
diff --git a/bin/run_all_win32.pl b/bin/run_all_win32.pl
deleted file mode 100755
index 84021c3a8d9..00000000000
--- a/bin/run_all_win32.pl
+++ /dev/null
@@ -1,180 +0,0 @@
-# -*- perl -*-
-# $Id$
-#
-# This script execute the test programs (usually, other scripts) in
-# the RUN_LIST defined below. If it detects any problem it send email.
-#
-# This script requires ActivePerl for Win32 and libnet from CPAN.
-#
-# Usage: run_all_win32.pl <log directory> <admin email address>
-#
-# For example: run_all_win32.pl c:\log peter_pan@neverland.org
-
-use Net::SMTP;
-use File::Basename;
-use FileHandle;
-require POSIX;
-
-use lib "$ENV{ACE_ROOT}/bin";
-require run_all_list;
-
-# This is the module we will checkout, someday someone could define a
-# smaller module.
-$MODULE='ACE_wrappers';
-
-# The following are for redirecting execution results to temporary files.
-$exe_log_name='run_test.log'; # Name of the tempfile used.
-
-# If using 'sh'.
-$sh_cmd="c:/bin/sh ";
-$sh_redirection=" > $exe_log_name 2>&1";
-
-#if using '4nt', 4nt is not quite working yet.
-$four_nt_cmd="d:/Utils/4NT301/4NT.EXE ";
-$four_nt_redirection=" >& $exe_log_name";
-
-# Pick the one your like.
-$shell_invoke = $sh_cmd;
-$redirect_output = $sh_redirection;
-
-# We obtain our revision to report errors.
-#$REVISION='$Revision$';
-
-# Find out the command name.
-$CMD = basename($0);
-
-# Extract configuration information from command line.
-# TODO: Some validation and checking should be done here.
-$LOGDIR = $ARGV[0];
-$ADMIN = $ARGV[1];
-
-# When an error is found we try to die gracefully and send some email
-# to ADMIN.
-
-$disable_file = $LOGDIR . '/.disable';
-
-sub mywarn {
- local @msg = @_;
-
- # Need more error checking here.
-
- $smtp = Net::SMTP->new('mail.cs.wustl.edu');
- $smtp->mail( "$ADMIN" ); # sender's address
- $smtp->to("$ADMIN"); # recipient's address
- $smtp->data(); # Start the mail
-
- # Mail Header
- $smtp->datasend("To: $ADMIN\n");
- $smtp->datasend("Subject: Auto run results\n");
- $smtp->datasend("From: $ADMIN\n");
- $smtp->datasend("\n");
-
- # Now the message body
- $smtp->datasend ('The following message is brought to you by: ', "\n");
- $smtp->datasend ("$CMD, [ $REVISION ] for $BUILD on $CHECKOUT\n\n");
-
- local $m;
- foreach $m (@msg) {
- $smtp->datasend ("$m \n");
- }
-
- $smtp->datasend ("\nPlease check log files for more info\n");
-
- $smtp->dataend(); # Finish sending the mail
- $smtp->quit; # Close the SMTP connection
-}
-
-sub mydie {
- mywarn @_;
- print HIST 'FAILED', "\n";
- unlink $disable_file
- || die "cannot unlink disable file";
- exit 0;
-}
-
-### MAIN FUNCTION
-
-### MAIN FUNCTION
-
-$histfile = $LOGDIR . '/history';
-open(HIST, '>>' . $histfile)
- # Do not use 'mydie' to report the problem, it tries to use HIST....
- || die "cannot open history file \"$histfile\"\n";
-
-$date = localtime;
-
-print HIST $CMD, ': running at ', $date, ' ';
-
-if (-f $disable_file) {
- print HIST "DISABLED\n";
- exit 0;
-}
-
-open (DISABLE, '>' . $disable_file)
- || mydie "cannot open disable file";
-print DISABLE "auto_compile <$date> is running\n";
-close (DISABLE)
- || mydie "cannot close disable file";
-
-$LOGFILE = $LOGDIR . '/' . POSIX::strftime("%b%d_%Y.log", localtime);
-open(LOG, '>' . $LOGFILE)
- || mydie "cannot open log file";
-
-LOG->autoflush ();
-
-foreach $i (@RUN_LIST) {
- local @test_info = split (/\ \,\ /, $i);
- local $directory = $test_info[0];
- local $program = $test_info[1];
- print "$directory, $program\n";
-
- $date = localtime;
- print LOG "$CMD: =============================================\n";
- print LOG "$CMD: running $program in $directory at ", $date, "\n";
- local $subdir =
- $ENV{ACE_ROOT} . '/'. $directory;
- chdir ($subdir)
- || mydie "cannot chdir to $subdir";
-
- $run_error = 0;
-
- system ($shell_invoke . " " . $program . " " . $redirect_output);
-
- open (RUN, "$exe_log_name") || push @failures, "Can't open execution log file $exe_log_name\n";
-
- while (<RUN>) {
- print LOG $_;
- if (m/^Error/ || m/FAILED/ || m/EXCEPTION/) {
- $run_error = 1;
- }
- }
- if (close(RUN) == 0) {
- push @failures, "Error when closing log file $program in $directory";
- next;
- }
- $date = localtime;
- print LOG "$CMD: $program finished ", $date, "\n";
-
- if ($run_error != 0) {
- push @failures,
- "errors detected while running $program in $directory";
- }
-
- unlink ("$exe_log_name");
-}
-
-if ($#failures >= 0) {
- mydie @failures;
-}
-
-close(LOG)
- || mydie "cannot close LOGFILE";
-
-print HIST "OK\n";
-close(HIST)
- || mydie "cannot close history file";
-
-unlink $disable_file
- || mydie "cannot unlink disable file";
-
-exit 0;
diff --git a/bin/sets-manager.py b/bin/sets-manager.py
index 271e6006dec..c3dc10d842e 100755
--- a/bin/sets-manager.py
+++ b/bin/sets-manager.py
@@ -42,7 +42,7 @@ def parse_args ():
parser.error ("must specify either a branch or tag action")
if opts.project is None:
- parser.error ("must specity a project to branch")
+ parser.error ("must specify a project to branch")
return (opts, args)
@@ -63,12 +63,19 @@ def svn_copy (source, dest):
execute (command)
def svn_propset (path, prop, value):
+ temp = open ("sets_manager_props.tmp", 'w')
+ temp.write (value)
+ temp.close ()
+
command = " ".join ([opts.svn,
"propset",
prop,
- "'" + value + "'",
+ "-F sets_manager_props.tmp",
path])
execute (command)
+
+ os.unlink ("sets_manager_props.tmp")
+
def svn_mkdir (path):
command = " ".join ([opts.svn,
diff --git a/bin/split-cpp.pl b/bin/split-cpp.pl
index 400208ba22a..4ee950e8630 100755
--- a/bin/split-cpp.pl
+++ b/bin/split-cpp.pl
@@ -3,6 +3,8 @@ eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
& eval 'exec perl -w -S $0 $argv:q'
if 0;
+# $Id$
+#
# Splits C++ source files into one file per function or data item.
#
# Author: David L. Levine, with much help and encouragment from
diff --git a/bin/tao_orb_tests.lst b/bin/tao_orb_tests.lst
deleted file mode 100644
index cff21deb55e..00000000000
--- a/bin/tao_orb_tests.lst
+++ /dev/null
@@ -1,397 +0,0 @@
-# $Id$
-#
-# This is the list of run_test.pl's that need to be run by
-# auto_run_tests.pl.
-# Each line has its own test, and a test can be followed by a
-# list of configurations it does _not_ run on.
-#
-# Example: TAO\examples\foo\run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-#
-# NOTE: This file contains tests only for TAO's ORB. Please do not
-# include things like performance-tests, and examples here.
-
-TAO/tests/Oneway_Send_Timeouts/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !Win32
-TAO/tests/Oneway_Send_Timeouts/run_test.pl -blocking: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !Win32
-TAO/tests/Oneway_Send_Timeouts/run_test.pl -reactive: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !Win32
-TAO/tests/Abstract_Interface/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Bug_2702_Regression/run_test.pl: !FUZZ
-TAO/tests/ORB_Local_Config/Bunch/run_test.pl:
-TAO/tests/ORB_Local_Config/Bug_1459/run_test.pl: SSL !NO_DIOP !STATIC !ACE_FOR_TAO
-TAO/tests/ORB_Local_Config/Bug_2612/run_test.pl: !ST !STATIC !ACE_FOR_TAO
-TAO/tests/ORB_Local_Config/Bug_3049/run_test.pl: !ST !STATIC !ACE_FOR_TAO
-TAO/tests/ORB_Local_Config/Separation/run_test.pl:
-TAO/tests/ORB_Local_Config/Service_Dependency/run_test.pl: !ST !STATIC
-TAO/tests/ORB_Local_Config/Shared/run_test.pl:
-TAO/tests/ORB_Local_Config/Simple/run_test.pl:
-TAO/tests/ORB_Local_Config/Two_DLL_ORB/run_test.pl: !ST !STATIC
-TAO/tests/Param_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO
-TAO/tests/Param_Test/run_test_dii.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO
-TAO/tests/AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMI_Timeouts/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMH_Exceptions/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_ToFix_LynxOS_x86 !ACE_FOR_TAO
-TAO/tests/AMH_Oneway/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_ToFix_LynxOS_x86 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CORBA_e_Implicit_Activation/run_test.pl: CORBA_E_COMPACT
-TAO/tests/Collocation/run_test.pl: !ACE_FOR_TAO
-TAO/tests/Collocation_Tests/run_test.pl: !ST
-TAO/tests/Collocation_Opportunities/run_test.pl: !ST !CORBA_E_MICRO
-TAO/tests/Collocation_Oneway_Tests/run_test.pl: !ST !NO_MESSAGING !CORBA_E_MICRO
-TAO/tests/Collocation_Exception_Test/run_test.pl: !ST
-TAO/tests/CollocationLockup/run_test.pl: !ST !DISABLE_ToFix_LynxOS_x86 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/OctetSeq/run_test.pl: !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/OctetSeq/run_test1.pl: !STATIC !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/OctetSeq/run_test2.pl: !STATIC !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/BiDirectional/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !GIOP10 !DISABLE_BIDIR !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/BiDirectional/run_test_ipv6.pl: IPV6 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !GIOP10 !DISABLE_BIDIR !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/BiDirectional_NestedUpcall/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !GIOP10 !DISABLE_BIDIR !DISABLE_ToFix_LynxOS_PPC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/BiDirectional_DelayedUpcall/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !GIOP10 !DISABLE_BIDIR !DISABLE_ToFix_LynxOS_PPC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Leader_Followers/run_test.pl: !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Leader_Followers/run_test_mt.pl: !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Multiple_Inheritance/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Bug_933_Regression/run_test.pl:
-TAO/tests/Bug_1269_Regression/run_test.pl: !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1269_Regression/run_test.pl -quick : !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1495_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1535_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1568_Regression/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1670_Regression/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO
-TAO/tests/Bug_1270_Regression/run_test.pl: !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1270_Regression/run_test.pl -quick : !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1020_Basic_Regression/run_test.pl: !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !VxWorks !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1020_Basic_Regression/run_test.pl -quick : !Win32 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !VxWorks QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1020_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1020_Regression/run_test.pl -quick : !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1254_Regression/run_test.pl:
-TAO/tests/Bug_1330_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1361_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !IRIX !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1361_Regression/run_test.pl -quick : !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !IRIX QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1476_Test/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1482_Regression/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !VxWorks_RTP !QUICK !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/tests/Bug_1482_Regression/run_test.pl -quick : !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !VxWorks_RTP QUICK !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/tests/Bug_1551_Regression/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !IRIX !OpenVMS_IA64Crash !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1551_Regression/run_test.pl -quick: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !IRIX !OpenVMS_IA64Crash QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_1636_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_1639_Regression/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Bug_1676_Regression/run_test.pl:
-TAO/tests/Bug_2084_Regression/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2085_Regression/run_test.pl: !FIXED_BUGS_ONLY
-TAO/tests/Bug_2134_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2174_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2183_Regression/run_test.pl: !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2186_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2188_Regression/run_test.pl:
-TAO/tests/Bug_2201_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2234_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2243_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2289_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2319_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !FIXED_BUGS_ONLY
-TAO/tests/Bug_2328_Regression/run_test.pl:
-TAO/tests/Bug_2345_Regression/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Bug_2349_Regression/run_test.pl:
-TAO/tests/Bug_2356_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2417_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/Bug_2429_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2494_Regression/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2503_Regression/run_test.pl: !NO_MESSAGING !ST !CORBA_E_MICRO
-TAO/tests/Bug_2542_Regression/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Bug_2543_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ !FIXED_BUGS_ONLY !CORBA_E_MICRO
-TAO/tests/Bug_2560_Regression/run_test.pl: !ST !CORBA_E_MICRO
-TAO/tests/Bug_2593_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2595_Regression/run_test.pl:
-TAO/tests/Bug_2654_Regression/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2669_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2677_Regression/run_test.pl: !STATIC
-TAO/tests/Bug_2683_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2734_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2735_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2768_Regression/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2791_Regression/run_test.pl: !MINIMUM !CORBA_E_MICRO
-TAO/tests/Bug_2792_Regression/run_test.pl:
-TAO/tests/Bug_2795_Regression/run_test.pl:
-TAO/tests/Bug_2804_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2805_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2809_Regression/run_test.pl:
-TAO/tests/Bug_2826_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2869_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2844_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !FIXED_BUGS_ONLY
-TAO/tests/Bug_2909_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_2935_Regression/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2936_Regression/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LynxOS !STATIC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2953_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_2966_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_3000_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !FIXED_BUGS_ONLY
-TAO/tests/Bug_3042_Regression/run_test.pl:
-TAO/tests/Bug_3068_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_BIDIR !LabVIEW_RT !WinCE !FUZZ !ST
-TAO/tests/Bug_3108_Regression/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_3154_Regression/run_test.pl: !NO_IFR !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_3163_Regression/run_test.pl:
-TAO/tests/Bug_3171_Regression/run_test.pl: !ST !MINIMUM !NO_MESSAGING !CORBA_E_MICRO
-TAO/tests/Bug_3198_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_3251_Regression/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC
-TAO/tests/Bug_3276_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Bug_3299_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Bug_3315_Regression/run_test.pl: !ST
-TAO/tests/Bug_3321_Regression/run_test.pl: !ST
-TAO/tests/Bug_3430_Regression/run_test.pl:
-TAO/tests/Bug_3470_Regression/run_test.pl:
-TAO/tests/Bug_3471_Regression/run_test.pl:
-TAO/tests/Bug_3481_Regression/run_test.pl: !FIXED_BUGS_ONLY
-TAO/tests/Bug_3499_Regression/run_test.pl: !STATIC !FIXED_BUGS_ONLY
-TAO/tests/Bug_3506_Regression/run_test.pl:
-TAO/tests/DIOP/run_test.pl: !ST !NO_DIOP !ACE_FOR_TAO !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DIOP/run_test_ipv6.pl: IPV6 !ST !NO_DIOP !ACE_FOR_TAO !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Activate_Object_Multiple_ORBs/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/RTCORBA/Banded_Connections/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Client_Propagated/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Client_Protocol/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !IPV6 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Collocation/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Destroy_Thread_Pool/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Explicit_Binding/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !IPV6 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Linear_Priority/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !ACE_FOR_TAO !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/ORB_init/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Persistent_IOR/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Policies/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Policy_Combinations/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Priority_Inversion_With_Bands/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !ACE_FOR_TAO !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Private_Connection/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Profile_And_Endpoint_Selection/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !IPV6 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/RTMutex/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Server_Declared/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Server_Protocol/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !IPV6 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTCORBA/Thread_Pool/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/RTScheduling/VoidData/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/RTScheduling/Thread_Cancel/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST !OpenVMS_IA64Crash
-TAO/tests/RTScheduling/DT_Spawn/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/RTScheduling/Current/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST
-TAO/tests/RTScheduling/Scheduling_Interceptor/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !STATIC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/OBV/Any/run_test.pl: !CORBA_E_MICRO
-TAO/tests/OBV/Collocated/Forward/run_test.pl: !ST !LynxOS !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !FIXED_BUGS_ONLY
-TAO/tests/OBV/Factory/run_test.pl: !CORBA_E_MICRO
-TAO/tests/OBV/Forward/run_test.pl: !CORBA_E_MICRO
-TAO/tests/OBV/Simple/run_test.pl: !CORBA_E_MICRO
-TAO/tests/OBV/TC_Alignment/run_test.pl: !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/OBV/Truncatable/run_test.pl: !CORBA_E_MICRO
-TAO/tests/OBV/ValueBox/run_test.pl: !CORBA_E_MICRO
-TAO/tests/Ondemand_Write/run_test.pl:
-TAO/tests/HandleExhaustion/run_test.pl: !Win32 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Explicit_Event_Loop/run_test.pl:
-TAO/tests/Hello/run_test.pl:
-TAO/tests/Objref_Sequence_Test/run_test.pl:
-TAO/tests/ICMG_Any_Bug/run_test.pl !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/LongDouble/run_test.pl:
-TAO/tests/IPV6/run_test.pl: IPV6 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AlternateIIOP/run_test.pl: !DISABLE_ToFix_LynxOS_x86 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Optimized_Connection/run_test.pl: !DISABLE_ToFix_LynxOS_x86 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Cache_Growth_Test/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Muxing/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Muxed_GIOP_Versions/run_test.pl: !VxWorks !ST !DISABLE_ToFix_LynxOS_PPC !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/MT_Client/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/MT_BiDir/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !GIOP10 !DISABLE_BIDIR !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/File_IO/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/MT_Server/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/No_Server_MT_Connect_Test/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Connect_Strategy_Test/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-# DISABLED TAO/tests/Client_Leaks/run_test.pl: !VxWorks !ST !Tru64
-TAO/tests/Server_Leaks/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Smart_Proxies/Policy/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Smart_Proxies/run_test.pl:
-TAO/tests/Smart_Proxies/dtor/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Stack_Recursion/run_test.pl: !ST !DISABLE_ToFix_LynxOS_PPC !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Stack_Recursion/run_test.pl -quick : !ST !DISABLE_ToFix_LynxOS_PPC QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Faults/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CallbackTest/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/CallbackTest/run_test_ipv6.pl: IPV6 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CallbackTest/run_test_mixed_ip.pl: IPV6 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Crashed_Callback/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-# Disabled Crash On Write on Win32, see bugzilla 959 why !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Crash_On_Write/run_test.pl: !VxWorks !ST !Win32 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Nested_Upcall_Crash/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !OpenVMS_IA64Crash !QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Nested_Upcall_Crash/run_test.pl -quick: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !OpenVMS_IA64Crash QUICK !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/NestedUpcall/Simple/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/NestedUpcall/MT_Client_Test/run_test.pl: !ST !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/NestedUpcall/Triangle_Test/run_test.pl: !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Nested_Event_Loop/run_test.pl: !ACE_FOR_TAO
-TAO/tests/POA/Identity/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/POA/Forwarding/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Policies/run_test.pl: !CORBA_E_MICRO
-TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl: !CORBA_E_MICRO
-TAO/tests/POA/Persistent_ID/run_test.pl: !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Etherealization/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/POA/Object_Reactivation/run_test.pl: !ST !CORBA_E_MICRO
-TAO/tests/POA/POA_Destruction/run_test.pl:
-TAO/tests/POA/Default_Servant/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Single_Threaded_POA/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/POA/Non_Servant_Upcalls/run_test.pl:
-TAO/tests/POA/MT_Servant_Locator/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/POA/Bug_1592_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !FIXED_BUGS_ONLY
-TAO/tests/POA/Bug_2511_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Nested_Non_Servant_Upcalls/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/POA/Deactivate_Object/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Reference_Counting/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Current/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/wait_for_completion/run_test.pl:
-TAO/tests/POA/POAManagerFactory/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/POA/EndpointPolicy/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/EndpointPolicy/run_test_dh.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/EndpointPolicy/run_test_lh.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !VxWorks
-TAO/tests/POA/Adapter_Activator/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !SUNCC5_1 !ACE_FOR_TAO
-TAO/tests/POA/POA_BiDir/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_BIDIR
-TAO/tests/POA/DSI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Default_Servant2/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Explicit_Activation/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/FindPOA/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/POA/NewPOA/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/POA/On_Demand_Activation/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/On_Demand_Loading/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !KCC_Linux !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Reference_Counted_Servant/run_test.pl: !SUNCC5_1 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/Loader/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !KCC_Linux !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/POA/RootPOA/run_test.pl:
-TAO/tests/DiffServ/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/IORManipulation/run_test.pl:
-TAO/tests/IORManipulation/filter/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Policies/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Timeout/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/MT_Timeout/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !OpenVMS_IA64Crash !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Timed_Buffered_Oneways/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Single_Read/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Connection_Timeout/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO
-#TAO/tests/Connection_Failure/run_test.pl ! Timesout for good reasons !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/MProfile_Connection_Timeout/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Codec/run_test.pl
-TAO/tests/Bug_1693_Test/run_test.pl
-TAO/tests/IDL_Test/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO
-TAO/tests/ORB_init/run_test.pl:
-TAO/tests/ORB_destroy/run_test.pl:
-TAO/tests/ORB_shutdown/run_test.pl:
-TAO/tests/Server_Port_Zero/run_test.pl:
-TAO/tests/DSI_Gateway/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DSI_AMI_Gateway/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DSI_Gateway/run_exception_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DSI_AMI_Gateway/run_exception_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DSI_AMH/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DII_AMI_Forward/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DynAny_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/DynUnion_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/Connection_Purging/run_test.pl: !VxWorks !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Server_Connection_Purging/run_test.pl: !VxWorks !Win32 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/LongUpcalls/run_test.pl: !VxWorks !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Reliable_Oneways/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Blocking_Sync_None/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneway_Buffering/run_message_count.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneway_Buffering/run_buffer_size.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneway_Buffering/run_timeout.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneway_Buffering/run_timeout_reactive.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneway_Timeouts/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_MESSAGING !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMI_Buffering/run_message_count.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMI_Buffering/run_buffer_size.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMI_Buffering/run_timeout.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/AMI_Buffering/run_timeout_reactive.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Big_AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Big_Oneways/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Big_Twoways/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Big_Reply/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Big_Request_Muxing/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Oneways_Invoking_Twoways/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Queued_Message_Test/run_test.pl:
-TAO/tests/DLL_ORB/run_test.pl: !ST !STATIC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/InterOp-Naming/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Multiple/run_test.pl: !SUNCC5_1 !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Exposed_Policies/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_1559/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Collocated/Dynamic/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST
-TAO/tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Processing_Mode_Policy/Remote/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Dynamic/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/IORInterceptor/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !GIOP10
-TAO/tests/Portable_Interceptors/ForwardRequest/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !HAS_EXTENDED_FT_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/PICurrent/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/ORB_Shutdown/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/PolicyFactory/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_2088/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/Recursive_ORBInitializer/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/Register_Initial_References/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/Slot/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/AdvSlot/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/AdvSlotDblCpy/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Portable_Interceptors/AdvSlotExt/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Redirection/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_3079/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_3080/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Portable_Interceptors/Bug_2133/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/ORT/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS
-TAO/tests/Object_Loader/run_test.pl: !STATIC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Two_Objects/run_test.pl: !ST
-TAO/tests/TransportCurrent/Framework/run_test.pl -dynamic: !DISABLE_TRANSPORT_CURRENT !STATIC !DISABLE_INTERCEPTORS !MINIMUM !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/TransportCurrent/Framework/run_test.pl -static: !DISABLE_TRANSPORT_CURRENT STATIC !DISABLE_INTERCEPTORS !MINIMUM !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/TransportCurrent/IIOP/run_test.pl -dynamic: !DISABLE_TRANSPORT_CURRENT !STATIC !DISABLE_INTERCEPTORS !MINIMUM !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/TransportCurrent/IIOP/run_test.pl -static: !DISABLE_TRANSPORT_CURRENT STATIC !DISABLE_INTERCEPTORS !MINIMUM !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/UNKNOWN_Exception/run_test.pl:
-TAO/tests/Native_Exceptions/run_test.pl:
-TAO/tests/Servant_To_Reference_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-TAO/tests/Sequence_Unit_Tests/run_test.pl -noboost: !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Sequence_Unit_Tests/run_test.pl -boost: BOOST !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Typedef_String_Array/run_test.pl:
-TAO/tests/GIOP_Fragments/PMB_With_Fragments/run_test.pl: !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !VxWorks_RTP
-TAO/tests/CodeSets/simple/run_test.pl: !GIOP10 !STATIC !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Hang_Shutdown/run_test.pl: !ST !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Any/Recursive/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/tests/CSD_Strategy_Tests/TP_Test_1/run_test.pl: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl remote: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl collocated: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl remote_orbthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl remote_servants: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl remote_csdthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl remote_big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl remote: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl collocated: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl remote_orbthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl remote_servants: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl remote_csdthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl remote_big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl remote: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl collocated: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl remote_orbthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl remote_servants: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl remote_csdthreads: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl remote_big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl big: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_Dynamic/run_test.pl: !STATIC !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Strategy_Tests/TP_Test_Static/run_test.pl: !ST !CORBA_E_MICRO !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/CSD_Collocation/run_test.pl: !ST !CORBA_E_COMPACT !CORBA_E_MICRO !MINIMUM !LynxOS
-TAO/tests/Permanent_Forward/run_test.pl:
-TAO/tests/Parallel_Connect_Strategy/run_test.pl: !QUICK !LabVIEW_RT !WinCE !FUZZ !VxWorks55
-TAO/tests/Parallel_Connect_Strategy/run_test.pl -quick : QUICK !LabVIEW_RT !WinCE !FUZZ !VxWorks55
-TAO/tests/DII_Collocation_Tests/oneway/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/DII_Collocation_Tests/twoway/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/Compression/run_test.pl: ZLIB
-TAO/tests/Collocated_Forwarding/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/tests/ZIOP/run_test.pl: ZIOP ZLIB
-TAO/DevGuideExamples/BiDirectionalGIOP/run_test.pl: !MINIMUM !CORBA_E_MICRO
-TAO/DevGuideExamples/GettingStarted/run_test.pl: !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/LocalObjects/Messenger/run_test.pl: !LabVIEW_RT !WinCE !FUZZ
-TAO/DevGuideExamples/LocalObjects/ServantLocator/run_test.pl: !MINIMUM !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP !CORBA_E_COMPACT
-TAO/DevGuideExamples/Messaging/AMIcallback/run_test.pl: !NO_MESSAGING !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/Messaging/RelativeRoundtripTimeout/run_test.pl: !NO_MESSAGING !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/PortableInterceptors/Auth/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/PortableInterceptors/IOR/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/PortableInterceptors/PICurrent/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/PortableInterceptors/SimpleCodec/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/RTCORBA/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !STATIC !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/SmartProxies/run_test.pl: !NO_SMARTPROXIES !NO_MESSAGING !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/Multithreading/Reactive/run_test.pl: !STATIC !MINIMUM !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP !LynxOS
-TAO/DevGuideExamples/Multithreading/ThreadPerConnection/run_test.pl: !ST !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/Multithreading/ThreadPool/run_test.pl: !ST !MINIMUM !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/ValueTypes/Messenger/run_test.pl: !MINIMUM !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/ValueTypes/Bank/run_test.pl: !MINIMUM !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
-TAO/DevGuideExamples/AMH/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO
-TAO/DevGuideExamples/AMH_AMI/run_test.pl: !NO_MESSAGING !LabVIEW_RT !WinCE !FUZZ !CORBA_E_MICRO !VxWorks !VxWorks_RTP
diff --git a/bin/tao_other_tests.lst b/bin/tao_other_tests.lst
deleted file mode 100644
index 0b0cba9eabe..00000000000
--- a/bin/tao_other_tests.lst
+++ /dev/null
@@ -1,231 +0,0 @@
-# $Id$
-#
-# This is the list of run_test.pl's that need to be run by
-# auto_run_tests.pl.
-# Each line has its own test, and a test can be followed by a
-# list of configurations it does _not_ run on.
-#
-# Example: TAO\examples\foo\run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST
-#
-# NOTE: This file contains examples and other service level test for
-# TAO's. Please do not include regular tests here.
-TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: !LynxOS !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: !ST !OpenBSD !Win32 !ACE_FOR_TAO !OpenVMS !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/Single_Threaded/run_test.pl -n 1000: !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/Thread_Pool/run_test.pl -n 1000: !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/Thread_Per_Connection/run_test.pl -n 1000: !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/DSI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/DII/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Latency/Deferred/run_test.pl: !QNX !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/Single_Threaded/run_test.pl: !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/Thread_Pool/run_test.pl: !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/Thread_Per_Connection/run_test.pl: !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/DSI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/DII/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Sequence_Latency/Deferred/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Throughput/run_test.pl: !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/POA/Object_Creation_And_Registration/run_test.pl: !Win32 !ACE_FOR_TAO !OpenVMS !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/RTCorba/Oneways/Reliable/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/performance-tests/Protocols/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !Win32 !ACE_FOR_TAO !OpenVMS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/examples/Simple/bank/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO
-TAO/examples/Simple/grid/run_test.pl: !NO_MESSAGING !CORBA_E_MICRO
-TAO/examples/Simple/time/run_test.pl: !NO_MESSAGING !Win32 !CORBA_E_MICRO
-TAO/examples/Simple/time-date/run_test.pl: !ST !STATIC !NO_MESSAGING !Win32 !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/Quoter/run_test.pl: !DISABLE_ToFix_LynxOS_PPC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/Load_Balancing/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !SUNCC5_1 !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/AMH/Sink_Server/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !Win32 !LynxOS !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/OBV/Typed_Events/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/examples/Buffered_AMI/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO
-TAO/orbsvcs/tests/AVStreams/Pluggable/run_test.pl -p TCP,UDP,RTP_UDP: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/AVStreams/Pluggable/run_test.pl -p SCTP_SEQ: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO SCTP !LynxOS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LynxOS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/AVStreams/Multicast/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LynxOS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-#TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-#TAO/orbsvcs/tests/AVStreams/Latency/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl -p TCP,UDP,RTP_UDP: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl -p SCTP_SEQ: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO SCTP !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/run_test.pl -p TCP,UDP,RTP_UDP: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/run_test.pl -p SCTP_SEQ: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO SCTP !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/AVStreams/Simple_Three_Stage/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/AVStreams/Asynch_Three_Stage/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Bug_1334_Regression/run_test.pl: !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_1393_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_1395_Regression/run_test.pl: !LynxOS !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_MESSAGING !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_1436_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_1437_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_MESSAGING !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_1630_Regression/run_test.pl: !NO_IFR !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2074_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !NO_MESSAGING !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2247_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2248_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2285_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2285_Regression/run_test2.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2287_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2316_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !SUNCC5_1 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2377_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2615_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2777_Regression/run_test.pl: !MINIMUM !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2926_Regression/run_test.pl: !ST !NO_MESSAGING !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LynxOS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3215_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3216_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3418_Regression/run_test.pl: !ST SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3486_Regression/run_test.pl: !NO_MESSAGING !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LynxOS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/CosEvent/Basic/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/HTIOP/Hello/run_test.pl: !NO_UUID !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/HTIOP/AMI/run_test.pl: !NO_UUID !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/HTIOP/BiDirectional/run_test.pl: !NO_UUID !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Simple_Naming/run_test.pl: !ST !SUNCC5_1 !NO_MESSAGING !ACE_FOR_TAO !LynxOS !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Simple_Naming/run_test_ssl_persist_multiLevel.pl: !ST !SUNCC5_1 !NO_MESSAGING !ACE_FOR_TAO !LynxOS !CORBA_E_MICRO !VxWorks !VxWorks_RTP SSL !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Simple_Naming/run_test_ffp.pl: !ST !SUNCC5_1 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_MESSAGING !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Redundant_Naming/run_test.pl: !ST !SUNCC5_1 !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Trading/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !SUNCC5_1 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Trading/Interpreter/run_test.pl: !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Event/Basic/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Event/Performance/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Event/UDP/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !NO_DIOP !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/EC_Throughput/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_ToFix_LynxOS_x86 !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/EC_MT_Mcast/run_test.pl:!ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Event/Mcast/RTEC_MCast_Federated/run_test.pl: !NO_MCAST !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Event/Mcast/RTEC_MCast_Federated/run_test.pl -ipv6: IPV6 !NO_MCAST !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/run_test.pl:!MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/FaultTolerance/IOGR/run_test.pl:!MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/FaultTolerance/IOGRManipulation/run_test.pl:!MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2137_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Application_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/IDL3_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/IFR_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Latency_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Persistence_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Union_Forward_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Bug_3155_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Bug_3174_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/Bug_3495_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !NO_IFR !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl both_ir: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl nestea_ir: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane_ir: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl persistent_ir: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl nt_service_ir: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR Win32 !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl shutdown: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !LynxOS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/run_test.pl perclient: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/NameService/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !LynxOS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/scale/run_test.pl -servers 5 -objects 5: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/ImplRepo/Bug_689_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/ImplRepo/Bug_2604_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ST !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/examples/CosEC/TypedSimple/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_IFR !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/CosEvent/Timeout/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !NO_MESSAGING !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Log/Basic_Log_Test/run_test.pl: !NO_MESSAGING !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.reactive.conf: !ST !NO_MESSAGING !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Notify/Basic/run_test_ipv6.pl notify.reactive.conf: IPV6 !ST !NO_MESSAGING !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.mt.conf: !ST !NOTIFY !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Basic/run_test_ipv6.pl notify.mt.conf: IPV6 !ST !NOTIFY !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.rt.conf: !ST !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Basic/run_test_ipv6.pl notify.rt.conf: IPV6 !ST !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Blocking/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Bug_1385_Regression/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Bug_2415_Regression/run_test.pl: !ST !NO_MESSAGING !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Bug_2561_Regression/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Bug_3252_Regression/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Notify/Discarding/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/MT_Dispatching/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Ordering/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Timeout/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/performance-tests/Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !IRIX !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/performance-tests/RedGreen/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Structured_Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/Notify/XML_Persistence/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/Persistent_POA/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/EC_Mcast/run_test.pl: !NO_MCAST !NO_MESSAGING !DISABLE_ToFix_LynxOS_PPC !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-# FAILS 'TAO/orbsvcs/tests/EC_Multiple/run_test.pl !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-# NO REDIRECTION TAO/examples/Simple/echo/run_test.pl < Echo.idl !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Property/run_test.pl: !NO_MESSAGING !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3387_Regression/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-#HANGS TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-#HANGS'TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane_ir !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Bug_1107_Regression/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Bug_2908_Regression/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !FIXED_BUGS_ONLY !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Big_Request/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/BiDirectional/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Callback/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: !ST SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/MT_IIOP_SSL/run_test.pl: !ST SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-#Bug 1647. run_test_harsh.pl takes 5 minutes; but there aren't many SSL builds !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test_harsh.pl: !ST SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/Crash_Test/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/InsecureReferences/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Security/EndpointPolicy/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Miop/McastHello/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !SUNCC5_1 !NO_MCAST !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-# The following 2 tests use dynamic loading to change the default reactor on Windows !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !STATIC !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/LoadBalancing/LoadMonitor/CPU/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !NO_LOADAVG !DISABLE_ToFix_LynxOS_x86 !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/examples/RTCORBA/Activity/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/RTScheduling/Fixed_Priority_Scheduler/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !STATIC !ST !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/examples/RTScheduling/MIF_Scheduler/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !DISABLE_INTERCEPTORS !STATIC !ST !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/examples/ior_corbaloc/run_test.pl: !NO_MESSAGING !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/utils/nslist/run_test.pl: !ST !SUNCC5_1 !NO_MESSAGING !ACE_FOR_TAO !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/BiDir_CORBALOC/run_test.pl: !NO_MESSAGING !ACE_FOR_TAO !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/IOR_MCast/run_test_ipv6.pl: IPV6 !NO_MCAST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2709_Regression/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !ST !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2800_Regression/run_test.pl: !ST !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2800_Regression/run_test_federated.pl: !ST !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/examples/Notify/Filter/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/examples/Notify/Subscribe/run_test.pl: !ST !NO_MESSAGING !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2925_Regression/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2925_Regression/run_test_ipv6.pl: IPV6 !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_2377_Regression/run_test_ipv6.pl: IPV6 !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3444_Regression/run_test.pl: !NO_DIOP !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3444_Regression/run_test.pl --sciop: SCTP !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3444_Regression/run_test_ipv6.pl: IPV6 !NO_DIOP !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Bug_3444_Regression/run_test_ipv6.pl --sciop: IPV6 SCTP !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !VxWorks !VxWorks_RTP !LynxOS !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/PluggableUDP/tests/SimplePerformance/run_test_ipv6.pl: IPV6 !QNX !NO_DIOP !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/PluggableUDP/tests/SimplePerformance/run_test.pl: !QNX !NO_DIOP !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/PluggableUDP/tests/Performance/run_test.pl: !QNX !ST !NO_DIOP !ACE_FOR_TAO !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/examples/PluggableUDP/tests/Performance/run_test_ipv6.pl: IPV6 !QNX !ST !NO_DIOP !ACE_FOR_TAO !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Notify/MC/Control/run_test.pl: !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Notify/MC/MonitorControlExt/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/tests/unit/Notify/MC/MonitorManager/run_test.pl: !ST !STATIC !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Notify/MC/NotificationServiceMonitor/run_test.pl: !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Notify/MC/Statistic_Registry/run_test.pl: !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/unit/Notify/MC/Statistic/run_test.pl: !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Notify/MC/run_test.pl: !ST !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/tests/Simple_Naming/run_test_ipv6.pl: IPV6 !ST !SUNCC5_1 !NO_MESSAGING !ACE_FOR_TAO !LynxOS !CORBA_E_MICRO !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/EventServices/OMG_Basic/run_test.pl: !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/OMG_SupplierSideEC/run_test.pl: !MINIMUM !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/OMG_TypedEC/run_test.pl: !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !NO_IFR !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/RTEC_Basic/run_test.pl: !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/RTEC_Federated/run_test.pl: !ST !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/RTEC_Filter/run_test.pl: !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/EventServices/RTEC_MCast_Federated/run_test.pl: !NO_MCAST !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/ImplRepo/run_test.pl: !MINIMUM !STATIC !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !VxWorks !VxWorks_RTP !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/EventSequence/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/Filtering/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/Messenger/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/OfferSubscriptions/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/QoSProperties/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/SupplierSideNC/run_test.pl: !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NotifyService/RTNotify/run_test.pl: !ST !MINIMUM !STATIC !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/Security/ParticipatingApp/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/Security/PolicyControllingApp/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/Security/SecurityUnawareApp/run_test.pl: SSL !STATIC !DISABLE_INTERCEPTORS !VxWorks !VxWorks_RTP !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/NamingService/Messenger/run_test.pl: !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NamingService/Naming_Client/run_test.pl: !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NamingService/Naming_Context_Ext/run_test.pl: !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NamingService/Naming_Server/run_test.pl: !ST !NO_MCAST !NO_MESSAGING !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/NamingService/corbaloc_Messenger/run_test.pl: !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/NamingService/corbaname_Messenger/run_test.pl: !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/ValueTypes/Notify/run_test.pl: !ST !MINIMUM !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !LabVIEW_RT !WinCE !FUZZ !LynxOS
-TAO/orbsvcs/DevGuideExamples/InterfaceRepo/run_test.pl: !MINIMUM !NO_IFR !VxWorks !VxWorks_RTP !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LabVIEW_RT !WinCE !FUZZ
-TAO/orbsvcs/DevGuideExamples/PortableInterceptors/PICurrent_NameService/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS !LabVIEW_RT !WinCE !FUZZ !VxWorks !VxWorks_RTP !LynxOS
diff --git a/configure.ac b/configure.ac
index 56ab10d88c4..00d7a536b5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,10 +14,7 @@ dnl particularly with M4, do not modify this macro definition.
define([ACE_VERSION], patsubst(esyscmd(grep ACE_VERSION ace/Version.h | sed 's/.*\" *\(.*\)\".*/\1/'), [
]))dnl remove newline ending every `esyscmd' answer
-AC_INIT([ACE],
- ACE_VERSION,
- [ace-bugs@cs.wustl.edu],
- [ace])
+AC_INIT([ACE],[ACE_VERSION],[ace-bugs@cs.wustl.edu],[ace])
AC_REVISION([$Id$])
@@ -39,7 +36,7 @@ additional details.])
dnl Require GNU Autoconf 2.58 or better. Previous versions did not
dnl correctly support HP-UX.
-AC_PREREQ([2.58])
+AC_PREREQ(2.61)
dnl Autoconf explicitly forbids patterns containing "_AC_". This causes
dnl a problem when using MPC to generate the Automake ".am" files since
@@ -135,6 +132,9 @@ AC_LANG([C++])
dnl If we are cross compiling disable certain things in the Makefiles.
AM_CONDITIONAL([ACE_CROSS_COMPILED], [test X$cross_compiling = Xyes])
+dnl If we are cross compiling disable certain things in the Makefiles.
+AM_CONDITIONAL([BUILD_CROSS_COMPILE], [test X$cross_compiling = Xyes])
+
dnl Look for the best awk-style program available.
AC_PROG_AWK
@@ -368,9 +368,6 @@ AC_DISABLE_STATIC
dnl Enable Libtool module support
AC_LIBTOOL_DLOPEN
-dnl Enable support for "clean" DLLs.
-AC_LIBTOOL_WIN32_DLL
-
dnl
dnl ###### Relies on the as of yet unreleased Libtool 1.6 distribuion ###
dnl
@@ -764,7 +761,7 @@ dnl Check if XTI headers define TCP macros that conflict with netinet/tcp.h's
# endif /* ACE_HAS_XTI */
# if !defined (ACE_LACKS_NETINET_TCP_H)
# include /**/ <netinet/tcp.h>
-# endif /* !ACE_LACKS_NETIINET_TCP_H */
+# endif /* !ACE_LACKS_NETINET_TCP_H */
]],[[
int a = 0;
]])],[
@@ -1004,12 +1001,6 @@ AC_CHECK_HEADER([new],
ACE_CHECK_HAS_HEADERS([new.h])
])
-dnl ace/OS.i can #include <cstring>,not #include <cstring.h>
-dnl "cstring" is the correct form.
-dnl TODO: Double check the above comment.
-AC_CHECK_HEADER([cstring],
- [AC_DEFINE([ACE_HAS_GNU_CSTRING_H])],)
-
AC_CHECK_HEADER([memory],,)
dnl Check for availablity of "new style" C++ stream headers
@@ -1568,48 +1559,6 @@ ACE_CACHE_CHECK([for sys_siglist],
])
],[AC_DEFINE([ACE_HAS_SYS_SIGLIST])],)
-dnl Check for sys_errlist
-dnl TODO: Check whether this variable can be defined somewhere else.
-ACE_CACHE_CHECK([for sys_errlist],
- [ace_cv_lib_posix_sys_errlist],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <errno.h>
-#if !defined (_sys_errlist)
-# define _sys_errlist sys_errlist
-#endif
- ]],[[
- void* vp = (void*) &_sys_errlist;
- ]])],[
- ace_cv_lib_posix_sys_errlist=yes
- ],[
- dnl Check if sys_errlist is a global variable in a library
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <stdio.h>
-#include <errno.h>
-
-#if !defined (_sys_errlist)
-# define _sys_errlist sys_errlist
-#endif
-
-extern const char * const _sys_errlist[];
- ]],
- [[
- void* vp = (void*) &_sys_errlist;
- ]])],
- [
- ace_cv_lib_posix_sys_errlist=yes
- ],
- [
- ace_cv_lib_posix_sys_errlist=no
- ])
- ])
- ],[AC_DEFINE([ACE_HAS_SYS_ERRLIST])],)
-
-dnl Save the cache for debugging purposes
-AC_CACHE_SAVE
-
dnl SECTION 9: checks for compiler characteristics
@@ -2114,62 +2063,6 @@ ACE_CACHE_CHECK([for new style C++ include file support],
AC_DEFINE([ACE_HAS_STRING_CLASS])
],)
-AC_CHECK_HEADER([map],
-[
- AC_CHECK_HEADER([net/if.h],
- [
- ACE_CACHE_CHECK([if STL map class conflicts with <net/if.h> map struct],
- [ace_cv_header_stl_map_conflict],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <map>
-#include <net/if.h>
- ]],[[
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::map<char, char> ace_map;
-#else
- map<char, char> ace_map;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- ]])],[
- ace_cv_header_stl_map_conflict=no
- ],[
- ace_cv_header_stl_map_conflict=yes
- ])
- ],[AC_DEFINE([ACE_HAS_STL_MAP_CONFLICT])],)
- ],)
-],)
-
-AC_CHECK_HEADER([queue],
-[
- AC_CHECK_HEADER([netinet/in.h],
- [
- ACE_CACHE_CHECK([if STL queue class conflicts with <netinet/in.h> queue struct],
- [ace_cv_header_stl_queue_conflict],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <queue>
-#include <netinet/in.h>
- ]],[[
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::queue<char> ace_queue;
-#else
- queue<char> ace_queue;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- ]])],[
- ace_cv_header_stl_queue_conflict=no
- ],[
- ace_cv_header_stl_queue_conflict=yes
- ])
- ],[AC_DEFINE([ACE_HAS_STL_QUEUE_CONFLICT])],)
- ],)
-],)
-
dnl Check whether platform supports the standard C++ library
dnl TODO: For now, check whether headers <new>, <iomanip>
dnl and <memory> exist; is there a better way?
@@ -3040,6 +2933,27 @@ if test "$ac_cv_func__InterlockedIncrement" = yes &&
AC_DEFINE([ACE_HAS_INTRINSIC_INTERLOCKED])
fi
+dnl Check for GCC atomic builtin
+AC_MSG_CHECKING([for GCC atomic builtin])
+AC_LINK_IFELSE([AC_LANG_PROGRAM(
+ [[
+ ]],
+ [[
+ volatile unsigned long val = 10;
+ unsigned long retval = __sync_sub_and_fetch(&val, 1);
+ retval = __sync_add_and_fetch(&val, 1);
+ retval = __sync_fetch_and_sub(&val, 1);
+ retval = __sync_fetch_and_add(&val, 1);
+ ]])],
+ [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([ACE_HAS_GCC_ATOMIC_BUILTINS], 1,
+ [Define to 1 if compiler has builtin atomic support])
+ ],
+ [
+ AC_MSG_RESULT([no])
+ ])
+
ACE_CHECK_LACKS_FUNCS(access)
ACE_CHECK_LACKS_FUNCS(alphasort)
@@ -3109,6 +3023,8 @@ ACE_CHECK_HAS_FUNCS(getifaddrs)
ACE_CHECK_LACKS_FUNCS(getegid geteuid getgid)
+ACE_CHECK_LACKS_FUNCS(setenv unsetenv)
+
ACE_CHECK_LACKS_FUNCS(getopt)
if test $ac_cv_func_getopt = yes; then
AC_CHECK_DECL([getopt],
@@ -3366,11 +3282,10 @@ if test "$ac_cv_func_strnlen" = yes; then
[#include <string.h>])
fi
+ACE_CHECK_HAS_FUNCS(strsignal)
+
ACE_CHECK_LACKS_FUNCS(strchr)
-# believe it or not, both ACE_LACKS_STRERROR and ACE_HAS_STRERROR
-# feature test macros are currently used.
-ACE_CHECK_HAS_FUNCS(strerror)
ACE_CHECK_LACKS_FUNCS(strerror)
ACE_CHECK_LACKS_FUNCS(strftime)
@@ -3496,6 +3411,7 @@ main ()
AC_CHECK_FUNC([gethostbyaddr],,)
+if test "$cross_compiling" != yes; then
case "$host" in
*linux*)
dnl Linux Event Poll
@@ -3548,6 +3464,7 @@ main ()
[])
;;
esac
+fi
AC_CHECK_FUNC([gethrtime])
if test $ac_cv_func_gethrtime = "yes"; then
@@ -3838,7 +3755,7 @@ dnl if test "$ace_cv_shm_open_requires_one_slash" = yes; then
dnl AC_DEFINE([ACE_SHM_OPEN_REQUIRES_ONE_SLASH])
dnl fi
-ACE_CHECK_HAS_FUNCS(snprintf)
+ACE_CHECK_LACKS_FUNCS(vsnprintf)
ACE_CHECK_LACKS_FUNCS(tempnam truncate)
@@ -4657,11 +4574,11 @@ if test "$ace_user_enable_reentrant_funcs" = yes; then
#endif
]],
[[
- const char * name;
+ const char * name = 0;
struct passwd * pwent;
- char * buffer;
+ char * buffer = 0;
int buflen;
- struct passwd * result;
+ struct passwd * result = 0;
int status = getpwnam_r (name, pwent, buffer, buflen, &result);
]])],
@@ -4670,10 +4587,11 @@ if test "$ace_user_enable_reentrant_funcs" = yes; then
AC_DEFINE([ACE_HAS_POSIX_GETPWNAM_R])
fi
],
- [
+ [
dnl Nothing to do!
- ])
- ],
+ echo
+ ]),
+ ],,
[AC_DEFINE([ACE_LACKS_PWD_REENTRANT_FUNCTIONS])])
AC_CHECK_FUNC([ctime_r],,)
@@ -6034,85 +5952,6 @@ dnl
dnl SECTION 13: checks for system services
dnl
-dnl Check if platform defines ctime() as a macro
-ACE_CACHE_CHECK([for ctime() macro],
- [ace_cv_feature_have_ctime_macro],
- [
- AC_EGREP_CPP([ACE_CTIME_MACRO],
- [
-#include <time.h>
-
-#if defined (ctime)
- ACE_CTIME_MACRO
-#endif
- ],
- [
- ace_cv_feature_have_ctime_macro=yes
- ],
- [
- ace_cv_feature_have_ctime_macro=no
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_CTIME])],)
-
-dnl Check if platform defines ctime_r, asctime_r, rand_r or getpwnam_r
-dnl as macros.
-ACE_CACHE_CHECK([for reentrant function macros],
- [ace_cv_feature_has_broken_r_routines],
- [
- AC_EGREP_CPP([ACE_R_MACROS],
- [
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-
-#include <time.h>
-
-#if !defined (ACE_LACKS_PWD_H)
-# include <pwd.h>
-#endif
-
-#if defined (ctime_r) || \
- defined (asctime_r) || \
- defined (rand_r) || \
- defined (getpwnam_r)
- ACE_R_MACROS
-#endif
- ],
- [
- ace_cv_feature_has_broken_r_routines=yes
- ],
- [
- ace_cv_feature_has_broken_r_routines=no
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_R_ROUTINES])],)
-
-dnl Check if platform defines sig{empty,fill,add,del}set as macros
-ACE_CACHE_CHECK([for sig{empty fill add del}set macros],
- [ace_cv_feature_have_sig_macros],
- [
- AC_EGREP_CPP([ACE_SIG_MACROS],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <signal.h>
-
-#if defined (sigemptyset) || \
- defined (sigfillset) || \
- defined (sigaddset) || \
- defined (sigdelset) || \
- defined (sigismember)
- ACE_SIG_MACROS
-#endif
- ],
- [
- ace_cv_feature_have_sig_macros=yes
- ],
- [
- ace_cv_feature_have_sig_macros=no
- ])
- ], [AC_DEFINE([ACE_HAS_SIG_MACROS])],)
-
dnl Check for open() mode masks
ACE_CACHE_CHECK([for open() mode masks],
[ace_cv_feature_have_open_mode_masks],[
@@ -7168,7 +7007,7 @@ elif test "$ace_cv_lib_signal_vi1_2" != yes &&
test "$ace_cv_lib_struct_sigaction_vv1_handler" != yes &&
test "$ace_cv_lib_struct_sigaction_vi1a2_handler" != yes &&
test "$ace_cv_lib_struct_sigaction_va1_handler" = yes; then
- AC_DEFINE([ACE_HAS_LYNXOS_SIGNALS])
+ AC_DEFINE([ACE_HAS_LYNXOS4_SIGNALS])
AC_DEFINE([ACE_HAS_TANDEM_SIGNALS])
elif test "$ace_cv_lib_signal_vi1_2" = yes &&
test "$ace_cv_lib_signal_vi1_ret" = yes &&
diff --git a/contrib/FaCE/CE_ARGV.CPP b/contrib/FaCE/CE_ARGV.cpp
index 6b97a30b640..2da41912678 100644
--- a/contrib/FaCE/CE_ARGV.CPP
+++ b/contrib/FaCE/CE_ARGV.cpp
@@ -1,7 +1,6 @@
// $Id$
-#include "CE_ARGV.H"
-
+#include "CE_ARGV.h"
CE_ARGV::CE_ARGV(wchar_t* cmdLine)
: ce_argv_(0)
diff --git a/contrib/FaCE/CE_ARGV.H b/contrib/FaCE/CE_ARGV.h
index 716887ae1a8..a4cf2b1aaad 100644
--- a/contrib/FaCE/CE_ARGV.H
+++ b/contrib/FaCE/CE_ARGV.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
//=============================================================================
/**
- * @file CE_ARGV.H
+ * @file CE_ARGV.h
*
* $Id$
*
@@ -13,6 +13,7 @@
#define CE_ARGV_H
#include <windows.h>
+#include <ctype.h>
/**
@@ -51,7 +52,7 @@ public:
/**
* Returns the 'char**' that contains the converted command line parameters.
*/
- wchar_t** const argv(void);
+ wchar_t** argv(void);
private:
/**
@@ -82,7 +83,7 @@ inline int CE_ARGV::argc()
}
-inline wchar_t** const CE_ARGV::argv()
+inline wchar_t** CE_ARGV::argv()
{
return ce_argv_;
}
diff --git a/contrib/FaCE/CE_Screen_Output.h b/contrib/FaCE/CE_Screen_Output.h
index 9f29c9cf30f..6f26d48d09c 100644
--- a/contrib/FaCE/CE_Screen_Output.h
+++ b/contrib/FaCE/CE_Screen_Output.h
@@ -11,6 +11,7 @@
#define CE_Screen_Output_h
#include <windows.h>
+#include <stdio.h>
const wchar_t endl[] = L"\r\n";
const wchar_t tab[] = L"\t";
diff --git a/contrib/FaCE/FaCE.cpp b/contrib/FaCE/FaCE.cpp
index 75a982564bd..b1d61ec0796 100644
--- a/contrib/FaCE/FaCE.cpp
+++ b/contrib/FaCE/FaCE.cpp
@@ -4,7 +4,7 @@
#ifdef NO_ACE
-#include "CE_ARGV.H"
+#include "CE_ARGV.h"
#else
@@ -21,7 +21,7 @@
// This utility does not use ACE, and shouldn't.
//FUZZ: disable check_for_lack_ACE_OS
-ACE_TCHAR* g_ParameterFileName = ACE_TEXT("Parameters.txt");
+const ACE_TCHAR* g_ParameterFileName = ACE_TEXT("Parameters.txt");
/**
* This simple and small class manages user-input command line
@@ -455,15 +455,15 @@ HWND CreateRpCommandBar(HWND hwnd)
}
// Mesage handler for the About box.
-LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
{
SHINITDLGINFO shidi;
- ACE_TCHAR* copyrightNote = ACE_TEXT(
-"ACE® and TAO® are copyrighted by Dr. Douglas C. Schmidt and Center for Distributed Object \
-Computing at Washington University,© 1993-2002, all rights reserved. \
-FaCE is copyrighted by Object Computing, Inc.,© 2002,\n all rights reserved.\n\
-See License.txt for more information.");
+ const ACE_TCHAR* copyrightNote =
+ACE_TEXT("ACE and TAO are copyrighted by Dr. Douglas C. Schmidt and Center for Distributed Object") \
+ACE_TEXT("Computing at Washington University, 1993-2002, all rights reserved.") \
+ACE_TEXT("FaCE is copyrighted by Object Computing, Inc., 2002,\n all rights reserved.\n") \
+ACE_TEXT("See License.txt for more information.");
switch (message)
{
@@ -488,7 +488,7 @@ See License.txt for more information.");
}
-LRESULT CALLBACK CommandLine(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK CommandLine(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
{
int wmId;
int wmEvent;
@@ -529,7 +529,7 @@ LRESULT CALLBACK CommandLine(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPar
}
-LRESULT CALLBACK SaveFileName(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK SaveFileName(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
{
int wmId;
int wmEvent;
@@ -617,7 +617,7 @@ LRESULT CALLBACK SaveFileName(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa
}
-LRESULT CALLBACK FileError(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK FileError(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
{
switch (message)
{
@@ -637,7 +637,7 @@ LRESULT CALLBACK FileError(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam
}
-LRESULT CALLBACK FileExist(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK FileExist(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
{
switch (message)
{
diff --git a/contrib/FaCE/FaCE.mpc b/contrib/FaCE/FaCE.mpc
index 6e1c9205a13..6159abcf3aa 100644
--- a/contrib/FaCE/FaCE.mpc
+++ b/contrib/FaCE/FaCE.mpc
@@ -7,7 +7,7 @@ project: aceexe {
// in MPC builds
requires += dummy_label
requires += wince
- lit_libs += aygshell
+ lit_libs += aygshell commctrl
Source_Files {
FaCE.cpp
diff --git a/contrib/FaCE/FaCENOACE.mpc b/contrib/FaCE/FaCENOACE.mpc
index 6868e78bc07..9eb444a1e27 100644
--- a/contrib/FaCE/FaCENOACE.mpc
+++ b/contrib/FaCE/FaCENOACE.mpc
@@ -5,12 +5,12 @@ project: vc_warnings {
exename = FaCENOACE
requires += wince
macros += NO_ACE
- lit_libs += aygshell
+ lit_libs += aygshell commctrl
Source_Files {
FaCE.cpp
Main.cpp
- CE_ARGV.CPP
+ CE_ARGV.cpp
CE_Screen_Output.cpp
}
}
diff --git a/contrib/FaCE/Main.cpp b/contrib/FaCE/Main.cpp
index 84e041db5f8..06947701d2e 100644
--- a/contrib/FaCE/Main.cpp
+++ b/contrib/FaCE/Main.cpp
@@ -13,7 +13,7 @@ extern BOOL InitInstance (HINSTANCE, int);
extern void InitSetup();
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, ACE_TCHAR* lpCmdLine, int nCmdShow)
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, ACE_TCHAR*, int nCmdShow)
{
MSG msg;
HACCEL hAccelTable;
diff --git a/contrib/FaCE/newres.h b/contrib/FaCE/newres.h
index 0fdbcaa3bb0..3808b7b22a1 100644
--- a/contrib/FaCE/newres.h
+++ b/contrib/FaCE/newres.h
@@ -32,6 +32,7 @@
#define _INC_WINDOWS
#include "winuser.h" // extract from windows header
#include "winver.h"
+ #include "windows.h"
#endif
#endif
diff --git a/contrib/minizip/minizip.mwc b/contrib/minizip/minizip.mwc
new file mode 100644
index 00000000000..397b73c819f
--- /dev/null
+++ b/contrib/minizip/minizip.mwc
@@ -0,0 +1,3 @@
+// $Id$
+workspace {
+}
diff --git a/contrib/minizip/minizip_export.h b/contrib/minizip/minizip_export.h
index 84b77df4fda..a19ccd9b1a2 100644
--- a/contrib/minizip/minizip_export.h
+++ b/contrib/minizip/minizip_export.h
@@ -16,7 +16,7 @@
# endif /* ! MINIZIP_HAS_DLL */
#endif /* MINIZIP_AS_STATIC_LIBS */
-#if defined (MINIZIP_HAS_DLL)
+#if defined (MINIZIP_HAS_DLL)
# if (MINIZIP_HAS_DLL == 1) && defined (_WINDOWS)
# if defined (MINIZIP_BUILD_DLL)
# define MINIZIP_EXPORT __declspec(dllexport)
@@ -28,6 +28,10 @@
# endif /* MINIZIP_HAS_DLL == 1 */
#endif /* MINIZIP_HAS_DLL */
+#if defined (__GNUC__) && ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)))
+# define MINIZIP_UNUSED_ARG(a) (void) (a)
+#else
# define MINIZIP_UNUSED_ARG(a) do {/* null */} while (&a == 0)
+#endif
#endif /* MINIZIP_EXPORT_H */
diff --git a/contrib/utility/BuildRules/Archive.gcc.post.rules b/contrib/utility/BuildRules/Archive.gcc.post.rules
deleted file mode 100644
index 11b052d5200..00000000000
--- a/contrib/utility/BuildRules/Archive.gcc.post.rules
+++ /dev/null
@@ -1,47 +0,0 @@
-# file : BuildRules/Archive.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o) $(translated_units)
- $(AR) $(AR_FLAGS) $@ $^
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
-
-
-# Include dependencies for c++ translation units.
-# @@ empty-check should be done in all cases.
-##
-ifneq ($(strip $(cxx_translation_units)),)
--include $(cxx_translation_units:.cpp=.d)
-endif
-
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-# $Id$
diff --git a/contrib/utility/BuildRules/Archive.gcc.pre.rules b/contrib/utility/BuildRules/Archive.gcc.pre.rules
deleted file mode 100644
index fbeb0329055..00000000000
--- a/contrib/utility/BuildRules/Archive.gcc.pre.rules
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : BuildRules/Archive.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-AR ?= ar
-AR_FLAGS := -rc
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .a
-# $Id$
diff --git a/contrib/utility/BuildRules/Archive.post.rules b/contrib/utility/BuildRules/Archive.post.rules
deleted file mode 100644
index ffd1dc833f0..00000000000
--- a/contrib/utility/BuildRules/Archive.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Archive.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Archive.gcc.post.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Archive.pre.rules b/contrib/utility/BuildRules/Archive.pre.rules
deleted file mode 100644
index 7547d7176f6..00000000000
--- a/contrib/utility/BuildRules/Archive.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Archive.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Archive.gcc.pre.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Bootstrap.rules b/contrib/utility/BuildRules/Bootstrap.rules
deleted file mode 100644
index 32d28e12038..00000000000
--- a/contrib/utility/BuildRules/Bootstrap.rules
+++ /dev/null
@@ -1,95 +0,0 @@
-# file : BuildRules/Bootstrap.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# basics
-#
-#
-
-define set
-$(eval $1 := $(strip $2))
-endef
-
-define get
-$(value $(strip $1))
-endef
-
-define sub
-$(shell expr $1 - $2)
-endef
-
-define add
-$(shell expr $1 + $2)
-endef
-
-# stack
-#
-#
-
-define push
-$(eval $1 +=$(strip $2))
-endef
-
-define pop
-$(eval $1 :=$(wordlist 1,$(call sub, $(words $(value $(strip $1))), 1),$(value $(strip $1))))
-endef
-
-define top
-$(word $(words $(value $(strip $1))),$(value $(strip $1)))
-endef
-
-# local
-#
-#
-
-define path_to_id
-$(subst /,_,$(subst .,_,$(strip $1)))
-endef
-
-MAKEFILE := $(word $(call sub,$(words $(MAKEFILE_LIST)),1),$(MAKEFILE_LIST))
-INCLUSION_ID := $(call path_to_id,$(MAKEFILE))
-
-define get_inclusion_id
-$(INCLUSION_ID)
-endef
-
-define local_set
-$(eval $(strip $(call get_inclusion_id))_$1 := $(strip $2))
-endef
-
-define local_get
-$($(strip $(call get_inclusion_id))_$1)
-endef
-
-define local_origin
-$(origin $(strip $(call get_inclusion_id))_$1)
-endef
-
-
-define _get_inclusion_count
-$(if $(call local_get,INCLUSION_COUNT),$(call local_get,INCLUSION_COUNT),0)
-endef
-
-define _set_inclusion_count
-$(call local_set,INCLUSION_COUNT,$1)
-endef
-
-# include
-#
-#
-
-define include
-$(strip
- $(eval $(call push, include_stack, $(MAKEFILE))) \
- $(eval MAKEFILE :=$(strip $1)) \
- $(eval $(call push, inclusion_id_stack, $(INCLUSION_ID))) \
- $(eval $(call _set_inclusion_count,$(call add,$(call _get_inclusion_count),1))) \
- $(eval INCLUSION_ID :=$(INCLUSION_ID)_$(call local_get,INCLUSION_COUNT)_$(call path_to_id,$1)) \
- $(eval include $1) \
- $(eval INCLUSION_ID :=$(call top, inclusion_id_stack)) \
- $(eval $(call pop, inclusion_id_stack)) \
- $(eval MAKEFILE :=$(call top, include_stack)) \
- $(eval $(call pop, include_stack)))
-endef
-# $Id$
diff --git a/contrib/utility/BuildRules/Documentation.post.rules b/contrib/utility/BuildRules/Documentation.post.rules
deleted file mode 100644
index 33fd0c2942f..00000000000
--- a/contrib/utility/BuildRules/Documentation.post.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# file : BuildRules/Documentation.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .hpp.html from .hpp
-%.html : %
- $(DOC) $(DOC_FLAGS) -o $@ $<
-
-# }
-
-# The following rule will inhibit treatment of documentation as
-# default target.
-.PHONY : all
-all: ;@:
-
-.PHONY : documentation
-documentation : $(patsubst %,%.html,$(doc_translation_units))
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(patsubst %,%.html,$(doc_translation_units))
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-# $Id$
diff --git a/contrib/utility/BuildRules/Documentation.pre.rules b/contrib/utility/BuildRules/Documentation.pre.rules
deleted file mode 100644
index 33161d03d40..00000000000
--- a/contrib/utility/BuildRules/Documentation.pre.rules
+++ /dev/null
@@ -1,18 +0,0 @@
-# file : BuildRules/Documentation.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-DOC ?= cpp_to_html
-CXX_FLAGS :=
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.gcc.post.rules b/contrib/utility/BuildRules/Executable.gcc.post.rules
deleted file mode 100644
index 6587cbf0757..00000000000
--- a/contrib/utility/BuildRules/Executable.gcc.post.rules
+++ /dev/null
@@ -1,46 +0,0 @@
-# file : BuildRules/Executable.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o) $(translated_units)
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
-
-
-# Define a phony target to invoke the test driver.
-.PHONY : test
-test : $(MODULE)
- ./$(MODULE)
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.gcc.pre.rules b/contrib/utility/BuildRules/Executable.gcc.pre.rules
deleted file mode 100644
index f7a0798c824..00000000000
--- a/contrib/utility/BuildRules/Executable.gcc.pre.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-# file : BuildRules/Executable.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX :=
-MODULE_SUFFIX :=
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.generic.post.rules b/contrib/utility/BuildRules/Executable.generic.post.rules
deleted file mode 100644
index 26fa9b3b515..00000000000
--- a/contrib/utility/BuildRules/Executable.generic.post.rules
+++ /dev/null
@@ -1,55 +0,0 @@
-# file : BuildRules/Executable.generic.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defines pattern rule to build .d from .cpp
-%.d: %.cpp
- set -e; $(CXX_DEP) $(CXX_PREPROCESS_FLAGS) $< \
- | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
- [ -s $@ ] || rm -f $@
-
-
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -c $< -o $@
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
-
-
-# Define a phony target to invoke the test driver.
-.PHONY : test
-test : $(MODULE)
- ./$(MODULE)
-
-# Include dependencies for c++ translation units.
-# Optimization: if we are cleaning there is no reason to calculate
-# dependencies because they will be removed a second later.
-ifneq ($(MAKECMDGOALS),clean)
- include $(cxx_translation_units:.cpp=.d)
-endif
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.generic.pre.rules b/contrib/utility/BuildRules/Executable.generic.pre.rules
deleted file mode 100644
index 995dabeebda..00000000000
--- a/contrib/utility/BuildRules/Executable.generic.pre.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-# file : BuildRules/Executable.generic.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX :=
-MODULE_SUFFIX :=
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.post.rules b/contrib/utility/BuildRules/Executable.post.rules
deleted file mode 100644
index da146baf162..00000000000
--- a/contrib/utility/BuildRules/Executable.post.rules
+++ /dev/null
@@ -1,8 +0,0 @@
-# file : BuildRules/Executable.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Executable.gcc.post.rules)
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Executable.pre.rules b/contrib/utility/BuildRules/Executable.pre.rules
deleted file mode 100644
index 10a1796450b..00000000000
--- a/contrib/utility/BuildRules/Executable.pre.rules
+++ /dev/null
@@ -1,8 +0,0 @@
-# file : BuildRules/Executable.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Executable.gcc.pre.rules)
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Object.gcc.post.rules b/contrib/utility/BuildRules/Object.gcc.post.rules
deleted file mode 100644
index a58c2369435..00000000000
--- a/contrib/utility/BuildRules/Object.gcc.post.rules
+++ /dev/null
@@ -1,38 +0,0 @@
-# file : BuildRules/Object.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# }
-
-# Defines the rule to build object files from c++ translation units.
-.PHONY : object
-object : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all that's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
-
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-# $Id$
diff --git a/contrib/utility/BuildRules/Object.gcc.pre.rules b/contrib/utility/BuildRules/Object.gcc.pre.rules
deleted file mode 100644
index 8b8d5527abd..00000000000
--- a/contrib/utility/BuildRules/Object.gcc.pre.rules
+++ /dev/null
@@ -1,22 +0,0 @@
-# file : BuildRules/Object.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-# $Id$
diff --git a/contrib/utility/BuildRules/Object.post.rules b/contrib/utility/BuildRules/Object.post.rules
deleted file mode 100644
index 383f759a25a..00000000000
--- a/contrib/utility/BuildRules/Object.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Object.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Object.gcc.post.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Object.pre.rules b/contrib/utility/BuildRules/Object.pre.rules
deleted file mode 100644
index 54c75e0643d..00000000000
--- a/contrib/utility/BuildRules/Object.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Object.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Object.gcc.pre.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Recursion.post.rules b/contrib/utility/BuildRules/Recursion.post.rules
deleted file mode 100644
index e842f0f4b67..00000000000
--- a/contrib/utility/BuildRules/Recursion.post.rules
+++ /dev/null
@@ -1,37 +0,0 @@
-# file : BuildRules/Recursion.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-.PHONY: $(target_directory_list) $(target_makefile_list)
-
-_submodules:: $(target_directory_list) $(target_makefile_list)
-
-ifneq ($(strip $(target_directory_list)),)
-$(target_directory_list):
- $(MAKE) -C $@ -f $(default_makefile_name) $(MAKECMDGOALS)
-endif
-
-ifneq ($(strip $(target_makefile_list)),)
-$(target_makefile_list):
- $(MAKE) --no-print-directory -f $@ $(MAKECMDGOALS)
-endif
-
-# These rules keep make from trying to use the match-anything rule below to
-# rebuild the makefiles.
-#
-ifneq ($(strip $(default_makefile_name)),)
-$(default_makefile_name) : ;
-endif
-
-%.mk :: ;
-%.rules :: ;
-
-
-# Anything we don't know how to build will use this rule. The command is a
-# do-nothing command, but the prerequisites ensure that the appropriate
-# recursive invocations of make will occur.
-#
-% :: $(target_directory_list) $(target_makefile_list) ;
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Recursion.pre.rules b/contrib/utility/BuildRules/Recursion.pre.rules
deleted file mode 100644
index 1f03311fbc8..00000000000
--- a/contrib/utility/BuildRules/Recursion.pre.rules
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : BuildRules/Recursion.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-.SUFFIXES:
-
-.PHONY: _submodules
-
-_submodules::
-
-default_makefile_name := Makefile
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.gcc.post.rules b/contrib/utility/BuildRules/Shared.gcc.post.rules
deleted file mode 100644
index 641f79dfc1d..00000000000
--- a/contrib/utility/BuildRules/Shared.gcc.post.rules
+++ /dev/null
@@ -1,43 +0,0 @@
-# file : BuildRules/Shared.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o) $(translated_units)
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
-
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.gcc.pre.rules b/contrib/utility/BuildRules/Shared.gcc.pre.rules
deleted file mode 100644
index d32c42f5260..00000000000
--- a/contrib/utility/BuildRules/Shared.gcc.pre.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-# file : BuildRules/Shared.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -fPIC -Wall
-CXX_LINK_FLAGS := -shared
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .so
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.generic.post.rules b/contrib/utility/BuildRules/Shared.generic.post.rules
deleted file mode 100644
index 19315b5d7ec..00000000000
--- a/contrib/utility/BuildRules/Shared.generic.post.rules
+++ /dev/null
@@ -1,51 +0,0 @@
-# file : BuildRules/Shared.generic.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defines pattern rule to build .d from .cpp
-%.d: %.cpp
- set -e; $(CXX_DEP) $(CXX_PREPROCESS_FLAGS) $< \
- | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
- [ -s $@ ] || rm -f $@
-
-
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -c $< -o $@
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
-
-
-# Include dependencies for c++ translation units.
-# Optimization: if we are cleaning there is no reason to calculate
-# dependencies because they will be removed a second later.
-ifneq ($(MAKECMDGOALS),clean)
- include $(cxx_translation_units:.cpp=.d)
-endif
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.generic.pre.rules b/contrib/utility/BuildRules/Shared.generic.pre.rules
deleted file mode 100644
index 77b2a055956..00000000000
--- a/contrib/utility/BuildRules/Shared.generic.pre.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-# file : BuildRules/Shared.generic.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -fPIC -Wall
-CXX_LINK_FLAGS := -shared
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .so
-
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.post.rules b/contrib/utility/BuildRules/Shared.post.rules
deleted file mode 100644
index 1f098c99b7b..00000000000
--- a/contrib/utility/BuildRules/Shared.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Shared.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Shared.gcc.post.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Shared.pre.rules b/contrib/utility/BuildRules/Shared.pre.rules
deleted file mode 100644
index 9ebbeb534dd..00000000000
--- a/contrib/utility/BuildRules/Shared.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : BuildRules/Shared.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-$(call include, $(dir $(MAKEFILE))/Shared.gcc.pre.rules)
-# $Id$
diff --git a/contrib/utility/BuildRules/Thoughts b/contrib/utility/BuildRules/Thoughts
deleted file mode 100644
index 486a44f108b..00000000000
--- a/contrib/utility/BuildRules/Thoughts
+++ /dev/null
@@ -1,55 +0,0 @@
-
-Makefile variable naming style.
-
-* Each target is usually invoking one or more commands of the following type:
-
- (1) translator which translates target's prerequsites to target(s)
-
- (2) arbitrary command which doesn't create target (aka PHONY targets)
-
-Examples of type (1) are:
-
- - translation of c++ source to object code
-
- - translation of object code to executable/shared
-
-Examples of type (2) are:
-
- - test: terget
-
- - clean: target
-
-
-Some properties of these types of targets:
-
- (1) - usually implemented as an implicit rule
-
- - sometimes the same program is used as two separate translators
- (e.g. CXX is used as a compiler and as a linker)
-
-
-
- (2) - seldom (never?) implemented as an implicit rule
-
-
-
-Approach #1
-
-For type (1) name is derived from the translator's name e.g.
-
-CXX_COMPILE_FLAGS
-CXX_PREPROCESS_FLAGS
-CXX_LINK_FLAGS
-CXX_LINK_LIBS
-
-CC_
-LD_
-
-
-For type (2) name is derived from the target's name e.g.
-
-TEST_FLAGS
-CLEAN_FLAGS
-INSTALL_FLAGS
-
-$Id$
diff --git a/contrib/utility/Documentation/Build.xhtml b/contrib/utility/Documentation/Build.xhtml
deleted file mode 100644
index 97e759bdeb7..00000000000
--- a/contrib/utility/Documentation/Build.xhtml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Build.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Building Utility Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="build,utility,library"/>
- <meta name="description" content="Building Utility Library"/>
-
- <link rel="stylesheet" type="text/css" href="Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>Utility Library mostly consists of a header-only sub-libraries
-(the only exception is Introspection Library) so you don't need to
-build anything to start using it. However you may want to build
-examples or libraries that require compilation. This section describes
-how to do that.</p>
-
-<h1>Prerequisites</h1>
-
-<p>To build libraries or examples you will need GNU make and a C++
-compiler with good support of ISO C++ standard.</p>
-
-<p>Utility Library building environment requires latest features of
-GNU make so you have the following options (in the order of increasing
-complexity):</p>
-
-<ul>
-<li>Use GNU make 3.81 or later (not available at the time this is written).</li>
-<li>Use GNU make 3.80 with patches for bug
-<a href="http://savannah.gnu.org/bugs/?func=detailbug&amp;bug_id=1516&amp;group_id=71">1516</a>
-and
-<a href="http://savannah.gnu.org/bugs/?func=detailbug&amp;bug_id=1517&amp;group_id=71">1517</a>.
-</li>
-<li>Use GNU make from CVS.</li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/CommandLine/News.xhtml b/contrib/utility/Documentation/CommandLine/News.xhtml
deleted file mode 100644
index 31738f2150d..00000000000
--- a/contrib/utility/Documentation/CommandLine/News.xhtml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/CommandLine/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Command Line Processing Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="commandline,command,line,option,argument,parameter,operand,argc,argv,news"/>
- <meta name="description" content="Command Line Processing Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/CommandLine/Terminology.xhtml b/contrib/utility/Documentation/CommandLine/Terminology.xhtml
deleted file mode 100644
index 6c250f1fa70..00000000000
--- a/contrib/utility/Documentation/CommandLine/Terminology.xhtml
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/CommandLine/Terminology.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Command Line Processing Model and Terminology</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2002-2003 Boris Kolpackov"/>
- <meta name="keywords" content="command,line,terminology,model,argv,argc,argument,command,option,operand"/>
- <meta name="description" content="Command Line Processing Model and Terminology"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
- <style type="text/css">
-
- table.center {
- border-collapse : collapse;
- }
-
- table.center * td {
- text-align : center;
- vertical-align : middle;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>
-Command line is probably the most universal way of passing information from
-caller to the program. Concept of a command line is part of most operating
-systems and programming languages including C and C++. However model and
-terminology for command line processing vary greatly among different
-systems.</p>
-
-<p>
-<a href="http://unix.org/online.html">Single UNIX Specification</a> contains
-<a href="http://opengroup.org/onlinepubs/007904975/basedefs/xbd_chap12.html">
-Utility Argument Syntax Conventions and Guidelines</a> which document basic
-terminology for command line processing. Single UNIX Specification model is
-a "common denominator" for different UNIX implementations. It is somewhat
-minimal and targets system utilities rather than a wide spectrum of
-applications. Another de-facto command line processing model is
-<a href="http://gnu.org/prep/standards_18.html"> GNU Standard for Command
-Line Interfaces</a> which generally encourages conformance to the Single UNIX
-Specification but adds few extensions and uses different terminology.</p>
-
-<p>
-The idea behind this document is to establish terminology and complete model
-for command line processing. Terms translation between this document, Single
-UNIX Specification and GNU Standard for Command Line Interfaces is provided
-in Appendix A.</p>
-
-
-<h1>Model and Terminology</h1>
-
-<p>
-<em>Command line</em> is an array of character strings and not just
-a string with spaces between words as some people tend to think.</p>
-
-<p>
-Each string in a command line array is referred to as <em>argument
-</em>. First argument usually contains a string that refers to an executable.
-</p>
-
-<p>
-Interpretation of arguments is completely up to a program logic however
-conventions exist that vary among different systems. Usually groups of
-arguments are translated into a higher-level objects such as commands,
-options, and operands. These objects form a model for command line processing.
-All of them are defined below.</p>
-
-
-<p>
-<em>Command</em> is usually a word, or a single letter that represents
-a command to the program logic. Neither Single UNIX Specification nor GNU
-Standard for Command Line Interfaces has the notion of a command. Other terms
-for command include <em>action</em> and <em>function</em>. Command is usually
-(but not necessarily) the first argument after executable name. Here are few
-examples:</p>
-
-<p><code>tar x</code></p>
-
-<p class="indent">
-Here we have a one letter command <code>'x'</code> (extract). In GNU tar
-manual it is called <em>functional letter</em>.</p>
-
-<p><code>tar xvf</code></p>
-
-<p class="indent">
-Here we have three commands encoded as a single letter each. Actually
-semantically only <code>'x'</code> is a command while <code>'v'</code>
-(verbose) and <code>'f'</code> (read from a file) are options.</p>
-
-<p><code>openssl req</code></p>
-
-<p class="indent">
-Here we have a word command <code>'req'</code> (operations with certificate
-requests).</p>
-
-<p><code>cvs checkout foo</code></p>
-
-<p class="indent">
-Here we have a word command <code>'checkout'</code> and command operand
-<code>foo</code>.</p>
-
-
-<p><code>tar --help</code></p>
-
-<p class="indent">
-Even though <code>'--help'</code> is usually considered to be an option
-semantically it is a command.</p>
-
-
-<p>
-<em>Option</em> consists of <em>option name</em> and optionally
-one or more <em>option values</em>. Options are usually optional.
-Non-optional options are usually better represented by commands or operands.
-</p>
-
-<p>Option name usually takes up one argument. Option names usually start with
-a prefix (e.g. <code>'--compile-only'</code>, <code>'-c'</code> or <code>'/c'
-</code>). This helps distinguish them from commands and operands. Option name
-may have aliases (e.g. for option name <code>'--output-dir'</code> there could
-be an <code>'-o'</code> alias).</p>
-
-<p>
-Option without a value is alway optional and represents an option with implied
-binary value (e.g. {0, 1} or {false, true} etc.). Such option is sometimes
-called <em>flag</em>.</p>
-
-<p>
-Option can be associated with a program or a command. Thus the concept of
-option can be further refined to <em>program option</em> and <em>
-command option</em>. Program option alters behavior of the program as a
-whole while command option is only affecting particular command.</p>
-
-
-<p>Following are some examples:</p>
-
-<p><code>g++ -o hello.o hello.cpp</code></p>
-
-<p class="indent">
-Here we have an option with name <code>'-o'</code> which has a value
-<code>'hello.o'</code>. <code>'hello.cpp'</code> is an operand.</p>
-
-
-<p><code>ls -l</code></p>
-
-<p class="indent">Here we have a flag with name <code>'-l'</code>.</p>
-
-<p>
-<code>foo --bar=a,b,c</code><br/>
-<code>foo -b "a,b,c"</code><br/>
-<code>foo /baz a b c</code>
-</p>
-
-<p class="indent">
-Here we have a more elaborate example of a multi-format option. It has
-a name <code>'--bar'</code> and two aliases: <code>'-b'</code> and
-<code>'/baz'</code>. It also has three values (in our case they are
-<code>'a'</code>, <code>'b'</code>, and <code>'c'</code>).</p>
-
-<p><code>cvs -z 6 checkout -P foo</code></p>
-
-<p class="indent">
-Here we have a program option with name <code>'-z'</code> and value
-<code>'6'</code> (set compression level to be 6). <code>'checkout'</code>
-is a command. <code>-P</code> is a command flag (prune empty directories).
-<code>'foo'</code> is a command operand.</p>
-
-<p>
-<em>operand</em> usually represents an input value or a parameter.
-Operands can be mandatory or optional. Interpretation of operands is usually
-application-specific.</p>
-
-<p>
-Same as with option the concept of operand can be further refined to
-<em>program operand</em> and <em>command operand</em>.</p>
-
-<h1>Appendix A: Terms Translation</h1>
-
-<table summary="Terms Translation"
- border="1"
- cellspacing="0"
- cellpadding="4"
- class="center">
-
- <col width="34%" />
- <col width="33%" />
- <col width="33%" />
-
- <tr>
- <th>Term</th>
- <th>Single UNIX Specification</th>
- <th>GNU</th>
- </tr>
- <tr>
- <td>command line</td>
- <td>command line</td>
- <td>command line</td>
- </tr>
- <tr>
- <td>argument</td>
- <td>argument</td>
- <td>argument</td>
- </tr>
- <tr>
- <td>command</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>option</td>
- <td>--</td>
- <td>option</td>
- </tr>
- <tr>
- <td>option name</td>
- <td>option</td>
- <td>name</td>
- </tr>
- <tr>
- <td>option value</td>
- <td>option-argument</td>
- <td>--</td>
- </tr>
- <tr>
- <td>program option</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>command option</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>operand</td>
- <td>operand</td>
- <td>argument</td>
- </tr>
- <tr>
- <td>program operand</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>command operand</td>
- <td>--</td>
- <td>--</td>
- </tr>
-</table>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/CommandLine/Thoughts b/contrib/utility/Documentation/CommandLine/Thoughts
deleted file mode 100644
index a10675f5945..00000000000
--- a/contrib/utility/Documentation/CommandLine/Thoughts
+++ /dev/null
@@ -1,8 +0,0 @@
-
-@@ I should not assume that Utility::CommandLine is the only mechanism
- used to parse command line. Application developer may be using
- different components that employ different command line parsers.
- Thus it seem to me that I should use argv/argc as input/output
- format.
-
-$Id$
diff --git a/contrib/utility/Documentation/CommandLine/index.xhtml b/contrib/utility/Documentation/CommandLine/index.xhtml
deleted file mode 100644
index 7caf91689aa..00000000000
--- a/contrib/utility/Documentation/CommandLine/index.xhtml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/CommandLine/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Command Line Processing Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="commandline,command,line,option,argument,parameter,operand,argc,argv"/>
- <meta name="description" content="Command Line Processing Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>
-Command Line Processing library is in early development stage. You may want
-to take a look at <a href="Terminology.xhtml">Command Line Processing Model
-and Terminology</a> page.
-</p>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Compound.hpp.html b/contrib/utility/Documentation/ExH/Compound.hpp.html
deleted file mode 100644
index b8996f89552..00000000000
--- a/contrib/utility/Documentation/ExH/Compound.hpp.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-Compound.hpp</title>
-<link rel="stylesheet" href="../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ExH/Compound.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ExH
- </span><span class=special>{
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Type</span><span class=special>, </span><span class=keyword>typename </span><span class=identifier>Base</span><span class=special>&gt;
- </span><span class=keyword>class </span><span class=identifier>Compound </span><span class=special>: </span><span class=keyword>public </span><span class=keyword>virtual </span><span class=identifier>Base
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>explicit
- </span><span class=identifier>Compound </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>explicit
- </span><span class=identifier>Compound </span><span class=special>(</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=keyword>explicit
- </span><span class=identifier>Compound </span><span class=special>(</span><span class=identifier>T </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>Compound </span><span class=special>(</span><span class=identifier>Compound </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>Compound </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=identifier>Compound</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>Compound </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=identifier>Compound </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
- </span><span class=special>};
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Example/Makefile b/contrib/utility/Documentation/ExH/Example/Makefile
deleted file mode 100644
index e0188a81fbf..00000000000
--- a/contrib/utility/Documentation/ExH/Example/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# file : Documentation/ExH/Example/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.cpp $(root)/Example/ExH/BadCast
-vpath %.cpp $(root)/Example/ExH/Compound
-vpath %.cpp $(root)/Example/ExH/HelloWorld
-vpath %.cpp $(root)/Example/ExH/LogicToSystem
-
-doc_translation_units := bad_cast.cpp \
- compound.cpp \
- hello_world.cpp \
- logic_to_system.cpp
-
-DOC_FLAGS := -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-
-# $Id$
diff --git a/contrib/utility/Documentation/ExH/Example/bad_cast.cpp.html b/contrib/utility/Documentation/ExH/Example/bad_cast.cpp.html
deleted file mode 100644
index ba5044e358a..00000000000
--- a/contrib/utility/Documentation/ExH/Example/bad_cast.cpp.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-bad_cast.cpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Example/ExH/BadCast/bad_cast.cpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=preprocessor>#include &quot;Utility/ExH/System/Exception.hpp&quot;
-
-</span><span class=preprocessor>#include &lt;iostream&gt;
-
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>cerr</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;
-
-
-</span><span class=keyword>struct </span><span class=identifier>A
-</span><span class=special>{
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>A</span><span class=special>() </span><span class=special>{}
-</span><span class=special>};
-
-</span><span class=keyword>struct </span><span class=identifier>B
-</span><span class=special>{
- </span><span class=keyword>void
- </span><span class=identifier>foo </span><span class=special>() </span><span class=special>{}
-</span><span class=special>};
-
-</span><span class=keyword>void
-</span><span class=identifier>foo </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
-</span><span class=special>{
- </span><span class=identifier>A </span><span class=identifier>a</span><span class=special>;
-
- </span><span class=identifier>A</span><span class=special>&amp; </span><span class=identifier>ar </span><span class=special>(</span><span class=identifier>a</span><span class=special>);
-
- </span><span class=identifier>B</span><span class=special>&amp; </span><span class=identifier>br </span><span class=special>(</span><span class=keyword>dynamic_cast</span><span class=special>&lt;</span><span class=identifier>B</span><span class=special>&amp;&gt; </span><span class=special>(</span><span class=identifier>ar</span><span class=special>));
-
- </span><span class=identifier>br</span><span class=special>.</span><span class=identifier>foo </span><span class=special>();
-</span><span class=special>}
-
-</span><span class=keyword>int
-</span><span class=identifier>main </span><span class=special>()
-</span><span class=special>{
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=identifier>foo </span><span class=special>();
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ex</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Utility::ExH::System::Exception: &quot;
- </span><span class=special>&lt;&lt; </span><span class=identifier>ex</span><span class=special>.</span><span class=identifier>what </span><span class=special>()
- </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
-</span><span class=special>}
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Example/compound.cpp.html b/contrib/utility/Documentation/ExH/Example/compound.cpp.html
deleted file mode 100644
index 40ecf71eee9..00000000000
--- a/contrib/utility/Documentation/ExH/Example/compound.cpp.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-compound.cpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Example/ExH/Compound/compound.cpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=preprocessor>#include &quot;Utility/ExH/Compound.hpp&quot;
-</span><span class=preprocessor>#include &quot;Utility/ExH/System/Exception.hpp&quot;
-</span><span class=preprocessor>#include &quot;Utility/ExH/Logic/DescriptiveException.hpp&quot;
-
-</span><span class=comment>// Include some helper converters to allow exception initialization
-// with std::ostringstream
-
-</span><span class=preprocessor>#include &quot;Utility/ExH/StringStreamConverter.hpp&quot;
-
-</span><span class=preprocessor>#include &lt;iostream&gt;
-
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>cerr</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>ostringstream</span><span class=special>;
-
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>;
-
-</span><span class=comment>// Here are our components
-
-</span><span class=keyword>class </span><span class=identifier>Base
-</span><span class=special>{
-</span><span class=keyword>public</span><span class=special>:
-
- </span><span class=comment>//
- // Exception definitions.
- //
-
- // Base logic exception class for component.
- </span><span class=keyword>class </span><span class=identifier>Exception_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>Compound </span><span class=special>&lt;</span><span class=identifier>Exception_</span><span class=special>, </span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>DescriptiveException</span><span class=special>&gt;
- </span><span class=identifier>Exception</span><span class=special>;
-
- </span><span class=keyword>class </span><span class=identifier>InvalidArgument_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>Compound </span><span class=special>&lt;</span><span class=identifier>InvalidArgument_</span><span class=special>, </span><span class=identifier>Exception</span><span class=special>&gt;
- </span><span class=identifier>InvalidArgument</span><span class=special>;
-
- </span><span class=keyword>class </span><span class=identifier>NotInitialized_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>Compound </span><span class=special>&lt;</span><span class=identifier>NotInitialized_</span><span class=special>, </span><span class=identifier>Exception</span><span class=special>&gt;
- </span><span class=identifier>NotInitialized</span><span class=special>;
-
-</span><span class=keyword>public</span><span class=special>:
-
- </span><span class=keyword>void
- </span><span class=identifier>foo </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>str</span><span class=special>) </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>InvalidArgument</span><span class=special>, </span><span class=identifier>NotInitialized</span><span class=special>)
- </span><span class=special>{
- </span><span class=comment>// This is just an example.
-
- </span><span class=keyword>if </span><span class=special>(</span><span class=identifier>str </span><span class=special>== </span><span class=number>0</span><span class=special>)
- </span><span class=special>{
- </span><span class=keyword>throw </span><span class=identifier>InvalidArgument </span><span class=special>(</span><span class=string>&quot;Base::foo: first parameter is zero.&quot;</span><span class=special>);
- </span><span class=special>}
- </span><span class=keyword>else
- </span><span class=special>{
- </span><span class=identifier>ostringstream </span><span class=identifier>ostr</span><span class=special>;
- </span><span class=identifier>ostr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Base::foo [this = &quot; </span><span class=special>&lt;&lt; </span><span class=keyword>this </span><span class=special>&lt;&lt; </span><span class=string>&quot;]: object is not initialized.&quot;</span><span class=special>;
-
- </span><span class=keyword>throw </span><span class=identifier>NotInitialized </span><span class=special>(</span><span class=identifier>ostr</span><span class=special>);
- </span><span class=special>}
- </span><span class=special>}
-
-
- </span><span class=comment>// We don't know what implementation may decide to throw so
- // we allow to throw System exception and any logic exception
- // derived from Base::Exception
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>vfoo </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-</span><span class=special>};
-
-</span><span class=keyword>class </span><span class=identifier>Derived </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>Base
-</span><span class=special>{
-</span><span class=keyword>public</span><span class=special>:
-
- </span><span class=comment>// Define some Derived-specific logic exception.
- </span><span class=keyword>class </span><span class=identifier>NotImplemented_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>Compound </span><span class=special>&lt;</span><span class=identifier>NotImplemented_</span><span class=special>, </span><span class=identifier>Exception</span><span class=special>&gt;
- </span><span class=identifier>NotImplemented</span><span class=special>;
-
-</span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>vfoo </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>NotImplemented</span><span class=special>, </span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>str </span><span class=special>(</span><span class=string>&quot;Derived::vfoo: not implemented yet.&quot;</span><span class=special>);
- </span><span class=keyword>throw </span><span class=identifier>NotImplemented </span><span class=special>(</span><span class=identifier>str</span><span class=special>);
- </span><span class=special>}
-</span><span class=special>};
-
-</span><span class=keyword>int
-</span><span class=identifier>main </span><span class=special>()
-</span><span class=special>{
- </span><span class=keyword>try
- </span><span class=special>{
-
- </span><span class=identifier>Derived </span><span class=identifier>d</span><span class=special>;
- </span><span class=identifier>Base</span><span class=special>* </span><span class=identifier>pb </span><span class=special>(&amp;</span><span class=identifier>d</span><span class=special>);
-
- </span><span class=comment>// We can use generic handler.
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=identifier>pb</span><span class=special>-&gt;</span><span class=identifier>vfoo </span><span class=special>();
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Base</span><span class=special>::</span><span class=identifier>Exception </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ex</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Base::Exception: &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>ex</span><span class=special>.</span><span class=identifier>what </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
-
-
- </span><span class=comment>// Or use more precise control.
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=identifier>pb</span><span class=special>-&gt;</span><span class=identifier>foo </span><span class=special>(</span><span class=string>&quot;hello&quot;</span><span class=special>);
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Base</span><span class=special>::</span><span class=identifier>NotInitialized </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ex</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Base::NotInitialized: &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>ex</span><span class=special>.</span><span class=identifier>what </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
-
- </span><span class=comment>// Or use application-level handler.
- </span><span class=identifier>pb</span><span class=special>-&gt;</span><span class=identifier>foo </span><span class=special>(</span><span class=number>0</span><span class=special>);
-
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>Exception </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ex</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Logic::Exception: &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>ex</span><span class=special>.</span><span class=identifier>what </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(...)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught unknown exception using catch-all handler&quot; </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
-
-</span><span class=special>}
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Example/hello_world.cpp.html b/contrib/utility/Documentation/ExH/Example/hello_world.cpp.html
deleted file mode 100644
index 3d2497f325e..00000000000
--- a/contrib/utility/Documentation/ExH/Example/hello_world.cpp.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-hello_world.cpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Example/ExH/HelloWorld/hello_world.cpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=preprocessor>#include &lt;cstdlib&gt; // for std::abort ()
-
-</span><span class=preprocessor>#include &lt;string&gt;
-</span><span class=preprocessor>#include &lt;iostream&gt;
-
-</span><span class=preprocessor>#include &quot;Utility/ExH/System/Exception.hpp&quot;
-</span><span class=preprocessor>#include &quot;Utility/ExH/Logic/Exception.hpp&quot;
-
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>cerr</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>cout</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;
-
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>Utility</span><span class=special>;
-
-</span><span class=keyword>class </span><span class=identifier>Application
-</span><span class=special>{
-</span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>class </span><span class=identifier>Exception </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>Exception </span><span class=special>{};
-
- </span><span class=comment>// Hint: you may want to try again...
- </span><span class=keyword>class </span><span class=identifier>FeelingDizzy </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>Exception </span><span class=special>{};
-
- </span><span class=keyword>class </span><span class=identifier>InvalidArg </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>Exception </span><span class=special>{};
-
-</span><span class=keyword>public</span><span class=special>:
- </span><span class=identifier>Application </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>: </span><span class=comment>// The std::string c-tor may throw any kind of exceptions besides
- // quite possible std::bad_alloc.
- </span><span class=identifier>greeting_ </span><span class=special>(</span><span class=string>&quot;Hello, world!&quot;</span><span class=special>)
- </span><span class=special>{
- </span><span class=special>}
-
- </span><span class=identifier>Application </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const </span><span class=special>* </span><span class=identifier>greeting</span><span class=special>) </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>InvalidArg</span><span class=special>,
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>: </span><span class=identifier>greeting_ </span><span class=special>(</span><span class=identifier>greeting </span><span class=special>== </span><span class=number>0 </span><span class=special>? </span><span class=string>&quot;&quot; </span><span class=special>: </span><span class=identifier>greeting</span><span class=special>)
- </span><span class=special>{
- </span><span class=keyword>if </span><span class=special>(</span><span class=identifier>greeting </span><span class=special>== </span><span class=number>0</span><span class=special>) </span><span class=keyword>throw </span><span class=identifier>InvalidArg </span><span class=special>();
- </span><span class=special>}
-
-</span><span class=keyword>public</span><span class=special>:
-
- </span><span class=keyword>void
- </span><span class=identifier>run </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>FeelingDizzy</span><span class=special>, </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>{
- </span><span class=keyword>static </span><span class=keyword>unsigned </span><span class=keyword>int </span><span class=identifier>dizzy_count </span><span class=special>(</span><span class=number>0</span><span class=special>);
-
- </span><span class=keyword>if </span><span class=special>(</span><span class=identifier>dizzy_count</span><span class=special>++ </span><span class=special>&lt; </span><span class=number>5</span><span class=special>) </span><span class=keyword>throw </span><span class=identifier>FeelingDizzy </span><span class=special>();
-
- </span><span class=comment>// The next line can throw full bucket of exceptions
- // not to mention ios_base::failure.
- </span><span class=identifier>cout </span><span class=special>&lt;&lt; </span><span class=identifier>greeting_</span><span class=special>.</span><span class=identifier>c_str </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
-
-</span><span class=keyword>private</span><span class=special>:
-
- </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>greeting_</span><span class=special>;
-</span><span class=special>};
-
-
-
-</span><span class=keyword>int
-</span><span class=identifier>main </span><span class=special>()
-</span><span class=special>{
- </span><span class=comment>// This is a catch-all layer that should be in use only
- // if we are really in trouble.
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=comment>// This is a catch-system layer. Here we will catch exceptions like
- // bad_alloc, etc. If we get here it means that nobody wanted/managed
- // to recover from this kind of errors.
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=comment>// This is a catch-logic layer. If we get here it usually
- // indicates an application logic error.
- </span><span class=keyword>try
- </span><span class=special>{
-
- </span><span class=comment>// Ok, here we go about our application logic.
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=keyword>for </span><span class=special>(</span><span class=keyword>int </span><span class=identifier>i </span><span class=special>= </span><span class=number>0</span><span class=special>; </span><span class=identifier>i </span><span class=special>&lt; </span><span class=number>10</span><span class=special>; </span><span class=identifier>i</span><span class=special>++)
- </span><span class=special>{
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=identifier>Application </span><span class=identifier>app </span><span class=special>(</span><span class=string>&quot;Hi dude!&quot;</span><span class=special>);
- </span><span class=identifier>app</span><span class=special>.</span><span class=identifier>run </span><span class=special>();
- </span><span class=keyword>break</span><span class=special>;
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Application</span><span class=special>::</span><span class=identifier>FeelingDizzy </span><span class=keyword>const</span><span class=special>&amp; </span><span class=special>)
- </span><span class=special>{
- </span><span class=keyword>if </span><span class=special>(</span><span class=identifier>i </span><span class=special>== </span><span class=number>9</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Given up!&quot; </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
- </span><span class=keyword>else
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Application is feeling dizzy. Trying again...&quot;
- </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Application</span><span class=special>::</span><span class=identifier>InvalidArg </span><span class=keyword>const</span><span class=special>&amp; </span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Cought Application::InvalidArg : ...hmm... strange!&quot;
- </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>Exception </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>e</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Logic::Exception : &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>what </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=keyword>const </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>&amp; </span><span class=identifier>e</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught System::Exception : &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>what </span><span class=special>() </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(...)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught unknown exception using catch-all handler. &quot; </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=keyword>return </span><span class=special>-</span><span class=number>1</span><span class=special>;
- </span><span class=special>}
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(...)
- </span><span class=special>{
- </span><span class=comment>// We get here in cases of some hard failure. For example when handling
- // exception, operator &lt;&lt; throws another exception. Usually application
- // cannot handle such failures itself so we just propagate it futher.
- </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>abort </span><span class=special>();
- </span><span class=special>}
-</span><span class=special>}
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Example/logic_to_system.cpp.html b/contrib/utility/Documentation/ExH/Example/logic_to_system.cpp.html
deleted file mode 100644
index d29794d4c2c..00000000000
--- a/contrib/utility/Documentation/ExH/Example/logic_to_system.cpp.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-logic_to_system.cpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Example/ExH/LogicToSystem/logic_to_system.cpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=preprocessor>#include &quot;Utility/ExH/System/Exception.hpp&quot;
-</span><span class=preprocessor>#include &quot;Utility/ExH/Logic/Exception.hpp&quot;
-
-</span><span class=preprocessor>#include &lt;iostream&gt;
-
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>cerr</span><span class=special>;
-</span><span class=keyword>using </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;
-
-
-</span><span class=keyword>struct </span><span class=identifier>SubsystemA
-</span><span class=special>{
- </span><span class=keyword>class </span><span class=identifier>Exception </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>Exception </span><span class=special>{};
-
- </span><span class=keyword>void
- </span><span class=identifier>foo </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>{
- </span><span class=keyword>throw </span><span class=identifier>Exception </span><span class=special>();
- </span><span class=special>}
-</span><span class=special>};
-
-
-</span><span class=keyword>struct </span><span class=identifier>SubsystemB
-</span><span class=special>{
- </span><span class=keyword>void
- </span><span class=identifier>foo </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>SubsystemA </span><span class=identifier>a</span><span class=special>;
- </span><span class=identifier>a</span><span class=special>.</span><span class=identifier>foo </span><span class=special>();
-
- </span><span class=comment>// Here SubsystemB is using SunsystemA but cannot (forgot, doesnt't
- // want to, doesn't know how to, etc - pick your favorite) handle
- // exception thrown by SubsystemA. As a result exception is
- // 'converted' to System::Exception.
- </span><span class=special>}
-</span><span class=special>};
-
-
-</span><span class=keyword>int
-</span><span class=identifier>main </span><span class=special>()
-</span><span class=special>{
- </span><span class=keyword>try
- </span><span class=special>{
- </span><span class=identifier>SubsystemB </span><span class=identifier>b</span><span class=special>;
- </span><span class=identifier>b</span><span class=special>.</span><span class=identifier>foo </span><span class=special>();
- </span><span class=special>}
- </span><span class=keyword>catch </span><span class=special>(</span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ex</span><span class=special>)
- </span><span class=special>{
- </span><span class=identifier>cerr </span><span class=special>&lt;&lt; </span><span class=string>&quot;Caught Utility::ExH::System::Exception: &quot;
- </span><span class=special>&lt;&lt; </span><span class=identifier>ex</span><span class=special>.</span><span class=identifier>what </span><span class=special>()
- </span><span class=special>&lt;&lt; </span><span class=identifier>endl</span><span class=special>;
- </span><span class=special>}
-</span><span class=special>}
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Logic/DescriptiveException.hpp.html b/contrib/utility/Documentation/ExH/Logic/DescriptiveException.hpp.html
deleted file mode 100644
index b54dbd30936..00000000000
--- a/contrib/utility/Documentation/ExH/Logic/DescriptiveException.hpp.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-DescriptiveException.hpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ExH/Logic/DescriptiveException.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ExH
- </span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>Logic
- </span><span class=special>{
- </span><span class=keyword>class </span><span class=identifier>DescriptiveException </span><span class=special>: </span><span class=keyword>public </span><span class=keyword>virtual </span><span class=identifier>Exception
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>T </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>DescriptiveException </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>DescriptiveException </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>DescriptiveException</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>DescriptiveException </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=identifier>DescriptiveException </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>void
- </span><span class=identifier>init </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>char </span><span class=keyword>const</span><span class=special>*
- </span><span class=identifier>what </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>auto_ptr</span><span class=special>&lt;</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>&gt; </span><span class=identifier>description_</span><span class=special>;
- </span><span class=special>};
- </span><span class=special>}
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Logic/Exception.hpp.html b/contrib/utility/Documentation/ExH/Logic/Exception.hpp.html
deleted file mode 100644
index 5b4b56aa46d..00000000000
--- a/contrib/utility/Documentation/ExH/Logic/Exception.hpp.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-Exception.hpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ExH/Logic/Exception.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ExH
- </span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>Logic
- </span><span class=special>{
-
- </span><span class=comment>// Logic::Exception inherits from System::Exception for the
- // following reason. Semantically for some part of the
- // system particular instance of Logic::Exception may seem as
- // opaque System::Exception and the only way to handle it would
- // be to propagate it further. In other words Logic::Exception
- // can be seemlesly &quot;converted&quot; to System::Exception if there is
- // no part of the system interested in handling it.
- //
-
- </span><span class=keyword>class </span><span class=identifier>Exception </span><span class=special>: </span><span class=keyword>public </span><span class=keyword>virtual </span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>Exception </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
- </span><span class=special>};
- </span><span class=special>}
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/Logic/Makefile b/contrib/utility/Documentation/ExH/Logic/Makefile
deleted file mode 100644
index d2d48d406bf..00000000000
--- a/contrib/utility/Documentation/ExH/Logic/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# file : Documentation/ExH/Logic/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.hpp $(root)/Utility/ExH/Logic
-
-doc_translation_units := Exception.hpp DescriptiveException.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-
-# $Id$
diff --git a/contrib/utility/Documentation/ExH/Makefile b/contrib/utility/Documentation/ExH/Makefile
deleted file mode 100644
index c4a5bc5f6c0..00000000000
--- a/contrib/utility/Documentation/ExH/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Documentation/ExH/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list := Makefile.documentation
-target_directory_list := Logic System Example
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Documentation/ExH/Makefile.documentation b/contrib/utility/Documentation/ExH/Makefile.documentation
deleted file mode 100644
index 3ebf1511555..00000000000
--- a/contrib/utility/Documentation/ExH/Makefile.documentation
+++ /dev/null
@@ -1,20 +0,0 @@
-# file : Documentation/ExH/Make.doc.mk
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.hpp $(root)/Utility/ExH
-
-doc_translation_units := Compound.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-
-# $Id$
diff --git a/contrib/utility/Documentation/ExH/News.xhtml b/contrib/utility/Documentation/ExH/News.xhtml
deleted file mode 100644
index b86f821c992..00000000000
--- a/contrib/utility/Documentation/ExH/News.xhtml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/ExH/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Exception Handling Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,exception,handling,model"/>
- <meta name="description" content="Exception Handling Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>1.2.0</h1>
-
-<ul class="multiline">
- <li>
- Fixed incorrect initialization of <code>DescriptiveException</code> with
- <code>std::ostringstream</code> object. Thanks to Karen Aroutiounov
- &lt;karen@ipmce.ru&gt; for reporting this.
- </li>
-</ul>
-
-<h1>1.1.0</h1>
-
-<ul class="multiline">
- <li>New regression test coverage.</li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/System/DescriptiveException.hpp.html b/contrib/utility/Documentation/ExH/System/DescriptiveException.hpp.html
deleted file mode 100644
index fb6b35d4143..00000000000
--- a/contrib/utility/Documentation/ExH/System/DescriptiveException.hpp.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-DescriptiveException.hpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ExH/System/DescriptiveException.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ExH
- </span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>System
- </span><span class=special>{
- </span><span class=keyword>class </span><span class=identifier>DescriptiveException </span><span class=special>: </span><span class=keyword>public </span><span class=keyword>virtual </span><span class=identifier>Exception
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=keyword>explicit
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>T </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>DescriptiveException </span><span class=special>(</span><span class=identifier>DescriptiveException </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>DescriptiveException </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>DescriptiveException</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>DescriptiveException </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>src</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=identifier>DescriptiveException </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>void
- </span><span class=identifier>init </span><span class=special>(</span><span class=keyword>char </span><span class=keyword>const</span><span class=special>* </span><span class=identifier>description</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>char </span><span class=keyword>const</span><span class=special>*
- </span><span class=identifier>what </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>private</span><span class=special>:
-
- </span><span class=keyword>static </span><span class=keyword>unsigned </span><span class=keyword>long </span><span class=keyword>const </span><span class=identifier>DESCRIPTION_SIZE </span><span class=special>= </span><span class=number>256</span><span class=special>;
-
- </span><span class=keyword>char </span><span class=identifier>description_ </span><span class=special>[</span><span class=identifier>DESCRIPTION_SIZE</span><span class=special>];
- </span><span class=special>};
- </span><span class=special>}
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/System/Exception.hpp.html b/contrib/utility/Documentation/ExH/System/Exception.hpp.html
deleted file mode 100644
index 60d6bd733f5..00000000000
--- a/contrib/utility/Documentation/ExH/System/Exception.hpp.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-Exception.hpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ExH/System/Exception.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ExH
- </span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>System
- </span><span class=special>{
- </span><span class=comment>// This is the only way to make predefined exceptions like
- // std::bad_alloc, etc to appear in the right place of the hierarchy.
- //
-
- </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>exception </span><span class=identifier>Exception</span><span class=special>;
- </span><span class=special>}
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ExH/System/Makefile b/contrib/utility/Documentation/ExH/System/Makefile
deleted file mode 100644
index 7c7bfbc8e8d..00000000000
--- a/contrib/utility/Documentation/ExH/System/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# file : Documentation/ExH/System/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.hpp $(root)/Utility/ExH/System
-
-doc_translation_units := Exception.hpp DescriptiveException.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-
-# $Id$
diff --git a/contrib/utility/Documentation/ExH/index.xhtml b/contrib/utility/Documentation/ExH/index.xhtml
deleted file mode 100644
index c2d40d9fbaa..00000000000
--- a/contrib/utility/Documentation/ExH/index.xhtml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/ExH/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Exception Handling Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,exception,handling,model,ExH"/>
- <meta name="description" content="Exception Handling Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>
-Exception Handling library was designed to promote consistent usage of
-exceptions and exception handling mechanisms throughout the project.
-For a quick overview of the basic idea you may want to look at some
-examples.</p>
-
-<h1>Examples</h1>
-
-<ul class="menu">
- <li><a href="Example/bad_cast.cpp.html">bad_cast.cpp</a></li>
- <li><a href="Example/compound.cpp.html">compound.cpp</a></li>
- <li><a href="Example/hello_world.cpp.html">hello_world.cpp</a></li>
- <li><a href="Example/logic_to_system.cpp.html">logic_to_system.cpp</a></li>
-</ul>
-
-<h1>Definitions</h1>
-
-<p>Following are the definitions of the main blocks of the model:</p>
-
-<ul class="menu">
- <li><a href="Compound.hpp.html">ExH::Compound</a></li>
- <li><a href="System/Exception.hpp.html">ExH::System::Exception</a></li>
- <li><a href="System/DescriptiveException.hpp.html">ExH::System::DescriptiveException</a></li>
- <li><a href="Logic/Exception.hpp.html">ExH::Logic::Exception</a></li>
- <li><a href="Logic/DescriptiveException.hpp.html">ExH::Logic::DescriptiveException</a></li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Hetero/News.xhtml b/contrib/utility/Documentation/Hetero/News.xhtml
deleted file mode 100644
index b99645d704d..00000000000
--- a/contrib/utility/Documentation/Hetero/News.xhtml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Hetero/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Heterogeneous Container Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="c++,heterogeneous,container,news"/>
- <meta name="description" content="Heterogeneous Container Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Hetero/index.xhtml b/contrib/utility/Documentation/Hetero/index.xhtml
deleted file mode 100644
index d45a7b6e82d..00000000000
--- a/contrib/utility/Documentation/Hetero/index.xhtml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Hetero/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Heterogeneous Container Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="c++,heterogeneous,container"/>
- <meta name="description" content="Heterogeneous Container Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>Have you ever wanted to write something like this:</p>
-
-<pre>
-vector v;
-
-v.push_back (10);
-v.push_back (true);
-v.push_back ("hello");
-</pre>
-
-<p>Or maybe even something like this:</p>
-
-<pre>
-template &lt;typename T&gt;
-void print (T const&amp; t)
-{
- cout &lt;&lt; t &lt;&lt; endl;
-}
-
-for (vector::const_iterator i = v.begin (); i != v.end (); i++)
-{
- print (*i);
-}
-</pre>
-
-<p>If so then you may be interested in Heterogeneous Container Library.
-It is still in active development but you can take a look for some
-examples in Example/Hetero directory.</p>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Introspection/News.xhtml b/contrib/utility/Documentation/Introspection/News.xhtml
deleted file mode 100644
index 257c790766c..00000000000
--- a/contrib/utility/Documentation/Introspection/News.xhtml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Introspection/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Introspection Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="introspection,library,news"/>
- <meta name="description" content="Introspection Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>1.2.2</h1>
-<ul class="multiline">
- <li>
- Removed no-throw specification from <code>Introspection::Object::~Object()</code>.
- </li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Introspection/index.xhtml b/contrib/utility/Documentation/Introspection/index.xhtml
deleted file mode 100644
index 462b2c87321..00000000000
--- a/contrib/utility/Documentation/Introspection/index.xhtml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Introspection/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Introspection Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="c++,type,object,class,introspection"/>
- <meta name="description" content="Introspection Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>
-Sometimes there is a need to analyze object's type at runtime. ISO C++
-provides some capabilities for this kind of introspection however they
-are limited to basic type information. Such information as type
-inheritance graph is not accessible in standard C++. Introspection
-Library provides a framework that enables discovery of type structure
-at runtime. The library is still in development stage but a few meaningful
-examples are available in Example/Introspection directory.</p>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Makefile b/contrib/utility/Documentation/Makefile
deleted file mode 100644
index 6a2caae9002..00000000000
--- a/contrib/utility/Documentation/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Documentation/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := ExH ReferenceCounting Synch
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Documentation/News.xhtml b/contrib/utility/Documentation/News.xhtml
deleted file mode 100644
index b3ea1389e53..00000000000
--- a/contrib/utility/Documentation/News.xhtml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Utility Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,utility,exception,handling,model,reference,counting,thread,synchronization"/>
- <meta name="description" content="Utility Library News"/>
-
- <link rel="stylesheet" type="text/css" href="Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Sub-Library News</h1>
-
-<ul class="menu">
- <li><a href="ExH/News.xhtml">Exception Handling</a></li>
- <li><a href="ReferenceCounting/News.xhtml">Reference Counting</a></li>
- <li><a href="Synch/News.xhtml">Synchronization</a></li>
- <li><a href="Introspection/News.xhtml">Introspection</a></li>
-</ul>
-
-<h1>1.2.2</h1>
-<ul class="multiline">
- <li>Bug fixes in build system.</li>
-</ul>
-
-
-<h1>1.2.1</h1>
-<ul class="multiline">
- <li>
- Documentation bug fixes.
- </li>
-</ul>
-
-
-<h1>1.2.0</h1>
-<ul class="multiline">
- <li>
- Added new <a href="Hetero/index.xhtml">Heterogeneous Container Library</a>.
- </li>
- <li>
- Added new <a href="Introspection/index.xhtml">Introspection Library</a>.
- </li>
-</ul>
-
-
-<h1>1.1.0</h1>
-<ul class="multiline">
- <li>New directory structure.</li>
- <li>New dependency generation mechanism.</li>
- <li>Automatic documentation generation (<code>make documentation</code>).</li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/DefaultImpl.hpp.html b/contrib/utility/Documentation/ReferenceCounting/DefaultImpl.hpp.html
deleted file mode 100644
index 86edcd70ec2..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/DefaultImpl.hpp.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-DefaultImpl.hpp</title>
-<link rel="stylesheet" href="../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ReferenceCounting/DefaultImpl.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ReferenceCounting
- </span><span class=special>{
- </span><span class=comment>// Default reference counter implementation with parameterised
- // synchronization policy. It is assumed that none of the SynchPolicy
- // types throw any logic exceptions. If in fact they do then these
- // exceptions won't be handled and will be automatically converted
- // to system exceptions.
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>SynchPolicy </span><span class=special>= </span><span class=identifier>Utility</span><span class=special>::</span><span class=identifier>Synch</span><span class=special>::</span><span class=identifier>Policy</span><span class=special>::</span><span class=identifier>Null</span><span class=special>&gt;
- </span><span class=keyword>class </span><span class=identifier>DefaultImpl </span><span class=special>: </span><span class=keyword>public </span><span class=keyword>virtual </span><span class=identifier>Interface
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>class </span><span class=identifier>InconsistentState_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Compound</span><span class=special>&lt;</span><span class=identifier>InconsistentState_</span><span class=special>, </span><span class=identifier>Exception</span><span class=special>&gt;
- </span><span class=identifier>InconsistentState</span><span class=special>;
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=identifier>DefaultImpl </span><span class=special>() </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>DefaultImpl </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>add_ref </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>remove_ref </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>virtual </span><span class=identifier>count_t
- </span><span class=identifier>refcount_value </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>add_ref_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>virtual </span><span class=keyword>bool
- </span><span class=identifier>remove_ref_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>virtual </span><span class=identifier>count_t
- </span><span class=identifier>refcount_value_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>typename </span><span class=identifier>SynchPolicy</span><span class=special>::</span><span class=identifier>Mutex</span><span class=special>&amp;
- </span><span class=identifier>lock_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=keyword>typedef
- </span><span class=keyword>typename </span><span class=identifier>SynchPolicy</span><span class=special>::</span><span class=identifier>Mutex
- </span><span class=identifier>Mutex_</span><span class=special>;
-
- </span><span class=keyword>typedef
- </span><span class=keyword>typename </span><span class=identifier>SynchPolicy</span><span class=special>::</span><span class=identifier>ReadGuard
- </span><span class=identifier>ReadGuard_</span><span class=special>;
-
- </span><span class=keyword>typedef
- </span><span class=keyword>typename </span><span class=identifier>SynchPolicy</span><span class=special>::</span><span class=identifier>WriteGuard
- </span><span class=identifier>WriteGuard_</span><span class=special>;
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=keyword>mutable </span><span class=identifier>count_t </span><span class=identifier>ref_count_</span><span class=special>;
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=keyword>mutable </span><span class=identifier>Mutex_ </span><span class=identifier>lock_</span><span class=special>;
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=comment>// Copy semanic is not supported.
- </span><span class=identifier>DefaultImpl </span><span class=special>(</span><span class=identifier>DefaultImpl </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=identifier>DefaultImpl</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>DefaultImpl </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=special>};
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/Interface.hpp.html b/contrib/utility/Documentation/ReferenceCounting/Interface.hpp.html
deleted file mode 100644
index f81c1dc737c..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/Interface.hpp.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-Interface.hpp</title>
-<link rel="stylesheet" href="../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ReferenceCounting/Interface.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ReferenceCounting
- </span><span class=special>{
- </span><span class=comment>// Interface to a reference-countable object. Note that _remove_ref ()
- // member function has a no-throw semantic. Even though it can lead to
- // a diagnostic loss it was made no-throw because it has a destructor
- // semantic.
-
- </span><span class=keyword>class </span><span class=identifier>Interface
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>typedef
- </span><span class=keyword>unsigned </span><span class=keyword>long
- </span><span class=identifier>count_t</span><span class=special>;
-
- </span><span class=keyword>typedef
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>System</span><span class=special>::</span><span class=identifier>Exception
- </span><span class=identifier>SystemException</span><span class=special>;
-
- </span><span class=keyword>class </span><span class=identifier>Exception_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Compound</span><span class=special>&lt;</span><span class=identifier>Exception_</span><span class=special>, </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>DescriptiveException</span><span class=special>&gt;
- </span><span class=identifier>Exception</span><span class=special>;
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>add_ref </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>remove_ref </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>() </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>virtual </span><span class=identifier>count_t
- </span><span class=identifier>refcount_value </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=identifier>Interface </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>virtual
- </span><span class=special>~</span><span class=identifier>Interface </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>protected</span><span class=special>:
- </span><span class=keyword>virtual </span><span class=keyword>void
- </span><span class=identifier>add_ref_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>virtual </span><span class=keyword>bool
- </span><span class=identifier>remove_ref_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>virtual </span><span class=identifier>count_t
- </span><span class=identifier>refcount_value_i </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>SystemException</span><span class=special>) </span><span class=special>= </span><span class=number>0</span><span class=special>;
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=comment>// Copy semanic is not supported.
- </span><span class=identifier>Interface </span><span class=special>(</span><span class=identifier>Interface </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=identifier>Interface</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>Interface </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=special>};
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Type</span><span class=special>&gt;
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=identifier>add_ref </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/Makefile b/contrib/utility/Documentation/ReferenceCounting/Makefile
deleted file mode 100644
index 3202f185418..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# file : Documentation/ReferenceCounting/Make.doc.mk
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.hpp $(root)/Utility/ReferenceCounting
-
-doc_translation_units := DefaultImpl.hpp \
- Interface.hpp \
- SmartPtr.hpp \
- StrictPtr.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-# $Id$
diff --git a/contrib/utility/Documentation/ReferenceCounting/News.xhtml b/contrib/utility/Documentation/ReferenceCounting/News.xhtml
deleted file mode 100644
index 472a97e9e66..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/News.xhtml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/ReferenceCounting/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Reference Counting Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,reference,counting,smart,pointer"/>
- <meta name="description" content="Reference Counting Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>1.1.0</h1>
-<ul class="multiline">
-<li>New regression test coverage.</li>
-
-<li>
-<code>
-<a href="SmartPtr.hpp.html">Utility::ReferenceCounting::SmartPtr</a>
-</code>
-: added
-<pre class="cpp-code">
-template&lt;typename Other&gt;
-SmartPtr (SmartPtr&lt;Other&gt; const&amp;)
-</pre>
-and
-<pre class="cpp-code">
-template&lt;typename Other&gt;
-operator= (SmartPtr&lt;Other&gt; const&amp;)
-</pre>
-</li>
-
-<li>
-<code>
-<a href="SmartPtr.hpp.html">Utility::ReferenceCounting::SmartPtr</a>
-</code>
-: added
-<pre class="cpp-code">typedef T Type;</pre>
-in order to provide access to underlying type.
-</li>
-
-<li>
-<code><a href="index.xhtml">Utility::ReferenceCounting</a></code>
-: added
-<pre class="cpp-code">
-template &lt;typename D, typename S&gt;
-D*
-smart_cast (SmartPtr&lt;S&gt; const&amp;)
-</pre>
-to provide more convenient <code>dynamic_cast</code> functionality.
-</li>
-
-<li>
-<code><a href="index.xhtml">Utility::ReferenceCounting</a></code>
-: added
-<pre class="cpp-code">
-template &lt;typename T&gt;
-SmartPtr&lt;T&gt; acquire (T*)
-</pre>
-</li>
-
-<li>
-New
-<code>
-<a href="StrictPtr.hpp.html">Utility::ReferenceCounting::StrictPtr</a>
-</code>
-automatic pointer.
-</li>
-
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/SmartPtr.hpp.html b/contrib/utility/Documentation/ReferenceCounting/SmartPtr.hpp.html
deleted file mode 100644
index a2ef9342441..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/SmartPtr.hpp.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-SmartPtr.hpp</title>
-<link rel="stylesheet" href="../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ReferenceCounting/SmartPtr.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ReferenceCounting
- </span><span class=special>{
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=keyword>class </span><span class=identifier>SmartPtr
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>typedef
- </span><span class=identifier>T
- </span><span class=identifier>Type</span><span class=special>;
-
- </span><span class=keyword>class </span><span class=identifier>NotInitialized_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Compound</span><span class=special>&lt;</span><span class=identifier>NotInitialized_</span><span class=special>, </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>DescriptiveException</span><span class=special>&gt;
- </span><span class=identifier>NotInitialized</span><span class=special>;
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=comment>// c-tor's
-
- </span><span class=identifier>SmartPtr </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
- </span><span class=identifier>SmartPtr </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=identifier>SmartPtr </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Other</span><span class=special>&gt;
- </span><span class=identifier>SmartPtr </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Other</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=comment>// d-tor
-
- </span><span class=special>~</span><span class=identifier>SmartPtr </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=comment>// assignment &amp; copy-assignment operators
-
- </span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Other</span><span class=special>&gt;
- </span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>Other</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=comment>//conversions
-
- </span><span class=keyword>operator </span><span class=identifier>Type</span><span class=special>* </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=comment>// accessors
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=keyword>operator</span><span class=special>-&gt; </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>NotInitialized</span><span class=special>);
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=identifier>in </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=identifier>retn</span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr_</span><span class=special>;
- </span><span class=special>};
-
- </span><span class=comment>// Specialization of add_ref function for SmartPtr&lt;T&gt;
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=identifier>T</span><span class=special>*
- </span><span class=identifier>add_ref </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>T</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
-
- </span><span class=comment>// Dynamic type conversion function for SmartPtr's
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>D</span><span class=special>, </span><span class=keyword>typename </span><span class=identifier>S</span><span class=special>&gt;
- </span><span class=identifier>D</span><span class=special>*
- </span><span class=identifier>smart_cast </span><span class=special>(</span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>S</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=comment>// Acquisition function
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=identifier>SmartPtr</span><span class=special>&lt;</span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=identifier>acquire </span><span class=special>(</span><span class=identifier>T</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>) </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/StrictPtr.hpp.html b/contrib/utility/Documentation/ReferenceCounting/StrictPtr.hpp.html
deleted file mode 100644
index 13211b6e3c7..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/StrictPtr.hpp.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-StrictPtr.hpp</title>
-<link rel="stylesheet" href="../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/ReferenceCounting/StrictPtr.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>ReferenceCounting
- </span><span class=special>{
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=keyword>class </span><span class=identifier>StrictPtr
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>typedef
- </span><span class=identifier>T
- </span><span class=identifier>Type</span><span class=special>;
-
- </span><span class=keyword>class </span><span class=identifier>NotInitialized_ </span><span class=special>{};
- </span><span class=keyword>typedef
- </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Compound</span><span class=special>&lt;</span><span class=identifier>NotInitialized_</span><span class=special>, </span><span class=identifier>ExH</span><span class=special>::</span><span class=identifier>Logic</span><span class=special>::</span><span class=identifier>DescriptiveException</span><span class=special>&gt;
- </span><span class=identifier>NotInitialized</span><span class=special>;
-
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=comment>// c-tor's
-
- </span><span class=identifier>StrictPtr </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>explicit
- </span><span class=identifier>StrictPtr </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>StrictPtr </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Other</span><span class=special>&gt;
- </span><span class=identifier>StrictPtr </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Other</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
- </span><span class=comment>// d-tor
-
- </span><span class=special>~</span><span class=identifier>StrictPtr </span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=comment>// assignment &amp; copy-assignment operators
-
- </span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr</span><span class=special>) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>Other</span><span class=special>&gt;
- </span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Type</span><span class=special>&gt;&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>Other</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s_ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=comment>// conversions
-
- // Note: implicit conversion (operator Type* ()) is not supported.
-
- // comparison
-
- </span><span class=keyword>bool
- </span><span class=keyword>operator</span><span class=special>== </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>other</span><span class=special>) </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>bool
- </span><span class=keyword>operator</span><span class=special>!= </span><span class=special>(</span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>other</span><span class=special>) </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=comment>// accessors
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=keyword>operator</span><span class=special>-&gt; </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>NotInitialized</span><span class=special>);
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=identifier>in </span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>Type</span><span class=special>*
- </span><span class=identifier>retn</span><span class=special>() </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=identifier>Type</span><span class=special>* </span><span class=identifier>ptr_</span><span class=special>;
- </span><span class=special>};
-
- </span><span class=comment>// Specialization of add_ref function for StrictPtr&lt;T&gt;
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>T</span><span class=special>&gt;
- </span><span class=identifier>T</span><span class=special>*
- </span><span class=identifier>add_ref </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>T</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>ptr</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
-
- </span><span class=comment>// Dynamic type conversion function for StrictPtr's
- </span><span class=keyword>template </span><span class=special>&lt;</span><span class=keyword>typename </span><span class=identifier>D</span><span class=special>, </span><span class=keyword>typename </span><span class=identifier>S</span><span class=special>&gt;
- </span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>D</span><span class=special>&gt;
- </span><span class=identifier>strict_cast </span><span class=special>(</span><span class=identifier>StrictPtr</span><span class=special>&lt;</span><span class=identifier>S</span><span class=special>&gt; </span><span class=keyword>const</span><span class=special>&amp; </span><span class=identifier>s</span><span class=special>)
- </span><span class=keyword>throw </span><span class=special>(</span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>Exception</span><span class=special>, </span><span class=identifier>Interface</span><span class=special>::</span><span class=identifier>SystemException</span><span class=special>);
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReferenceCounting/index.xhtml b/contrib/utility/Documentation/ReferenceCounting/index.xhtml
deleted file mode 100644
index 43ead969460..00000000000
--- a/contrib/utility/Documentation/ReferenceCounting/index.xhtml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/ReferenceCounting/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Reference Counting Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,reference,counting"/>
- <meta name="description" content="Reference Counting Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>Reference Counting Library provides basic building blocks for
-reference-countable objects. Implementation is modeled after CORBA
-IDL-to-C++ mapping's reference-countable objects and significantly
-extended.</p>
-
-
-<h1>Definitions</h1>
-
-<p>Below are the definitions of the key classes:</p>
-
-<ul class="menu">
- <li><a href="Interface.hpp.html">ReferenceCounting::Interface</a></li>
- <li><a href="DefaultImpl.hpp.html">ReferenceCounting::DefaultImpl</a></li>
- <li><a href="SmartPtr.hpp.html">ReferenceCounting::SmartPtr</a></li>
- <li><a href="StrictPtr.hpp.html">ReferenceCounting::StrictPtr</a></li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/ReleaseProcess b/contrib/utility/Documentation/ReleaseProcess
deleted file mode 100644
index 9b42a762902..00000000000
--- a/contrib/utility/Documentation/ReleaseProcess
+++ /dev/null
@@ -1,13 +0,0 @@
-1) go thru '@@' in source code
-
-2) build & test with g++ and cxx
-
-3) update news pages
-
-4) spellcheck/tidy/validate all xhtml files
-
-5) copy Utility to Utility-x.y.z; make documentation
-
-6) go manually thru all documentation pages with lynx & gui ua
-
-$Id$
diff --git a/contrib/utility/Documentation/Style/CXX.css b/contrib/utility/Documentation/Style/CXX.css
deleted file mode 100644
index 49bf0f34e51..00000000000
--- a/contrib/utility/Documentation/Style/CXX.css
+++ /dev/null
@@ -1,9 +0,0 @@
-pre { BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 2pt; BORDER-TOP: gray 1pt solid; DISPLAY: block; PADDING-LEFT: 2pt; PADDING-BOTTOM: 2pt; MARGIN-LEFT: 32pt; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 32pt; PADDING-TOP: 2pt; BORDER-BOTTOM: gray 1pt solid; FONT-FAMILY: "Courier New", Courier, mono; background-color: #EEEEEE; font-size: small}
-.keyword { color: #000099}
-.identifier { }
-.comment { color: #990000}
-.special { color: #800040}
-.preprocessor { color: #006600}
-.string { color: #666666}
-.number { color: #666666}
-/* $Id$ */
diff --git a/contrib/utility/Documentation/Style/CXX_Blue.css b/contrib/utility/Documentation/Style/CXX_Blue.css
deleted file mode 100644
index 52b58d54119..00000000000
--- a/contrib/utility/Documentation/Style/CXX_Blue.css
+++ /dev/null
@@ -1,25 +0,0 @@
-pre {
- BORDER-RIGHT: gray 1pt solid;
- PADDING-RIGHT: 2pt;
- BORDER-TOP: gray 1pt solid;
- DISPLAY: block;
- PADDING-LEFT: 2pt;
- PADDING-BOTTOM: 2pt;
- MARGIN-LEFT: 32pt;
- BORDER-LEFT: gray 1pt solid;
- MARGIN-RIGHT: 32pt;
- PADDING-TOP: 2pt;
- BORDER-BOTTOM: gray 1pt solid;
- FONT-FAMILY: "Courier New", Courier, mono; background-color: #191970;
- font-size: small
-}
-
-.keyword { font-weight: bold; color: #afeeee}
-.identifier { color: #98fb98 }
-.comment { color: #add8e6}
-.special { color: #bebebe}
-.preprocessor { color: #7fffd4}
-.string { color: #87cefa}
-.number { color: #bebebe}
-.literal { color: #FF0000}
-/* $Id$ */
diff --git a/contrib/utility/Documentation/Style/Default.css b/contrib/utility/Documentation/Style/Default.css
deleted file mode 100644
index 2c90197f340..00000000000
--- a/contrib/utility/Documentation/Style/Default.css
+++ /dev/null
@@ -1,45 +0,0 @@
-body {
- font-family : sans-serif;
-
- color : black;
- background : white;
-
- max-width : 40em;
- padding : 2em 2em 2em 3em;
- margin : 0;
-}
-
-h1, h2, h3, h4, h5, h6 {
- font-family : sans-serif;
- font-weight : 500;
-}
-
-h1 { font-size : 170%; }
-h2 { font-size : 145%; }
-h3 { font-size : 125%; }
-h4 { font-size : 110%; }
-h5 { font-size : 106%; }
-h6 { font-size : 100%; }
-
-p.indent {
- margin-left : 1.5em;
-}
-
-/* list of links */
-
-ul.menu {
- list-style-type : none;
-}
-
-ul.menu li {
- padding-top : 0.3em;
- padding-bottom : 0.3em;
-}
-
-/* */
-
-ul.multiline li {
- padding-top : 0.4em;
- padding-bottom : 0.4em;
-}
-/* $Id$ */
diff --git a/contrib/utility/Documentation/Synch/Makefile b/contrib/utility/Documentation/Synch/Makefile
deleted file mode 100644
index a35e28b530d..00000000000
--- a/contrib/utility/Documentation/Synch/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Documentation/Synch/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Policy
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Documentation/Synch/News.xhtml b/contrib/utility/Documentation/Synch/News.xhtml
deleted file mode 100644
index f7bf4f01285..00000000000
--- a/contrib/utility/Documentation/Synch/News.xhtml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Synch/News.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Synchronization Library News</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,synchronization,policy,thread"/>
- <meta name="description" content="Synchronization Library News"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>1.1.0</h1>
-<ul class="multiline">
- <li>New regression test coverage.</li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Synch/Policy/Makefile b/contrib/utility/Documentation/Synch/Policy/Makefile
deleted file mode 100644
index 175d207b06e..00000000000
--- a/contrib/utility/Documentation/Synch/Policy/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# file : Documentation/Synch/Policy/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Documentation.pre.rules)
-
-vpath %.hpp $(root)/Utility/Synch/Policy
-
-doc_translation_units := Null.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-$(call include, $(root)/BuildRules/Documentation.post.rules)
-
-# $Id$
diff --git a/contrib/utility/Documentation/Synch/Policy/Null.hpp.html b/contrib/utility/Documentation/Synch/Policy/Null.hpp.html
deleted file mode 100644
index 21173a5951b..00000000000
--- a/contrib/utility/Documentation/Synch/Policy/Null.hpp.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<!-- Generated by the Spirit (http://spirit.sf.net) C++ to HTML Converter -->
-<title>
-Null.hpp</title>
-<link rel="stylesheet" href="../../../Documentation/Style/CXX.css" type="text/css"></head>
-<body>
-<pre>
-<span class=comment>// file : Utility/Synch/Policy/Null.hpp
-// author : Boris Kolpackov &lt;boris@kolpackov.net&gt;
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-</span><span class=keyword>namespace </span><span class=identifier>Utility
-</span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>Synch
- </span><span class=special>{
- </span><span class=keyword>namespace </span><span class=identifier>Policy
- </span><span class=special>{
-
- </span><span class=keyword>class </span><span class=identifier>NullMutex
- </span><span class=special>{
- </span><span class=special>};
-
- </span><span class=keyword>class </span><span class=identifier>NullGuard
- </span><span class=special>{
- </span><span class=keyword>public</span><span class=special>:
- </span><span class=keyword>explicit
- </span><span class=identifier>NullGuard </span><span class=special>(</span><span class=identifier>NullMutex</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=keyword>private</span><span class=special>:
- </span><span class=identifier>NullGuard </span><span class=special>(</span><span class=identifier>NullGuard </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
-
- </span><span class=identifier>NullGuard</span><span class=special>&amp;
- </span><span class=keyword>operator</span><span class=special>= </span><span class=special>(</span><span class=identifier>NullGuard </span><span class=keyword>const</span><span class=special>&amp;) </span><span class=keyword>throw </span><span class=special>();
- </span><span class=special>};
-
- </span><span class=keyword>struct </span><span class=identifier>Null
- </span><span class=special>{
- </span><span class=keyword>typedef
- </span><span class=identifier>NullMutex
- </span><span class=identifier>Mutex</span><span class=special>;
-
- </span><span class=keyword>typedef
- </span><span class=identifier>NullGuard
- </span><span class=identifier>ReadGuard</span><span class=special>;
-
- </span><span class=keyword>typedef
- </span><span class=identifier>NullGuard
- </span><span class=identifier>WriteGuard</span><span class=special>;
- </span><span class=special>};
- </span><span class=special>}
- </span><span class=special>}
-</span><span class=special>}
-
-</span></pre>
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Synch/index.xhtml b/contrib/utility/Documentation/Synch/index.xhtml
deleted file mode 100644
index dd4a685ccc0..00000000000
--- a/contrib/utility/Documentation/Synch/index.xhtml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/Synch/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Synchronization Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,thread,synchronization,policy"/>
- <meta name="description" content="Synchronization Library"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-
-<p>
-Synchronization library provides a compile-time policy-based configurable
-facility of selecting synchronization mechanisms. For now there is only
-no-op synchronization policy provided which is suitable only for
-single-threaded applications. However it shouldn't be difficult to provide
-a wrapper policy for synchronization mechanisms used in a particular project.
-</p>
-
-<h1>Definitions</h1>
-<p>Below are the definitions of the key classes:</p>
-
-<ul class="menu">
- <li><a href="Policy/Null.hpp.html">Synch::Policy::Null</a></li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/TODO b/contrib/utility/Documentation/TODO
deleted file mode 100644
index 984a0cddb56..00000000000
--- a/contrib/utility/Documentation/TODO
+++ /dev/null
@@ -1,53 +0,0 @@
-
-New features/changes
----------------------------------------------------------------------------
-
-@@ DefaultImpl<> looks ugly. Is there a way to just write DefaultImpl
- (or, perhaps some other name)? Maybe also rename Interface to Object
- (will be consistent with Introspection::Object).
-
-@@ Abort facility
-
-@@ Maybe rename converter to convert
-
-@@ Maybe make reference counting object implement Introspection. However it
- will introduce inter-library dependency. Nop, this is a bad idea.
-
-@@ Maybe move <library>.hpp one level up to Utility/.
-
-@@ Go thru C++Templates chapter on RefCounting and SmartPointers and see if
- anything can be applied?
-
-@@ Examples for many features are missing
-
-@@ Introspection::TypeInfo should use set instead of vector for bases.
-
-
-Documentation
----------------------------------------------------------------------------
-
-@@ code in <pre> does not look nice in lynx (see Hetero/index.html for example)
-
-
-Building environment
----------------------------------------------------------------------------
-
-@@ Should probably make lib rules to build library when target is test (try to
- run 'make clean && make test' from Utility root).
-
-@@ Makefile variable names inconsistency (e.g. cxx_translation_units and CXX_PREPROCESS_FLAGS)
-
-%% Rename Config to Build or rather BuildRules?
-
-@@ Compiler-specific stuff is left after make clean. Potentially dangerous
- idea would be to remove everything except known files
-
-@@ Multi-compiler configuration
-
-@@ Building library with sources in sub-directories.
-
-
-Pre-release fixes
----------------------------------------------------------------------------
-
-$Id$
diff --git a/contrib/utility/Documentation/Template.xhtml b/contrib/utility/Documentation/Template.xhtml
deleted file mode 100644
index 41c9857dabf..00000000000
--- a/contrib/utility/Documentation/Template.xhtml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>@@</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="@@"/>
- <meta name="description" content="@@"/>
-
- <link rel="stylesheet" type="text/css" href="../Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>@@</h1>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Documentation/Thoughts/Enum/EnumCount b/contrib/utility/Documentation/Thoughts/Enum/EnumCount
deleted file mode 100644
index be8b252d4de..00000000000
--- a/contrib/utility/Documentation/Thoughts/Enum/EnumCount
+++ /dev/null
@@ -1,95 +0,0 @@
-From: Gianni Mariani <gi2nospam@mariani.ws>
-Date: 26 Jul 2003 04:52:43 GMT
-Newsgroups: comp.lang.c++
-Subject: Re: enum count
-
-Clive wrote:
-> If you have an enum, is there any way during execution to find the number of
-> values in the enum?
-> Say I have,
->
-> enum great { five, ten, fifteen };
->
-> How could I get the number 3 from that?
->
->
-
-replace the enums with objects that report themselves to a registry.
-
-
-I have done it in the past using a template ...
-
-templace <typename base>
-class ExposedEnum : public base
-{
- public:
- int enum_val;
- ExposedEnum( int number )
- : enum_val( number )
- {
- ExposedEnumRegister<base>::Register( *this );
- }
-
- ExposedEnum( int number )
- : enum_val( ExposedEnumRegister<base>::GetNextNumber() )
- {
- ExposedEnumRegister<base>::Register( *this );
- }
-
-
-
-// some more stuff ...
-
- operator int () const
- {
- return enum_val;
- }
-
- explicit ExposedEnum( const ExposedEnum & foo );
-};
-
-
-template <typename base>
-class ExposedEnumRegister
-{
-
- static int GetNextNumber ....
-
- static void Register ....
-
- static int Count ....
-
-}
-
-
-Now you can forward declare them...
-
-extern ExposedEnum< great > five;
-
-extern ExposedEnum< great > ten;
-
-extern ExposedEnum< great > fifteen;
-
-
-
-
-In a cpp file you can instantiate them.
-
-ExposedEnum< great > five( 5 );
-
-ExposedEnum< great > ten( 10 );
-
-ExposedEnum< great > fifteen;
-
-
-Now, if you want to know how many you have :
-
-ExposedEnumRegister< great >::Count();
-
-
-
-Disclaimer - it's an outline only, yes it's incomplete.
-
-G
-
-$Id$
diff --git a/contrib/utility/Documentation/Thoughts/Enum/EnumCount2 b/contrib/utility/Documentation/Thoughts/Enum/EnumCount2
deleted file mode 100644
index d23e790b6d4..00000000000
--- a/contrib/utility/Documentation/Thoughts/Enum/EnumCount2
+++ /dev/null
@@ -1,17 +0,0 @@
-From: Alexander Terekhov <terekhov@web.de>
-Date: Sat, 26 Jul 2003 19:17:52 +0200
-Newsgroups: comp.lang.c++
-Subject: Re: enum count
-
-
-Steve Pinard wrote:
->
-> Wouldn't that be nice? And wouldn't it be nice to be able to get the
-> strings "five", "ten", and "fifteen" too?
-
-http://lcgapp.cern.ch/project/architecture/XTI_accu.pdf
-
-regards,
-alexander.
-
-$Id$
diff --git a/contrib/utility/Documentation/Thoughts/Enum/EnumInfo b/contrib/utility/Documentation/Thoughts/Enum/EnumInfo
deleted file mode 100644
index e59a27c0820..00000000000
--- a/contrib/utility/Documentation/Thoughts/Enum/EnumInfo
+++ /dev/null
@@ -1,45 +0,0 @@
-From: "Klaus Eichner" <klaus_gb@yahoo.com>
-Date: Sat, 26 Jul 2003 14:53:23 +0100
-Newsgroups: comp.lang.c++
-Subject: Re: enum count
-
-"Clive" <clive@clive.clive> wrote in message
-news:3f21e5cc$0$23611$5a62ac22@freenews.iinet.net.au...
-> If you have an enum, is there any way during execution to find the number
-of
-> values in the enum?
-> Say I have,
->
-> enum great { five, ten, fifteen };
->
-> How could I get the number 3 from that?
-
-You could get the number 3 from 'great' with your own, user-defined
-'Enum_Info' template:
-
-cout << "The number of values in enum great is "
- << Enum_Info<great>::number_of_elements
- << endl;
-
-The 'Enum_Info' template is defined as follows.
-Suppose you have the following enums:
-
-enum great { five, ten, fifteen };
-enum greater { none, one, fourtytwo, fourtythree, fourtyfour };
-enum even_greater { minusone, minustwo, minusthree, minusfour, minusfive,
-minussix, minusseven };
-
-You could build a template class 'Enum_Info' which uses specialisation to
-register the number of elements in each enum
-
-template <class T> class Enum_Info { };
-template <> class Enum_Info<great> { static const int number_of_elements =
-3; };
-template <> class Enum_Info<greater> { static const int number_of_elements =
-5; };
-template <> class Enum_Info<even_greater> { static const int
-number_of_elements = 7; };
-
-
-
-$Id$
diff --git a/contrib/utility/Documentation/index.xhtml b/contrib/utility/Documentation/index.xhtml
deleted file mode 100644
index 87e82d228dc..00000000000
--- a/contrib/utility/Documentation/index.xhtml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-
-<!--
-
-file : Documentation/index.xhtml
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2002-2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<head>
-
- <title>Utility Library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,exception,handling,model,reference,counting,thread,synchronization"/>
- <meta name="description" content="Utility Library"/>
-
- <link rel="stylesheet" type="text/css" href="Style/Default.css"/>
-
-</head>
-
-<body>
-
-<h1>Introduction</h1>
-<p>
-Utility library is a place for generic C++ facilities that I found useful
-in more than one project.
-
-Here you can download the
-<a href="http://kolpackov.net/projects/Utility/Download.xhtml">
-latest version</a>.
-
-Utility library is a
-<a href="http://gnu.org/philosophy/categories.html#Non-CopyleftedFreeSoftware">
-non-copylefted free software</a> with zlib-like
-<a href="http://kolpackov.net/license.html">license</a>.
-
-For changes and new features check out <a href="News.xhtml">News section</a>.
-</p>
-
-<h1>Supported Platforms</h1>
-
-<p>
-For the time being I test Utility library with at least GNU G++ on Linux and
-Compaq (Digital) C++ (-std strict_ansi) on Tru64 UNIX. It also should compile
-and work fine with any decent C++ compiler. Also note that I don't have any
-plans to bloat source code in attempt to support broken compilers.</p>
-
-<h1>Building</h1>
-
-<p>
-Utility library mostly consists of header-only sub-libraries so you don't
-actually need to build anything to start using it. See <a href="Build.xhtml">
-Building Utility Library</a> section for more information.</p>
-
-<h1>Content</h1>
-
-<p>Utility Library consists of the following sub-libraries:</p>
-
-<ul class="menu">
- <li><a href="CommandLine/index.xhtml">Command Line Processing</a></li>
-
- <li><a href="ExH/index.xhtml">Exception Handling</a></li>
-
- <li><a href="Hetero/index.xhtml">Heterogeneous Container</a></li>
-
- <li><a href="Introspection/index.xhtml">Introspection</a></li>
-
- <li><a href="ReferenceCounting/index.xhtml">Reference Counting</a></li>
-
- <li><a href="Synch/index.xhtml">Synchronization</a></li>
-</ul>
-
-</body>
-</html>
-<!-- $Id$ -->
diff --git a/contrib/utility/Example/CommandLine/Foo/command.cpp b/contrib/utility/Example/CommandLine/Foo/command.cpp
deleted file mode 100644
index db829909f37..00000000000
--- a/contrib/utility/Example/CommandLine/Foo/command.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include <string>
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-
-class Command
-{
-public:
- enum Value
- {
- HELP = 0,
- VERSION,
- DEFAULT
- };
-
- Command (Value v = Command::DEFAULT)
- : v_ (v)
- {
- }
-
- operator Value () const
- {
- return v_;
- }
-
- friend std::ostream&
- operator<< (std::ostream& os, Command c);
-
- friend std::istream&
- operator>> (std::istream& is, Command& c);
-
-private:
- Value v_;
- static char* labels_[];
-};
-
-char* Command::labels_[] = {"help", "version", "default"};
-
-
-std::ostream&
-operator<< (std::ostream& os, Command c)
-{
- return os << Command::labels_[c.v_];
-}
-
-std::istream&
-operator>> (std::istream& is, Command& c)
-{
- std::string s;
- is >> s;
- if (is)
- {
- if (s == Command::labels_[Command::HELP]) c.v_ = Command::HELP;
- else if (s == Command::labels_[Command::VERSION]) c.v_ = Command::VERSION;
- else is.setstate (std::ios::failbit);
- }
- return is;
-}
-
-int
-main ()
-{
- Command c = Command::HELP;
-
- c = Command::DEFAULT;
-
- Command c1 (Command::HELP);
-
- c = c1;
-
- cerr << c << endl;
-
- switch (c)
- {
- case Command::HELP:
- {
- cerr << "iiihuuu!!!" << endl;
- }
- }
-
- std::cin >> c1;
- if (std::cin) cerr << c1 << endl;
- else cerr << "*failed" << endl;
-}
-//$Id$
diff --git a/contrib/utility/Example/CommandLine/Foo/foo.cpp b/contrib/utility/Example/CommandLine/Foo/foo.cpp
deleted file mode 100644
index 550d1f6f170..00000000000
--- a/contrib/utility/Example/CommandLine/Foo/foo.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#include <typeinfo>
-#include <string>
-#include <iostream>
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-namespace CommandLine
-{
- struct Parser
- {
- };
-}
-
-using std::string;
-using std::cerr;
-using std::endl;
-
-using namespace CommandLine;
-
-class Command
-{
-public:
- enum Value
- {
- HELP,
- VERSION,
- DEFAULT
- };
-
- Command (Value v = Command::DEFAULT)
- : v_ (v)
- {
- }
-
- operator Value () const
- {
- return v_;
- }
-
-private:
- Value v_;
-};
-
-
-int
-version ();
-
-int
-help (int argc, char* argv[]);
-
-int
-main (int argc, char* argv[])
-{
-
- // Step 1: determine command
- //
- // * there is usually one command
- // * command can be optional
- // * command usually takes up one argument
- //
-
- CommandParser<Command> cp;
-
- switch (cp.parse (argc, argv))
- {
- case Command::VERSION:
- {
- return version ();
- }
- case Command::HELP:
- {
- return help (argc, argv);
- }
- }
-
- // Step 2: parse options
- //
- // * options are usually optional
- // * options are usually position-independant
- // * options usually do not repeat
- // * options can take up more than one argument
- //
-
- OptionMap om;
-
- CompositeParser op;
-
- op.add (OptionParser<string> ("string", "--string", "-s"));
- op.add (OptionParser<unsigned long> ("number", "--number", "-n"));
-
- while (argc != 1 && !op.empty ())
- {
- om.insert (op.parse (argc, argv));
- }
-
- // Step 3: parse operands
- //
- // * operands usually position-dependant
- // * operand usually take up one argument
- //
-
- OperandParser<string> odp;
-
- string str = odp.parse (argc, argv);
-
- unsigned long num = 0;
-
- if (argc != 1)
- {
- OperandParser<unsigned long> op;
- num = op.parse (argc, argv);
- }
-
- string s = om.count ("string") ? om["string"] : "default";
- unsigned long l = om["number"];
-
- // om.at ()
- // om.get ()
- // om.resolve ()
- // om.option ()
- // om.value ()
-
- cerr << "opreation settings are:" << endl << endl
- << "option string : " << om.get<string> ("string", "default") << endl
- << "option number : " << om.get ("number", 10UL) << endl
- << "operand string : " << str << endl
- << "operand number : " << num << endl;
-}
-
-
-//
-//
-//
-int
-version ()
-{
- cerr << "foo 1.0" << endl;
- return 0;
-}
-
-
-//
-//
-//
-int
-help (int argc, char* argv[])
-{
- Command subject;
-
- if (argc != 1)
- {
- OperandParser<Command> op;
- subject = op.parse (argc, argv);
- }
-
- switch (subject)
- {
- case Command::HELP:
- {
- cerr << "foo help [<command>]" << endl << endl
- << "\t If <command> is specified then print extended help" << endl
- << "\t information for specified command. Otherwise print" << endl
- << "\t general usage information." << endl;
- break;
- }
- case Command::VERSION:
- {
- cerr << "foo version" << endl << endl
- << "\t Print version information." << endl;
- break;
- }
- default:
- {
- cerr << "foo version" << endl
- << "foo help [<command>]" << endl
- << "foo [-s|--string <str>] [-n|--number <num>] <str> [<num>]"
- << endl;
- break;
- }
- }
-
- return 0;
-}
-//$Id$
diff --git a/contrib/utility/Example/ExH/BadCast/Makefile b/contrib/utility/Example/ExH/BadCast/Makefile
deleted file mode 100644
index 9963d9708a1..00000000000
--- a/contrib/utility/Example/ExH/BadCast/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Example/ExH/BadCast/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := bad_cast.cpp
-
-module_base := bad_cast
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/ExH/BadCast/bad_cast.cpp b/contrib/utility/Example/ExH/BadCast/bad_cast.cpp
deleted file mode 100644
index 699add03047..00000000000
--- a/contrib/utility/Example/ExH/BadCast/bad_cast.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// file : Example/ExH/BadCast/bad_cast.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/System/Exception.hpp"
-
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-
-
-struct A
-{
- virtual
- ~A() {}
-};
-
-struct B
-{
- void
- foo () {}
-};
-
-void
-foo ()
-{
- A a;
-
- A& ar (a);
-
- B& br (dynamic_cast<B&> (ar));
-
- br.foo ();
-}
-
-int
-main ()
-{
- try
- {
- foo ();
- }
- catch (Utility::ExH::System::Exception const& ex)
- {
- cerr << "Caught Utility::ExH::System::Exception: "
- << ex.what ()
- << endl;
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/ExH/Compound/Makefile b/contrib/utility/Example/ExH/Compound/Makefile
deleted file mode 100644
index 8bd588587d5..00000000000
--- a/contrib/utility/Example/ExH/Compound/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Example/ExH/Compound/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := compound.cpp
-
-module_base := compound
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/ExH/Compound/compound.cpp b/contrib/utility/Example/ExH/Compound/compound.cpp
deleted file mode 100644
index e9f585ce6d3..00000000000
--- a/contrib/utility/Example/ExH/Compound/compound.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// file : Example/ExH/Compound/compound.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-// Include some helper converters to allow exception initialization
-// with std::ostringstream
-
-#include "Utility/ExH/StringStreamConverter.hpp"
-
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-using std::string;
-using std::ostringstream;
-
-using namespace Utility::ExH;
-
-// Here are our components
-
-class Base
-{
-public:
-
- //
- // Exception definitions.
- //
-
- // Base logic exception class for component.
- class Exception_ {};
- typedef
- Compound <Exception_, Logic::DescriptiveException>
- Exception;
-
- class InvalidArgument_ {};
- typedef
- Compound <InvalidArgument_, Exception>
- InvalidArgument;
-
- class NotInitialized_ {};
- typedef
- Compound <NotInitialized_, Exception>
- NotInitialized;
-
-public:
-
- void
- foo (char const* str)
- {
- // This is just an example.
-
- if (str == 0)
- {
- throw InvalidArgument ("Base::foo: first parameter is zero.");
- }
- else
- {
- ostringstream ostr;
- ostr << "Base::foo [this = " << this << "]: object is not initialized.";
-
- throw NotInitialized (ostr);
- }
- }
-
-
- // We don't know what implementation may decide to throw so
- // we allow to throw System exception and any logic exception
- // derived from Base::Exception
- virtual void
- vfoo () = 0;
-};
-
-class Derived : public Base
-{
-public:
-
- // Define some Derived-specific logic exception.
- class NotImplemented_ {};
- typedef
- Compound <NotImplemented_, Exception>
- NotImplemented;
-
-public:
- virtual void
- vfoo ()
- {
- std::string str ("Derived::vfoo: not implemented yet.");
- throw NotImplemented (str);
- }
-};
-
-int
-main ()
-{
- try
- {
-
- Derived d;
- Base* pb (&d);
-
- // We can use generic handler.
- try
- {
- pb->vfoo ();
- }
- catch (Base::Exception const& ex)
- {
- cerr << "Caught Base::Exception: " << ex.what () << endl;
- }
-
-
- // Or use more precise control.
- try
- {
- pb->foo ("hello");
- }
- catch (Base::NotInitialized const& ex)
- {
- cerr << "Caught Base::NotInitialized: " << ex.what () << endl;
- }
-
- // Or use application-level handler.
- pb->foo (0);
-
- }
- catch (Logic::Exception const& ex)
- {
- cerr << "Caught Logic::Exception: " << ex.what () << endl;
- }
- catch (...)
- {
- cerr << "Caught unknown exception using catch-all handler" << endl;
- return -1;
- }
-
-}
-//$Id$
diff --git a/contrib/utility/Example/ExH/HelloWorld/Makefile b/contrib/utility/Example/ExH/HelloWorld/Makefile
deleted file mode 100644
index 93debef0e7c..00000000000
--- a/contrib/utility/Example/ExH/HelloWorld/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Example/ExH/HelloWorld/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := hello_world.cpp
-
-module_base := hello_world
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/ExH/HelloWorld/hello_world.cpp b/contrib/utility/Example/ExH/HelloWorld/hello_world.cpp
deleted file mode 100644
index 9499bf09fe1..00000000000
--- a/contrib/utility/Example/ExH/HelloWorld/hello_world.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// file : Example/ExH/HelloWorld/hello_world.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include <cstdlib> // for std::abort ()
-
-#include <string>
-#include <iostream>
-
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/Logic/Exception.hpp"
-
-using std::cerr;
-using std::cout;
-using std::endl;
-
-using namespace Utility;
-
-class Application
-{
-public:
- class Exception : public ExH::Logic::Exception {};
-
- // Hint: you may want to try again...
- class FeelingDizzy : public Exception {};
-
- class InvalidArg : public Exception {};
-
-public:
- Application ()
- : // The std::string c-tor may throw any kind of exceptions besides
- // quite possible std::bad_alloc.
- greeting_ ("Hello, world!")
- {
- }
-
- Application (char const * greeting)
- : greeting_ (greeting == 0 ? "" : greeting)
- {
- if (greeting == 0) throw InvalidArg ();
- }
-
-public:
-
- void
- run ()
- {
- static unsigned int dizzy_count (0);
-
- if (dizzy_count++ < 5) throw FeelingDizzy ();
-
- // The next line can throw full bucket of exceptions
- // not to mention ios_base::failure.
- cout << greeting_.c_str () << endl;
- }
-
-private:
-
- std::string greeting_;
-};
-
-
-
-int
-main ()
-{
- // This is a catch-all layer that should be in use only
- // if we are really in trouble.
- try
- {
- // This is a catch-system layer. Here we will catch exceptions like
- // bad_alloc, etc. If we get here it means that nobody wanted/managed
- // to recover from this kind of errors.
- try
- {
- // This is a catch-logic layer. If we get here it usually
- // indicates an application logic error.
- try
- {
-
- // Ok, here we go about our application logic.
- try
- {
- for (int i = 0; i < 10; i++)
- {
- try
- {
- Application app ("Hi dude!");
- app.run ();
- break;
- }
- catch (Application::FeelingDizzy const& )
- {
- if (i == 9)
- {
- cerr << "Given up!" << endl;
- return -1;
- }
- else
- {
- cerr << "Application is feeling dizzy. Trying again..."
- << endl;
- }
- }
- }
- }
- catch (Application::InvalidArg const& )
- {
- cerr << "Cought Application::InvalidArg : ...hmm... strange!"
- << endl;
- return -1;
- }
- }
- catch (ExH::Logic::Exception const& e)
- {
- cerr << "Caught Logic::Exception : " << e.what () << endl;
- return -1;
- }
- }
- catch (const ExH::System::Exception& e)
- {
- cerr << "Caught System::Exception : " << e.what () << endl;
- return -1;
- }
- catch (...)
- {
- cerr << "Caught unknown exception using catch-all handler. " << endl;
- return -1;
- }
- }
- catch (...)
- {
- // We get here in cases of some hard failure. For example when handling
- // exception, operator << throws another exception. Usually application
- // cannot handle such failures itself so we just propagate it futher.
- std::abort ();
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/ExH/LogicToSystem/Makefile b/contrib/utility/Example/ExH/LogicToSystem/Makefile
deleted file mode 100644
index 789413c0a3c..00000000000
--- a/contrib/utility/Example/ExH/LogicToSystem/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Example/ExH/LogicToSystem/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := logic_to_system.cpp
-
-module_base := logic_to_system
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp b/contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp
deleted file mode 100644
index 6f718e9c694..00000000000
--- a/contrib/utility/Example/ExH/LogicToSystem/logic_to_system.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// file : Example/ExH/LogicToSystem/logic_to_system.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/Logic/Exception.hpp"
-
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-
-
-struct SubsystemA
-{
- class Exception : public Utility::ExH::Logic::Exception {};
-
- void
- foo ()
- {
- throw Exception ();
- }
-};
-
-
-struct SubsystemB
-{
- void
- foo ()
- {
- SubsystemA a;
- a.foo ();
-
- // Here SubsystemB is using SunsystemA but cannot (forgot, doesnt't
- // want to, doesn't know how to, etc - pick your favorite) handle
- // exception thrown by SubsystemA. As a result exception is
- // 'converted' to System::Exception.
- }
-};
-
-
-int
-main ()
-{
- try
- {
- SubsystemB b;
- b.foo ();
- }
- catch (Utility::ExH::System::Exception const& ex)
- {
- cerr << "Caught Utility::ExH::System::Exception: "
- << ex.what ()
- << endl;
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/ExH/Makefile b/contrib/utility/Example/ExH/Makefile
deleted file mode 100644
index 99eb95cf62f..00000000000
--- a/contrib/utility/Example/ExH/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Example/ExH/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := BadCast Compound HelloWorld LogicToSystem
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Hetero/Container/Makefile b/contrib/utility/Example/Hetero/Container/Makefile
deleted file mode 100644
index 29135f54046..00000000000
--- a/contrib/utility/Example/Hetero/Container/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Example/Hetero/Container/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := container.cpp
-
-module_base := container
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Hetero/Container/container.cpp b/contrib/utility/Example/Hetero/Container/container.cpp
deleted file mode 100644
index 30bc05fc1b9..00000000000
--- a/contrib/utility/Example/Hetero/Container/container.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// file : Example/Hetero/Container/container.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/Hetero/Container.hpp"
-#include "Utility/Hetero/TypedContainer.hpp"
-#include "Utility/Hetero/Vector.hpp"
-#include "Utility/Hetero/Shell.hpp"
-
-#include <string>
-#include <iostream>
-#include <algorithm>
-
-using std::string;
-
-using std::cout;
-using std::cerr;
-using std::endl;
-
-namespace Hetero = Utility::Hetero;
-
-using Hetero::Container;
-using Hetero::TypedContainer;
-using Hetero::TypeList;
-using Hetero::Shell;
-
-
-struct PrintCore
-{
- typedef void RetType;
-
- template <typename T>
- void
- operator() (T const& t)
- {
- cout << t << endl;
- }
-};
-
-typedef Shell<PrintCore> Print;
-
-void
-print (bool b)
-{
- cout << (b ? "T" : "NIL") << endl;
-}
-
-int
-main ()
-{
- try
- {
- Container a (10L);
- Container b (true);
- Container c (string ("hello"));
-
- string s = c + string (" world");
-
- long l = a + 20L;
-
- cout << s << "; " << l << endl;
-
- print (b);
-
- //
- //
- //
-
- typedef
- TypedContainer <TypeList<long, bool, string> >
- MyContainer;
-
- MyContainer x (true);
- MyContainer y (10L);
- MyContainer z (string ("hey dude"));
-
- Print print;
-
- print (x);
- print (y);
- print (z);
-
- //
- //
- //
-
- typedef
- Hetero::Vector<long, bool, string>
- vector;
-
- vector v;
- v.push_back (10L);
- v.push_back (true);
- v.push_back (false);
- v.push_back (string ("hey"));
-
- for (vector::iterator i = v.begin (); i != v.end (); i++)
- {
- print (*i);
- }
-
- std::for_each (v.begin (), v.end (), print);
- }
- catch (Hetero::Typing const&)
- {
- cerr << "typing error" << endl;
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/Hetero/Makefile b/contrib/utility/Example/Hetero/Makefile
deleted file mode 100644
index a55938e9502..00000000000
--- a/contrib/utility/Example/Hetero/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Example/Hetero/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Container
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.cpp b/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.cpp
deleted file mode 100644
index 0dbc616483e..00000000000
--- a/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// file : Hierarchy.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Hierarchy.hpp"
-
-// A
-//
-//
-
-using Introspection::Object;
-using Introspection::Access;
-
-namespace
-{
- TypeInfo
- a_init_ ()
- {
- TypeInfo ti (typeid (A));
- ti.add_base (Access::PUBLIC, true, Object::static_type_info ());
- return ti;
- }
-
- TypeInfo a_ (a_init_ ());
-}
-
-TypeInfo const& A::
-static_type_info ()
-{
- return a_;
-}
-
-// B
-//
-//
-
-namespace
-{
- TypeInfo
- b_init_ ()
- {
- TypeInfo ti (typeid (B));
- ti.add_base (Access::PUBLIC, false, A::static_type_info ());
- return ti;
- }
-
- TypeInfo b_ (b_init_ ());
-}
-
-TypeInfo const& B::
-static_type_info ()
-{
- return b_;
-}
-
-// C
-//
-//
-
-namespace
-{
- TypeInfo
- c_init_ ()
- {
- TypeInfo ti (typeid (C));
- ti.add_base (Access::PUBLIC, true, A::static_type_info ());
- return ti;
- }
-
- TypeInfo c_ (c_init_ ());
-}
-
-TypeInfo const& C::
-static_type_info ()
-{
- return c_;
-}
-
-
-// D
-//
-//
-
-namespace
-{
- TypeInfo
- d_init_ ()
- {
- TypeInfo ti (typeid (D));
- ti.add_base (Access::PUBLIC, true, B::static_type_info ());
- ti.add_base (Access::PUBLIC, false, C::static_type_info ());
- return ti;
- }
-
- TypeInfo d_ (d_init_ ());
-}
-
-TypeInfo const& D::
-static_type_info ()
-{
- return d_;
-}
-//$Id$
diff --git a/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.hpp b/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.hpp
deleted file mode 100644
index 213e0593f6b..00000000000
--- a/contrib/utility/Example/Introspection/InheritanceTree/Hierarchy.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// file : Example/Introspection/InheritanceTree/Hierarchy.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef HIERARCHY_HPP
-#define HIERARCHY_HPP
-
-#include "Utility/Introspection/Introspection.hpp"
-
-namespace Introspection = Utility::Introspection;
-
-using Introspection::TypeInfo;
-using Introspection::TypeId;
-
-struct A : virtual Introspection::Object
-{
- A ()
- {
- type_info (static_type_info ());
- }
-
- static TypeInfo const&
- static_type_info ();
-};
-
-struct B : virtual A
-{
- B ()
- {
- type_info (static_type_info ());
- }
-
- static TypeInfo const&
- static_type_info ();
-};
-
-struct C : virtual A
-{
- C ()
- {
- type_info (static_type_info ());
- }
-
- static TypeInfo const&
- static_type_info ();
-};
-
-struct D : virtual B, C
-{
- D ()
- {
- type_info (static_type_info ());
- }
-
- static TypeInfo const&
- static_type_info ();
-};
-
-#endif // HIERARCHY_HPP
-//$Id$
diff --git a/contrib/utility/Example/Introspection/InheritanceTree/Makefile b/contrib/utility/Example/Introspection/InheritanceTree/Makefile
deleted file mode 100644
index 9b839c2111f..00000000000
--- a/contrib/utility/Example/Introspection/InheritanceTree/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# file : Example/Introspection/InheritanceTree/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := Hierarchy.cpp inheritance_tree.cpp
-
-module_base := inheritance_tree
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-CXX_LINK_LIBS += -L$(root)/Utility/Introspection -lIntrospection
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp b/contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp
deleted file mode 100644
index 61f68ab6aa5..00000000000
--- a/contrib/utility/Example/Introspection/InheritanceTree/inheritance_tree.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// file : Example/Introspection/InheritanceTree/inheritance_tree.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-// Note: This example is by no means complete. In fact properly printing
-// arbitrary C++ inheritance tree is a non-trivial task. If you would like
-// to improve this example please feel free to send your results back ;-).
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Hierarchy.hpp"
-
-#include <set>
-#include <iostream>
-
-using std::endl;
-
-typedef
-std::set<TypeId>
-TypeIdSet;
-
-void
-print_inheritance_tree_core (std::ostream& os,
- TypeInfo const& ti,
- TypeIdSet& set)
-{
- bool nl = false;
-
- for (TypeInfo::BaseIterator i = ti.begin_base ();
- i != ti.end_base ();
- i++)
- {
- TypeId tid (i->type_info ().type_id ());
-
- if (set.find (tid) != set.end ()) continue;
-
- nl = true;
- set.insert (tid);
- print_inheritance_tree_core (os, i->type_info (), set);
- }
-
- if (nl) os << endl;
-
- os << ti.type_id () << " ";
-}
-
-void
-print_inheritance_tree (std::ostream& os, TypeInfo const& ti)
-{
- TypeIdSet set;
- print_inheritance_tree_core (os, ti, set);
- os << endl;
-}
-
-int
-main ()
-{
- B* b = new D;
-
- print_inheritance_tree (std::cout, b->type_info ());
-
- delete b;
-}
-//$Id$
diff --git a/contrib/utility/Example/Introspection/Makefile b/contrib/utility/Example/Introspection/Makefile
deleted file mode 100644
index 2dc0a1f809e..00000000000
--- a/contrib/utility/Example/Introspection/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Example/Introspection/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := InheritanceTree Traversal
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/Makefile b/contrib/utility/Example/Introspection/Traversal/Makefile
deleted file mode 100644
index c9b1a8da46a..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# file : Example/Introspection/Traversal/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := SyntaxTree.cpp Traversal.cpp driver.cpp
-
-module_base := driver
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-CXX_LINK_LIBS += -L$(root)/Utility/Introspection -lIntrospection
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/SyntaxTree.cpp b/contrib/utility/Example/Introspection/Traversal/SyntaxTree.cpp
deleted file mode 100644
index 71115ff2b24..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/SyntaxTree.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// file : Example/Introspection/Traversal/SyntaxTree.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "SyntaxTree.hpp"
-
-using namespace Utility::Introspection;
-
-namespace SyntaxTree
-{
-
- // Node
- //
- //
-
- namespace
- {
- TypeInfo
- node_init_ ()
- {
- TypeInfo ti (typeid (Node));
- ti.add_base (Access::PUBLIC, true, Object::static_type_info ());
- return ti;
- }
-
- TypeInfo node_ (node_init_ ());
- }
-
- TypeInfo const& Node::
- static_type_info () { return node_; }
-
-
- // Declaration
- //
- //
-
- namespace
- {
- TypeInfo
- declaration_init_ ()
- {
- TypeInfo ti (typeid (Declaration));
- ti.add_base (Access::PUBLIC, true, Node::static_type_info ());
- return ti;
- }
-
- TypeInfo declaration_ (declaration_init_ ());
- }
-
- TypeInfo const& Declaration::
- static_type_info () { return declaration_; }
-
-
- // Scope
- //
- //
-
- namespace
- {
- TypeInfo
- scope_init_ ()
- {
- TypeInfo ti (typeid (Scope));
- ti.add_base (Access::PUBLIC, true, Declaration::static_type_info ());
- return ti;
- }
-
- TypeInfo scope_ (scope_init_ ());
- }
-
- TypeInfo const& Scope::
- static_type_info () { return scope_; }
-
-
- // InterfaceDecl
- //
- //
-
- namespace
- {
- TypeInfo
- interface_decl_init_ ()
- {
- TypeInfo ti (typeid (InterfaceDecl));
- ti.add_base (Access::PUBLIC, true, Declaration::static_type_info ());
- return ti;
- }
-
- TypeInfo interface_decl_ (interface_decl_init_ ());
- }
-
- TypeInfo const& InterfaceDecl::
- static_type_info () { return interface_decl_; }
-
-
- // InterfaceDef
- //
- //
-
- namespace
- {
- TypeInfo
- interface_def_init_ ()
- {
- TypeInfo ti (typeid (InterfaceDef));
- ti.add_base (Access::PUBLIC, true, InterfaceDecl::static_type_info ());
- ti.add_base (Access::PUBLIC, true, Scope::static_type_info ());
- return ti;
- }
-
- TypeInfo interface_def_ (interface_def_init_ ());
- }
-
- TypeInfo const& InterfaceDef::
- static_type_info () { return interface_def_; }
-
-}
-//$Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/SyntaxTree.hpp b/contrib/utility/Example/Introspection/Traversal/SyntaxTree.hpp
deleted file mode 100644
index 7bd824ce683..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/SyntaxTree.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// file : Example/Introspection/Traversal/SyntaxTree.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef SYNTAX_TREE_HPP
-#define SYNTAX_TREE_HPP
-
-#include <vector>
-
-#include "Utility/Introspection/Introspection.hpp"
-
-namespace SyntaxTree
-{
- //
- //
- //
-
- struct Node : virtual Utility::Introspection::Object
- {
- Node ()
- {
- type_info (static_type_info ());
- }
-
- static Utility::Introspection::TypeInfo const&
- static_type_info ();
- };
-
- //
- //
- //
-
- struct Declaration : virtual Node
- {
- Declaration ()
- {
- type_info (static_type_info ());
- }
-
- static Utility::Introspection::TypeInfo const&
- static_type_info ();
- };
-
- typedef
- std::vector<Declaration*>
- DeclarationList;
-
- //
- //
- //
- struct Scope : virtual Declaration
- {
- Scope ()
- {
- type_info (static_type_info ());
- }
-
- static Utility::Introspection::TypeInfo const&
- static_type_info ();
-
- DeclarationList content_;
- };
-
- //
- //
- //
- struct InterfaceDecl : virtual Declaration
- {
- InterfaceDecl ()
- {
- type_info (static_type_info ());
- }
-
- static Utility::Introspection::TypeInfo const&
- static_type_info ();
- };
-
- //
- //
- //
- struct InterfaceDef : virtual InterfaceDecl, virtual Scope
- {
- InterfaceDef ()
- {
- type_info (static_type_info ());
- }
-
- static Utility::Introspection::TypeInfo const&
- static_type_info ();
- };
-}
-
-#endif // SYNTAX_TREE_HPP
-//$Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/Traversal.cpp b/contrib/utility/Example/Introspection/Traversal/Traversal.cpp
deleted file mode 100644
index 9fa94327c2c..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/Traversal.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// file : Example/Introspection/Traversal/Traversal.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Traversal.hpp"
-
-#include <set>
-#include <map>
-
-using namespace Utility::Introspection;
-
-namespace Traversal
-{
- // Dispatcher
- //
- //
-
- struct TypeInfoComparator
- {
- bool
- operator () (TypeInfo const& x, TypeInfo const& y) const
- {
- return x.type_id () < y.type_id ();
- }
- };
-
- typedef
- std::map<TypeInfo, unsigned long, TypeInfoComparator>
- LevelMap;
-
- typedef
- std::set<TypeInfo, TypeInfoComparator>
- TypeInfoSet;
-
- unsigned long
- compute_levels (TypeInfo const& ti, unsigned long cur, LevelMap& map)
- {
- unsigned long ret = cur;
-
- if (map.find (ti) == map.end () || map[ti] < cur) map[ti] = cur;
-
- for (TypeInfo::BaseIterator i = ti.begin_base ();
- i != ti.end_base ();
- i++)
- {
- unsigned long t = compute_levels (i->type_info (), cur + 1, map);
- if (t > ret) ret = t;
- }
-
- return ret;
- }
-
- void
- flatten_tree (TypeInfo const& ti, TypeInfoSet& set)
- {
- set.insert (ti);
-
- for (TypeInfo::BaseIterator i = ti.begin_base ();
- i != ti.end_base ();
- i++)
- {
- flatten_tree (i->type_info (), set);
- }
- }
-
- void Dispatcher::
- dispatch (SyntaxTree::Node* n)
- {
- LevelMap levels;
-
- unsigned long max = compute_levels (n->type_info (), 0, levels);
-
- for (unsigned long l = 0; l < max + 1; l++)
- {
- TypeInfoSet dispatched;
-
- for (LevelMap::const_iterator i = levels.begin ();
- i != levels.end ();
- i++)
- {
- if (i->second == l)
- {
- TraversalMap::const_iterator v =
- traversal_map_.find (i->first.type_id ());
-
- if (v != traversal_map_.end ())
- {
- v->second->traverse (n);
- flatten_tree (i->first, dispatched);
- }
- }
- }
-
- // Remove traversed types from level map.
- for (TypeInfoSet::const_iterator i = dispatched.begin ();
- i != dispatched.end ();
- i++)
- {
- levels.erase (*i);
- }
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/Traversal.hpp b/contrib/utility/Example/Introspection/Traversal/Traversal.hpp
deleted file mode 100644
index 7ee84523fc0..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/Traversal.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// file : Example/Introspection/Traversal/Traversal.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef TRAVERSAL_HPP
-#define TRAVERSAL_HPP
-
-#include <map>
-#include <iostream>
-
-#include "Utility/Introspection/Introspection.hpp"
-
-#include "SyntaxTree.hpp"
-
-namespace Traversal
-{
- class Traverser;
-
- //
- //
- //
- class Dispatcher
- {
- public:
- virtual
- ~Dispatcher ()
- {
- }
-
- virtual void
- dispatch (SyntaxTree::Node* n);
-
- protected:
- void
- map (Utility::Introspection::TypeId id, Traverser* t)
- {
- traversal_map_[id] = t;
- }
-
- private:
- typedef
- std::map<Utility::Introspection::TypeId, Traverser*>
- TraversalMap;
-
- TraversalMap traversal_map_;
- };
-
-
- //
- //
- //
- class Traverser : public virtual Dispatcher
- {
- public:
- virtual void
- traverse (SyntaxTree::Node* n) = 0;
- };
-
- //
- //
- //
- struct Node : Traverser
- {
- Node ()
- {
- map (typeid (SyntaxTree::Node), this);
- }
-
- virtual void
- traverse (SyntaxTree::Node*)
- {
- std::cerr << "node" << std::endl;
- }
- };
-
-
- //
- //
- //
- struct Declaration : Traverser
- {
- Declaration ()
- {
- map (typeid (SyntaxTree::Declaration), this);
- }
-
- virtual void
- traverse (SyntaxTree::Node*)
- {
- std::cerr << "declaration" << std::endl;
- }
- };
-
- //
- //
- //
- struct Scope : Traverser
- {
- Scope ()
- {
- map (typeid (SyntaxTree::Scope), this);
- }
-
- virtual void
- traverse (SyntaxTree::Node* n)
- {
- std::cerr << "scope" << std::endl;
-
- SyntaxTree::Scope* s = dynamic_cast<SyntaxTree::Scope*> (n);
-
- for (SyntaxTree::DeclarationList::iterator i = s->content_.begin ();
- i != s->content_.end ();
- i++)
- {
- dispatch (*i);
- }
- }
- };
-
- //
- //
- //
- struct InterfaceDecl : Traverser
- {
- InterfaceDecl ()
- {
- map (typeid (SyntaxTree::InterfaceDecl), this);
- }
-
- virtual void
- traverse (SyntaxTree::Node*)
- {
- std::cerr << "interface declaration" << std::endl;
- }
- };
-
- //
- //
- //
- struct InterfaceDef : Traverser
- {
- InterfaceDef ()
- {
- map (typeid (SyntaxTree::InterfaceDef), this);
- }
-
- virtual void
- traverse (SyntaxTree::Node*)
- {
- std::cerr << "interface definition" << std::endl;
- }
- };
-}
-
-#endif // TRAVERSAL_HPP
-//$Id$
diff --git a/contrib/utility/Example/Introspection/Traversal/driver.cpp b/contrib/utility/Example/Introspection/Traversal/driver.cpp
deleted file mode 100644
index 30e1a4a3ab7..00000000000
--- a/contrib/utility/Example/Introspection/Traversal/driver.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// file : Example/Introspection/Traversal/driver.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include <iostream>
-
-#include "SyntaxTree.hpp"
-#include "Traversal.hpp"
-
-int
-main ()
-{
- using namespace SyntaxTree;
-
- /*
- Create a syntax tree that looks something like this:
-
- scope
- {
- interface declaration;
-
- scope
- {
- interface definition
- {
- decalartion;
- };
- };
- };
-
- */
-
- Scope s1;
-
- InterfaceDecl i1;
- s1.content_.push_back (&i1);
-
- Scope s2;
- s1.content_.push_back (&s2);
-
- InterfaceDef i2;
- s2.content_.push_back (&i2);
-
- Declaration d1;
- i2.content_.push_back (&d1);
-
- SyntaxTree::Node* root = &s1;
-
- // Now different ways of traversing this tree:
-
- {
- std::cout << "test #1" << std::endl;
-
- struct Generator : Traversal::Declaration, Traversal::Scope
- {
- };
-
- Generator g;
- g.dispatch (root);
-
- std::cout << std::endl;
- }
-
- {
- std::cout << "test #2" << std::endl;
-
- struct Generator : Traversal::Scope, Traversal::InterfaceDecl
- {
- };
-
- Generator g;
- g.dispatch (root);
-
- std::cout << std::endl;
- }
-
- {
- std::cout << "test #3" << std::endl;
-
- struct Generator : Traversal::Scope, Traversal::InterfaceDef
- {
- };
-
- Generator g;
- g.dispatch (root);
-
- std::cout << std::endl;
- }
-}
-//$Id$
diff --git a/contrib/utility/Example/Makefile b/contrib/utility/Example/Makefile
deleted file mode 100644
index 1caefc91a39..00000000000
--- a/contrib/utility/Example/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Example/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := ExH Hetero Introspection
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Makefile b/contrib/utility/Makefile
deleted file mode 100644
index d23e380254b..00000000000
--- a/contrib/utility/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# file : Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := .
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Utility Test Example Documentation
-
-Test Example Documentation : Utility
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Compound/Makefile b/contrib/utility/Test/ExH/Compound/Makefile
deleted file mode 100644
index b596cd2fbce..00000000000
--- a/contrib/utility/Test/ExH/Compound/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ExH/Compound/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := compound.cpp
-
-module_base := compound
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Compound/compound.cpp b/contrib/utility/Test/ExH/Compound/compound.cpp
deleted file mode 100644
index df06353d4b9..00000000000
--- a/contrib/utility/Test/ExH/Compound/compound.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-// file : Test/ExH/Compound/compound.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Compound.hpp"
-
-#include <string>
-
-using namespace Utility::ExH;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-class Base
-{
-protected:
- Base () throw ()
- {
- }
-
- void
- init (char const* description) throw ()
- {
- str_ = description;
- }
-
- char const*
- what () const throw ()
- {
- return str_.c_str ();
- }
-
-public:
- std::string str_;
-};
-
-class A_ {};
-typedef
-Compound<A_, Base>
-A;
-
-struct StringHolder
-{
- StringHolder (char const* s)
- : str_ (s)
- {
- }
-
- operator std::string () const
- {
- return str_;
- }
-
- std::string str_;
-};
-
-
-int main ()
-{
- try
- {
- // Compound (char const*)
- //
- {
- A a ("hello");
-
- postcondition (a.str_ == "hello");
- }
-
- // Compound (T const&)
- //
- {
- StringHolder a ("hello");
- A b (a);
-
- postcondition (b.str_ == "hello");
- }
-
- // Compound (Compound const&)
- //
- {
- A a ("hello");
- A b (a);
-
- postcondition (b.str_ == "hello");
- }
-
- // ~Compound ()
- //
-
- // operator= (Compound const&)
- //
- {
- A a ("hello");
- A b ("foo");
- b = a;
-
- postcondition (b.str_ == "hello");
- }
-
- // Compound ()
- //
-
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ExH/Converter/Makefile b/contrib/utility/Test/ExH/Converter/Makefile
deleted file mode 100644
index 3f37652482d..00000000000
--- a/contrib/utility/Test/ExH/Converter/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ExH/Converter/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := converter.cpp
-
-module_base := converter
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Converter/converter.cpp b/contrib/utility/Test/ExH/Converter/converter.cpp
deleted file mode 100644
index 5e2fdc20db6..00000000000
--- a/contrib/utility/Test/ExH/Converter/converter.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// file : Test/ExH/Converter/converter.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/Converter.hpp"
-#include "Utility/ExH/StringStreamConverter.hpp"
-
-#include <string>
-#include <sstream>
-
-using std::string;
-using namespace Utility::ExH;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-int
-main ()
-{
- try
- {
- // template<T>
- // converter (T const&)
- //
- {
- postcondition (converter ("hello") == string("hello"));
- }
-
- // template<>
- // converter (std::ostringstream const&)
- //
- {
- std::ostringstream ostr;
- ostr << "hello";
- postcondition (converter (ostr) == string("hello"));
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ExH/Inline/Makefile b/contrib/utility/Test/ExH/Inline/Makefile
deleted file mode 100644
index 26606c35669..00000000000
--- a/contrib/utility/Test/ExH/Inline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ExH/Inline/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := inline.cpp unit.cpp
-
-module_base := inline
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Inline/inline.cpp b/contrib/utility/Test/ExH/Inline/inline.cpp
deleted file mode 100644
index 10ca764a34f..00000000000
--- a/contrib/utility/Test/ExH/Inline/inline.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Test/ExH/Inline/inline.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-//
-// This is a link-time test to detect any problems with inline functions
-// (notably missing inline specifier).
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/ExH.hpp"
-
-int
-main ()
-{
-}
-
-//$Id$
diff --git a/contrib/utility/Test/ExH/Inline/unit.cpp b/contrib/utility/Test/ExH/Inline/unit.cpp
deleted file mode 100644
index 8a57af7d759..00000000000
--- a/contrib/utility/Test/ExH/Inline/unit.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// file : Test/ExH/Inline/unit.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/ExH.hpp"
-
-//$Id$
diff --git a/contrib/utility/Test/ExH/Logic/DescriptiveException/Makefile b/contrib/utility/Test/ExH/Logic/DescriptiveException/Makefile
deleted file mode 100644
index 6ca8e6029ee..00000000000
--- a/contrib/utility/Test/ExH/Logic/DescriptiveException/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ExH/Logic/DescriptiveException/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := descriptive_exception.cpp
-
-module_base := descriptive_exception
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp b/contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp
deleted file mode 100644
index c8ed217b824..00000000000
--- a/contrib/utility/Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// file : Test/ExH/Logic/DescriptiveException/descriptive_exception.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include <string>
-
-using std::string;
-using namespace Utility::ExH::Logic;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-struct StringHolder
-{
- StringHolder (char const* s)
- : str_ (s)
- {
- }
-
- operator std::string () const
- {
- return str_;
- }
-
- string str_;
-};
-
-int
-main ()
-{
- try
- {
- // DescriptiveException (char const*)
- //
- {
- DescriptiveException a ("hello");
-
- postcondition (a.what () == string ("hello"));
- }
-
- // DescriptiveException (std::string const&)
- //
- {
- DescriptiveException a (string ("hello"));
-
- postcondition (a.what () == string ("hello"));
- }
-
-
- // DescriptiveException (T const&)
- //
- {
- StringHolder a ("hello");
-
- DescriptiveException b (a);
-
- postcondition (b.what () == string ("hello"));
- }
-
- // DescriptiveException (DescriptiveException const&)
- //
- {
- DescriptiveException a ("hello");
- DescriptiveException b (a);
-
- postcondition (b.what () == string ("hello"));
- }
-
- // ~DescriptiveException
- //
-
- // operator= (DescriptiveException const&)
- //
- {
- DescriptiveException a ("hello");
- DescriptiveException b ("foo");
- b = a;
-
- postcondition (b.what () == string ("hello"));
- }
-
- // DescriptiveException ()
- //
-
- // init (char const*)
- //
-
- // what ()
- //
- {
- DescriptiveException a ("hello");
-
- postcondition (a.what () == string ("hello"));
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ExH/Logic/Makefile b/contrib/utility/Test/ExH/Logic/Makefile
deleted file mode 100644
index 042b3a172a4..00000000000
--- a/contrib/utility/Test/ExH/Logic/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/ExH/Logic/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := DescriptiveException
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/Makefile b/contrib/utility/Test/ExH/Makefile
deleted file mode 100644
index 161884a439c..00000000000
--- a/contrib/utility/Test/ExH/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/ExH/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Compound Converter Inline Logic System
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/System/DescriptiveException/Makefile b/contrib/utility/Test/ExH/System/DescriptiveException/Makefile
deleted file mode 100644
index 9fd89d86ade..00000000000
--- a/contrib/utility/Test/ExH/System/DescriptiveException/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ExH/System/DescriptiveException/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := descriptive_exception.cpp
-
-module_base := descriptive_exception
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp b/contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp
deleted file mode 100644
index 5ae1c86803e..00000000000
--- a/contrib/utility/Test/ExH/System/DescriptiveException/descriptive_exception.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// file : Test/ExH/System/DescriptiveException/descriptive_exception.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/ExH/System/DescriptiveException.hpp"
-
-#include <string>
-
-using std::string;
-using namespace Utility::ExH::System;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-struct StringHolder
-{
- StringHolder (char const* s)
- : str_ (s)
- {
- }
-
- operator std::string () const
- {
- return str_;
- }
-
- string str_;
-};
-
-int
-main ()
-{
- try
- {
- // DescriptiveException (char const*)
- //
- {
- DescriptiveException a ("hello");
-
- postcondition (a.what () == string ("hello"));
- }
-
- // DescriptiveException (std::string const&)
- //
- {
- DescriptiveException a (string ("hello"));
-
- postcondition (a.what () == string ("hello"));
- }
-
- // DescriptiveException (T const&)
- //
- {
- StringHolder a ("hello");
-
- DescriptiveException b (a);
-
- postcondition (b.what () == string ("hello"));
- }
-
- // DescriptiveException (DescriptiveException const&)
- //
- {
- DescriptiveException a ("hello");
- DescriptiveException b (a);
-
- postcondition (b.what () == string ("hello"));
- }
-
- // ~DescriptiveException
- //
-
- // operator= (DescriptiveException const&)
- //
- {
- DescriptiveException a ("hello");
- DescriptiveException b ("foo");
- b = a;
-
- postcondition (b.what () == string ("hello"));
- }
-
- // DescriptiveException ()
- //
-
- // init (char const*)
- //
-
- // what ()
- //
- {
- DescriptiveException a ("hello");
-
- postcondition (a.what () == string ("hello"));
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ExH/System/Makefile b/contrib/utility/Test/ExH/System/Makefile
deleted file mode 100644
index 2ffea12a6ed..00000000000
--- a/contrib/utility/Test/ExH/System/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/ExH/System/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := DescriptiveException
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/Introspection/Inline/Makefile b/contrib/utility/Test/Introspection/Inline/Makefile
deleted file mode 100644
index fb7a72c1e2f..00000000000
--- a/contrib/utility/Test/Introspection/Inline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/Introspection/Inline/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := inline.cpp unit.cpp
-
-module_base := inline
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/Introspection/Inline/inline.cpp b/contrib/utility/Test/Introspection/Inline/inline.cpp
deleted file mode 100644
index 9d2b4828f17..00000000000
--- a/contrib/utility/Test/Introspection/Inline/inline.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : Test/Introspection/Inline/inline.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-//
-// This is a link-time test to detect any problems with inline functions
-// (notably missing inline specifier).
-//
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/Introspection/Introspection.hpp"
-
-int
-main ()
-{
-}
-
-//$Id$
diff --git a/contrib/utility/Test/Introspection/Inline/unit.cpp b/contrib/utility/Test/Introspection/Inline/unit.cpp
deleted file mode 100644
index a5fe6f95b65..00000000000
--- a/contrib/utility/Test/Introspection/Inline/unit.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// file : Test/Introspection/Inline/unit.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/Introspection/Introspection.hpp"
-
-//$Id$
diff --git a/contrib/utility/Test/Introspection/Makefile b/contrib/utility/Test/Introspection/Makefile
deleted file mode 100644
index 8ed18da5c41..00000000000
--- a/contrib/utility/Test/Introspection/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/Introspection/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Inline
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/Makefile b/contrib/utility/Test/Makefile
deleted file mode 100644
index 4ac5c3530b8..00000000000
--- a/contrib/utility/Test/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# file : Test/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := ExH Introspection ReferenceCounting Synch
-
-ReferenceCounting : ExH Synch
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/DefaultImpl/Makefile b/contrib/utility/Test/ReferenceCounting/DefaultImpl/Makefile
deleted file mode 100644
index c3f89dc7a9c..00000000000
--- a/contrib/utility/Test/ReferenceCounting/DefaultImpl/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ReferenceCounting/DefaultImpl/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := default_impl.cpp
-
-module_base := default_impl
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/DefaultImpl/default_impl.cpp b/contrib/utility/Test/ReferenceCounting/DefaultImpl/default_impl.cpp
deleted file mode 100644
index 428e78cd061..00000000000
--- a/contrib/utility/Test/ReferenceCounting/DefaultImpl/default_impl.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// file : Test/ReferenceCounting/DefaultImpl/default_impl.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ReferenceCounting/DefaultImpl.hpp"
-
-using namespace Utility::ReferenceCounting;
-
-struct Base : public virtual Interface
-{
- virtual
- ~Base () throw ()
- {
- }
-};
-
-
-class Impl : public virtual Base,
- public virtual DefaultImpl <>
-{
-public:
- Impl (bool& destroyed)
- : dummy_ (false),
- destroyed_ (destroyed)
- {
- }
-
- Impl ()
- : dummy_ (false),
- destroyed_ (dummy_)
- {
- }
-
- virtual
- ~Impl () throw ()
- {
- destroyed_ = true;
- }
-
-public:
- void
- lock ()
- {
- lock_i ();
- }
-
-private:
- bool dummy_;
- bool& destroyed_;
-};
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-int main ()
-{
- try
- {
- // DefaultImpl
- //
- {
- Impl* a (new Impl);
-
- postcondition (a->refcount_value () == 1);
-
- a->remove_ref ();
- }
-
- // ~DefaultImpl
- //
- {
- Impl* a (new Impl);
- a->remove_ref ();
- }
-
- // add_ref
- //
- {
- Impl* a (new Impl);
-
- a->add_ref ();
-
- postcondition (a->refcount_value () == 2);
-
- a->remove_ref ();
- a->remove_ref ();
- }
-
-
- // remove_ref
- //
- {
- bool destroyed (false);
- Impl* a (new Impl (destroyed));
-
- a->add_ref ();
- a->remove_ref ();
-
- postcondition (destroyed == false && a->refcount_value () == 1);
-
- a->remove_ref ();
-
- postcondition (destroyed == true);
- }
-
-
- // refcount_value
- //
- {
- Impl* a (new Impl);
-
- postcondition (a->refcount_value () == 1);
- }
-
- // lock_i
- //
- {
- Impl* a (new Impl);
- a->lock ();
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Inline/Makefile b/contrib/utility/Test/ReferenceCounting/Inline/Makefile
deleted file mode 100644
index 5ae9a840c8d..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Inline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ReferenceCounting/Inline/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := inline.cpp unit.cpp
-
-module_base := inline
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Inline/inline.cpp b/contrib/utility/Test/ReferenceCounting/Inline/inline.cpp
deleted file mode 100644
index 0ff2dfa9986..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Inline/inline.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// file : Test/ReferenceCounting/Inline/inline.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-//
-// This is a link-time test to detect any problems with inline functions
-// (notably missing inline specifier).
-//
-
-#include "Utility/ReferenceCounting/ReferenceCounting.hpp"
-
-int main ()
-{
-}
-//$Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Inline/unit.cpp b/contrib/utility/Test/ReferenceCounting/Inline/unit.cpp
deleted file mode 100644
index 31dbfdb8708..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Inline/unit.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// file : Test/ReferenceCounting/Inline/unit.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ReferenceCounting/ReferenceCounting.hpp"
-
-//$Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Interface/Makefile b/contrib/utility/Test/ReferenceCounting/Interface/Makefile
deleted file mode 100644
index 4327774eb54..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Interface/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ReferenceCounting/Interface/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := interface.cpp
-
-module_base := interface
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Interface/interface.cpp b/contrib/utility/Test/ReferenceCounting/Interface/interface.cpp
deleted file mode 100644
index 8299881424e..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Interface/interface.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// file : Test/ReferenceCounting/Interface/interface.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-using namespace Utility::ReferenceCounting;
-
-struct Obj : public virtual Interface
-{
- Obj ()
- : ref_count_ (1)
- {
- }
-
- virtual
- ~Obj () throw ()
- {
- }
-
-public:
- virtual void
- add_ref () const throw ()
- {
- add_ref_i ();
- }
-
-
- virtual void
- remove_ref () const throw ()
- {
- if (remove_ref_i ()) delete this;
- }
-
- virtual count_t
- refcount_value () const throw ()
- {
- return refcount_value_i ();
- }
-
-protected:
- virtual void
- add_ref_i () const throw ()
- {
- ++ref_count_;
- }
-
-
- virtual bool
- remove_ref_i () const throw ()
- {
- return --ref_count_ == 0;
- }
-
- virtual count_t
- refcount_value_i () const throw ()
- {
- return ref_count_;
- }
-
-private:
- mutable count_t ref_count_;
-};
-
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-int main ()
-{
- try
- {
- // add_ref
- //
- {
- Obj* a (new Obj);
-
- Obj* b (add_ref (a));
-
- postcondition (a == b && a->refcount_value () == 2);
-
- a->remove_ref ();
- b->remove_ref ();
- }
-
- {
- Obj* a (0);
-
- Obj* b (add_ref (a));
-
- postcondition (b == 0);
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ReferenceCounting/Makefile b/contrib/utility/Test/ReferenceCounting/Makefile
deleted file mode 100644
index 1f7d981c87f..00000000000
--- a/contrib/utility/Test/ReferenceCounting/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/ReferenceCounting/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Interface DefaultImpl Inline SmartPtr StrictPtr
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/SmartPtr/Makefile b/contrib/utility/Test/ReferenceCounting/SmartPtr/Makefile
deleted file mode 100644
index 7bbc0456949..00000000000
--- a/contrib/utility/Test/ReferenceCounting/SmartPtr/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ReferenceCounting/SmartPtr/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := smart_ptr.cpp
-
-module_base := smart_ptr
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/SmartPtr/smart_ptr.cpp b/contrib/utility/Test/ReferenceCounting/SmartPtr/smart_ptr.cpp
deleted file mode 100644
index e03a0a06cfd..00000000000
--- a/contrib/utility/Test/ReferenceCounting/SmartPtr/smart_ptr.cpp
+++ /dev/null
@@ -1,220 +0,0 @@
-// file : Test/ReferenceCounting/SmartPtr/smart_ptr.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ReferenceCounting/SmartPtr.hpp"
-#include "Utility/ReferenceCounting/DefaultImpl.hpp"
-
-using namespace Utility::ReferenceCounting;
-
-struct Base : public virtual Interface
-{
- virtual
- ~Base () throw ()
- {
- }
-};
-
-typedef
-SmartPtr<Base>
-BasePtr;
-
-class Impl : public virtual Base,
- public virtual DefaultImpl <>
-{
-public:
- Impl (bool& destroyed)
- : dummy_ (false),
- destroyed_ (destroyed)
- {
- }
-
- Impl ()
- : dummy_ (false),
- destroyed_ (dummy_)
- {
- }
-
- virtual
- ~Impl () throw ()
- {
- destroyed_ = true;
- }
-
-private:
- bool dummy_;
- bool& destroyed_;
-};
-
-typedef
-SmartPtr<Impl>
-ImplPtr;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-int main ()
-{
- try
- {
- // SmartPtr ()
- //
- {
- BasePtr a;
-
- postcondition (a.in () == 0);
- }
-
- // SmartPtr (Type*)
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
-
- postcondition (b.in () == a && a->refcount_value () == 1);
- }
-
- // SmartPtr (SmartPtr<Type> const&)
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b (a);
-
- postcondition (a.in () == b.in () && a->refcount_value () == 2);
- }
-
- // SmartPtr (SmartPtr<Other> const&)
- //
- {
- ImplPtr a (new Impl);
- BasePtr b (a);
-
- postcondition (b.in () == static_cast<Base*>(a.in ()) &&
- b->refcount_value () == 2);
- }
-
- // ~SmartPtr
- //
- {
- bool destroyed (false);
- {
- ImplPtr a (new Impl (destroyed));
- }
-
- postcondition (destroyed == true);
- }
-
- // operator= (Type* ptr)
- //
- {
- Impl* a (new Impl);
- ImplPtr b;
- b = a;
-
- postcondition (b.in () == a && a->refcount_value () == 1);
- }
-
- // operator= (SmartPtr<Type> const&)
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b;
- b = a;
-
- postcondition (b.in () == a.in () && a->refcount_value () == 2);
- }
-
- // operator= (SmartPtr<Other> const&)
- //
- {
- ImplPtr a (new Impl);
- BasePtr b;
- b = a;
-
- postcondition (b.in () == static_cast<Base*>(a.in ()) &&
- b->refcount_value () == 2);
- }
-
- // operator Type*
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b);
-
- postcondition (a == c);
- }
-
- // operator->
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.operator-> ());
-
- postcondition (a == c);
- }
-
- // in
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.in ());
-
- postcondition (a == c);
- }
-
- // retn
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.retn ());
-
- postcondition (a == c);
-
- b = a; // give ownership back
- }
-
- // add_ref
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b (add_ref (a));
-
- postcondition (a.in () == b.in () && b->refcount_value () == 2);
- }
-
- // smart_cast
- //
- {
- BasePtr a (new Impl);
- ImplPtr b (smart_cast<Impl>(a));
-
- postcondition (b != 0 && b->refcount_value () == 2);
- }
-
- // acquire
- //
- {
- bool destroyed (false);
- Base::count_t c (0);
- {
- c = acquire (new Impl (destroyed))->refcount_value ();
- }
-
- postcondition (c == 1 && destroyed == true);
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/ReferenceCounting/StrictPtr/Makefile b/contrib/utility/Test/ReferenceCounting/StrictPtr/Makefile
deleted file mode 100644
index e078ef688fe..00000000000
--- a/contrib/utility/Test/ReferenceCounting/StrictPtr/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/ReferenceCounting/StrictPtr/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := strict_ptr.cpp
-
-module_base := strict_ptr
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/ReferenceCounting/StrictPtr/strict_ptr.cpp b/contrib/utility/Test/ReferenceCounting/StrictPtr/strict_ptr.cpp
deleted file mode 100644
index 76fe667900f..00000000000
--- a/contrib/utility/Test/ReferenceCounting/StrictPtr/strict_ptr.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-// file : Test/ReferenceCounting/StrictPtr/strict_ptr.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ReferenceCounting/StrictPtr.hpp"
-#include "Utility/ReferenceCounting/DefaultImpl.hpp"
-
-using namespace Utility::ReferenceCounting;
-
-struct Base : public virtual Interface
-{
- virtual
- ~Base () throw ()
- {
- }
-};
-
-typedef
-StrictPtr<Base>
-BasePtr;
-
-class Impl : public virtual Base,
- public virtual DefaultImpl <>
-{
-public:
- Impl (bool& destroyed)
- : dummy_ (false),
- destroyed_ (destroyed)
- {
- }
-
- Impl ()
- : dummy_ (false),
- destroyed_ (dummy_)
- {
- }
-
- virtual
- ~Impl () throw ()
- {
- destroyed_ = true;
- }
-
-private:
- bool dummy_;
- bool& destroyed_;
-};
-
-typedef
-StrictPtr<Impl>
-ImplPtr;
-
-struct E {};
-
-void postcondition (bool p)
-{
- if (!p) throw E ();
-}
-
-int main ()
-{
- try
- {
- // StrictPtr ()
- //
- {
- BasePtr a;
-
- postcondition (a.in () == 0);
- }
-
- // StrictPtr (Type*)
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
-
- postcondition (b.in () == a && a->refcount_value () == 1);
- }
-
- // StrictPtr (StrictPtr<Type> const&)
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b (a);
-
- postcondition (a.in () == b.in () && a->refcount_value () == 2);
- }
-
- // StrictPtr (StrictPtr<Other> const&)
- //
- {
- ImplPtr a (new Impl);
- BasePtr b (a);
-
- postcondition (b.in () == static_cast<Base*>(a.in ()) &&
- b->refcount_value () == 2);
- }
-
- // ~StrictPtr
- //
- {
- bool destroyed (false);
- {
- ImplPtr a (new Impl (destroyed));
- }
-
- postcondition (destroyed == true);
- }
-
- // operator= (Type* ptr)
- //
- {
- Impl* a (new Impl);
- ImplPtr b;
- b = a;
-
- postcondition (b.in () == a && a->refcount_value () == 1);
- }
-
- // operator= (StrictPtr<Type> const&)
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b;
- b = a;
-
- postcondition (b.in () == a.in () && a->refcount_value () == 2);
- }
-
- // operator= (StrictPtr<Other> const&)
- //
- {
- ImplPtr a (new Impl);
- BasePtr b;
- b = a;
-
- postcondition (b.in () == static_cast<Base*>(a.in ()) &&
- b->refcount_value () == 2);
- }
-
- // operator==
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- bool r (b.in () == a);
-
- postcondition (r == true);
- }
-
- // operator!=
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- bool r (b.in () != a);
-
- postcondition (r == false);
- }
-
- // operator->
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.operator-> ());
-
- postcondition (a == c);
- }
-
- // in
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.in ());
-
- postcondition (a == c);
- }
-
- // retn
- //
- {
- Impl* a (new Impl);
- ImplPtr b (a);
- Impl* c (b.retn ());
-
- postcondition (a == c);
-
- b = a; // give ownership back
- }
-
- // add_ref
- //
- {
- ImplPtr a (new Impl);
- ImplPtr b (add_ref (a));
-
- postcondition (a.in () == b.in () && b->refcount_value () == 2);
- }
-
- // strict_cast
- //
- {
- BasePtr a (new Impl);
- ImplPtr b (strict_cast<Impl>(a));
-
- postcondition (b != 0 && b->refcount_value () == 2);
- }
- }
- catch (...)
- {
- return -1;
- }
-}
-//$Id$
diff --git a/contrib/utility/Test/Synch/Inline/Makefile b/contrib/utility/Test/Synch/Inline/Makefile
deleted file mode 100644
index 2101cc3ee8c..00000000000
--- a/contrib/utility/Test/Synch/Inline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# file : Test/Synch/Inline/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Executable.pre.rules)
-
-
-cxx_translation_units := inline.cpp unit.cpp
-
-module_base := inline
-module_prefix :=
-module_suffix :=
-
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-
-$(call include, $(root)/BuildRules/Executable.post.rules)
-# $Id$
diff --git a/contrib/utility/Test/Synch/Inline/inline.cpp b/contrib/utility/Test/Synch/Inline/inline.cpp
deleted file mode 100644
index a70dd06d739..00000000000
--- a/contrib/utility/Test/Synch/Inline/inline.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : Test/Synch/Inline/inline.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-//
-// This is a link-time test to detect any problems with inline functions
-// (notably missing inline specifier).
-//
-
-/* FUZZ: disable check_for_improper_main_declaration */
-
-#include "Utility/Synch/Policy/Null.hpp"
-
-int
-main ()
-{
-}
-
-//$Id$
diff --git a/contrib/utility/Test/Synch/Inline/unit.cpp b/contrib/utility/Test/Synch/Inline/unit.cpp
deleted file mode 100644
index b570c97ae5e..00000000000
--- a/contrib/utility/Test/Synch/Inline/unit.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// file : Test/Synch/Inline/unit.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/Synch/Policy/Null.hpp"
-
-//$Id$
diff --git a/contrib/utility/Test/Synch/Makefile b/contrib/utility/Test/Synch/Makefile
deleted file mode 100644
index c4b730ca6a5..00000000000
--- a/contrib/utility/Test/Synch/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Test/Synch/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Inline
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Utility/ExH/Compound.hpp b/contrib/utility/Utility/ExH/Compound.hpp
deleted file mode 100644
index c21f5013853..00000000000
--- a/contrib/utility/Utility/ExH/Compound.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// file : Utility/ExH/Compound.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_COMPOUND_HPP
-#define UTILITY_EX_H_COMPOUND_HPP
-
-#include <string>
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename Type, typename _Base>
- class Compound : public virtual _Base
- {
- public:
- typedef _Base Base;
-
- explicit
- Compound (char const* description) throw ();
-
- explicit
- Compound (std::string const& description) throw ();
-
- template <typename T>
- explicit
- Compound (T const& description) throw ();
-
- Compound (Compound const& src) throw ();
-
- virtual
- ~Compound () throw ();
-
- public:
- Compound&
- operator= (Compound const& src) throw ();
-
- protected:
- Compound () throw ();
- };
- }
-}
-
-#include "Utility/ExH/Compound.tpp"
-
-#endif // UTILITY_EX_H_COMPOUND_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Compound.tpp b/contrib/utility/Utility/ExH/Compound.tpp
deleted file mode 100644
index 08c9f8194a9..00000000000
--- a/contrib/utility/Utility/ExH/Compound.tpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// file : Utility/ExH/Compound.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- // c-tor's & d-tor
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound () throw ()
- {
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound (char const* description) throw ()
- {
- Base::init (description);
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound (std::string const& description) throw ()
- {
- try
- {
- Base::init (description.c_str ());
- }
- catch (...)
- {
- }
- }
-
- template <typename Type, typename Base>
- template <typename T>
- Compound<Type, Base>::
- Compound (T const& description) throw ()
- {
- Base::init (converter<T> (description).c_str ());
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound (Compound const& src) throw ()
- : Base::Base::Base (),
- Base::Base (),
- Base ()
- {
- Base::init (src.what ());
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- ~Compound () throw ()
- {
- }
-
- // operator=
-
- template <typename Type, typename Base>
- Compound<Type, Base>& Compound<Type, Base>::
- operator= (Compound const& src) throw ()
- {
- Base::init (src.what ());
- return *this;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Converter.hpp b/contrib/utility/Utility/ExH/Converter.hpp
deleted file mode 100644
index 563114fd1c4..00000000000
--- a/contrib/utility/Utility/ExH/Converter.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// file : Utility/ExH/Converter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_CONVERTER_HPP
-#define UTILITY_EX_H_CONVERTER_HPP
-
-#include <string>
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename T>
- std::string
- converter (T const& t);
- }
-}
-
-#include "Utility/ExH/Converter.tpp"
-
-#endif // UTILITY_EX_H_CONVERTER_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Converter.tpp b/contrib/utility/Utility/ExH/Converter.tpp
deleted file mode 100644
index 2d48015fe80..00000000000
--- a/contrib/utility/Utility/ExH/Converter.tpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ExH/Converter.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename T>
- std::string
- converter (T const& t)
- {
- // Default implementation just assumes that implicit converion exist.
- return t;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/ExH.hpp b/contrib/utility/Utility/ExH/ExH.hpp
deleted file mode 100644
index 722ecd02d25..00000000000
--- a/contrib/utility/Utility/ExH/ExH.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// file : Utility/ExH/ExH.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_EX_H_HPP
-#define UTILITY_EX_H_EX_H_HPP
-
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/System/DescriptiveException.hpp"
-
-#include "Utility/ExH/Logic/Exception.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ExH/Compound.hpp"
-
-#include "Utility/ExH/Converter.hpp"
-#include "Utility/ExH/StringStreamConverter.hpp"
-
-#endif // UTILITY_EX_H_EX_H_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Logic/DescriptiveException.hpp b/contrib/utility/Utility/ExH/Logic/DescriptiveException.hpp
deleted file mode 100644
index 160ad74182d..00000000000
--- a/contrib/utility/Utility/ExH/Logic/DescriptiveException.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// file : Utility/ExH/Logic/DescriptiveException.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-#define UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-
-#include <memory>
-#include <string>
-
-
-#include "Utility/ExH/Logic/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- class DescriptiveException : public virtual Exception
- {
- public:
- typedef Exception Base;
-
- explicit
- DescriptiveException (char const* description) throw ();
-
- explicit
- DescriptiveException (std::string const& description) throw ();
-
- template <typename T>
- explicit
- DescriptiveException (T const& description) throw ();
-
- DescriptiveException (DescriptiveException const& src) throw ();
-
- virtual
- ~DescriptiveException () throw ();
-
- DescriptiveException&
- operator= (DescriptiveException const& src) throw ();
-
- protected:
- DescriptiveException () throw ();
-
- void
- init (char const* description) throw ();
-
- public:
- virtual char const*
- what () const throw ();
-
- private:
- std::auto_ptr<std::string> description_;
- };
- }
- }
-}
-
-#include "Utility/ExH/Logic/DescriptiveException.ipp"
-#include "Utility/ExH/Logic/DescriptiveException.tpp"
-
-#endif // UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Logic/DescriptiveException.ipp b/contrib/utility/Utility/ExH/Logic/DescriptiveException.ipp
deleted file mode 100644
index 0e2fc1e8916..00000000000
--- a/contrib/utility/Utility/ExH/Logic/DescriptiveException.ipp
+++ /dev/null
@@ -1,106 +0,0 @@
-// file : Utility/ExH/Logic/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- // c-tor's & d-tor
-
- inline DescriptiveException::
- DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException::
- DescriptiveException (char const* description) throw ()
- {
- init (description);
- }
-
- inline DescriptiveException::
- DescriptiveException (std::string const& description) throw ()
- {
- try
- {
- init (description.c_str ());
- }
- catch (...)
- {
- }
- }
-
- inline DescriptiveException::
- DescriptiveException (DescriptiveException const& src) throw ()
- : std::exception (),
- Exception ()
- {
- init (src.what ());
- }
-
- inline DescriptiveException::
- ~DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException& DescriptiveException::
- operator= (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- return *this;
- }
-
-
- // accessors / modifiers
-
- inline void
- DescriptiveException::init (char const* description) throw ()
- {
- try
- {
- if (description == 0 || description[0] == '\0')
- {
- description_.reset (0);
- }
- else
- {
- if (description_.get () != 0)
- {
- *description_ = description;
- }
- else
- {
- description_.reset (new std::string (description));
- }
- }
- }
- catch (...)
- {
- description_.reset (0);
- }
- }
-
- inline char const*
- DescriptiveException::what () const throw ()
- {
- try
- {
- if (description_.get () != 0)
- {
- return description_->c_str ();
- }
- }
- catch (...)
- {
- }
-
- return Exception::what ();
- }
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Logic/DescriptiveException.tpp b/contrib/utility/Utility/ExH/Logic/DescriptiveException.tpp
deleted file mode 100644
index 02c65a67e2b..00000000000
--- a/contrib/utility/Utility/ExH/Logic/DescriptiveException.tpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// file : Utility/ExH/Logic/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- template <typename T>
- DescriptiveException::
- DescriptiveException (T const& description) throw ()
- {
- init (converter<T> (description).c_str ());
- }
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Logic/Exception.hpp b/contrib/utility/Utility/ExH/Logic/Exception.hpp
deleted file mode 100644
index 613945c09b3..00000000000
--- a/contrib/utility/Utility/ExH/Logic/Exception.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// file : Utility/ExH/Logic/Exception.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-#define UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-
-#include "Utility/ExH/System/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
-
- // Logic::Exception inherits from System::Exception for the
- // following reason. Semantically for some part of the
- // system particular instance of Logic::Exception may seem as
- // opaque System::Exception and the only way to handle it would
- // be to propagate it further. In other words Logic::Exception
- // can be seemlesly "converted" to System::Exception if there is
- // no part of the system interested in handling it.
- //
-
- class Exception : public virtual System::Exception
- {
- public:
- typedef System::Exception Base;
-
- virtual
- ~Exception () throw ();
- };
- }
- }
-}
-
-#include "Utility/ExH/Logic/Exception.ipp"
-
-#endif // UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/Logic/Exception.ipp b/contrib/utility/Utility/ExH/Logic/Exception.ipp
deleted file mode 100644
index d3b774be937..00000000000
--- a/contrib/utility/Utility/ExH/Logic/Exception.ipp
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : Utility/ExH/Logic/Exception.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- inline Exception::
- ~Exception () throw ()
- {
- }
- }
- }
-}
-
-//$Id$
diff --git a/contrib/utility/Utility/ExH/StringStreamConverter.hpp b/contrib/utility/Utility/ExH/StringStreamConverter.hpp
deleted file mode 100644
index a9a495f22e2..00000000000
--- a/contrib/utility/Utility/ExH/StringStreamConverter.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// file : Utility/ExH/StringStreamConverter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-#define UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-
-#include <sstream>
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- std::string
- converter (std::ostringstream const& t);
- }
-}
-
-#include "Utility/ExH/StringStreamConverter.ipp"
-
-#endif // UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/StringStreamConverter.ipp b/contrib/utility/Utility/ExH/StringStreamConverter.ipp
deleted file mode 100644
index e454ac3f96c..00000000000
--- a/contrib/utility/Utility/ExH/StringStreamConverter.ipp
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : Utility/ExH/StringStreamConverter.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- inline std::string
- converter (std::ostringstream const& t)
- {
- return t.str ();
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/System/DescriptiveException.hpp b/contrib/utility/Utility/ExH/System/DescriptiveException.hpp
deleted file mode 100644
index 1045d0ee9ae..00000000000
--- a/contrib/utility/Utility/ExH/System/DescriptiveException.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// file : Utility/ExH/System/DescriptiveException.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-#define UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-
-#include <string>
-#include "Utility/ExH/System/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- class DescriptiveException : public virtual Exception
- {
- public:
- typedef Exception Base;
-
- explicit
- DescriptiveException (char const* description) throw ();
-
- explicit
- DescriptiveException (std::string const& description) throw ();
-
- template <typename T>
- explicit
- DescriptiveException (T const& description) throw ();
-
- DescriptiveException (DescriptiveException const& src) throw ();
-
- virtual
- ~DescriptiveException () throw ();
-
- DescriptiveException&
- operator= (DescriptiveException const& src) throw ();
-
- protected:
- DescriptiveException () throw ();
-
- void
- init (char const* description) throw ();
-
- public:
- virtual char const*
- what () const throw ();
-
- private:
-
- static unsigned long const DESCRIPTION_SIZE = 256;
-
- char description_ [DESCRIPTION_SIZE];
- };
- }
- }
-}
-
-#include "Utility/ExH/System/DescriptiveException.ipp"
-#include "Utility/ExH/System/DescriptiveException.tpp"
-
-#endif // UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ExH/System/DescriptiveException.ipp b/contrib/utility/Utility/ExH/System/DescriptiveException.ipp
deleted file mode 100644
index cedaeacc937..00000000000
--- a/contrib/utility/Utility/ExH/System/DescriptiveException.ipp
+++ /dev/null
@@ -1,91 +0,0 @@
-// file : Utility/ExH/System/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include <cstring>
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- // c-tor's & d-tor
-
- inline DescriptiveException::
- DescriptiveException () throw ()
- {
- description_[0] = '\0';
- }
-
- inline DescriptiveException::
- DescriptiveException (char const* description) throw ()
- {
- init (description);
- }
-
- inline DescriptiveException::
- DescriptiveException (std::string const& description) throw ()
- {
- try
- {
- init (description.c_str ());
- }
- catch (...)
- {
- }
- }
-
- inline DescriptiveException::
- DescriptiveException (DescriptiveException const& src) throw ()
- : Base ()
- {
- init (src.what ());
- }
-
- inline DescriptiveException::
- ~DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException& DescriptiveException::
- operator= (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- return *this;
- }
-
-
- // accessors / modifiers
-
- inline void DescriptiveException::
- init (char const* description) throw ()
- {
- if (description != 0)
- {
- std::strncpy (description_, description, DESCRIPTION_SIZE - 1);
- description_[DESCRIPTION_SIZE - 1] = '\0';
- }
- else
- {
- description_[0] = '\0';
- }
- }
-
- inline char const* DescriptiveException::
- what () const throw ()
- {
- if (description_[0] != '\0')
- {
- return description_;
- }
- else
- {
- return Exception::what ();
- }
- }
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/System/DescriptiveException.tpp b/contrib/utility/Utility/ExH/System/DescriptiveException.tpp
deleted file mode 100644
index 320216acc2e..00000000000
--- a/contrib/utility/Utility/ExH/System/DescriptiveException.tpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// file : Utility/ExH/System/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- template <typename T>
- inline DescriptiveException::
- DescriptiveException (T const& description) throw ()
- {
- init (converter<T> (description).c_str ());
- }
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ExH/System/Exception.hpp b/contrib/utility/Utility/ExH/System/Exception.hpp
deleted file mode 100644
index 0ed7fbfa975..00000000000
--- a/contrib/utility/Utility/ExH/System/Exception.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// file : Utility/ExH/System/Exception.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-#define UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-
-#include <exception>
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- // This is the only way to make predefined exceptions like
- // std::bad_alloc, etc to appear in the right place of the hierarchy.
- //
-
- typedef std::exception Exception;
- }
- }
-}
-
-#endif // UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-
-
-//$Id$
diff --git a/contrib/utility/Utility/Hetero/Container.hpp b/contrib/utility/Utility/Hetero/Container.hpp
deleted file mode 100644
index d28d5fff0c4..00000000000
--- a/contrib/utility/Utility/Hetero/Container.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// file : Utility/Hetero/Container.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_CONTAINER_HPP
-#define UTILITY_HETERO_CONTAINER_HPP
-
-#include <typeinfo>
-
-namespace Utility
-{
- namespace Hetero
- {
- //
- //
- //
- class Typing {};
-
- //
- //
- //
- class Container
- {
- public:
- ~Container ()
- {
- delete holder_;
- }
-
- public:
- template <typename T>
- Container (T const& t)
- : holder_ (new TypedHolder<T> (t))
- {
- }
-
- Container (Container const& c)
- : holder_ (c.holder_->clone ())
- {
- }
-
- public:
- template <typename T>
- Container&
- operator= (T const& t)
- {
- delete holder_;
- holder_ = 0;
- holder_ = new TypedHolder<T> (t);
- return *this;
- }
-
- Container&
- operator= (Container const& c)
- {
- delete holder_;
- holder_ = 0;
- holder_ = c.holder_->clone ();
- return *this;
- }
-
- public:
- template <typename T>
- operator T& ()
- {
- return value<T> ();
- }
-
- template <typename T>
- operator T const& () const
- {
- return value<T> ();
- }
-
- public:
- template <typename T>
- T&
- value ()
- {
- if (holder_->type () == typeid (T))
- {
- return dynamic_cast<TypedHolder<T>*>(holder_)->value ();
- }
- else
- {
- throw Typing ();
- }
- }
-
- template <typename T>
- T const&
- value () const
- {
- if (holder_->type () == typeid (T))
- {
- return dynamic_cast<TypedHolder<T>*>(holder_)->value ();
- }
- else
- {
- throw Typing ();
- }
- }
-
- public:
- std::type_info const&
- type () const
- {
- return holder_->type ();
- }
-
- public:
- template <typename T>
- friend T
- operator+ (Container const& a, T const& b)
- {
- return a.value<T> () + b;
- }
-
- template <typename T>
- friend T
- operator+ (T const& a, Container const& b)
- {
- return a + b.value<T> ();
- }
-
- private:
- struct Holder
- {
- virtual
- ~Holder () {}
-
- virtual Holder*
- clone () const = 0;
-
- virtual std::type_info const&
- type () const = 0;
- };
-
- template <typename T>
- struct TypedHolder : public Holder
- {
- TypedHolder (T const& value)
- : value_ (value)
- {
- }
-
- virtual Holder*
- clone () const
- {
- return new TypedHolder<T> (value_);
- }
-
- virtual std::type_info const&
- type () const
- {
- return typeid (T);
- }
-
- T const&
- value () const
- {
- return value_;
- }
-
- T&
- value ()
- {
- return value_;
- }
-
- private:
- T value_;
- };
-
- Holder* holder_;
- };
- }
-}
-
-#endif // UTILITY_HETERO_CONTAINER_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Hetero/Shell.hpp b/contrib/utility/Utility/Hetero/Shell.hpp
deleted file mode 100644
index 0d37a6ba09d..00000000000
--- a/contrib/utility/Utility/Hetero/Shell.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// file : Utility/Hetero/Shell.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_SHELL_HPP
-#define UTILITY_HETERO_SHELL_HPP
-
-namespace Utility
-{
- namespace Hetero
- {
-
- //
- //
- //
- class ShellCore
- {
- protected:
- template <typename F, typename T0>
- static typename F::RetType
- apply (F& f, TypedContainer<TypeList<T0> >& c)
- {
- if (type_check <T0> (c)) return type_apply<T0> (f, c);
-
- throw Utility::Hetero::Typing ();
- }
-
- template <typename F, typename T0, typename T1>
- static typename F::RetType
- apply (F& f, TypedContainer<TypeList<T0, T1> >& c)
- {
- if (type_check <T0> (c)) return type_apply<T0> (f, c);
- if (type_check <T1> (c)) return type_apply<T1> (f, c);
-
- throw Utility::Hetero::Typing ();
- }
-
- template <typename F, typename T0, typename T1, typename T2>
- static typename F::RetType
- apply (F& f, TypedContainer<TypeList<T0, T1, T2> >& c)
- {
- if (type_check <T0> (c)) return type_apply<T0> (f, c);
- if (type_check <T1> (c)) return type_apply<T1> (f, c);
- if (type_check <T2> (c)) return type_apply<T2> (f, c);
-
- throw Utility::Hetero::Typing ();
- }
-
- private:
- template <typename T>
- static bool
- type_check (Container& c)
- {
- return c.type () == typeid (T);
- }
-
- template <typename T, typename F>
- static typename F::RetType
- type_apply (F& f, Container& c)
- {
- return f (c. template value<T> ());
- }
- };
-
-
- //
- //
- //
- template <typename F>
- struct Shell : F, ShellCore
- {
- using F::operator ();
-
- template <typename T>
- typename F::RetType
- operator () (TypedContainer<T>& p)
- {
- return apply (*this, p);
- }
- };
- }
-}
-
-#endif // UTILITY_HETERO_SHELL_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Hetero/TypeList.hpp b/contrib/utility/Utility/Hetero/TypeList.hpp
deleted file mode 100644
index ee7e96c2bcd..00000000000
--- a/contrib/utility/Utility/Hetero/TypeList.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// file : Utility/Hetero/TypeList.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_TYPE_LIST_HPP
-#define UTILITY_HETERO_TYPE_LIST_HPP
-
-namespace Utility
-{
- namespace Hetero
- {
- class NullType {};
-
- template <typename t0 = NullType,
- typename t1 = NullType,
- typename t2 = NullType>
- struct TypeList
- {
- typedef t0 T0;
- typedef t1 T1;
- typedef t2 T2;
- };
-
- template <typename t0, typename t1>
- struct TypeList<t0, t1, NullType>
- {
- typedef t0 T0;
- typedef t1 T1;
- };
-
- template <typename t0>
- struct TypeList<t0, NullType, NullType>
- {
- typedef t0 T0;
- };
-
- template <>
- struct TypeList<NullType, NullType, NullType>
- {
- };
- }
-}
-
-#endif // UTILITY_HETERO_TYPE_LIST_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Hetero/TypedContainer.hpp b/contrib/utility/Utility/Hetero/TypedContainer.hpp
deleted file mode 100644
index 67f94bda0ec..00000000000
--- a/contrib/utility/Utility/Hetero/TypedContainer.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// file : Utility/Hetero/TypedContainer.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_TYPED_CONTAINER_HPP
-#define UTILITY_HETERO_TYPED_CONTAINER_HPP
-
-#include "Utility/Hetero/Container.hpp"
-#include "Utility/Hetero/TypeList.hpp"
-
-namespace Utility
-{
- namespace Hetero
- {
- template <typename TL>
- class TypedContainer : public Container
- {
- public:
- typedef TL Types;
-
- public:
- template <typename T>
- TypedContainer (T const& t)
- : Container (t)
- {
- }
-
- TypedContainer (TypedContainer const& c)
- : Container (static_cast<Container const&> (c))
- {
- }
-
- public:
- template <typename T>
- TypedContainer&
- operator= (T const& t)
- {
- Container& self = *this;
- self = t;
- return *this;
- }
-
- TypedContainer&
- operator= (TypedContainer const& c)
- {
- Container& self = *this;
- Container const& other = c;
- self = other;
- return *this;
- }
- };
- }
-}
-
-#endif // UTILITY_HETERO_TYPED_CONTAINER_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Hetero/Vector.hpp b/contrib/utility/Utility/Hetero/Vector.hpp
deleted file mode 100644
index 3826bd6bb1f..00000000000
--- a/contrib/utility/Utility/Hetero/Vector.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// file : Utility/Hetero/Vector.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_VECTOR_HPP
-#define UTILITY_HETERO_VECTOR_HPP
-
-#include <vector>
-
-#include "Utility/Hetero/TypeList.hpp"
-#include "Utility/Hetero/TypedContainer.hpp"
-
-namespace Utility
-{
- namespace Hetero
- {
- template <typename T0 = NullType,
- typename T1 = NullType,
- typename T2 = NullType>
- class Vector;
-
- template <>
- class Vector<NullType, NullType, NullType>;
-
- template <typename T0>
- class Vector<T0, NullType, NullType> :
- public std::vector<TypedContainer<TypeList<T0> > >
- {
- };
-
- template <typename T0, typename T1>
- class Vector<T0, T1, NullType> :
- public std::vector<TypedContainer<TypeList<T0, T1> > >
- {
- };
-
- template <typename T0, typename T1, typename T2>
- class Vector :
- public std::vector<TypedContainer<TypeList<T0, T1, T2> > >
- {
- };
- }
-}
-
-#endif // UTILITY_HETERO_VECTOR_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/Introspection.hpp b/contrib/utility/Utility/Introspection/Introspection.hpp
deleted file mode 100644
index d514f62837a..00000000000
--- a/contrib/utility/Utility/Introspection/Introspection.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// file : Utility/Introspection/Introspection.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_INTROSPECTION_INTROSPECTION_HPP
-#define UTILITY_INTROSPECTION_INTROSPECTION_HPP
-
-#include "Utility/Introspection/TypeId.hpp"
-#include "Utility/Introspection/TypeInfo.hpp"
-#include "Utility/Introspection/Object.hpp"
-
-#endif // UTILITY_INTROSPECTION_INTROSPECTION_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/Makefile b/contrib/utility/Utility/Introspection/Makefile
deleted file mode 100644
index 43f2f67cb51..00000000000
--- a/contrib/utility/Utility/Introspection/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# file : Utility/Introspection/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Archive.pre.rules)
-
-cxx_translation_units := TypeId.cpp Object.cpp
-
-module_base := Introspection
-
-CXX_PREPROCESS_FLAGS += -I $(root)
-
-$(call include, $(root)/BuildRules/Archive.post.rules)
-# $Id$
diff --git a/contrib/utility/Utility/Introspection/Object.cpp b/contrib/utility/Utility/Introspection/Object.cpp
deleted file mode 100644
index 015a2736aad..00000000000
--- a/contrib/utility/Utility/Introspection/Object.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// file : Utility/Introspection/Object.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/Introspection/Object.hpp"
-
-namespace Utility
-{
- namespace Introspection
- {
- namespace
- {
- TypeInfo object_ (typeid (Object));
- }
-
- TypeInfo const& Object::
- static_type_info () throw ()
- {
- return object_;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/Object.hpp b/contrib/utility/Utility/Introspection/Object.hpp
deleted file mode 100644
index fdf8228c9f3..00000000000
--- a/contrib/utility/Utility/Introspection/Object.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// file : Utility/Introspection/Object.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_INTROSPECTION_OBJECT_HPP
-#define UTILITY_INTROSPECTION_OBJECT_HPP
-
-#include "Utility/Introspection/TypeInfo.hpp"
-
-namespace Utility
-{
- namespace Introspection
- {
- class Object
- {
- public:
- static TypeInfo const&
- static_type_info () throw ();
-
- virtual TypeInfo const&
- type_info () const throw ();
-
- protected:
- virtual
- ~Object ();
-
- Object () throw ();
- Object (Object const&) throw ();
-
- Object&
- operator= (Object const&) throw ();
-
- protected:
- virtual void
- type_info (TypeInfo const& tid) throw ();
-
- private:
- TypeInfo const* type_info_;
- };
- }
-}
-
-#include "Utility/Introspection/Object.ipp"
-
-#endif // UTILITY_INTROSPECTION_OBJECT_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/Object.ipp b/contrib/utility/Utility/Introspection/Object.ipp
deleted file mode 100644
index 7b5de978c6e..00000000000
--- a/contrib/utility/Utility/Introspection/Object.ipp
+++ /dev/null
@@ -1,48 +0,0 @@
-// file : Utility/Introspection/Object.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace Introspection
- {
- inline TypeInfo const& Object::
- type_info () const throw ()
- {
- return *type_info_;
- }
-
- inline Object::
- ~Object ()
- {
- }
-
- inline Object::
- Object () throw ()
- {
- type_info (static_type_info ());
- }
-
-
- inline Object::
- Object (Object const&) throw ()
- {
- type_info (static_type_info ());
- }
-
-
- inline Object& Object::
- operator= (Object const&) throw ()
- {
- return *this;
- }
-
- inline void Object::
- type_info (TypeInfo const& tid) throw ()
- {
- type_info_ = &tid;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeId.cpp b/contrib/utility/Utility/Introspection/TypeId.cpp
deleted file mode 100644
index a0ceddac2a1..00000000000
--- a/contrib/utility/Utility/Introspection/TypeId.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : Utility/Introspection/TypeId.cpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/Introspection/TypeId.hpp"
-
-#include <ostream>
-
-namespace Utility
-{
- namespace Introspection
- {
- std::ostream&
- operator << (std::ostream& os, TypeId const& t)
- {
- return os << t.tid_->name ();
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeId.hpp b/contrib/utility/Utility/Introspection/TypeId.hpp
deleted file mode 100644
index 51f66f99a0b..00000000000
--- a/contrib/utility/Utility/Introspection/TypeId.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// file : Utility/Introspection/TypeId.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_INTROSPECTION_TYPE_ID_HPP
-#define UTILITY_INTROSPECTION_TYPE_ID_HPP
-
-#include <typeinfo>
-#include <iosfwd>
-
-namespace Utility
-{
- namespace Introspection
- {
- class TypeId
- {
- public:
- template<typename T>
- TypeId (T const& t);
-
- TypeId (std::type_info const& tid);
-
- public:
- bool
- operator == (TypeId const& other) const;
-
- bool
- operator != (TypeId const& other) const;
-
- bool
- operator < (TypeId const& other) const;
-
- friend std::ostream&
- operator << (std::ostream& os, TypeId const& t);
-
- private:
- std::type_info const* tid_;
- };
- }
-}
-
-#include "Utility/Introspection/TypeId.tpp"
-#include "Utility/Introspection/TypeId.ipp"
-
-#endif // UTILITY_INTROSPECTION_TYPE_ID_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeId.ipp b/contrib/utility/Utility/Introspection/TypeId.ipp
deleted file mode 100644
index 83a5a503517..00000000000
--- a/contrib/utility/Utility/Introspection/TypeId.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-// file : Utility/Introspection/TypeId.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-// cvs-id : $Id$
-
-namespace Utility
-{
- namespace Introspection
- {
- inline TypeId::
- TypeId (std::type_info const& tid)
- : tid_ (&tid)
- {
- }
-
-
- inline bool TypeId::
- operator == (TypeId const& other) const
- {
- return *tid_ == *other.tid_;
- }
-
- inline bool TypeId::
- operator != (TypeId const& other) const
- {
- return *tid_ != *other.tid_;
- }
-
- inline bool TypeId::
- operator < (TypeId const& other) const
- {
- return tid_->before (*other.tid_);
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeId.tpp b/contrib/utility/Utility/Introspection/TypeId.tpp
deleted file mode 100644
index 7c3daef603c..00000000000
--- a/contrib/utility/Utility/Introspection/TypeId.tpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : Utility/Introspection/TypeId.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace Introspection
- {
- template<typename T>
- inline TypeId::
- TypeId (T const& t)
- : tid_ (&typeid (t))
- {
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeInfo.hpp b/contrib/utility/Utility/Introspection/TypeInfo.hpp
deleted file mode 100644
index 4321fdc522c..00000000000
--- a/contrib/utility/Utility/Introspection/TypeInfo.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// file : Utility/Introspection/TypeInfo.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_INTROSPECTION_TYPE_INFO_HPP
-#define UTILITY_INTROSPECTION_TYPE_INFO_HPP
-
-#include <vector>
-
-#include "Utility/Introspection/TypeId.hpp"
-
-namespace Utility
-{
- namespace Introspection
- {
- //
- //
- //
- struct Access
- {
- enum Value
- {
- PRIVATE,
- PROTECTED,
- PUBLIC
- };
- };
-
- // Forward declaration of class TypeInfo.
- //
- //
- class TypeInfo;
-
- //
- //
- //
- class BaseInfo
- {
- public:
- BaseInfo (Access::Value access,
- bool virtual_base,
- TypeInfo const& ti);
-
- public:
- TypeInfo const&
- type_info () const;
-
- Access::Value
- access () const;
-
- bool
- virtual_base () const;
-
- private:
- TypeInfo const* ti_;
- bool virtual_base_;
- Access::Value access_;
- };
-
-
- //
- //
- //
- class TypeInfo
- {
- private:
- typedef
- std::vector<BaseInfo>
- BaseInfoList;
-
- public:
- typedef
- BaseInfoList::const_iterator
- BaseIterator;
-
- public:
- TypeInfo (TypeId const& tid);
-
- TypeId
- type_id () const;
-
- BaseIterator
- begin_base () const;
-
- BaseIterator
- end_base () const;
-
- void
- add_base (Access::Value access,
- bool virtual_base,
- TypeInfo const& ti);
-
- private:
- TypeId tid_;
- BaseInfoList base_;
- };
- }
-}
-
-#include "Utility/Introspection/TypeInfo.ipp"
-
-#endif // UTILITY_INTROSPECTION_TYPE_INFO_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Introspection/TypeInfo.ipp b/contrib/utility/Utility/Introspection/TypeInfo.ipp
deleted file mode 100644
index 395cf7d6539..00000000000
--- a/contrib/utility/Utility/Introspection/TypeInfo.ipp
+++ /dev/null
@@ -1,77 +0,0 @@
-// file : Utility/Introspection/TypeInfo.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace Introspection
- {
- // BaseInfo
- //
- //
-
- inline BaseInfo::
- BaseInfo (Access::Value access, bool virtual_base, TypeInfo const& ti)
- : ti_ (&ti),
- virtual_base_ (virtual_base),
- access_ (access)
- {
- }
-
- inline TypeInfo const& BaseInfo::
- type_info () const
- {
- return *ti_;
- }
-
-
- inline Access::Value BaseInfo::
- access () const
- {
- return access_;
- }
-
- inline bool BaseInfo::
- virtual_base () const
- {
- return virtual_base_;
- }
-
-
- // TypeInfo
- //
- //
- inline TypeInfo::
- TypeInfo (TypeId const& tid)
- : tid_ (tid)
- {
- }
-
- inline TypeId TypeInfo::
- type_id () const
- {
- return tid_;
- }
-
- inline TypeInfo::BaseIterator TypeInfo::
- begin_base () const
- {
- return base_.begin ();
- }
-
-
- inline TypeInfo::BaseIterator TypeInfo::
- end_base () const
- {
- return base_.end ();
- }
-
- inline void TypeInfo::
- add_base (Access::Value access, bool virtual_base, TypeInfo const& ti)
- {
- base_.push_back (BaseInfo (access, virtual_base, ti));
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Makefile b/contrib/utility/Utility/Makefile
deleted file mode 100644
index e6951f317fa..00000000000
--- a/contrib/utility/Utility/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : Utility/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ..
-
-include $(root)/BuildRules/Bootstrap.rules
-
-$(call include, $(root)/BuildRules/Recursion.pre.rules)
-
-target_makefile_list :=
-target_directory_list := Introspection
-
-$(call include, $(root)/BuildRules/Recursion.post.rules)
-# $Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/DefaultImpl.hpp b/contrib/utility/Utility/ReferenceCounting/DefaultImpl.hpp
deleted file mode 100644
index f6fac55a359..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/DefaultImpl.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// file : Utility/ReferenceCounting/DefaultImpl.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-#define UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/Synch/Policy/Null.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // Default reference counter implementation with parameterised
- // synchronization policy. It is assumed that none of the SynchPolicy
- // types throw any logic exceptions. If in fact they do then these
- // exceptions won't be handled and will be automatically converted
- // to system exceptions.
-
- template <typename SynchPolicy = Utility::Synch::Policy::Null>
- class DefaultImpl : public virtual Interface
- {
- public:
- class InconsistentState_ {};
-
- typedef
- ExH::Compound<InconsistentState_, Exception>
- InconsistentState;
-
- public:
- DefaultImpl ();
-
- virtual
- ~DefaultImpl () throw ();
-
- public:
- virtual void
- add_ref () const;
-
- virtual void
- remove_ref () const throw ();
-
- virtual count_t
- refcount_value () const;
-
- protected:
- virtual void
- add_ref_i () const;
-
- virtual bool
- remove_ref_i () const;
-
- virtual count_t
- refcount_value_i () const;
-
- typename SynchPolicy::Mutex&
- lock_i () const throw ();
-
- protected:
- typedef
- typename SynchPolicy::Mutex
- Mutex_;
-
- typedef
- typename SynchPolicy::ReadGuard
- ReadGuard_;
-
- typedef
- typename SynchPolicy::WriteGuard
- WriteGuard_;
-
- protected:
- mutable count_t ref_count_;
-
- private:
- mutable Mutex_ lock_;
-
- private:
- // Copy semanic is not supported.
- DefaultImpl (DefaultImpl const&) throw ();
- DefaultImpl&
- operator= (DefaultImpl const&) throw ();
- };
- }
-}
-
-#include "Utility/ReferenceCounting/DefaultImpl.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/DefaultImpl.ipp b/contrib/utility/Utility/ReferenceCounting/DefaultImpl.ipp
deleted file mode 100644
index eaed51a644a..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/DefaultImpl.ipp
+++ /dev/null
@@ -1,105 +0,0 @@
-// file : Utility/ReferenceCounting/DefaultImpl.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor & d-tor
-
- template <typename SynchPolicy>
- DefaultImpl<SynchPolicy>::
- DefaultImpl ()
- : ref_count_ (1),
- lock_ ()
- {
- }
-
- template <typename SynchPolicy>
- DefaultImpl<SynchPolicy>::
- ~DefaultImpl () throw ()
- {
- }
-
- // add_ref, remove_ref and refcount_value member functions
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- add_ref () const
- {
- WriteGuard_ guard (lock_);
- add_ref_i ();
- }
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- remove_ref () const throw ()
- {
- bool destroy (false);
- try
- {
- WriteGuard_ guard (lock_);
- destroy = remove_ref_i ();
- }
- catch (...)
- {
- // there is nothing we can do
- }
-
- if (destroy) delete this;
- }
-
- template <typename SynchPolicy>
- Interface::count_t DefaultImpl<SynchPolicy>::
- refcount_value () const
- {
- ReadGuard_ guard (lock_);
- return refcount_value_i ();
- }
-
- // add_ref_i, remove_ref_i and refcount_value_i member functions
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- add_ref_i () const
- {
- ref_count_++;
- }
-
- template <typename SynchPolicy>
- bool DefaultImpl<SynchPolicy>::
- remove_ref_i () const
- {
- bool destroy (false);
- if (ref_count_ > 0)
- {
- if (--ref_count_ == 0) destroy = true;
- }
- else
- {
- throw InconsistentState (
- "Utility::ReferenceCounting::DefaultImpl::_remove_ref_i: "
- "reference counter is zero.");
- }
- return destroy;
-
- }
-
- template <typename SynchPolicy>
- Interface::count_t DefaultImpl<SynchPolicy>::
- refcount_value_i () const
- {
- return ref_count_;
- }
-
- template <typename SynchPolicy>
- typename SynchPolicy::Mutex& DefaultImpl<SynchPolicy>::
- lock_i() const throw ()
- {
- return lock_;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.hpp b/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.hpp
deleted file mode 100644
index 20346e859b3..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// file : Utility/ReferenceCounting/ExternalLockImpl.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-#define UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
-
- /*
-
- Not ported yet.
-
- class ExternalLockRefCounter : public virtual Util::RefCountBase
- {
- public:
- ExternalLockRefCounter (ACE_Lock* lock = 0);
- virtual ~ExternalLockRefCounter ();
-
- void init (ACE_Lock* lock);
-
- public:
-
- virtual void _add_ref ();
- virtual void _remove_ref ();
- virtual unsigned long _refcount_value ();
-
- protected:
-
- virtual void _add_ref_i ();
- virtual bool _remove_ref_i ();
- virtual unsigned long _refcount_value_i ();
-
- ACE_Lock* lock_i ();
-
- private:
-
- typedef ACE_Guard <ACE_Lock> Guard_;
-
- ACE_Lock* lock_;
- unsigned long ref_count_;
-
- private:
- ExternalLockRefCounter (const ExternalLockRefCounter& );
- void operator= (const ExternalLockRefCounter& );
- };
-
- */
- }
-}
-
-#include "Utility/ReferenceCounting/ExternalLockImpl.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.ipp b/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.ipp
deleted file mode 100644
index 7552d411f27..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/ExternalLockImpl.ipp
+++ /dev/null
@@ -1,122 +0,0 @@
-// file : Utility/ReferenceCounting/ExternalLockImpl.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- /*
- inline
- ExternalLockRefCounter::ExternalLockRefCounter (ACE_Lock* lock)
- : lock_ (lock),
- ref_count_ (1)
- {
- }
-
- inline
- void
- ExternalLockRefCounter::init (ACE_Lock* lock)
- {
- lock_ = lock;
- }
-
- inline
- ExternalLockRefCounter::~ExternalLockRefCounter ()
- {
- }
-
- inline
- ACE_Lock*
- ExternalLockRefCounter::lock_i ()
- {
- return lock_;
- }
-
- inline
- void
- ExternalLockRefCounter::_add_ref ()
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- _add_ref_i ();
- }
- else
- {
- _add_ref_i ();
- }
- }
-
- inline
- void
- ExternalLockRefCounter::_remove_ref ()
- {
- bool destroy = false;
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- destroy = _remove_ref_i ();
- }
- else
- {
- destroy = _remove_ref_i ();
- }
- }
- if (destroy) delete this;
- }
-
- inline
- unsigned long
- ExternalLockRefCounter::_refcount_value ()
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- return _refcount_value_i ();
- }
- else
- {
- return _refcount_value_i ();
- }
- }
-
- inline
- void
- ExternalLockRefCounter::_add_ref_i ()
- {
- ref_count_++;
- }
-
- inline
- bool
- ExternalLockRefCounter::_remove_ref_i ()
- {
- bool destroy = false;
- if (ref_count_ > 0)
- {
- if (--ref_count_ == 0) destroy = true;
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "ExternalLockRefCounter::_remove_ref() "
- " _remove_ref() called while ref_coundt == 0\n"
- ));
- }
- return destroy;
- }
-
- inline
- unsigned long
- ExternalLockRefCounter::_refcount_value_i ()
- {
- return ref_count_;
- }
- */
- }
-}
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/Interface.hpp b/contrib/utility/Utility/ReferenceCounting/Interface.hpp
deleted file mode 100644
index 4f0a8f24201..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/Interface.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-#define UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/Logic/Exception.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // Interface to a reference-countable object. Note that _remove_ref ()
- // member function has a no-throw semantic. Even though it can lead to
- // a diagnostic loss it was made no-throw because it has a destructor
- // semantic.
-
- class Interface
- {
- public:
- typedef
- unsigned long
- count_t;
-
- typedef
- ExH::System::Exception
- SystemException;
-
- typedef ExH::Logic::DescriptiveException Exception;
-
- public:
- virtual void
- add_ref () const = 0;
-
- virtual void
- remove_ref () const throw () = 0;
-
- virtual count_t
- refcount_value () const = 0;
-
- protected:
- Interface () throw ();
-
- virtual
- ~Interface () throw ();
-
- protected:
- virtual void
- add_ref_i () const = 0;
-
- virtual bool
- remove_ref_i () const = 0;
-
- virtual count_t
- refcount_value_i () const = 0;
-
- private:
- // Copy semanic is not supported.
- Interface (Interface const&) throw ();
- Interface&
- operator= (Interface const&) throw ();
- };
-
- template <typename Type>
- Type*
- add_ref (Type* ptr);
- }
-}
-
-#include "Utility/ReferenceCounting/Interface.tpp"
-#include "Utility/ReferenceCounting/Interface.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/Interface.ipp b/contrib/utility/Utility/ReferenceCounting/Interface.ipp
deleted file mode 100644
index f901db4b248..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/Interface.ipp
+++ /dev/null
@@ -1,22 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- inline Interface::
- ~Interface () throw ()
- {
- }
-
- inline Interface::
- Interface () throw ()
- {
- }
- }
-}
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/Interface.tpp b/contrib/utility/Utility/ReferenceCounting/Interface.tpp
deleted file mode 100644
index ff426ff7bcc..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/Interface.tpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename Type>
- inline Type*
- add_ref (Type* ptr)
- {
- if (ptr != 0) ptr->add_ref ();
- return ptr;
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/ReferenceCounting.hpp b/contrib/utility/Utility/ReferenceCounting/ReferenceCounting.hpp
deleted file mode 100644
index a20fe0d888c..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/ReferenceCounting.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// file : Utility/ReferenceCounting/ReferenceCounting.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-#define UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-#include "Utility/ReferenceCounting/DefaultImpl.hpp"
-#include "Utility/ReferenceCounting/SmartPtr.hpp"
-#include "Utility/ReferenceCounting/StrictPtr.hpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/SmartPtr.hpp b/contrib/utility/Utility/ReferenceCounting/SmartPtr.hpp
deleted file mode 100644
index ab6163e5d18..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/SmartPtr.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// file : Utility/ReferenceCounting/SmartPtr.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
-#define UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename T>
- class SmartPtr
- {
- public:
- typedef
- T
- Type;
-
- class NotInitialized_ {};
- typedef
- ExH::Compound<NotInitialized_, ExH::Logic::DescriptiveException>
- NotInitialized;
-
- public:
- // c-tor's
-
- SmartPtr () throw ();
- SmartPtr (Type* ptr) throw ();
- SmartPtr (SmartPtr<Type> const& s_ptr);
-
- template <typename Other>
- SmartPtr (SmartPtr<Other> const& s_ptr);
-
- // d-tor
-
- ~SmartPtr () throw ();
-
- // assignment & copy-assignment operators
-
- SmartPtr<Type>&
- operator= (Type* ptr) throw ();
-
- SmartPtr<Type>&
- operator= (SmartPtr<Type> const& s_ptr);
-
- template <typename Other>
- SmartPtr<Type>&
- operator= (SmartPtr<Other> const& s_ptr);
-
- //conversions
-
- operator Type* () const throw ();
-
- // accessors
-
- Type*
- operator-> () const;
-
- Type*
- in () const throw ();
-
- Type*
- retn() throw ();
-
- private:
- Type* ptr_;
- };
-
- // Specialization of add_ref function for SmartPtr<T>
- template <typename T>
- T*
- add_ref (SmartPtr<T> const& ptr);
-
-
- // Dynamic type conversion function for SmartPtr's
- template <typename D, typename S>
- D*
- smart_cast (SmartPtr<S> const& s);
-
- // Acquisition function
- template <typename T>
- SmartPtr<T>
- acquire (T* ptr);
- }
-}
-
-#include "Utility/ReferenceCounting/SmartPtr.tpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/SmartPtr.tpp b/contrib/utility/Utility/ReferenceCounting/SmartPtr.tpp
deleted file mode 100644
index 515eee7c1a9..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/SmartPtr.tpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// file : Utility/ReferenceCounting/SmartPtr.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor's & d-tor
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr () throw ()
- : ptr_ (0)
- {
- }
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr (Type* ptr) throw ()
- : ptr_ (ptr)
- {
- }
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr (SmartPtr<Type> const& s_ptr)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
- template <typename T>
- template <typename Other>
- SmartPtr<T>::
- SmartPtr (SmartPtr<Other> const& s_ptr)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
-
- template <typename T>
- SmartPtr<T>::
- ~SmartPtr () throw ()
- {
- // This is an additional catch-all layer to protect from
- // non-conformant Type.
- try
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- }
- catch (...)
- {
- }
- }
-
- // operator=
-
- template <typename T>
- SmartPtr<T>& SmartPtr<T>::
- operator= (Type* ptr) throw ()
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- ptr_ = ptr;
- return *this;
- }
-
-
- template <typename T>
- SmartPtr<T>& SmartPtr<T>::
- operator= (SmartPtr<Type> const& s_ptr)
- {
- Type* old_ptr (ptr_);
- Type* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
-
- template <typename T>
- template <typename Other>
- SmartPtr<T>& SmartPtr<T>::
- operator= (SmartPtr<Other> const& s_ptr)
- {
- Type* old_ptr (ptr_);
- Other* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
- // conversions
-
- template <typename T>
- SmartPtr<T>::
- operator T* () const throw ()
- {
- return ptr_;
- }
-
-
- // accessors
-
- template <typename T>
- T* SmartPtr<T>::
- operator-> () const
- {
- if (ptr_ == 0)
- {
- throw NotInitialized(
- "Utility::ReferenceCounting::SmartPtr::operator-> : "
- "unable to dereference NULL pointer.");
- }
- return ptr_;
- }
-
- template <typename T>
- T* SmartPtr<T>::
- in () const throw ()
- {
- return ptr_;
- }
-
- template <typename T>
- T* SmartPtr<T>::
- retn() throw ()
- {
- Type* ret (ptr_);
- ptr_ = 0;
- return ret;
- }
-
- // Specialization of add_ref function for SmartPtr<T>
- template <typename T>
- T*
- add_ref (SmartPtr<T> const& ptr)
- {
- // delegate to generic implementation
- return add_ref (ptr.in ());
- }
-
- // Dynamic type conversion function for SmartPtr's
- template <typename D, typename S>
- D*
- smart_cast (SmartPtr<S> const& s)
- {
- return add_ref (dynamic_cast<D*>(s.in ()));
- }
-
- // Acquisition function
- template <typename T>
- SmartPtr<T>
- acquire (T* ptr)
- {
- return SmartPtr<T> (ptr);
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/StrictPtr.hpp b/contrib/utility/Utility/ReferenceCounting/StrictPtr.hpp
deleted file mode 100644
index 76b1781f911..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/StrictPtr.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// file : Utility/ReferenceCounting/StrictPtr.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-#define UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename T>
- class StrictPtr
- {
- public:
- typedef
- T
- Type;
-
- class NotInitialized_ {};
- typedef
- ExH::Compound<NotInitialized_, ExH::Logic::DescriptiveException>
- NotInitialized;
-
- public:
- // c-tor's
-
- StrictPtr () throw ();
-
- explicit
- StrictPtr (Type* ptr) throw ();
-
- StrictPtr (StrictPtr<Type> const& s_ptr);
-
- template <typename Other>
- StrictPtr (StrictPtr<Other> const& s_ptr);
- // d-tor
-
- ~StrictPtr () throw ();
-
- // assignment & copy-assignment operators
-
- StrictPtr<Type>&
- operator= (Type* ptr) throw ();
-
- StrictPtr<Type>&
- operator= (StrictPtr<Type> const& s_ptr);
-
- template <typename Other>
- StrictPtr<Type>&
- operator= (StrictPtr<Other> const& s_ptr);
-
- // conversions
-
- // Note: implicit conversion (operator Type* ()) is not supported.
-
- // comparison
-
- bool
- operator== (Type* other) const throw ();
-
- bool
- operator!= (Type* other) const throw ();
-
- // accessors
-
- Type*
- operator-> () const;
-
- Type*
- in () const throw ();
-
- Type*
- retn() throw ();
-
- private:
- Type* ptr_;
- };
-
- // Specialization of add_ref function for StrictPtr<T>
- template <typename T>
- T*
- add_ref (StrictPtr<T> const& ptr);
-
- // Dynamic type conversion function for StrictPtr's
- template <typename D, typename S>
- StrictPtr<D>
- strict_cast (StrictPtr<S> const& s);
- }
-}
-
-#include "Utility/ReferenceCounting/StrictPtr.tpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-
-//$Id$
diff --git a/contrib/utility/Utility/ReferenceCounting/StrictPtr.tpp b/contrib/utility/Utility/ReferenceCounting/StrictPtr.tpp
deleted file mode 100644
index 9e15632e7a6..00000000000
--- a/contrib/utility/Utility/ReferenceCounting/StrictPtr.tpp
+++ /dev/null
@@ -1,161 +0,0 @@
-// file : Utility/ReferenceCounting/StrictPtr.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor's & d-tor
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr () throw ()
- : ptr_ (0)
- {
- }
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr (Type* ptr) throw ()
- : ptr_ (ptr)
- {
- }
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr (StrictPtr<Type> const& s_ptr)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
- template <typename T>
- template <typename Other>
- StrictPtr<T>::
- StrictPtr (StrictPtr<Other> const& s_ptr)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
-
- template <typename T>
- StrictPtr<T>::
- ~StrictPtr () throw ()
- {
- // This is an additional catch-all layer to protect from
- // non-conformant Type.
- try
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- }
- catch (...)
- {
- }
- }
-
- // operator=
-
- template <typename T>
- StrictPtr<T>&
- StrictPtr<T>::operator= (Type* ptr) throw ()
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- ptr_ = ptr;
- return *this;
- }
-
- template <typename T>
- StrictPtr<T>& StrictPtr<T>::
- operator= (StrictPtr<Type> const& s_ptr)
- {
- Type* old_ptr (ptr_);
- Type* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
-
- template <typename T>
- template <typename Other>
- StrictPtr<T>& StrictPtr<T>::
- operator= (StrictPtr<Other> const& s_ptr)
- {
- Type* old_ptr (ptr_);
- Other* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
- // comparison
-
- template <typename T>
- bool StrictPtr<T>::
- operator== (Type* other) const throw ()
- {
- return ptr_ == other;
- }
-
- template <typename T>
- bool StrictPtr<T>::
- operator!= (Type* other) const throw ()
- {
- return ptr_ != other;
- }
-
- // accessors
-
- template <typename T>
- T* StrictPtr<T>::
- operator-> () const
- {
- if (ptr_ == 0)
- {
- throw NotInitialized(
- "Utility::ReferenceCounting::StrictPtr::operator-> : "
- "unable to dereference NULL pointer.");
- }
- return ptr_;
- }
-
- template <typename T>
- T* StrictPtr<T>::
- in () const throw ()
- {
- return ptr_;
- }
-
- template <typename T>
- T* StrictPtr<T>::
- retn() throw ()
- {
- Type* ret (ptr_);
- ptr_ = 0;
- return ret;
- }
-
- // Specialization of add_ref function for StrictPtr<T>
- template <typename T>
- T*
- add_ref (StrictPtr<T> const& ptr)
- {
- // delegate to generic implementation
- return add_ref (ptr.in ());
- }
-
- // Dynamic type conversion function for StrictPtr's
- template <typename D, typename S>
- StrictPtr<D>
- strict_cast (StrictPtr<S> const& s)
- {
- return StrictPtr<D>(add_ref (dynamic_cast<D*>(s.in ())));
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Utility/Synch/Policy/Null.hpp b/contrib/utility/Utility/Synch/Policy/Null.hpp
deleted file mode 100644
index cfc9c8f788e..00000000000
--- a/contrib/utility/Utility/Synch/Policy/Null.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// file : Utility/Synch/Policy/Null.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_SYNCH_POLICY_NULL_HPP
-#define UTILITY_SYNCH_POLICY_NULL_HPP
-
-namespace Utility
-{
- namespace Synch
- {
- namespace Policy
- {
-
- class NullMutex
- {
- };
-
- class NullGuard
- {
- public:
- explicit
- NullGuard (NullMutex&) throw ();
-
- private:
- NullGuard (NullGuard const&) throw ();
-
- NullGuard&
- operator= (NullGuard const&) throw ();
- };
-
- struct Null
- {
- typedef
- NullMutex
- Mutex;
-
- typedef
- NullGuard
- ReadGuard;
-
- typedef
- NullGuard
- WriteGuard;
- };
- }
- }
-}
-
-#include "Utility/Synch/Policy/Null.ipp"
-
-#endif // UTILITY_SYNCH_POLICY_NULL_HPP
-//$Id$
diff --git a/contrib/utility/Utility/Synch/Policy/Null.ipp b/contrib/utility/Utility/Synch/Policy/Null.ipp
deleted file mode 100644
index dbc4c78b698..00000000000
--- a/contrib/utility/Utility/Synch/Policy/Null.ipp
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : Utility/Synch/Policy/Null.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace Synch
- {
- namespace Policy
- {
- inline NullGuard::
- NullGuard (NullMutex&) throw ()
- {
- }
- }
- }
-}
-
-//$Id$
diff --git a/contrib/utility/Vault/StringConverter.hpp b/contrib/utility/Vault/StringConverter.hpp
deleted file mode 100644
index 0bcb94676b7..00000000000
--- a/contrib/utility/Vault/StringConverter.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// file : Utility/ExH/StringConverter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_STRING_CONVERTER_HPP
-#define UTILITY_EX_H_STRING_CONVERTER_HPP
-
-#include <string>
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- char const*
- converter (std::string const& t) throw ();
- }
-}
-
-#include "Utility/ExH/StringConverter.ipp"
-
-#endif // UTILITY_EX_H_STRING_CONVERTER_HPP
-
-//$Id$
diff --git a/contrib/utility/Vault/StringConverter.ipp b/contrib/utility/Vault/StringConverter.ipp
deleted file mode 100644
index c508c8c752a..00000000000
--- a/contrib/utility/Vault/StringConverter.ipp
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : Utility/ExH/StringConverter.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- inline char const*
- converter (std::string const& t) throw ()
- {
- return t.c_str ();
- }
- }
-}
-//$Id$
diff --git a/contrib/utility/Vault/hetero/map b/contrib/utility/Vault/hetero/map
deleted file mode 100644
index 0a6113e5c31..00000000000
--- a/contrib/utility/Vault/hetero/map
+++ /dev/null
@@ -1,13 +0,0 @@
-// file : Utility/hetero/map
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_MAP
-#define UTILITY_HETERO_MAP
-
-#include "Utility/hetero/map.hpp"
-
-#endif // UTILITY_HETERO_MAP
-
-// $Id$
diff --git a/contrib/utility/Vault/hetero/map.hpp b/contrib/utility/Vault/hetero/map.hpp
deleted file mode 100644
index 2959c06fbd8..00000000000
--- a/contrib/utility/Vault/hetero/map.hpp
+++ /dev/null
@@ -1,249 +0,0 @@
-// file : Utility/hetero/map.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_HETERO_MAP_HPP
-#define UTILITY_HETERO_MAP_HPP
-
-#include <typeinfo>
-#include <map>
-
-namespace Utility
-{
- namespace hetero
- {
- template <typename Key>
- class map
- {
- private:
- struct ValueBase
- {
- virtual
- ~ValueBase () {}
- };
-
- template <typename T>
- class Value : public ValueBase
- {
- public:
- Value (T const& t)
- : t_ (t)
- {
- }
-
- T t_;
- };
-
- typedef
- std::map<Key, ValueBase*>
- ValueMap;
-
- typedef
- typename std::map<Key, ValueBase*>::value_type
- ValueType;
-
- public:
-
- class Typing {};
-
- template <typename T>
- struct type
- {
- typedef std::pair <Key const, T> value_type;
- };
-
- template <typename First>
- struct Pair
- {
- First first;
-
- Pair ()
- : first (),
- second_ (0)
- {
- }
-
- Pair (First const& k, ValueBase* v)
- : first (k),
- second_ (v)
- {
- }
-
- template <typename T>
- T&
- second ()
- {
- Value<T>* v = dynamic_cast<Value<T>*> (second_);
- if (v == 0) throw Typing ();
-
- return v->t_;
- }
-
- template <typename T>
- T const&
- second () const
- {
- Value<T>* v = dynamic_cast<Value<T>*> (second_);
- if (v == 0) throw Typing ();
-
- return v->t_;
- }
-
- private:
- ValueBase* second_;
- };
-
- friend
- class iterator
- {
- public:
- iterator (typename ValueMap::iterator const& i)
- : i_ (i)
- {
- }
-
- public:
-
- Pair<Key>&
- operator* ()
- {
- current_ = Pair<Key> (i_->first, i_->second);
- return current_;
- }
-
- Pair<Key>*
- operator-> ()
- {
- current_ = Pair<Key> (i_->first, i_->second);
- return &current_;
- }
-
- public:
- bool
- operator== (iterator const& other)
- {
- return i_ == other.i_;
- }
-
- bool
- operator!= (iterator const& other)
- {
- return i_ != other.i_;
- }
-
- private:
- typename ValueMap::iterator i_;
- Pair<Key> current_;
- };
-
-
- friend
- class const_iterator
- {
- public:
- const_iterator (typename ValueMap::const_iterator const& i)
- : i_ (i)
- {
- }
-
- public:
-
- Pair<Key> const&
- operator* ()
- {
- current_ = Pair<Key> (i_->first, i_->second);
- return current_;
- }
-
- Pair<Key> const*
- operator-> ()
- {
- current_ = Pair<Key> (i_->first, i_->second);
- return &current_;
- }
-
- public:
- bool
- operator== (const_iterator const& other)
- {
- return i_ == other.i_;
- }
-
- bool
- operator!= (const_iterator const& other)
- {
- return i_ != other.i_;
- }
-
- private:
- typename ValueMap::const_iterator i_;
- Pair<Key> current_;
- };
-
- public:
- iterator
- begin ()
- {
- return iterator (map_.begin ());
- }
-
- const_iterator
- begin () const
- {
- return const_iterator (map_.begin ());
- }
-
- iterator
- end ()
- {
- return iterator (map_.end ());
- }
-
- const_iterator
- end () const
- {
- return const_iterator (map_.end ());
- }
-
- public:
-
- template <typename T>
- bool
- insert (std::pair <Key, T> const& x)
- {
- ValueType v (x.first, new Value<T> (x.second));
- return map_.insert (v).second;
- }
-
- template <typename T>
- bool
- insert (Key const& k, T const& t)
- {
- ValueType v (k, new Value<T> (t));
- return map_.insert (v).second;
- }
-
- public:
- iterator
- find (Key const& k)
- {
- return iterator (map_.find (k));
- }
-
- const_iterator
- find (Key const& k) const
- {
- return const_iterator (map_.find (k));
- }
-
- private:
- ValueMap map_;
- };
- }
-}
-
-#include "Utility/hetero/map.tpp"
-
-#endif // UTILITY_HETERO_MAP_HPP
-//$Id$
diff --git a/contrib/utility/Vault/hetero/map.tpp b/contrib/utility/Vault/hetero/map.tpp
deleted file mode 100644
index f2e0dfe69b8..00000000000
--- a/contrib/utility/Vault/hetero/map.tpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// file : utility/hetero/map.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace hetero
- {
- }
-}
-//$Id$
diff --git a/contrib/utility/Version b/contrib/utility/Version
deleted file mode 100644
index 937a6c086f5..00000000000
--- a/contrib/utility/Version
+++ /dev/null
@@ -1,3 +0,0 @@
-1.2.2
-
-$Id$
diff --git a/contrib/utility/license.html b/contrib/utility/license.html
deleted file mode 100644
index 89388e0aff1..00000000000
--- a/contrib/utility/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : kolpackov.net/license.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>kolpackov.net/license.html</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="Boris,Kolpackov,Kolpakov,software,license,copyright"/>
- <meta name="description" content="software license"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family: monospace;
- }
- </style>
-
-</head>
-
-<body>
-
-<div align="left">
-<table width="640" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
- <p>This software or documentation is provided 'as-is', without any
- express or implied warranty. In no event will the author or contributors
- be held liable for any damages arising from the use of this software
- or documentation.</p>
-
- <p>Permission is granted to anyone to use this software or documentation
- for any purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:</p>
-
-<blockquote>
-
- <p>1. The origin of this software or documentation must not be
- misrepresented; you must not claim that you wrote the original
- software or documentation. If you use this software or
- documentation in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.</p>
-
- <p>2. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software or documentation.
- Altered source versions may be contributed back to the author to be
- integrated into the original software or documentation at the
- author's discretion.</p>
-
- <p>3. Neither this notice or reference to it nor any copyright, author or
- contributor clause may be removed from or altered in any software
- source distribution or documentation covered by this license.</p>
-
- <p>4. Neither the name of the author, nor the names of contributors may be
- used to endorse or promote products derived from this software or
- documentation without specific prior written permission.</p>
-
-</blockquote>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
-<!-- $Id$ -->
diff --git a/debianbuild/changelog b/debianbuild/changelog
index 1249c97813a..3c557761b45 100644
--- a/debianbuild/changelog
+++ b/debianbuild/changelog
@@ -1,8 +1,101 @@
-ace (5.6.6-1) experimental; urgency=low
+ace (5.7.7-1) unstable; urgency=low
- * New upstream release.
+ [ Marek Brudka ]
+ * New upstream release
+ * Install fix related with MPC bug for *.ins files
+ * Reverted mpc-ace changes
+ * Dropped 25-remove-duplicate-file patch
+ * Added PerlACE to mpc-ace. This should resolve #522557
+ * Replaced find [C,S,A].[h,inl] by 2-pass mpc generation
+ * Remove obsolete patches
+
+ -- Marek Brudka <mbrudka@aster.pl> Sat, 27 Mar 2010 20:00:00 +0100
- -- Thomas Girard <thomas.g.girard@free.fr> Fri, 03 Oct 2008 21:57:29 +0000
+ace (5.7.5-2) unstable; urgency=low
+ [ Marek Brudka ]
+ * Change build method to MPC generated makefiles
+ * Changed installation method to MPC/prj_install.pl
+ * Changed .so naming from -x.y.z.so to so.x.y.z
+
+ace (5.7.5-1) unstable; urgency=low
+
+ [ Pau Garcia i Quiles ]
+ * New upstream release
+ * Add dependency on ${misc:Depends}
+ * Add new libraries and update patch 34-bts386713 accordingly
+ * Update patch 02-qt4 (partially fixed upstream)
+ * Drop patch 05-autoconf-fox (fixed upstream)
+ * Drop patch 06-fix-kokyu-mpc (fixed upstream)
+ * Drop patch 07-autoconf-fix-gperf (fixed upstream)
+ * Drop patch 08-fix-perl-shebang (fixed upstream)
+ * Drop patch 10-fix-fox-resource-export (fixed upstream)
+ * Drop patch 11-fix-fox-reactor.dpatch (fixed upstream)
+ * Update patch 12-fix-fox-include
+ * Drop patch 13-fix-fox-errors (fixed upstream except for the #include, which
+ I have now merged in 12-fix-fox-include)
+ * Drop patch 14-autoconf-tao (fixed upstream)
+ * Drop patch 15-fix-fltk-include (fixed upstream)
+ * Drop patch 17-protect-mpc-path (fixed upstream)
+ * Drop patch 18-fix-bswap-detection (fixed upstream)
+ * Update patch 19-gcc43
+ * Drop patch 20-fix-iostream-detection (fixed upstream)
+ * Drop patch 22-remove-Ge-doc (fixed upstream)
+ * Drop patch 23-add-sh-shebang (fixed upstream)
+ * Update patch 24-add-missing-headers (WORK IN PROGRESS)
+ * Update patch 34-bts386713
+ * Drop patch 49-missing-template (fixed upstream)
+ * Update patch 90-patch-mpc-basedir
+ * Update patch 91-patch-dg-basedir
+ * Add patch 93-hack-to-fix-libtoolize
+ * Add patch 94-build-crosscompile
+ * ??? Add patch 95-build-ace-for-tao
+ * Add patch 96-build-athena3d
+ * Remove DH_COMPAT definition from the debian/rules file, it's already in
+ debian/compat
+ * Fix fox-config location, detection method has changed since 5.6.3
+ [Marek Brudka]
+ * renamed gperf-ace to ace_gperf to follow the upstream convention
+ * fixed fidone once again
+ * created gperf-ace-5.7.5 and gperf-ace-dev package for gperf runtime libraries
+ * included number of runtime and static libraries with headers (Monitor, ZIOP, ETCL, Catior) to libtao-orbsvcs-* packages
+ * renamed split-cpp to split-cpp.pl in libace-dev to follow the upstream
+ conventions
+ * renamed utilities (ns{add,del,list> to tao_ns{add,del,list}) in tao-utils
+ to follow the upstream changes
+ * removed permission fixes for example in debian/rules as there is nothing to fix
+ * created libace_gperf runtime and devel libraries
+ * added libACE_ETCL to libace (separate package?)
+ * added libACE_Monitor_Control to libace (separate package?)
+ * added libACE_gperf to libace (separate package?)
+ * added usr/bin/m[w,p]c.pl to avoid some problems related with $0 and workspace generation
+ * temporarily excluded logWalker from build
+ -- Pau Garcia i Quiles <pgquiles@elpauer.org>, Marek Brudka <mbrudka@aster.pl> Sun, 25 Oct 2009 12:59:18 +0100
+
+ace (5.6.3-6) unstable; urgency=low
+
+ [ Thomas Girard ]
+ * Remove obsolete maintainers:
+ - Konstantinos Margaritis <markos@debian.org>
+ - Brian Nelson <pyro@debian.org>
+ Closes: #521487.
+ * Bump Standards-Version: to 3.8.3.
+ * Remove erroneous #define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR in config.h;
+ causing diagnostics to FTBFS. Closes: #552899.
+ * Remove extra ACLOCAL_AMFLAGS from already existing Makefile.am; causing
+ recent aclocal to abort. Thanks to Pau Garcia i Quiles for the patch.
+ Closes: #518735.
+ * Add README.source.
+ * Add Pau Garcia i Quiles to the list of maintainers.
+ * Fix many issues spotted by lintian.
+
+ [ Pau Garcia i Quiles ]
+ * Add new patches:
+ - Remove duplicate files from .mpc files so that Makefile.am files do
+ not have duplicates
+ - Run autoupdate and autoreconf in the ACE and TAO directories in order
+ to update from libtool 1.5 (what upstream uses) to libtool 2.2
+
+ -- Thomas Girard <thomas.g.girard@free.fr> Sun, 13 Dec 2009 11:47:50 +0100
ace (5.6.3-5) unstable; urgency=low
diff --git a/debianbuild/control b/debianbuild/control
index 904462584ad..25eae3ec6f0 100644
--- a/debianbuild/control
+++ b/debianbuild/control
@@ -2,20 +2,19 @@ Source: ace
Section: devel
Priority: optional
Maintainer: Debian ACE+TAO maintainers <pkg-ace-devel@lists.alioth.debian.org>
-Uploaders: Konstantinos Margaritis <markos@debian.org>, Brian Nelson <pyro@debian.org>, Thomas Girard <thomas.g.girard@free.fr>
-Build-Depends: debhelper (>= 5), libssl-dev (>= 0.9.7d), dpatch (>= 2.0.10), libxt-dev (>= 4.3.0), libfltk1.1-dev (>= 1.1.4), libqt4-dev (>= 4.4~rc1-4), tk-dev (>= 8.4.7), libfox-1.6-dev, zlib1g-dev, libzzip-dev, docbook-to-man, bzip2, autoconf, automake, libtool, autotools-dev, doxygen
+Uploaders: Thomas Girard <thomas.g.girard@free.fr>, Pau Garcia i Quiles <pgquiles@elpauer.org>
+Build-Depends: debhelper (>= 5), libssl-dev (>= 0.9.7d), dpatch (>= 2.0.10), libxt-dev (>= 4.3.0), libfltk1.1-dev (>= 1.1.4), libqt4-dev (>= 4.4~rc1-4), tk-dev (>= 8.4.7), libfox-1.6-dev, zlib1g-dev, libzzip-dev, docbook-to-man, bzip2, autoconf, automake, libtool, autotools-dev, doxygen, graphviz
Build-Conflicts: autoconf2.13, automake1.4
-Standards-Version: 3.8.0
+Standards-Version: 3.8.3
Vcs-Svn: svn://svn.debian.org/svn/pkg-ace/trunk
Vcs-Browser: http://svn.debian.org/wsvn/pkg-ace/trunk
Homepage: http://www.cs.wustl.edu/~schmidt/ACE.html
Package: mpc-ace
Architecture: all
-Section: devel
Depends: ${perl:Depends}
Recommends: make
-Replaces: libace-dev (= 5.6.7-4)
+Replaces: libace-dev (= 5.6.3-4)
Suggests: libace-dev, pkg-config
Description: makefile, project and workspace creator
This package contains the Makefile, Project and Workspace Creator (MPC)
@@ -28,10 +27,10 @@ Description: makefile, project and workspace creator
* mpc-ace, generating project files for a single target
* mwc-ace, generating workspace files for a set of projects
-Package: libace-5.6.7
+Package: libace-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: C++ network programming framework
This package contains the ADAPTIVE Communication Environment (ACE)
framework.
@@ -54,9 +53,9 @@ Description: C++ network programming framework
Package: libace-dev
Architecture: any
Section: libdevel
-Depends: libace-5.6.7 (= ${binary:Version})
+Depends: libace-5.7.8 (= ${binary:Version}), ${misc:Depends}
Suggests: libace-doc, libtao-dev, pkg-config
-Replaces: mpc-ace (<< 5.6.7-4)
+Replaces: mpc-ace (<< 5.6.3-4)
Description: C++ network programming framework development files
This package contains the header files and static library for the ACE
framework.
@@ -69,10 +68,10 @@ Description: C++ network programming framework documentation
This package contains the ACE overview documentation, tutorials,
examples, and information regarding upstream development.
-Package: libace-ssl-5.6.7
+Package: libace-ssl-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE secure socket layer library
This package contains wrappers that integrate the OpenSSL library in the
ACE framework.
@@ -80,15 +79,15 @@ Description: ACE secure socket layer library
Package: libace-ssl-dev
Architecture: any
Section: libdevel
-Depends: libace-ssl-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev (>= 0.9.7d)
+Depends: libace-ssl-5.7.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libssl-dev (>= 5.7.8d), ${misc:Depends}
Description: ACE secure socket layer library development files
This package contains the header files and static library for the ACE
SSL library.
-Package: libace-rmcast-5.6.7
+Package: libace-rmcast-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE reliable multicast library
The RMCast library is a reliable source-ordered multicast protocol
implementation.
@@ -99,33 +98,33 @@ Description: ACE reliable multicast library
Package: libace-rmcast-dev
Architecture: any
Section: libdevel
-Depends: libace-rmcast-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libace-rmcast-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Description: ACE reliable multicast library development files
This package contains the header files and static library for the ACE
reliable multicast library.
-Package: libace-tmcast-5.6.7
+Package: libace-tmcast-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE transactional multicast library
- The TMCast library is a transaction multicast protocol implementation.
+ The TMCast library is a transaction multicast protocol implementation.
.
- Each message is delivered to multicast group members as a transaction:
+ Each message is delivered to multicast group members as a transaction:
an atomic, consistent and isolated action.
Package: libace-tmcast-dev
Architecture: any
Section: libdevel
-Depends: libace-tmcast-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libace-tmcast-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Description: ACE transactional multicast library development files
This package contains the header files and static library for the ACE
transactional multicast library.
-Package: libace-htbp-5.6.7
+Package: libace-htbp-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE protocol over HTTP tunneling library
The HTTP Tunneling, Bidirectional, Protocol (HTBP) library enables
the writing of stream-based protocols over HTTP.
@@ -136,26 +135,25 @@ Description: ACE protocol over HTTP tunneling library
Package: libace-htbp-dev
Architecture: any
Section: libdevel
-Depends: libace-htbp-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libace-htbp-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Description: ACE protocol over HTTP tunneling library development files
This package contains the header files and static library for the ACE
HTBP library.
Package: gperf-ace
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE perfect hash function generator
- gperf-ace is the ACE version of gperf.
+ ace_gperf is the ACE version of gperf.
.
- Both gperf-ace and gperf were written by the same author, and have
- basically the same options and functionality. gperf-ace simply takes
+ Both ace_gperf and gperf were written by the same author, and have
+ basically the same options and functionality. ace_gperf simply takes
advantage of the some of the features provided by the ACE library.
-Package: libacexml-5.6.7
+Package: libacexml-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE SAX based XML parsing library
This package provides interfaces for XML parsing based on Simple API
for XML (SAX) 2.0, defined by David Megginson. This is an event-driven
@@ -167,16 +165,16 @@ Description: ACE SAX based XML parsing library
Package: libacexml-dev
Architecture: any
Section: libdevel
-Depends: libacexml-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libacexml-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Description: ACE SAX based XML parsing library development files
This package contains the header files and static library for the ACE
XML parsing library.
-Package: libkokyu-5.6.7
+Package: libkokyu-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
-Suggests: libtao-1.6.7, libtao-orbsvcs-1.6.7
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: libtao-1.7.7, libtao-orbsvcs-1.7.8
Description: ACE scheduling and dispatching library
Kokyu is a library designed to provide flexible scheduling and
dispatching services.
@@ -187,15 +185,15 @@ Description: ACE scheduling and dispatching library
Package: libkokyu-dev
Architecture: any
Section: libdevel
-Depends: libkokyu-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libkokyu-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Description: ACE scheduling and dispatching library development files
This package contains the header files and static library for the ACE
scheduling and dispatching library.
-Package: libace-qtreactor-5.6.7
+Package: libace-qtreactor-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE-GUI reactor integration for Qt
Recognizing the need to write reactor-based GUI applications, the ACE
community has created several reactor extensions for use with X Window
@@ -211,15 +209,15 @@ Description: ACE-GUI reactor integration for Qt
Package: libace-qtreactor-dev
Architecture: any
Section: libdevel
-Depends: libace-qtreactor-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libqt4-dev
+Depends: libace-qtreactor-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), libqt4-dev, ${misc:Depends}
Description: ACE-GUI reactor integration for Qt development files
This package contains header files and static library for the ACE-Qt
reactor integration.
-Package: libace-xtreactor-5.6.7
+Package: libace-xtreactor-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE-GUI reactor integration for Xt
Recognizing the need to write reactor-based GUI applications, the ACE
community has created several reactor extensions for use with X Window
@@ -234,15 +232,15 @@ Description: ACE-GUI reactor integration for Xt
Package: libace-xtreactor-dev
Architecture: any
Section: libdevel
-Depends: libace-xtreactor-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 4.3.0)
+Depends: libace-xtreactor-5.7.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libxt-dev (>= 5.7.8), ${misc:Depends}
Description: ACE-GUI reactor integration for Xt development files
This package contains header files and static library for the ACE-Xt
reactor integration.
-Package: libace-tkreactor-5.6.7
+Package: libace-tkreactor-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE-GUI reactor integration for Tk
Recognizing the need to write reactor-based GUI applications, the ACE
community has created several reactor extensions for use with X Window
@@ -257,15 +255,15 @@ Description: ACE-GUI reactor integration for Tk
Package: libace-tkreactor-dev
Architecture: any
Section: libdevel
-Depends: libace-tkreactor-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 8.4.7)
+Depends: libace-tkreactor-5.7.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), tk-dev (>= 5.7.8), ${misc:Depends}
Description: ACE-GUI reactor integration for Tk development files
This package contains header files and static library for the ACE-Tk
reactor integration.
-Package: libace-flreactor-5.6.7
+Package: libace-flreactor-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE-GUI reactor integration for Fl
Recognizing the need to write reactor-based GUI applications, the ACE
community has created several reactor extensions for use with X Window
@@ -279,15 +277,15 @@ Description: ACE-GUI reactor integration for Fl
Package: libace-flreactor-dev
Architecture: any
Section: libdevel
-Depends: libace-flreactor-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.1-dev (>= 1.1.4)
+Depends: libace-flreactor-5.7.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfltk1.1-dev (>= 5.7.8), ${misc:Depends}
Description: ACE-GUI reactor integration for Fl development files
This package contains header files and static library for the ACE-Fl
reactor integration.
-Package: libace-foxreactor-5.6.7
+Package: libace-foxreactor-5.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE-GUI reactor integration for FOX
Recognizing the need to write reactor-based GUI applications, the ACE
community has created several reactor extensions for use with X Window
@@ -301,17 +299,17 @@ Description: ACE-GUI reactor integration for FOX
Package: libace-foxreactor-dev
Architecture: any
Section: libdevel
-Depends: libace-foxreactor-5.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev
+Depends: libace-foxreactor-5.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), libfox-1.6-dev, ${misc:Depends}
Description: ACE-GUI reactor integration for FOX development files
This package contains header files and static library for the ACE-FOX
reactor integration.
-Package: libtao-1.6.7
+Package: libtao-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ACE based CORBA ORB core libraries
- The ACE ORB (TAO) is an open-source Common Object Request Broker
+ The ACE ORB (TAO) is an open-source Common Object Request Broker
Architecture (CORBA) 2.x-compliant Object Request Broker (ORB). It
supports real-time extensions.
.
@@ -320,7 +318,7 @@ Description: ACE based CORBA ORB core libraries
Package: libtao-dev
Architecture: any
Section: libdevel
-Depends: libtao-1.6.7 (= ${binary:Version}), libace-dev (= ${binary:Version})
+Depends: libtao-1.7.8 (= ${binary:Version}), libace-dev (= ${binary:Version}), ${misc:Depends}
Suggests: libtao-doc, libtao-orbsvcs-dev
Description: ACE based CORBA ORB core libraries development files
This package contains the header files for TAO. Due to the size of the
@@ -335,102 +333,101 @@ Description: ACE based CORBA ORB core libraries documentation
This package contains the TAO overview documentation, tutorials,
examples, and information regarding upstream development.
-Package: libtao-orbsvcs-1.6.7
+Package: libtao-orbsvcs-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO CORBA services libraries
This package contains libraries that are needed by many TAO programs.
Package: libtao-orbsvcs-dev
Architecture: any
Section: libdevel
-Depends: libtao-orbsvcs-1.6.7 (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-orbsvcs-1.7.8 (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO CORBA services development files
This package contains the header files for the TAO CORBA services.
.
Due to the size of the static libs (> 400MB) they have been left out.
The examples and some documentation have been included as well.
-Package: libtao-qtresource-1.6.7
+Package: libtao-qtresource-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${misc:Depends}
Description: TAO-GUI reactor integration for Qt
The Qt resource factory integrates ACE QtReactor into TAO ORB reactor.
Package: libtao-qtresource-dev
Architecture: any
Section: libdevel
-Depends: libtao-qtresource-1.6.7 (= ${binary:Version}), libace-qtreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-qtresource-1.7.8 (= ${binary:Version}), libace-qtreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO-GUI reactor integration for Qt development files
This package contains header files and static library for the TAO-Qt
reactor integration.
-Package: libtao-xtresource-1.6.7
+Package: libtao-xtresource-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO-GUI reactor integration for Xt
The Xt resource factory integrates ACE XtReactor into TAO ORB reactor.
Package: libtao-xtresource-dev
Architecture: any
Section: libdevel
-Depends: libtao-xtresource-1.6.7 (= ${binary:Version}), libace-xtreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-xtresource-1.7.8 (= ${binary:Version}), libace-xtreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO-GUI reactor integration for Xt development files
This package contains header files and static library for the TAO-Xt
reactor integration.
-Package: libtao-flresource-1.6.7
+Package: libtao-flresource-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO-GUI reactor integration for Fl
The Fl resource factory integrates ACE FlReactor into TAO ORB reactor.
Package: libtao-flresource-dev
Architecture: any
Section: libdevel
-Depends: libtao-flresource-1.6.7 (= ${binary:Version}), libace-flreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-flresource-1.7.8 (= ${binary:Version}), libace-flreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO-GUI reactor integration for Fl development files
This package contains header files and static library for the TAO-Fl
reactor integration.
-Package: libtao-tkresource-1.6.7
+Package: libtao-tkresource-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
-Description: TAO-GUI reactor integration for Tk development files
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: TAO-GUI reactor integration for Tk
The Tk resource factory integrates ACE TkReactor into TAO ORB reactor.
Package: libtao-tkresource-dev
Architecture: any
Section: libdevel
-Depends: libtao-tkresource-1.6.7 (= ${binary:Version}), libace-tkreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-tkresource-1.7.8 (= ${binary:Version}), libace-tkreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO-GUI reactor integration for Tk development files
This package contains header files and static library for the TAO-Tk
reactor integration.
-Package: libtao-foxresource-1.6.7
+Package: libtao-foxresource-1.7.8
Architecture: any
Section: libs
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO-GUI reactor integration for FOX
The Fl resource factory integrates ACE FoxReactor into TAO ORB reactor.
Package: libtao-foxresource-dev
Architecture: any
Section: libdevel
-Depends: libtao-foxresource-1.6.7 (= ${binary:Version}), libace-foxreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version})
+Depends: libtao-foxresource-1.7.8 (= ${binary:Version}), libace-foxreactor-dev (= ${binary:Version}), libtao-dev (= ${binary:Version}), ${misc:Depends}
Description: TAO-GUI reactor integration for FOX development files
This package contains header files and static library for the TAO-FOX
reactor integration.
Package: tao-idl
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: libtao-1.7.8 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: TAO IDL to C++ compiler
This package provides a Interface Definition Language (IDL) to C++ compiler.
.
@@ -439,8 +436,7 @@ Description: TAO IDL to C++ compiler
Package: tao-ifr
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: libtao-1.7.8 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: TAO interface repository
CORBA-aware programs can contact an interface repository to get objects
interfaces at run-time. Then they can use the Dynamic Invocation
@@ -452,8 +448,7 @@ Description: TAO interface repository
Package: tao-imr
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO implementation repository
An implementation repository activates CORBA servers on demand.
.
@@ -464,8 +459,7 @@ Description: TAO implementation repository
Package: tao-ft
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO fault tolerant services
TAO supports Fault Tolerance for CORBA Objects.
.
@@ -476,8 +470,7 @@ Description: TAO fault tolerant services
Package: tao-utils
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: tao-naming
Description: TAO naming service and IOR utilities
This package includes programs to query or control a CORBA naming
@@ -491,8 +484,7 @@ Description: TAO naming service and IOR utilities
Package: tao-naming
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: tao-utils
Description: TAO naming service
TAO implementation of CORBA interoperable naming service (INS).
@@ -503,8 +495,7 @@ Description: TAO naming service
Package: tao-trading
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO trading service
TAO implementation of CORBA trading service.
.
@@ -513,8 +504,7 @@ Description: TAO trading service
Package: tao-event
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO event service
An event service creates channels where suppliers and consumers
can push or pull events. This channel enables asynchronous, message
@@ -525,8 +515,7 @@ Description: TAO event service
Package: tao-rtevent
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO real-time event service
Another TAO implementation of CORBA event service. For more information on
CORBA event service have a look at tao-event package.
@@ -536,8 +525,7 @@ Description: TAO real-time event service
Package: tao-ftrtevent
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO fault-tolerant real-time event service
TAO fault-tolerant, real-time CORBA event service. For more information on
CORBA event service have a look at tao-event package.
@@ -549,8 +537,7 @@ Description: TAO fault-tolerant real-time event service
Package: tao-notify
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO notification service
A notification service enhances an event service. For more information on
CORBA event service have a look at tao-event package.
@@ -561,8 +548,7 @@ Description: TAO notification service
Package: tao-load
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO load balancing service
TAO implementation of OMG Load Balancing and Monitoring specification.
.
@@ -572,8 +558,7 @@ Description: TAO load balancing service
Package: tao-log
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO telecom log services
TAO implementations of CORBA telecom log service.
.
@@ -585,8 +570,7 @@ Description: TAO telecom log services
Package: tao-scheduling
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO scheduling service
TAO implementation of CORBA scheduling service.
.
@@ -596,8 +580,7 @@ Description: TAO scheduling service
Package: tao-concurrency
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO concurrency service
A concurrency service provides a mechanism to acquire and release locks in
a distributed system.
@@ -606,8 +589,7 @@ Description: TAO concurrency service
Package: tao-lifecycle
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO lifecycle service
The CORBA lifecycle service allows clients to create, delete, copy and move
objects.
@@ -616,8 +598,7 @@ Description: TAO lifecycle service
Package: tao-time
Architecture: any
-Section: devel
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Description: TAO time service
A time service offers globally synchronized time to clients.
.
diff --git a/debianbuild/dsc b/debianbuild/dsc
new file mode 100644
index 00000000000..7b532497bc4
--- /dev/null
+++ b/debianbuild/dsc
@@ -0,0 +1,10 @@
+# Format: 1.0
+# Source: ace
+# Version: 1.7.8
+# Binary: ace
+# Maintainer: Johnny Willemsen <jwillemsen@remedy.nl>
+# Architecture: any
+# Build-Depends: g++
+# Files:
+# <hash> <size> ACE+TAO+CIAO-src-5.7.8.tar.bz2
+#
diff --git a/debianbuild/libace-5.6.7.install b/debianbuild/libace-5.6.7.install
deleted file mode 100644
index c1cbf26a13f..00000000000
--- a/debianbuild/libace-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE-*.so*
diff --git a/debianbuild/libace-5.6.7.docs b/debianbuild/libace-5.7.8.docs
index e367841dc93..e367841dc93 100644
--- a/debianbuild/libace-5.6.7.docs
+++ b/debianbuild/libace-5.7.8.docs
diff --git a/debianbuild/libace-5.7.8.install b/debianbuild/libace-5.7.8.install
new file mode 100644
index 00000000000..0ce2ad9549f
--- /dev/null
+++ b/debianbuild/libace-5.7.8.install
@@ -0,0 +1,6 @@
+usr/lib/libACE.so.*
+usr/lib/libACE_ETCL.so.*
+usr/lib/libACE_Monitor_Control.so.*
+usr/lib/libACE_ETCL_Parser.so.*
+usr/lib/libACE_gperf_lib.so.*
+
diff --git a/debianbuild/libace-dev.install b/debianbuild/libace-dev.install
index f6c547fad2d..a0eb6eaa8ab 100644
--- a/debianbuild/libace-dev.install
+++ b/debianbuild/libace-dev.install
@@ -1,12 +1,18 @@
../../ACE_wrappers/bin/generate_export_file.pl usr/share/ace/bin
-../../ACE_wrappers/bin/split-cpp usr/share/ace/bin
+../../ACE_wrappers/bin/split-cpp.pl usr/share/ace/bin
../../ACE_wrappers/bin/g++dep usr/share/ace/bin
../../ACE_wrappers/bin/add_rel_link.sh usr/share/ace/bin
../../ACE_wrappers/bin/depgen.pl usr/share/ace/bin
../../ACE_wrappers/bin/DependencyGenerator usr/share/ace/bin
../../ACE_wrappers/include usr/share/ace
-../../objdir/include/makeinclude/platform_macros.GNU usr/share/ace/include/makeinclude
+../../ACE_wrappers/include/makeinclude/platform_macros.GNU usr/share/ace/include/makeinclude
usr/include/ace/*.{h,inl,cpp}
usr/include/ace/os_include
usr/lib/libACE.so
-usr/lib/pkgconfig/ACE.pc
+usr/include/ace/ETCL/*.{h,inl,cpp}
+usr/include/ace/Monitor_Control/*.{h,inl,cpp}
+usr/lib/libACE_ETCL_Parser.so
+usr/lib/libACE_Monitor_Control.so
+usr/lib/libACE_ETCL.so
+usr/lib/libACE_gperf_lib.so
+usr/include/apps/gperf/src
diff --git a/debianbuild/libace-flreactor-5.6.7.install b/debianbuild/libace-flreactor-5.6.7.install
deleted file mode 100644
index 550aa832bf0..00000000000
--- a/debianbuild/libace-flreactor-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_FlReactor-*.so*
diff --git a/debianbuild/libace-flreactor-5.7.8.install b/debianbuild/libace-flreactor-5.7.8.install
new file mode 100644
index 00000000000..cc5d0266057
--- /dev/null
+++ b/debianbuild/libace-flreactor-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_FlReactor.so.*
diff --git a/debianbuild/libace-flreactor-dev.install b/debianbuild/libace-flreactor-dev.install
index 4de36ed5380..09358d7b67b 100644
--- a/debianbuild/libace-flreactor-dev.install
+++ b/debianbuild/libace-flreactor-dev.install
@@ -1,3 +1,2 @@
usr/lib/libACE_FlReactor.so
usr/include/ace/FlReactor
-usr/lib/pkgconfig/ACE_FlReactor.pc
diff --git a/debianbuild/libace-foxreactor-5.6.7.install b/debianbuild/libace-foxreactor-5.6.7.install
deleted file mode 100644
index fd0fc562b85..00000000000
--- a/debianbuild/libace-foxreactor-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_FoxReactor-*.so*
diff --git a/debianbuild/libace-foxreactor-5.7.8.install b/debianbuild/libace-foxreactor-5.7.8.install
new file mode 100644
index 00000000000..a1ab4b6a52b
--- /dev/null
+++ b/debianbuild/libace-foxreactor-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_FoxReactor.so.*
diff --git a/debianbuild/libace-foxreactor-dev.install b/debianbuild/libace-foxreactor-dev.install
index 610f74fa297..45f5eb41493 100644
--- a/debianbuild/libace-foxreactor-dev.install
+++ b/debianbuild/libace-foxreactor-dev.install
@@ -1,3 +1,2 @@
usr/lib/libACE_FoxReactor.so
usr/include/ace/FoxReactor
-usr/lib/pkgconfig/ACE_FoxReactor.pc
diff --git a/debianbuild/libace-htbp-5.6.7.install b/debianbuild/libace-htbp-5.6.7.install
deleted file mode 100644
index 9467b8be94b..00000000000
--- a/debianbuild/libace-htbp-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_HTBP-*.so*
diff --git a/debianbuild/libace-htbp-5.7.8.install b/debianbuild/libace-htbp-5.7.8.install
new file mode 100644
index 00000000000..bc70a1e2b6c
--- /dev/null
+++ b/debianbuild/libace-htbp-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_HTBP.so.*
diff --git a/debianbuild/libace-htbp-dev.install b/debianbuild/libace-htbp-dev.install
index 4f12cdbf717..f63140c10bf 100644
--- a/debianbuild/libace-htbp-dev.install
+++ b/debianbuild/libace-htbp-dev.install
@@ -1,3 +1,2 @@
usr/include/ace/HTBP
usr/lib/libACE_HTBP.so
-usr/lib/pkgconfig/ACE_HTBP.pc
diff --git a/debianbuild/libace-qtreactor-5.6.7.install b/debianbuild/libace-qtreactor-5.6.7.install
deleted file mode 100644
index 7b9064dfd86..00000000000
--- a/debianbuild/libace-qtreactor-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_QtReactor-*.so*
diff --git a/debianbuild/libace-qtreactor-5.7.8.install b/debianbuild/libace-qtreactor-5.7.8.install
new file mode 100644
index 00000000000..c98ee7e33e4
--- /dev/null
+++ b/debianbuild/libace-qtreactor-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_QtReactor.so.*
diff --git a/debianbuild/libace-qtreactor-dev.install b/debianbuild/libace-qtreactor-dev.install
index c5fd689c59a..8fa54fbacc4 100644
--- a/debianbuild/libace-qtreactor-dev.install
+++ b/debianbuild/libace-qtreactor-dev.install
@@ -1,3 +1,2 @@
usr/lib/libACE_QtReactor.so
usr/include/ace/QtReactor
-usr/lib/pkgconfig/ACE_QtReactor.pc
diff --git a/debianbuild/libace-rmcast-5.6.7.install b/debianbuild/libace-rmcast-5.6.7.install
deleted file mode 100644
index 20aeea4c29b..00000000000
--- a/debianbuild/libace-rmcast-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_RMCast-*.so*
diff --git a/debianbuild/libace-rmcast-5.7.8.install b/debianbuild/libace-rmcast-5.7.8.install
new file mode 100644
index 00000000000..faeb44041af
--- /dev/null
+++ b/debianbuild/libace-rmcast-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_RMCast.so.*
diff --git a/debianbuild/libace-rmcast-dev.install b/debianbuild/libace-rmcast-dev.install
index 9fffea503bc..c946ee6dbb9 100644
--- a/debianbuild/libace-rmcast-dev.install
+++ b/debianbuild/libace-rmcast-dev.install
@@ -1,3 +1,2 @@
usr/include/ace/RMCast
usr/lib/libACE_RMCast.so
-usr/lib/pkgconfig/ACE_RMCast.pc
diff --git a/debianbuild/libace-ssl-5.6.7.install b/debianbuild/libace-ssl-5.6.7.install
deleted file mode 100644
index 46f38fe8510..00000000000
--- a/debianbuild/libace-ssl-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_SSL-*.so*
diff --git a/debianbuild/libace-ssl-5.7.8.install b/debianbuild/libace-ssl-5.7.8.install
new file mode 100644
index 00000000000..26c71c39a2a
--- /dev/null
+++ b/debianbuild/libace-ssl-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_SSL.so.*
diff --git a/debianbuild/libace-ssl-dev.install b/debianbuild/libace-ssl-dev.install
index 1a1c38eb201..284f4326984 100644
--- a/debianbuild/libace-ssl-dev.install
+++ b/debianbuild/libace-ssl-dev.install
@@ -1,3 +1,2 @@
usr/include/ace/SSL
usr/lib/libACE_SSL.so
-usr/lib/pkgconfig/ACE_SSL.pc
diff --git a/debianbuild/libace-tkreactor-5.6.7.install b/debianbuild/libace-tkreactor-5.6.7.install
deleted file mode 100644
index 38a14bc655f..00000000000
--- a/debianbuild/libace-tkreactor-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_TkReactor-*.so*
diff --git a/debianbuild/libace-tkreactor-5.7.8.install b/debianbuild/libace-tkreactor-5.7.8.install
new file mode 100644
index 00000000000..883ec5c9678
--- /dev/null
+++ b/debianbuild/libace-tkreactor-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_TkReactor.so.*
diff --git a/debianbuild/libace-tkreactor-dev.install b/debianbuild/libace-tkreactor-dev.install
index d61e98a09f8..cef0fdf1ae2 100644
--- a/debianbuild/libace-tkreactor-dev.install
+++ b/debianbuild/libace-tkreactor-dev.install
@@ -1,3 +1,2 @@
usr/lib/libACE_TkReactor.so
usr/include/ace/TkReactor
-usr/lib/pkgconfig/ACE_TkReactor.pc
diff --git a/debianbuild/libace-tmcast-5.6.7.install b/debianbuild/libace-tmcast-5.6.7.install
deleted file mode 100644
index 024bf2de1bb..00000000000
--- a/debianbuild/libace-tmcast-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_TMCast-*.so*
diff --git a/debianbuild/libace-tmcast-5.7.8.install b/debianbuild/libace-tmcast-5.7.8.install
new file mode 100644
index 00000000000..87463063a9b
--- /dev/null
+++ b/debianbuild/libace-tmcast-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_TMCast.so.*
diff --git a/debianbuild/libace-tmcast-dev.install b/debianbuild/libace-tmcast-dev.install
index 19eaad0d3cb..d9c10e67c72 100644
--- a/debianbuild/libace-tmcast-dev.install
+++ b/debianbuild/libace-tmcast-dev.install
@@ -1,3 +1,2 @@
usr/include/ace/TMCast
usr/lib/libACE_TMCast.so
-usr/lib/pkgconfig/ACE_TMCast.pc
diff --git a/debianbuild/libace-xtreactor-5.6.7.install b/debianbuild/libace-xtreactor-5.6.7.install
deleted file mode 100644
index f981828eb55..00000000000
--- a/debianbuild/libace-xtreactor-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libACE_XtReactor-*.so*
diff --git a/debianbuild/libace-xtreactor-5.7.8.install b/debianbuild/libace-xtreactor-5.7.8.install
new file mode 100644
index 00000000000..2c6719943af
--- /dev/null
+++ b/debianbuild/libace-xtreactor-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libACE_XtReactor.so.*
diff --git a/debianbuild/libace-xtreactor-dev.install b/debianbuild/libace-xtreactor-dev.install
index b24baea6a03..2e6b2db77d1 100644
--- a/debianbuild/libace-xtreactor-dev.install
+++ b/debianbuild/libace-xtreactor-dev.install
@@ -1,3 +1,2 @@
usr/lib/libACE_XtReactor.so
usr/include/ace/XtReactor
-usr/lib/pkgconfig/ACE_XtReactor.pc
diff --git a/debianbuild/libacexml-5.6.7.install b/debianbuild/libacexml-5.6.7.install
deleted file mode 100644
index 2c0837e6b38..00000000000
--- a/debianbuild/libacexml-5.6.7.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/lib/libACEXML_XML_Svc_Conf_Parser-*.so*
-usr/lib/libACEXML-*.so*
-usr/lib/libACEXML_Parser-*.so*
diff --git a/debianbuild/libacexml-5.6.7.docs b/debianbuild/libacexml-5.7.8.docs
index 4ebd1c55c18..4ebd1c55c18 100644
--- a/debianbuild/libacexml-5.6.7.docs
+++ b/debianbuild/libacexml-5.7.8.docs
diff --git a/debianbuild/libacexml-5.7.8.install b/debianbuild/libacexml-5.7.8.install
new file mode 100644
index 00000000000..5e60388244d
--- /dev/null
+++ b/debianbuild/libacexml-5.7.8.install
@@ -0,0 +1,3 @@
+usr/lib/libACEXML_XML_Svc_Conf_Parser.so.*
+usr/lib/libACEXML.so.*
+usr/lib/libACEXML_Parser.so.*
diff --git a/debianbuild/libacexml-dev.install b/debianbuild/libacexml-dev.install
index 06b82c95daf..517f3b1c21e 100644
--- a/debianbuild/libacexml-dev.install
+++ b/debianbuild/libacexml-dev.install
@@ -2,4 +2,3 @@ usr/include/ACEXML
usr/lib/libACEXML.so
usr/lib/libACEXML_Parser.so
usr/lib/libACEXML_XML_Svc_Conf_Parser.so
-usr/lib/pkgconfig/ACEXML*.pc
diff --git a/debianbuild/libkokyu-5.6.7.install b/debianbuild/libkokyu-5.6.7.install
deleted file mode 100644
index 6bd63ce5377..00000000000
--- a/debianbuild/libkokyu-5.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libKokyu-*.so*
diff --git a/debianbuild/libkokyu-5.6.7.docs b/debianbuild/libkokyu-5.7.8.docs
index 35ee2dbe99c..35ee2dbe99c 100644
--- a/debianbuild/libkokyu-5.6.7.docs
+++ b/debianbuild/libkokyu-5.7.8.docs
diff --git a/debianbuild/libkokyu-5.7.8.install b/debianbuild/libkokyu-5.7.8.install
new file mode 100644
index 00000000000..81c58f1ba0d
--- /dev/null
+++ b/debianbuild/libkokyu-5.7.8.install
@@ -0,0 +1 @@
+usr/lib/libKokyu.so.*
diff --git a/debianbuild/libkokyu-dev.install b/debianbuild/libkokyu-dev.install
index 33ef826a07d..fd045e49943 100644
--- a/debianbuild/libkokyu-dev.install
+++ b/debianbuild/libkokyu-dev.install
@@ -1,3 +1,2 @@
usr/include/Kokyu
usr/lib/libKokyu.so
-usr/lib/pkgconfig/Kokyu.pc
diff --git a/debianbuild/libtao-1.6.7.install b/debianbuild/libtao-1.6.7.install
deleted file mode 100644
index 38fc18caa42..00000000000
--- a/debianbuild/libtao-1.6.7.install
+++ /dev/null
@@ -1,33 +0,0 @@
-usr/lib/libTAO-*.so*
-usr/lib/libTAO_AnyTypeCode-*.so*
-usr/lib/libTAO_BiDirGIOP-*.so*
-usr/lib/libTAO_CodecFactory-*.so*
-usr/lib/libTAO_Codeset-*.so*
-usr/lib/libTAO_Compression-*.so*
-usr/lib/libTAO_CSD_Framework-*.so*
-usr/lib/libTAO_CSD_ThreadPool-*.so*
-usr/lib/libTAO_DynamicAny-*.so*
-usr/lib/libTAO_DynamicInterface-*.so*
-usr/lib/libTAO_EndpointPolicy-*.so*
-usr/lib/libTAO_IFR_Client-*.so*
-usr/lib/libTAO_IORInterceptor-*.so*
-usr/lib/libTAO_IORManip-*.so*
-usr/lib/libTAO_IORTable-*.so*
-usr/lib/libTAO_Messaging-*.so*
-usr/lib/libTAO_ObjRefTemplate-*.so*
-usr/lib/libTAO_PI-*.so*
-usr/lib/libTAO_PI_Server-*.so*
-usr/lib/libTAO_PortableServer-*.so*
-usr/lib/libTAO_RTCORBA-*.so*
-usr/lib/libTAO_RTPortableServer-*.so*
-usr/lib/libTAO_RTScheduler-*.so*
-usr/lib/libTAO_SmartProxies-*.so*
-usr/lib/libTAO_Strategies-*.so*
-usr/lib/libTAO_TC-*.so*
-usr/lib/libTAO_TC_IIOP-*.so*
-usr/lib/libTAO_TypeCodeFactory-*.so*
-usr/lib/libTAO_Utils-*.so*
-usr/lib/libTAO_Valuetype-*.so*
-usr/lib/libTAO_ImR_Client-*.so*
-usr/lib/libTAO_DiffServPolicy-*.so*
-usr/lib/libTAO_ZlibCompressor-*.so*
diff --git a/debianbuild/libtao-1.6.7.docs b/debianbuild/libtao-1.7.8.docs
index a79beab3449..a79beab3449 100644
--- a/debianbuild/libtao-1.6.7.docs
+++ b/debianbuild/libtao-1.7.8.docs
diff --git a/debianbuild/libtao-1.7.8.install b/debianbuild/libtao-1.7.8.install
new file mode 100644
index 00000000000..5d7048446f3
--- /dev/null
+++ b/debianbuild/libtao-1.7.8.install
@@ -0,0 +1,36 @@
+usr/lib/libTAO.so.*
+usr/lib/libTAO_AnyTypeCode.so.*
+usr/lib/libTAO_BiDirGIOP.so.*
+usr/lib/libTAO_CodecFactory.so.*
+usr/lib/libTAO_Codeset.so.*
+usr/lib/libTAO_Compression.so.*
+usr/lib/libTAO_CSD_Framework.so.*
+usr/lib/libTAO_CSD_ThreadPool.so.*
+usr/lib/libTAO_DynamicAny.so.*
+usr/lib/libTAO_DynamicInterface.so.*
+usr/lib/libTAO_EndpointPolicy.so.*
+usr/lib/libTAO_IFR_Client.so.*
+usr/lib/libTAO_IORInterceptor.so.*
+usr/lib/libTAO_IORManip.so.*
+usr/lib/libTAO_IORTable.so.*
+usr/lib/libTAO_Messaging.so.*
+usr/lib/libTAO_ObjRefTemplate.so.*
+usr/lib/libTAO_PI.so.*
+usr/lib/libTAO_PI_Server.so.*
+usr/lib/libTAO_PortableServer.so.*
+usr/lib/libTAO_RTCORBA.so.*
+usr/lib/libTAO_RTPortableServer.so.*
+usr/lib/libTAO_RTScheduler.so.*
+usr/lib/libTAO_SmartProxies.so.*
+usr/lib/libTAO_Strategies.so.*
+usr/lib/libTAO_TC.so.*
+usr/lib/libTAO_TC_IIOP.so.*
+usr/lib/libTAO_TypeCodeFactory.so.*
+usr/lib/libTAO_Utils.so.*
+usr/lib/libTAO_Valuetype.so.*
+usr/lib/libTAO_ImR_Client.so.*
+usr/lib/libTAO_DiffServPolicy.so.*
+usr/lib/libTAO_ZlibCompressor.so.*
+usr/lib/libTAO_IFR_BE.so.*
+usr/lib/libTAO_IDL_FE.so.*
+usr/lib/libTAO_IDL_BE.so.*
diff --git a/debianbuild/libtao-dev.install b/debianbuild/libtao-dev.install
index b62a82dbd26..3840f1eb44d 100644
--- a/debianbuild/libtao-dev.install
+++ b/debianbuild/libtao-dev.install
@@ -1,97 +1,69 @@
usr/include/tao/*.{h,i,inl,idl,pidl,cpp}
usr/lib/libTAO.so
-usr/lib/pkgconfig/TAO.pc
usr/include/tao/AnyTypeCode
usr/lib/libTAO_AnyTypeCode.so
-usr/lib/pkgconfig/TAO_AnyTypeCode.pc
usr/include/tao/BiDir_GIOP
usr/lib/libTAO_BiDirGIOP.so
-usr/lib/pkgconfig/TAO_BiDirGIOP.pc
usr/include/tao/CodecFactory
usr/lib/libTAO_CodecFactory.so
-usr/lib/pkgconfig/TAO_CodecFactory.pc
usr/include/tao/Codeset
usr/lib/libTAO_Codeset.so
-#usr/lib/pkgconfig/TAO_Codeset.pc
usr/include/tao/Compression
usr/lib/libTAO_Compression.so
-usr/lib/pkgconfig/TAO_Compression.pc
usr/include/tao/CSD_Framework
usr/lib/libTAO_CSD_Framework.so
-usr/lib/pkgconfig/TAO_CSD_Framework.pc
usr/include/tao/CSD_ThreadPool
usr/lib/libTAO_CSD_ThreadPool.so
-usr/lib/pkgconfig/TAO_CSD_ThreadPool.pc
usr/include/tao/DynamicAny
usr/lib/libTAO_DynamicAny.so
-usr/lib/pkgconfig/TAO_DynamicAny.pc
usr/include/tao/DynamicInterface
usr/lib/libTAO_DynamicInterface.so
-usr/lib/pkgconfig/TAO_DynamicInterface.pc
usr/include/tao/EndpointPolicy
usr/lib/libTAO_EndpointPolicy.so
-usr/lib/pkgconfig/TAO_EndpointPolicy.pc
usr/include/tao/IFR_Client
usr/lib/libTAO_IFR_Client.so
-usr/lib/pkgconfig/TAO_IFR_Client.pc
usr/include/tao/ImR_Client
usr/lib/libTAO_ImR_Client.so
-usr/lib/pkgconfig/TAO_ImR_Client.pc
usr/include/tao/IORInterceptor
usr/lib/libTAO_IORInterceptor.so
-usr/lib/pkgconfig/TAO_IORInterceptor.pc
usr/include/tao/IORManipulation
usr/lib/libTAO_IORManip.so
-usr/lib/pkgconfig/TAO_IORManip.pc
usr/include/tao/IORTable
usr/lib/libTAO_IORTable.so
-usr/lib/pkgconfig/TAO_IORTable.pc
usr/include/tao/Messaging
usr/lib/libTAO_Messaging.so
-usr/lib/pkgconfig/TAO_Messaging.pc
usr/include/tao/ObjRefTemplate
usr/lib/libTAO_ObjRefTemplate.so
-usr/lib/pkgconfig/TAO_ObjRefTemplate.pc
usr/include/tao/PI
usr/lib/libTAO_PI.so
-usr/lib/pkgconfig/TAO_PI.pc
usr/include/tao/PI_Server
usr/lib/libTAO_PI_Server.so
-usr/lib/pkgconfig/TAO_PI_Server.pc
usr/include/tao/PortableServer
usr/lib/libTAO_PortableServer.so
-usr/lib/pkgconfig/TAO_PortableServer.pc
usr/include/tao/RTCORBA
usr/lib/libTAO_RTCORBA.so
-usr/lib/pkgconfig/TAO_RTCORBA.pc
usr/include/tao/RTPortableServer
usr/lib/libTAO_RTPortableServer.so
-usr/lib/pkgconfig/TAO_RTPortableServer.pc
usr/include/tao/RTScheduling
usr/lib/libTAO_RTScheduler.so
-usr/lib/pkgconfig/TAO_RTScheduler.pc
usr/include/tao/SmartProxies
usr/lib/libTAO_SmartProxies.so
-usr/lib/pkgconfig/TAO_SmartProxies.pc
usr/include/tao/Strategies
usr/lib/libTAO_Strategies.so
-usr/lib/pkgconfig/TAO_Strategies.pc
usr/include/tao/TransportCurrent
usr/lib/libTAO_TC.so
usr/lib/libTAO_TC_IIOP.so
usr/include/tao/TypeCodeFactory
usr/lib/libTAO_TypeCodeFactory.so
-usr/lib/pkgconfig/TAO_TypeCodeFactory.pc
usr/include/tao/Utils
usr/lib/libTAO_Utils.so
-usr/lib/pkgconfig/TAO_Utils.pc
usr/include/tao/Valuetype
usr/lib/libTAO_Valuetype.so
-usr/lib/pkgconfig/TAO_Valuetype.pc
usr/lib/libTAO_DiffServPolicy.so
-usr/lib/pkgconfig/TAO_DiffServPolicy.pc
usr/include/tao/DiffServPolicy
usr/lib/libTAO_ZlibCompressor.so
-usr/lib/pkgconfig/TAO_ZlibCompressor.pc
../../ACE_wrappers/TAO/MPC/config usr/share/ace/TAO/MPC
../../ACE_wrappers/TAO/rules.tao.GNU usr/share/ace/TAO
+usr/lib/libTAO_IFR_BE.so
+usr/lib/libTAO_IDL_FE.so
+usr/lib/libTAO_IDL_BE.so
diff --git a/debianbuild/libtao-flresource-1.6.7.install b/debianbuild/libtao-flresource-1.6.7.install
deleted file mode 100644
index 5387bf74f53..00000000000
--- a/debianbuild/libtao-flresource-1.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libTAO_FlResource-*.so*
diff --git a/debianbuild/libtao-flresource-1.7.8.install b/debianbuild/libtao-flresource-1.7.8.install
new file mode 100644
index 00000000000..47dfbd58ef8
--- /dev/null
+++ b/debianbuild/libtao-flresource-1.7.8.install
@@ -0,0 +1 @@
+usr/lib/libTAO_FlResource.so.*
diff --git a/debianbuild/libtao-foxresource-1.6.7.install b/debianbuild/libtao-foxresource-1.6.7.install
deleted file mode 100644
index bfaad19f8eb..00000000000
--- a/debianbuild/libtao-foxresource-1.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libTAO_FoxResource-*.so*
diff --git a/debianbuild/libtao-foxresource-1.7.8.install b/debianbuild/libtao-foxresource-1.7.8.install
new file mode 100644
index 00000000000..1187fe1a182
--- /dev/null
+++ b/debianbuild/libtao-foxresource-1.7.8.install
@@ -0,0 +1 @@
+usr/lib/libTAO_FoxResource.so.*
diff --git a/debianbuild/libtao-orbsvcs-1.6.7.install b/debianbuild/libtao-orbsvcs-1.6.7.install
deleted file mode 100644
index 59883c71dea..00000000000
--- a/debianbuild/libtao-orbsvcs-1.6.7.install
+++ /dev/null
@@ -1,59 +0,0 @@
-usr/lib/libTAO_AV-*.so*
-usr/lib/libTAO_CosConcurrency-*.so*
-usr/lib/libTAO_CosConcurrency_Skel-*.so*
-usr/lib/libTAO_CosConcurrency_Serv-*.so*
-usr/lib/libTAO_CosEvent-*.so*
-usr/lib/libTAO_CosEvent_Skel-*.so*
-usr/lib/libTAO_CosEvent_Serv-*.so*
-usr/lib/libTAO_CosLifeCycle-*.so*
-usr/lib/libTAO_CosLoadBalancing-*.so*
-usr/lib/libTAO_CosNaming-*.so*
-usr/lib/libTAO_CosNaming_Skel-*.so*
-usr/lib/libTAO_CosNaming_Serv-*.so*
-usr/lib/libTAO_CosNotification-*.so*
-usr/lib/libTAO_CosNotification_Persist-*.so*
-usr/lib/libTAO_CosNotification_Skel-*.so*
-usr/lib/libTAO_CosNotification_Serv-*.so*
-usr/lib/libTAO_CosNotification_MC-*.so*
-usr/lib/libTAO_CosNotification_MC_Ext-*.so*
-usr/lib/libTAO_CosProperty-*.so*
-usr/lib/libTAO_CosProperty_Skel-*.so*
-usr/lib/libTAO_CosProperty_Serv-*.so*
-usr/lib/libTAO_CosTime-*.so*
-usr/lib/libTAO_CosTrading-*.so*
-usr/lib/libTAO_CosTrading_Skel-*.so*
-usr/lib/libTAO_CosTrading_Serv-*.so*
-usr/lib/libTAO_DsEventLogAdmin-*.so*
-usr/lib/libTAO_DsEventLogAdmin_Skel-*.so*
-usr/lib/libTAO_DsEventLogAdmin_Serv-*.so*
-usr/lib/libTAO_DsLogAdmin-*.so*
-usr/lib/libTAO_DsLogAdmin_Skel-*.so*
-usr/lib/libTAO_DsLogAdmin_Serv-*.so*
-usr/lib/libTAO_DsNotifyLogAdmin-*.so*
-usr/lib/libTAO_DsNotifyLogAdmin_Skel-*.so*
-usr/lib/libTAO_DsNotifyLogAdmin_Serv-*.so*
-usr/lib/libTAO_ETCL-*.so*
-usr/lib/libTAO_FaultTolerance-*.so*
-usr/lib/libTAO_FT_ClientORB-*.so*
-usr/lib/libTAO_FT_ServerORB-*.so*
-usr/lib/libTAO_FTORB_Utils-*.so*
-usr/lib/libTAO_FTRT_EventChannel-*.so*
-usr/lib/libTAO_FtRtEvent-*.so*
-usr/lib/libTAO_FTRT_ClientORB-*.so*
-usr/lib/libTAO_HTIOP-*.so*
-usr/lib/libTAO_IFRService-*.so*
-usr/lib/libTAO_PortableGroup-*.so*
-usr/lib/libTAO_RTCORBAEvent-*.so*
-usr/lib/libTAO_RTEvent-*.so*
-usr/lib/libTAO_RTEvent_Serv-*.so*
-usr/lib/libTAO_RTEvent_Skel-*.so*
-usr/lib/libTAO_RTEventLogAdmin-*.so*
-usr/lib/libTAO_RTEventLogAdmin_Skel-*.so*
-usr/lib/libTAO_RTEventLogAdmin_Serv-*.so*
-usr/lib/libTAO_RTKokyuEvent-*.so*
-usr/lib/libTAO_RTSched-*.so*
-usr/lib/libTAO_RTSchedEvent-*.so*
-usr/lib/libTAO_RT_Notification-*.so*
-usr/lib/libTAO_SSLIOP-*.so*
-usr/lib/libTAO_Security-*.so*
-usr/lib/libTAO_Svc_Utils-*.so*
diff --git a/debianbuild/libtao-orbsvcs-1.6.7.NEWS b/debianbuild/libtao-orbsvcs-1.7.8.NEWS
index ea0759e0ade..ea0759e0ade 100644
--- a/debianbuild/libtao-orbsvcs-1.6.7.NEWS
+++ b/debianbuild/libtao-orbsvcs-1.7.8.NEWS
diff --git a/debianbuild/libtao-orbsvcs-1.7.8.install b/debianbuild/libtao-orbsvcs-1.7.8.install
new file mode 100644
index 00000000000..5fb5f3c21b3
--- /dev/null
+++ b/debianbuild/libtao-orbsvcs-1.7.8.install
@@ -0,0 +1,72 @@
+usr/lib/libTAO_AV.so.*
+usr/lib/libTAO_CosConcurrency.so.*
+usr/lib/libTAO_CosConcurrency_Skel.so.*
+usr/lib/libTAO_CosConcurrency_Serv.so.*
+usr/lib/libTAO_CosEvent.so.*
+usr/lib/libTAO_CosEvent_Skel.so.*
+usr/lib/libTAO_CosEvent_Serv.so.*
+usr/lib/libTAO_CosLifeCycle.so.*
+usr/lib/libTAO_CosLoadBalancing.so.*
+usr/lib/libTAO_CosNaming.so.*
+usr/lib/libTAO_CosNaming_Skel.so.*
+usr/lib/libTAO_CosNaming_Serv.so.*
+usr/lib/libTAO_CosNotification.so.*
+usr/lib/libTAO_CosNotification_Persist.so.*
+usr/lib/libTAO_CosNotification_Skel.so.*
+usr/lib/libTAO_CosNotification_Serv.so.*
+usr/lib/libTAO_CosNotification_MC.so.*
+usr/lib/libTAO_CosNotification_MC_Ext.so.*
+usr/lib/libTAO_CosProperty.so.*
+usr/lib/libTAO_CosProperty_Skel.so.*
+usr/lib/libTAO_CosProperty_Serv.so.*
+usr/lib/libTAO_CosTime.so.*
+usr/lib/libTAO_CosTrading.so.*
+usr/lib/libTAO_CosTrading_Skel.so.*
+usr/lib/libTAO_CosTrading_Serv.so.*
+usr/lib/libTAO_CosLifeCycle_Skel.so.*
+usr/lib/libTAO_DsEventLogAdmin.so.*
+usr/lib/libTAO_DsEventLogAdmin_Skel.so.*
+usr/lib/libTAO_DsEventLogAdmin_Serv.so.*
+usr/lib/libTAO_DsLogAdmin.so.*
+usr/lib/libTAO_DsLogAdmin_Skel.so.*
+usr/lib/libTAO_DsLogAdmin_Serv.so.*
+usr/lib/libTAO_DsNotifyLogAdmin.so.*
+usr/lib/libTAO_DsNotifyLogAdmin_Skel.so.*
+usr/lib/libTAO_DsNotifyLogAdmin_Serv.so.*
+usr/lib/libTAO_ETCL.so.*
+usr/lib/libTAO_FaultTolerance.so.*
+usr/lib/libTAO_FT_ClientORB.so.*
+usr/lib/libTAO_FT_ServerORB.so.*
+usr/lib/libTAO_FTORB_Utils.so.*
+usr/lib/libTAO_FTRT_EventChannel.so.*
+usr/lib/libTAO_FtRtEvent.so.*
+usr/lib/libTAO_FTRT_ClientORB.so.*
+usr/lib/libTAO_HTIOP.so.*
+usr/lib/libTAO_IFRService.so.*
+usr/lib/libTAO_PortableGroup.so.*
+usr/lib/libTAO_RTCORBAEvent.so.*
+usr/lib/libTAO_RTEvent.so.*
+usr/lib/libTAO_RTEvent_Serv.so.*
+usr/lib/libTAO_RTEvent_Skel.so.*
+usr/lib/libTAO_RTEventLogAdmin.so.*
+usr/lib/libTAO_RTEventLogAdmin_Skel.so.*
+usr/lib/libTAO_RTEventLogAdmin_Serv.so.*
+usr/lib/libTAO_RTKokyuEvent.so.*
+usr/lib/libTAO_RTSched.so.*
+usr/lib/libTAO_RTSchedEvent.so.*
+usr/lib/libTAO_RT_Notification.so.*
+usr/lib/libTAO_SSLIOP.so.*
+usr/lib/libTAO_Security.so.*
+usr/lib/libTAO_Svc_Utils.so.*
+usr/lib/libTAO_ZIOP.so.*
+usr/lib/libTAO_Notify_Service.so.*
+usr/lib/libTAO_CosTime_Serv.so.*
+usr/lib/libTAO_CosTime_Skel.so.*
+usr/lib/libTAO_Monitor.so.*
+usr/lib/libTAO_Catior_i.so.*
+usr/lib/libTAO_ImR_Locator_IDL.so.*
+usr/lib/libTAO_ImR_Activator.so.*
+usr/lib/libTAO_ReplicationManagerLib.so.*
+usr/lib/libTAO_ImR_Activator_IDL.so.*
+usr/lib/libTAO_ImR_Locator.so.*
+
diff --git a/debianbuild/libtao-orbsvcs-dev.install b/debianbuild/libtao-orbsvcs-dev.install
index bc2098b0585..0a2d79591cd 100644
--- a/debianbuild/libtao-orbsvcs-dev.install
+++ b/debianbuild/libtao-orbsvcs-dev.install
@@ -39,6 +39,7 @@ usr/lib/libTAO_FT_ClientORB.so
usr/lib/libTAO_FTORB_Utils.so
usr/lib/libTAO_FaultTolerance.so
usr/lib/libTAO_HTIOP.so
+usr/lib/libTAO_ZIOP.so
usr/lib/libTAO_IFRService.so
usr/lib/libTAO_PortableGroup.so
usr/lib/libTAO_RTCORBAEvent.so
@@ -58,60 +59,19 @@ usr/lib/libTAO_Svc_Utils.so
usr/lib/libTAO_FTRT_EventChannel.so
usr/lib/libTAO_FtRtEvent.so
usr/lib/libTAO_FTRT_ClientORB.so
-#usr/lib/pkgconfig/TAO_AV.pc
-usr/lib/pkgconfig/TAO_CosConcurrency.pc
-usr/lib/pkgconfig/TAO_CosConcurrency_Skel.pc
-usr/lib/pkgconfig/TAO_CosConcurrency_Serv.pc
-usr/lib/pkgconfig/TAO_CosEvent.pc
-usr/lib/pkgconfig/TAO_CosEvent_Skel.pc
-usr/lib/pkgconfig/TAO_CosEvent_Serv.pc
-usr/lib/pkgconfig/TAO_CosLifeCycle.pc
-usr/lib/pkgconfig/TAO_CosLoadBalancing.pc
-usr/lib/pkgconfig/TAO_CosNaming.pc
-usr/lib/pkgconfig/TAO_CosNaming_Skel.pc
-usr/lib/pkgconfig/TAO_CosNaming_Serv.pc
-usr/lib/pkgconfig/TAO_CosNotification.pc
-usr/lib/pkgconfig/TAO_CosNotification_Skel.pc
-usr/lib/pkgconfig/TAO_CosNotification_Serv.pc
-#usr/lib/pkgconfig/TAO_CosNotification_Persist.pc
-usr/lib/pkgconfig/TAO_CosProperty.pc
-usr/lib/pkgconfig/TAO_CosProperty_Skel.pc
-usr/lib/pkgconfig/TAO_CosProperty_Serv.pc
-usr/lib/pkgconfig/TAO_CosTime.pc
-usr/lib/pkgconfig/TAO_CosTrading.pc
-usr/lib/pkgconfig/TAO_CosTrading_Skel.pc
-usr/lib/pkgconfig/TAO_CosTrading_Serv.pc
-usr/lib/pkgconfig/TAO_DsEventLogAdmin.pc
-usr/lib/pkgconfig/TAO_DsEventLogAdmin_Skel.pc
-usr/lib/pkgconfig/TAO_DsEventLogAdmin_Serv.pc
-usr/lib/pkgconfig/TAO_DsLogAdmin.pc
-usr/lib/pkgconfig/TAO_DsLogAdmin_Skel.pc
-usr/lib/pkgconfig/TAO_DsLogAdmin_Serv.pc
-usr/lib/pkgconfig/TAO_DsNotifyLogAdmin.pc
-usr/lib/pkgconfig/TAO_DsNotifyLogAdmin_Skel.pc
-usr/lib/pkgconfig/TAO_DsNotifyLogAdmin_Serv.pc
-usr/lib/pkgconfig/TAO_ETCL.pc
-usr/lib/pkgconfig/TAO_FT_ServerORB.pc
-usr/lib/pkgconfig/TAO_FT_ClientORB.pc
-usr/lib/pkgconfig/TAO_FTORB_Utils.pc
-usr/lib/pkgconfig/TAO_FaultTolerance.pc
-#usr/lib/pkgconfig/TAO_IFRService.pc
-#usr/lib/pkgconfig/TAO_HTIOP.pc
-usr/lib/pkgconfig/TAO_PortableGroup.pc
-#usr/lib/pkgconfig/TAO_RTCORBAEvent.pc
-usr/lib/pkgconfig/TAO_RTEvent.pc
-usr/lib/pkgconfig/TAO_RTEvent_Serv.pc
-usr/lib/pkgconfig/TAO_RTEvent_Skel.pc
-usr/lib/pkgconfig/TAO_RTEventLogAdmin.pc
-usr/lib/pkgconfig/TAO_RTEventLogAdmin_Skel.pc
-usr/lib/pkgconfig/TAO_RTEventLogAdmin_Serv.pc
-#usr/lib/pkgconfig/TAO_RTKokyuEvent.pc
-#usr/lib/pkgconfig/TAO_RTSched.pc
-#usr/lib/pkgconfig/TAO_RTSchedEvent.pc
-#usr/lib/pkgconfig/TAO_RT_Notification.pc
-#usr/lib/pkgconfig/TAO_SSLIOP.pc
-#usr/lib/pkgconfig/TAO_Security.pc
-usr/lib/pkgconfig/TAO_Svc_Utils.pc
-#usr/lib/pkgconfig/TAO_FTRT_EventChannel.pc
-#usr/lib/pkgconfig/TAO_FtRtEvent.pc
-#usr/lib/pkgconfig/TAO_FTRT_ClientORB.pc
+usr/lib/libTAO_CosLifeCycle_Skel.so
+usr/lib/libTAO_Notify_Service.so
+usr/lib/libTAO_CosTime_Serv.so
+usr/lib/libTAO_CosTime_Skel.so
+usr/lib/libTAO_Monitor.so
+usr/lib/libTAO_Catior_i.so
+usr/include/tao/ZIOP
+usr/include/tao/ETCL
+usr/include/tao/Monitor
+usr/include/utils/catior
+usr/lib/libTAO_ReplicationManagerLib.so
+usr/lib/libTAO_ImR_Activator.so
+usr/lib/libTAO_ImR_Locator.so
+usr/lib/libTAO_ImR_Locator_IDL.so
+usr/lib/libTAO_ImR_Activator_IDL.so
+
diff --git a/debianbuild/libtao-qtresource-1.6.7.install b/debianbuild/libtao-qtresource-1.6.7.install
deleted file mode 100644
index b5af230536e..00000000000
--- a/debianbuild/libtao-qtresource-1.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libTAO_QtResource-*.so*
diff --git a/debianbuild/libtao-qtresource-1.7.8.install b/debianbuild/libtao-qtresource-1.7.8.install
new file mode 100644
index 00000000000..84d4f97a06b
--- /dev/null
+++ b/debianbuild/libtao-qtresource-1.7.8.install
@@ -0,0 +1 @@
+usr/lib/libTAO_QtResource.so.*
diff --git a/debianbuild/libtao-tkresource-1.6.7.install b/debianbuild/libtao-tkresource-1.6.7.install
deleted file mode 100644
index 9de803ef62b..00000000000
--- a/debianbuild/libtao-tkresource-1.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libTAO_TkResource-*.so*
diff --git a/debianbuild/libtao-tkresource-1.7.8.install b/debianbuild/libtao-tkresource-1.7.8.install
new file mode 100644
index 00000000000..51ecfa59d2c
--- /dev/null
+++ b/debianbuild/libtao-tkresource-1.7.8.install
@@ -0,0 +1 @@
+usr/lib/libTAO_TkResource.so.*
diff --git a/debianbuild/libtao-xtresource-1.6.7.install b/debianbuild/libtao-xtresource-1.6.7.install
deleted file mode 100644
index b6a1ca56d3c..00000000000
--- a/debianbuild/libtao-xtresource-1.6.7.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/libTAO_XtResource-*.so*
diff --git a/debianbuild/libtao-xtresource-1.7.8.install b/debianbuild/libtao-xtresource-1.7.8.install
new file mode 100644
index 00000000000..11588ae9088
--- /dev/null
+++ b/debianbuild/libtao-xtresource-1.7.8.install
@@ -0,0 +1 @@
+usr/lib/libTAO_XtResource.so.*
diff --git a/debianbuild/mpc-ace.install b/debianbuild/mpc-ace.install
index a6820c5fa42..0a5cec36962 100644
--- a/debianbuild/mpc-ace.install
+++ b/debianbuild/mpc-ace.install
@@ -1,8 +1,10 @@
usr/bin/mpc-ace
usr/bin/mwc-ace
-../../ACE_wrappers/bin/MakeProjectCreator usr/share/ace/bin
-../../ACE_wrappers/MPC/config usr/share/ace/MPC
-../../ACE_wrappers/MPC/modules usr/share/ace/MPC
-../../ACE_wrappers/MPC/templates usr/share/ace/MPC
-../../ACE_wrappers/MPC/*.pl usr/share/ace/MPC
-../../ACE_wrappers/MPC/ChangeLog usr/share/ace/MPC
+../../ACE_wrappers/bin/m[p,w]c.pl usr/share/ace/bin
+../../ACE_wrappers/bin/MakeProjectCreator usr/share/ace/bin
+../../ACE_wrappers/MPC/config usr/share/ace/MPC
+../../ACE_wrappers/MPC/modules usr/share/ace/MPC
+../../ACE_wrappers/MPC/templates usr/share/ace/MPC
+../../ACE_wrappers/MPC/*.pl usr/share/ace/MPC
+../../ACE_wrappers/MPC/ChangeLog usr/share/ace/MPC
+../../ACE_wrappers/bin/PerlACE usr/share/ace/bin
diff --git a/debianbuild/patches/00list b/debianbuild/patches/00list
index 58876f97286..d77c48fbc12 100644
--- a/debianbuild/patches/00list
+++ b/debianbuild/patches/00list
@@ -1,9 +1,6 @@
01-change-tao-sonames
-02-fltk-no-gl
02-qt4
04-reduce-opt
-12-fix-fox-include
-15-fix-fltk-include
34-bts386713
50-prepatch-dummy-mark
92-default-ACE_ROOT
diff --git a/debianbuild/patches/01-change-tao-sonames.dpatch b/debianbuild/patches/01-change-tao-sonames.dpatch
deleted file mode 100644
index 0f1c3a7a9af..00000000000
--- a/debianbuild/patches/01-change-tao-sonames.dpatch
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01-change_tao_sonames.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: propagate TAO_VERSION_NAME in all TAO Makefile.am files.
-
-@DPATCH@
---- ACE_wrappers.orig/TAO/configure.ac
-+++ ACE_wrappers/TAO/configure.ac
-@@ -149,10 +149,12 @@
- TAO_MAJOR=$2
- TAO_MINOR=$3
- TAO_BETA=$4
-+TAO_VERSION_NAME=TAO_VERSION
-
- AC_SUBST([TAO_MAJOR])
- AC_SUBST([TAO_MINOR])
- AC_SUBST([TAO_BETA])
-+AC_SUBST([TAO_VERSION_NAME])
-
- dnl We should have --with/--enable flags for these options.
- dnl Until we do, set them to reasonable defaults.
---- ACE_wrappers.orig/TAO/MPC/config/taodefaults.mpb
-+++ ACE_wrappers/TAO/MPC/config/taodefaults.mpb
-@@ -7,7 +7,7 @@
- libpaths += $(ACE_ROOT)/lib
-
- specific(automake) {
-- am_version = @TAO_MAJOR@:@TAO_MINOR@:@TAO_BETA@
-+ am_release = @TAO_VERSION_NAME@
- includes += $(TAO_BUILDDIR)
- libpaths -= $(ACE_ROOT)/lib
- }
diff --git a/debianbuild/patches/02-fltk-no-gl.dpatch b/debianbuild/patches/02-fltk-no-gl.dpatch
deleted file mode 100644
index 1828c31e2b0..00000000000
--- a/debianbuild/patches/02-fltk-no-gl.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02-fltk-no-gl.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: do not link against libfltk_gl
-
-@DPATCH@
---- ACE_wrappers.orig/m4/ace.m4
-+++ ACE_wrappers/m4/ace.m4
-@@ -1180,8 +1180,8 @@
- fi
- fi
- if test X"${FLTKCONFIG}" != X; then
-- ACE_FLTK_CPPFLAGS=`$FLTKCONFIG --use-gl --cxxflags 2>/dev/null`
-- ACE_FLTK_LIBS=`$FLTKCONFIG --use-gl --ldflags 2>/dev/null`
-+ ACE_FLTK_CPPFLAGS=`$FLTKCONFIG --cxxflags 2>/dev/null`
-+ ACE_FLTK_LIBS=`$FLTKCONFIG --ldflags 2>/dev/null`
-
- AC_SUBST(ACE_FLTK_CPPFLAGS)
- AC_SUBST(ACE_FLTK_LIBS)
diff --git a/debianbuild/patches/02-qt4.dpatch b/debianbuild/patches/02-qt4.dpatch
deleted file mode 100644
index 5a0501f024b..00000000000
--- a/debianbuild/patches/02-qt4.dpatch
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02-qt4.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: detect Qt4 instead of Qt3
-
-@DPATCH@
---- ACE_wrappers.orig/m4/ace.m4
-+++ ACE_wrappers/m4/ace.m4
-@@ -1265,18 +1265,18 @@
- AC_DEFUN([ACE_PATH_QT],
- [
- ac_qt_found=no
-- PKG_CHECK_MODULES([Qt], [qt-mt],
-+ PKG_CHECK_MODULES([Qt4], [QtCore QtGui],
- [ac_qt_found=yes],
- [AC_MSG_RESULT([not found])])
- if test X"${ac_qt_found}" = Xyes; then
-- ACE_QT_CPPFLAGS="${Qt_CFLAGS}"
-- ACE_QT_LIBS="${Qt_LIBS}"
-+ ACE_QT_CPPFLAGS="${Qt4_CFLAGS}"
-+ ACE_QT_LIBS="${Qt4_LIBS}"
- AC_SUBST(ACE_QT_CPPFLAGS)
- AC_SUBST(ACE_QT_LIBS)
-
- AS_IF([test -n "$QTDIR"],
- [],
-- [QTDIR=`$PKG_CONFIG --variable=prefix qt-mt 2>/dev/null`])
-+ [QTDIR=`$PKG_CONFIG --variable=prefix QtCore 2>/dev/null`])
- AC_SUBST(QTDIR)
- fi
- ])
diff --git a/debianbuild/patches/04-reduce-opt.dpatch b/debianbuild/patches/04-reduce-opt.dpatch
deleted file mode 100644
index 7f072829c7e..00000000000
--- a/debianbuild/patches/04-reduce-opt.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 04-reduce-opt.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: drop -O3 default optimization level
-
-@DPATCH@
---- ACE_wrappers.orig/m4/compiler.m4
-+++ ACE_wrappers/m4/compiler.m4
-@@ -234,7 +234,7 @@
- CXXFLAGS="$CXXFLAGS"
- ACE_CXXFLAGS="$ACE_CXXFLAGS"
- DCXXFLAGS="$DCXXFLAGS"
-- OCXXFLAGS="-O3"
-+ OCXXFLAGS=""
- fi
- ;;
- esac
diff --git a/debianbuild/patches/05-autoconf-fox.dpatch b/debianbuild/patches/05-autoconf-fox.dpatch
deleted file mode 100644
index 0315ab11eec..00000000000
--- a/debianbuild/patches/05-autoconf-fox.dpatch
+++ /dev/null
@@ -1,116 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 05-autoconf-fox.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: add autoconf support for Fox
-
-@DPATCH@
---- ACE_wrappers.orig/m4/ace.m4
-+++ ACE_wrappers/m4/ace.m4
-@@ -501,6 +501,7 @@
- ACE_ENABLE_QT_REACTOR
- ACE_ENABLE_TK_REACTOR
- ACE_ENABLE_XT_REACTOR
-+ ACE_ENABLE_FOX_REACTOR
-
- # placeholder for WxWindows/wxWidgets support
- AM_CONDITIONAL([BUILD_WXWINDOWS], false)
-@@ -1543,4 +1544,58 @@
- [test X$ace_user_enable_xt_reactor = Xyes])
- ])
-
-+# ACE_PATH_FOX
-+#---------------------------------------------------------------------------
-+AC_DEFUN([ACE_PATH_FOX],
-+[AC_ARG_WITH([fox-config],
-+ AS_HELP_STRING([--with-fox-config=PATH],
-+ [path to fox-config [[automatic]]]),
-+ [ ac_fox_config="${withval}" ])
-+ if test X"${ac_fox_config}" = X; then
-+ AC_PATH_PROG([FOXCONFIG], [fox-config], [], [])
-+ else
-+ AC_MSG_CHECKING([whether ${ac_fox_config} exists])
-+ if test -f "${ac_fox_config}"; then
-+ FOXCONFIG="${ac_fox_config}"
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ fi
-+ fi
-+ if test X"${FOXCONFIG}" != X; then
-+ ACE_FOX_CPPFLAGS=-I/usr/include/fox-1.6
-+ ACE_FOX_LIBS=-lFOX-1.6
-+ AC_SUBST(ACE_FOX_CPPFLAGS)
-+ AC_SUBST(ACE_FOX_LIBS)
-+ fi
-+])
-
-+# ACE_ENABLE_FOX_REACTOR
-+#---------------------------------------------------------------------------
-+AC_DEFUN([ACE_ENABLE_FOX_REACTOR],
-+[AC_REQUIRE([ACE_PATH_FOX])
-+AC_ARG_ENABLE([fox-reactor],
-+ AS_HELP_STRING([--enable-fox-reactor],
-+ [build support for the FoxReactor [[no]]]),
-+ [case "${enableval}" in
-+ yes)
-+ AS_IF([test X"${FOXCONFIG}" != X],
-+ [ace_user_enable_fox_reactor=yes],
-+ [AC_MSG_ERROR([ACE_FoxReactor cannot be enabled: fox-config not found.])])
-+ ;;
-+ no)
-+ ace_user_enable_fox_reactor=no
-+ ;;
-+ *)
-+ AC_MSG_ERROR([bad value ${enableval} for --enable-fox-reactor])
-+ ;;
-+ esac],
-+ [
-+ ace_user_enable_fox_reactor=no
-+ ])
-+AM_CONDITIONAL([BUILD_FOX], [test X$ace_user_enable_fox_reactor = Xyes])
-+AM_CONDITIONAL([BUILD_ACE_FOXREACTOR],
-+ [test X$ace_user_enable_fox_reactor = Xyes])
-+AM_CONDITIONAL([BUILD_TAO_FOXRESOURCE],
-+ [test X$ace_user_enable_fox_reactor = Xyes])
-+])
---- ACE_wrappers.orig/bin/MakeProjectCreator/config/global.features
-+++ ACE_wrappers/bin/MakeProjectCreator/config/global.features
-@@ -90,6 +90,8 @@
- ace_tkreactor = 1
- // Use FlReactor
- ace_flreactor = 1
-+// Use FoxReactor
-+ace_foxreactor = 1
-
- // Features for TAO support for various GUI libraries
- // Use QtResources for TAO
-@@ -100,6 +102,8 @@
- tao_tkresource = 1
- // Use FlResources for TAO
- tao_flresource = 1
-+// Use FoxResources for TAO
-+tao_foxresource = 1
-
- //Use the ZIP_Wrapper feature for when using the ZIP wrapper classes
- ZIP_Wrapper = 0
---- ACE_wrappers.orig/ace/ace.mwc
-+++ ACE_wrappers/ace/ace.mwc
-@@ -6,6 +6,7 @@
- ace.mpc
- ace_for_tao.mpc
- ace_flreactor.mpc
-+ ace_foxreactor.mpc
- ace_qtreactor.mpc
- ace_tkreactor.mpc
- ace_xtreactor.mpc
---- ACE_wrappers.orig/TAO/configure.ac
-+++ ACE_wrappers/TAO/configure.ac
-@@ -183,6 +183,7 @@
- ACE_ENABLE_QT_REACTOR
- ACE_ENABLE_TK_REACTOR
- ACE_ENABLE_XT_REACTOR
-+ACE_ENABLE_FOX_REACTOR
- ACE_PATH_ZZIP
- ACE_PATH_ZLIB
-
diff --git a/debianbuild/patches/06-fix-kokyu-mpc.dpatch b/debianbuild/patches/06-fix-kokyu-mpc.dpatch
deleted file mode 100644
index 9d08731ca6f..00000000000
--- a/debianbuild/patches/06-fix-kokyu-mpc.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 06-revert-mpc-kokyu-change.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: use upstream patch to unbreak Kokyu library search path
-
-@DPATCH@
---- ACE_wrappers.orig/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm
-+++ ACE_wrappers/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm
-@@ -135,7 +135,7 @@
- $reldir = 'Kokyu';
- }
- }
-- $str =~ s!$libname!\$(top_builddir)/$reldir/$libname!;
-+ $str =~ s!$libname!\$(ACE_BUILDDIR)/$reldir/$libname!;
- return $str;
- }
- elsif ($libname =~ /^lib(tao|kokyu)/i) {
diff --git a/debianbuild/patches/07-autoconf-fix-gperf.dpatch b/debianbuild/patches/07-autoconf-fix-gperf.dpatch
deleted file mode 100644
index 27332fe00b8..00000000000
--- a/debianbuild/patches/07-autoconf-fix-gperf.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 07-autoconf-fix-gperf.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: fix an autotools error in GPERF handling.
-
-@DPATCH@
---- ACE_wrappers.orig/m4/ace.m4
-+++ ACE_wrappers/m4/ace.m4
-@@ -535,7 +535,7 @@
- AC_MSG_WARN([existing gperf may be overwritten during installation])
- ],[])
- fi
-- AM_CONDITIONAL([COMPILE_GPERF], [test X$ace_user_enable_gperf = Xyes])
-+ AM_CONDITIONAL([BUILD_GPERF], [test X$ace_user_enable_gperf = Xyes])
-
- ACE_ENABLE_QOS
- ACE_ENABLE_SSL
diff --git a/debianbuild/patches/09-autoconf-fix-no-base-include-headers.diff b/debianbuild/patches/09-autoconf-fix-no-base-include-headers.diff
deleted file mode 100644
index b026082d727..00000000000
--- a/debianbuild/patches/09-autoconf-fix-no-base-include-headers.diff
+++ /dev/null
@@ -1,19 +0,0 @@
---- ACE_wrappers.orig/ace/Makefile.am
-+++ ACE_wrappers/ace/Makefile.am
-@@ -10,6 +10,7 @@
-
- includedir = @includedir@/ace
- pkgconfigdir = @libdir@/pkgconfig
-+nobase_include_HEADERS =
-
- ACE_BUILDDIR = $(top_builddir)
- ACE_ROOT = $(top_srcdir)
-@@ -336,7 +337,7 @@
- libACE_la_LDFLAGS = \
- -release @ACE_VERSION_NAME@
-
--nobase_include_HEADERS = \
-+nobase_include_HEADERS += \
- ACE.h \
- ACE.inl \
- ACE_export.h \
diff --git a/debianbuild/patches/12-fix-fox-include.dpatch b/debianbuild/patches/12-fix-fox-include.dpatch
deleted file mode 100644
index 26ff9767537..00000000000
--- a/debianbuild/patches/12-fix-fox-include.dpatch
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 12-fix-fox-include.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: drop fox/ prefix in include, it's correctly set by fox-config
-
-@DPATCH@
---- ACE_wrappers.orig/ace/FoxReactor/FoxReactor.h
-+++ ACE_wrappers/ace/FoxReactor/FoxReactor.h
-@@ -27,7 +27,7 @@
-
- #include "ace/Select_Reactor.h"
-
--#include <fox/fx.h>
-+#include <fx.h>
-
- /**
- * @class ACE_FoxReactor
---- ACE_wrappers.orig/TAO/tao/FoxResource/FoxResource_Loader.h
-+++ ACE_wrappers/TAO/tao/FoxResource/FoxResource_Loader.h
-@@ -24,7 +24,7 @@
-
- #include "tao/Versioned_Namespace.h"
-
--#include <fox/fx.h>
-+#include <fx.h>
-
- TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
diff --git a/debianbuild/patches/14-autoconf-tao.dpatch b/debianbuild/patches/14-autoconf-tao.dpatch
deleted file mode 100644
index f13d0e95d50..00000000000
--- a/debianbuild/patches/14-autoconf-tao.dpatch
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 14-autoconf-tao.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: enhance TAO autoconf support
-
-@DPATCH@
---- ACE_wrappers.orig/TAO/configure.ac
-+++ ACE_wrappers/TAO/configure.ac
-@@ -124,10 +124,6 @@
- AC_PROG_CXX
- AC_PROG_CXXCPP
-
--dnl Configure libtool
--AC_DISABLE_STATIC
--AC_PROG_LIBTOOL
--
- ACE_CHECK_THREADS
-
- dnl Set the test language as C++
-@@ -190,6 +186,33 @@
- TAO_ENABLE_EXAMPLES
- TAO_ENABLE_TESTS
-
-+dnl The user's/default C++ flags are stored in "CXXFLAGS." We use
-+dnl the variable "ACE_CXXFLAGS" to set the C++ flags we want. At the end
-+dnl of the configuration process we combine ACE_CXXFLAGS and CXXFLAGS
-+dnl into CXXFLAGS (e.g., CXXFLAGS="$ACE_CXXFLAGS $CXXFLAGS"). CXXFLAGS
-+dnl goes after ACE_CXXFLAGS so that the user's C++ flag command line
-+dnl choices always override the configure script's choices.
-+ACE_CXXFLAGS=""
-+ACE_CFLAGS=""
-+
-+ACE_SET_COMPILER_FLAGS
-+
-+dnl Disable building of static libraries by default
-+AC_DISABLE_STATIC
-+
-+dnl Enable Libtool module support
-+AC_LIBTOOL_DLOPEN
-+
-+dnl Enable support for "clean" DLLs.
-+AC_LIBTOOL_WIN32_DLL
-+
-+dnl Check for libtool and turn on Automake processing for Libtool
-+AC_PROG_LIBTOOL
-+
-+CXXFLAGS="$ACE_CXXFLAGS $X_CFLAGS $CXXFLAGS"
-+CFLAGS="$ACE_CFLAGS $X_CFLAGS $CFLAGS"
-+CPPFLAGS="$ACE_CPPFLAGS $CPPFLAGS"
-+LDFLAGS="$ACE_LDFLAGS $LDFLAGS"
-
- dnl
- dnl SECTION 16: AC_CONFIG_FILES([FILE...])
diff --git a/debianbuild/patches/15-fix-fltk-include.dpatch b/debianbuild/patches/15-fix-fltk-include.dpatch
deleted file mode 100644
index 54dc8b6c348..00000000000
--- a/debianbuild/patches/15-fix-fltk-include.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 15-fix-fltk-include.dpatch by Raphael Bossek <bossekr@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Uses new FLTK header files.
-
-@DPATCH@
-
---- ACE_wrappers/ace/FlReactor/FlReactor.cpp.orig 2004-10-25 00:08:59.932411424 +0200
-+++ ACE_wrappers/ace/FlReactor/FlReactor.cpp 2004-10-25 00:09:08.272143592 +0200
-@@ -6,7 +6,7 @@
-
- #if defined (ACE_HAS_FL)
-
--#include /**/ <FL/Fl.h>
-+#include /**/ <FL/Fl.H>
-
- ACE_ALLOC_HOOK_DEFINE (ACE_FlReactor)
-
diff --git a/debianbuild/patches/16-skip-apps.dpatch b/debianbuild/patches/16-skip-apps.dpatch
deleted file mode 100644
index c59bcedbda4..00000000000
--- a/debianbuild/patches/16-skip-apps.dpatch
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 16-skip-apps.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: do not compile some apps
-
-@DPATCH@
---- ACE_wrappers.orig/apps/apps.mwc
-+++ ACE_wrappers/apps/apps.mwc
-@@ -2,4 +2,13 @@
- // $Id$
-
- workspace {
-+ exclude {
-+ drwho
-+ Gateway
-+ JAWS
-+ JAWS2
-+ JAWS3
-+ mkcsregdb
-+ soreduce
-+ }
- }
diff --git a/debianbuild/patches/17-protect-mpc-path.dpatch b/debianbuild/patches/17-protect-mpc-path.dpatch
deleted file mode 100644
index fb4ad963bfe..00000000000
--- a/debianbuild/patches/17-protect-mpc-path.dpatch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 17-protect-mpc-path.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: disable pattern metacharacters in path
-
-@DPATCH@
---- ACE_wrappers.orig/MPC/modules/AutomakeWorkspaceCreator.pm
-+++ ACE_wrappers/MPC/modules/AutomakeWorkspaceCreator.pm
-@@ -618,7 +618,7 @@
- my($start) = $self->getstartdir();
-
- ## Take off the starting directory
-- $value =~ s/$start//;
-+ $value =~ s/\Q$start\E//;
- return $value;
- }
-
diff --git a/debianbuild/patches/18-fix-bswap-detection.dpatch b/debianbuild/patches/18-fix-bswap-detection.dpatch
deleted file mode 100644
index 95521e2328d..00000000000
--- a/debianbuild/patches/18-fix-bswap-detection.dpatch
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 18-fix-bswap-detection.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: taken from upstream: fix bswap autoconf detection
-@DPATCH@
---- ACE_wrappers.orig/configure.ac
-+++ ACE_wrappers/configure.ac
-@@ -3445,15 +3445,24 @@
-
- ACE_CHECK_HAS_DEFINES([bswap16])
- if test "$ace_cv_defined_bswap16" = no; then
-- ACE_CHECK_HAS_DEFINES([bswap_16])
-+ ACE_CHECK_HAS_DEFINES([bswap_16],[],[],[
-+#if ACE_HAS_BYTESWAP_H
-+#include <byteswap.h>
-+#endif])
- fi
- ACE_CHECK_HAS_DEFINES([bswap32])
- if test "$ace_cv_defined_bswap32" = no; then
-- ACE_CHECK_HAS_DEFINES([bswap_32])
-+ ACE_CHECK_HAS_DEFINES([bswap_32],[],[],[
-+#if ACE_HAS_BYTESWAP_H
-+#include <byteswap.h>
-+#endif])
- fi
- ACE_CHECK_HAS_DEFINES([bswap64])
- if test "$ace_cv_defined_bswap64" = no; then
-- ACE_CHECK_HAS_DEFINES([bswap_64])
-+ ACE_CHECK_HAS_DEFINES([bswap_64],[],[],[
-+#if ACE_HAS_BYTESWAP_H
-+#include <byteswap.h>
-+#endif])
- fi
-
- ACE_CHECK_LACKS_FUNCS(chdir)
diff --git a/debianbuild/patches/19-gcc43.dpatch b/debianbuild/patches/19-gcc43.dpatch
deleted file mode 100644
index d857df95f1b..00000000000
--- a/debianbuild/patches/19-gcc43.dpatch
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 19-gcc43.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: fix failures and warnings with g++ 4.3
-## DP: See http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3270
-@DPATCH@
---- ACE_wrappers.orig/ace/config-macros.h
-+++ ACE_wrappers/ace/config-macros.h
-@@ -380,7 +380,7 @@
- // This eliminates the warnings, and no code is generated for the null
- // conditional statement. @note that may only be true if -O is enabled,
- // such as with GreenHills (ghs) 1.8.8.
--# define ACE_UNUSED_ARG(a) do {/* null */} while (&a == 0)
-+# define ACE_UNUSED_ARG(a) do {/* null */} while (&a < 0)
- #elif defined (__DMC__)
- #define ACE_UNUSED_ID(identifier)
- template <class T>
---- ACE_wrappers.orig/apps/JAWS/server/HTTP_Server.cpp
-+++ ACE_wrappers/apps/JAWS/server/HTTP_Server.cpp
-@@ -143,10 +143,12 @@
- HTTP_Handler_Factory *f = 0;
-
- if (this->strategy_ != (JAWS::JAWS_POOL | JAWS::JAWS_ASYNCH))
-+ {
- if (this->caching_)
- ACE_NEW_RETURN (f, Synch_HTTP_Handler_Factory (), -1);
- else
- ACE_NEW_RETURN (f, No_Cache_Synch_HTTP_Handler_Factory (), -1);
-+ }
-
- //NOTE: At this point f better not be a NULL pointer,
- //so please do not change the ACE_NEW_RETURN macros unless
diff --git a/debianbuild/patches/20-fix-iostream-detection.dpatch b/debianbuild/patches/20-fix-iostream-detection.dpatch
deleted file mode 100644
index 4cd9e8cf059..00000000000
--- a/debianbuild/patches/20-fix-iostream-detection.dpatch
+++ /dev/null
@@ -1,128 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20-autoconf-fix-iostream.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: fix autotools iostream detection
-@DPATCH@
---- ACE_wrappers.orig/configure.ac
-+++ ACE_wrappers/configure.ac
-@@ -1013,11 +1013,9 @@
- dnl Check for availablity of "new style" C++ stream headers
- AC_CHECK_HEADERS([iomanip ios iostream istream ostream fstream streambuf],
- ,
-- [AC_DEFINE([ACE_USES_OLD_IOSTREAMS])])
--
--AC_CHECK_HEADER([iostream.h],
-- [AC_CHECK_HEADER([fstream.h],,[AC_DEFINE([ACE_LACKS_IOSTREAM_TOTALLY])])],
-- [AC_DEFINE([ACE_LACKS_IOSTREAM_TOTALLY])])
-+ [AC_CHECK_HEADERS([iostream.h fstream.h],
-+ [AC_DEFINE([ACE_USES_OLD_IOSTREAMS])],
-+ [AC_DEFINE([ACE_LACKS_IOSTREAM_TOTALLY])])])
-
- dnl Check if platform needs to #include <regexpr.h> for
- dnl regular expression support
-@@ -2014,14 +2012,18 @@
- [ace_cv_feature_char_right_shifts],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef ACE_USES_OLD_IOSTREAM
- #include <iostream.h>
-+#else
-+#include <iostream>
-+#endif
- ]],[[
- unsigned char a = 0;
--cin >> a;
-+std::cin >> a;
-
- #ifndef ACE_LACKS_SIGNED_CHAR
- signed char b = 0;
--cin >> b;
-+std::cin >> b;
- #endif
- ]])],[
- ace_cv_feature_char_right_shifts=yes
-@@ -2036,14 +2038,18 @@
- [ace_cv_feature_char_ptr_right_shifts],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef ACE_USES_OLD_IOSTREAMS
- #include <iostream.h>
-+#else
-+#include <iostream>
-+#endif
- ]],[[
- unsigned char * a = 0;
--cin >> a;
-+std::cin >> a;
-
- #ifndef ACE_LACKS_SIGNED_CHAR
- signed char * b = 0;
--cin >> b;
-+std::cin >> b;
- #endif
- ]])],[
- ace_cv_feature_char_ptr_right_shifts=yes
-@@ -5823,9 +5829,17 @@
- ACE_CACHE_CHECK([for iostream method ipfx()],
- [ace_cv_feature_has_iostream_ipfx],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef ACE_USES_OLD_IOSTREAMS
- #include <iostream.h>
-+#else
-+#include <iostream>
-+#endif
- ]], [[
-+#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
-+ std::cin.ipfx();
-+#else
- cin.ipfx();
-+#endif
- ]])],[
- ace_cv_feature_has_iostream_ipfx=yes
- ],[
-@@ -5837,9 +5851,17 @@
- ACE_CACHE_CHECK([for line-buffered streambufs],
- [ace_cv_feature_has_linebuffered_streambuf],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef ACE_USES_OLD_IOSTREAMS
- #include <iostream.h>
-+#else
-+#include <iostream>
-+#endif
- ]], [[
-+#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
-+ std::cin.rdbuf()->linebuffered(1);
-+#else
- cin.rdbuf()->linebuffered(1);
-+#endif
- ]])],[
- ace_cv_feature_has_linebuffered_streambuf=yes
- ],[
-@@ -5851,9 +5873,17 @@
- ACE_CACHE_CHECK([for unbuffered streambufs],
- [ace_cv_feature_has_unbuffered_streambuf],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef ACE_USES_OLD_IOSTREAMS
- #include <iostream.h>
-+#else
-+#include <iostream>
-+#endif
- ]], [[
-+#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
-+ std::cin.rdbuf()->unbuffered(1);
-+#else
- cin.rdbuf()->unbuffered(1);
-+#endif
- ]])],[
- ace_cv_feature_has_unbuffered_streambuf=yes
- ],[
---- ACE_wrappers.orig/m4/aio.m4
-+++ ACE_wrappers/m4/aio.m4
-@@ -64,7 +64,6 @@
- #include <string.h>
- #include <errno.h>
- #include <stdio.h>
--#include <iostream.h>
-
- #include <aio.h>
-
diff --git a/debianbuild/patches/21-generate-platform_macros.GNU.diff b/debianbuild/patches/21-generate-platform_macros.GNU.diff
deleted file mode 100644
index 653c15fd04a..00000000000
--- a/debianbuild/patches/21-generate-platform_macros.GNU.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ACE_wrappers.orig/configure.ac
-+++ ACE_wrappers/configure.ac
-@@ -8020,6 +8020,7 @@
- dnl tests/Makefile
-
- AC_CONFIG_FILES([
-+ include/makeinclude/platform_macros.GNU
- Makefile
- ace/Makefile
- ace/SSL/Makefile
diff --git a/debianbuild/patches/22-tao_idl-64bit-fix.dpatch b/debianbuild/patches/22-tao_idl-64bit-fix.dpatch
deleted file mode 100644
index b93cf6d87e2..00000000000
--- a/debianbuild/patches/22-tao_idl-64bit-fix.dpatch
+++ /dev/null
@@ -1,65 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 22-tao_idl-64bit-fix.dpatch by Thomas Girard <thomas.g.girard@free.fr>
-##
-## DP: backport 64bit fix for tao_idl from upstream
-@DPATCH@
---- ACE_wrappers/TAO/TAO_IDL/be/be_helper.cpp- 2008-11-04 22:18:23.000000000 +0100
-+++ ACE_wrappers/TAO/TAO_IDL/be/be_helper.cpp 2008-11-04 22:19:14.000000000 +0100
-@@ -360,7 +360,7 @@
-
- return *this;
- }
--#if defined (ACE_WIN64) || ! (! defined (ACE_HAS_UINT64_T) && ACE_SIZEOF_LONG == 8)
-+
- TAO_OutStream &
- TAO_OutStream::operator<< (const ACE_CDR::ULongLong num)
- {
-@@ -380,26 +380,6 @@
-
- return *this;
- }
--#endif
--TAO_OutStream &
--TAO_OutStream::operator<< (const unsigned long num)
--{
-- ACE_OS::fprintf (this->fp_,
-- "%lu",
-- num);
--
-- return *this;
--}
--
--TAO_OutStream &
--TAO_OutStream::operator<< (const long num)
--{
-- ACE_OS::fprintf (this->fp_,
-- "%ld",
-- num);
--
-- return *this;
--}
-
- TAO_OutStream &
- TAO_OutStream::operator<< (const TAO_NL&)
---- ACE_wrappers/TAO/TAO_IDL/be_include/be_helper.h- 2008-11-04 22:14:08.000000000 +0100
-+++ ACE_wrappers/TAO/TAO_IDL/be_include/be_helper.h 2008-11-04 22:16:53.000000000 +0100
-@@ -174,18 +174,12 @@
-
- TAO_OutStream &operator<< (const ACE_CDR::Long num);
- // output the integer and return a reference to ourselves
--#if defined (ACE_WIN64) || ! (! defined (ACE_HAS_UINT64_T) && ACE_SIZEOF_LONG == 8)
-+
- TAO_OutStream &operator<< (const ACE_CDR::ULongLong num);
- // output the integer and return a reference to ourselves
-
- TAO_OutStream &operator<< (const ACE_CDR::LongLong num);
- // output the integer and return a reference to ourselves
--#endif
-- TAO_OutStream &operator<< (const unsigned long num);
-- // output the integer and return a reference to ourselves
--
-- TAO_OutStream &operator<< (const long num);
-- // output the integer and return a reference to ourselves
-
- // = MANIPULATORS
-
diff --git a/debianbuild/patches/24-add-missing-headers.dpatch b/debianbuild/patches/24-add-missing-headers.dpatch
new file mode 100644
index 00000000000..96dfc8a0ad1
--- /dev/null
+++ b/debianbuild/patches/24-add-missing-headers.dpatch
@@ -0,0 +1,197 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 24-add-missing-headers.dpatch by Thomas Girard <thomas.g.girard@free.fr>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: adds missing headers
+
+@DPATCH@
+--- ACE_wrappers.orig/Kokyu/Kokyu.mpc
++++ ACE_wrappers/Kokyu/Kokyu.mpc
+@@ -14,8 +14,14 @@
+ Kokyu_defs.cpp
+ }
+
++ Header_Files {
++ kokyu_config.h
++ kokyu_export.h
++ }
++
+ Template_Files {
+ Kokyu_dsrt.cpp
++ DSRT_CV_Dispatcher_Impl_T.cpp
+ DSRT_Direct_Dispatcher_Impl_T.cpp
+ DSRT_Dispatcher_Impl_T.cpp
+ DSRT_Dispatch_Item_T.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/RTEvent_Serv.mpc
+@@ -84,6 +84,13 @@
+ Event/EC_Thread_Flags.cpp
+ }
+
++ Header_Files {
++ Event/event_serv_export.h
++ Event/EC_Defaults.h
++ Event/ECG_Defaults.h
++ Event/ECG_Address_Server_Base.h
++ }
++
+ Template_Files {
+ Event/EC_Busy_Lock.cpp
+ Event/EC_Lifetime_Utils_T.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/RTCORBAEvent.mpc
+@@ -17,6 +17,7 @@
+ }
+
+ Header_Files {
++ Event/rtcorba_event_export.h
+ }
+
+ Inline_Files {
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/RTKokyuEvent.mpc
+@@ -19,6 +19,10 @@
+ }
+ }
+
++ Header_Files {
++ Event/rtkokyu_event_export.h
++ }
++
+ Template_Files {
+ }
+ }
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/RTSchedEvent.mpc
+@@ -20,6 +20,10 @@
+ }
+ }
+
++ Header_Files {
++ Event/sched_event_export.h
++ }
++
+ Template_Files {
+ }
+ }
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/RTEvent.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/RTEvent.mpc
+@@ -26,6 +26,7 @@
+
+ Header_Files {
+ Event_Utilities.h
++ Event_Service_Constants.h
+ RtecDefaultEventDataC.h
+ RtecEventCommC.h
+ RtecEventChannelAdminC.h
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/FTORB.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/FTORB.mpc
+@@ -22,6 +22,9 @@
+
+ Header_Files {
+ FaultTolerance/FT_ORB_Utils_export.h
++ FaultTolerance/FT_ORBInitializer.h
++ FaultTolerance/ftconf.h
++ FaultTolerance/FT_Service_Activate.h
+ }
+
+ Pkgconfig_Files {
+@@ -53,6 +56,10 @@
+ }
+ }
+
++ Header_Files {
++ FaultTolerance/FT_ClientORB_export.h
++ }
++
+ Template_Files {
+ }
+
+@@ -80,6 +87,10 @@
+ }
+ }
+
++ Header_Files {
++ FaultTolerance/FT_ServerORB_export.h
++ }
++
+ Template_Files {
+ }
+
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/FtRtEvent.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/FtRtEvent.mpc
+@@ -32,6 +32,11 @@
+ }
+ }
+
++ Header_Files {
++ FtRtEvent/Utils/ScopeGuard.h
++ FtRtEvent/Utils/ftrtevent_export.h
++ }
++
+ Template_Files {
+ }
+ }
+@@ -50,6 +55,10 @@
+ }
+ }
+
++ Header_Files {
++ FtRtEvent/ClientORB/ftrt_clientorb_export.h
++ }
++
+ Inline_Files {
+ }
+
+@@ -79,5 +88,8 @@
+
+ Header_Files {
+ FtRtEvent/EventChannel/ftrtec_export.h
++ FtRtEvent/EventChannel/FTEC_Fault_Listener.h
++ FtRtEvent/EventChannel/FTRTEC_ServiceActivate.h
++ FtRtEvent/EventChannel/Fault_Listener.h
+ }
+ }
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/HTIOP.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/HTIOP.mpc
+@@ -26,4 +26,8 @@
+ HTIOP
+ }
+ }
++
++ Header_Files {
++ HTIOP/HTIOP_Export.h
++ }
+ }
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/CosLoadBalancing.mpc
+@@ -41,6 +41,16 @@
+ }
+ }
+
++ Header_Files {
++ LoadBalancing/LB_LoadAlertMap.h
++ LoadBalancing/LB_LoadListMap.h
++ LoadBalancing/LB_LoadMap.h
++ LoadBalancing/LB_Location_Index_Map.h
++ LoadBalancing/LB_MonitorMap.h
++ LoadBalancing/LB_conf.h
++ LoadBalancing/LoadBalancing_export.h
++ }
++
+ Template_Files {
+ }
+
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/CosLifeCycle.mpc
+@@ -23,6 +23,10 @@
+ }
+ }
+
++ Header_Files {
++ LifeCycle/lifecycle_export.h
++ }
++
+ Template_Files {
+ }
+
diff --git a/debianbuild/patches/34-bts386713.dpatch b/debianbuild/patches/34-bts386713.dpatch
index cdf73439591..8f3aca63c55 100644
--- a/debianbuild/patches/34-bts386713.dpatch
+++ b/debianbuild/patches/34-bts386713.dpatch
@@ -1,165 +1,406 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
-## 34-bts386713.dpatch by Thomas Girard <thomas.g.girard@free.fr>
+## 34-bts386713.dpatch by Pau Garcia i Quiles <pgquiles@elpauer.org>
##
## All lines beginning with `## DP:' are a description of the patch.
-## DP: load libraries with their complete name.
+## DP: load libraries with their complete name
@DPATCH@
---- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp 2007-01-25 18:04:11.000000000 +0000
-+++ ACE_wrappers/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp 2007-02-13 11:45:38.000000000 +0000
-@@ -14,7 +14,7 @@
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp ACE_wrappers/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp 2009-12-14 00:42:05.534162607 +0100
++++ ACE_wrappers/TAO/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp 2009-12-14 00:59:12.215257079 +0100
+@@ -14,7 +14,7 @@ ACE_RCSID (PortableGroup,
static const char pg_poa_factory_name[] = "TAO_GOA";
- static const char pg_poa_factory_directive[] = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ static const ACE_TCHAR pg_poa_factory_directive[] = ACE_DYNAMIC_SERVICE_DIRECTIVE(
- "TAO_GOA", "TAO_PortableGroup", "_make_TAO_PG_Object_Adapter_Factory", "");
-+ "TAO_GOA", "libTAO_PortableGroup-1.6.6.so", "_make_TAO_PG_Object_Adapter_Factory", "");
++ "TAO_GOA", "libTAO_PortableGroup-1.7.7.so", "_make_TAO_PG_Object_Adapter_Factory", "");
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
---- ACE_wrappers.orig/TAO/tao/ORB_Core.cpp 2007-01-25 19:59:59.000000000 +0000
-+++ ACE_wrappers/TAO/tao/ORB_Core.cpp 2007-02-13 12:33:58.000000000 +0000
-@@ -1596,7 +1596,7 @@
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Bug_3486_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Bug_3486_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Bug_3486_Regression/server.cpp 2009-12-14 00:42:06.382162746 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Bug_3486_Regression/server.cpp 2009-12-14 00:59:12.215257079 +0100
+@@ -18,7 +18,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNamingService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNamingService",
+- "TAO_CosNaming_Serv",
++ "libTAO_CosNaming_Serv-1.7.7.so",
+ "_make_TAO_Naming_Loader",
+ ""
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/server.cpp 2009-12-14 00:42:06.030162565 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_2926_Regression/server.cpp 2009-12-14 00:59:12.215257079 +0100
+@@ -20,7 +20,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_CosNotification_Serv",
++ "libTAO_CosNotification_Serv-1.7.7.so",
+ "_make_TAO_CosNotify_Service",
+ ""
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/server.cpp 2009-12-14 00:42:06.026162764 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3252_Regression/server.cpp 2009-12-14 00:59:12.215257079 +0100
+@@ -24,7 +24,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_CosNotification_Serv",
++ "libTAO_CosNotification_Serv-1.7.7.so",
+ "_make_TAO_CosNotify_Service",
+ "-UseSeparateDispatchingORB 1"
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/server.cpp 2009-12-14 00:42:06.018162604 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646b_Regression/server.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -20,7 +20,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_Notify_Service",
++ "libTAO_Notify_Service-1.7.7.so",
+ "_make_TAO_Notify_Service_Driver",
+ "-NoNameSvc -RunThreads 0"
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/server.cpp 2009-12-14 00:42:06.046162766 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646c_Regression/server.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -23,7 +23,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR scpc_loadNotifyService[max_length] = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_Notify_Service",
++ "libTAO_Notify_Service-1.7.7.so",
+ "_make_TAO_Notify_Service_Driver",
+ "-Channel -ChannelName Channel1 -ChannelName Channel2 -RunThreads 0 -ORBInitRef NameService=iioploc://%s:%s/NameService -IORoutput %s"
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/server.cpp 2009-12-14 00:42:06.074162491 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3646d_Regression/server.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -20,7 +20,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_Notify_Service",
++ "libTAO_Notify_Service-1.7.7.so",
+ "_make_TAO_Notify_Service_Driver",
+ "-Channel -ChannelName Channel1 -ChannelName Channel2 -RunThreads 10 -ORBInitRef NameService=file://naming.ior -IORoutput notify.ior"
+ );
+@@ -29,7 +29,7 @@ ACE_TCHAR const * const scpc_unloadNotif
+
+ ACE_TCHAR const * const scpc_loadNameService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNamingService",
+- "TAO_CosNaming_Serv",
++ "libTAO_CosNaming_Serv-1.7.7.so",
+ "_make_TAO_Naming_Loader",
+ "testNameService testNameService -ORBId testDllOrb -m 0 -o naming.ior"
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/server.cpp 2009-12-14 00:42:06.038162926 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3663_Regression/server.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -20,7 +20,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_Notify_Service",
++ "libTAO_Notify_Service-1.7.7.so",
+ "_make_TAO_Notify_Service_Driver_INCORRECT",
+ "-NoNameSvc -RunThreads 0"
+ );
+diff -rupd ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/server.cpp ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/server.cpp
+--- ACE_wrappers.orig/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/server.cpp 2009-12-14 00:42:06.062163609 +0100
++++ ACE_wrappers/TAO/orbsvcs/tests/Notify/Bug_3688b_Regression/server.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -24,7 +24,7 @@ ACE_TCHAR const * const scpc_unloadOrb =
+
+ ACE_TCHAR const * const scpc_loadNameService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNamingService",
+- "TAO_CosNaming_Serv",
++ "libTAO_CosNaming_Serv-1.7.7.so",
+ "_make_TAO_Naming_Loader",
+ "testNameService testNameService -ORBId testDllOrb -m 0 -o naming.ior"
+ );
+@@ -34,7 +34,7 @@ ACE_TCHAR const * const scpc_unloadNameS
+
+ ACE_TCHAR const * const scpc_loadNotifyService = ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "testNotifyService",
+- "TAO_Notify_Service",
++ "libTAO_Notify_Service-1.7.7.so",
+ "_make_TAO_Notify_Service_Driver",
+ "-Channel -ChannelName Channel1 -ChannelName Channel2 -RunThreads 1 -ORBInitRef NameService=file://naming.ior -IORoutput notify.ior"
+ );
+diff -rupd ACE_wrappers.orig/TAO/tao/Codeset/Codeset_Manager_i.cpp ACE_wrappers/TAO/tao/Codeset/Codeset_Manager_i.cpp
+--- ACE_wrappers.orig/TAO/tao/Codeset/Codeset_Manager_i.cpp 2009-12-14 00:42:09.538164079 +0100
++++ ACE_wrappers/TAO/tao/Codeset/Codeset_Manager_i.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -358,7 +358,7 @@ TAO_Codeset_Manager_i::open(TAO_ORB_Core
+ if (fact == 0)
+ ACE_Service_Config::process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE ("UTF8_Latin1_Factory",
+- "TAO_Codeset",
++ "libTAO_Codeset-1.7.7.so",
+ "_make_TAO_UTF8_Latin1_Factory",
+ ""));
+ else
+@@ -375,7 +375,7 @@ TAO_Codeset_Manager_i::open(TAO_ORB_Core
+ if (fact == 0)
+ ACE_Service_Config::process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE ("UTF16_BOM_Factory",
+- "TAO_Codeset",
++ "libTAO_Codeset-1.7.7.so",
+ "_make_TAO_UTF16_BOM_Factory",
+ ""));
+ else
+diff -rupd ACE_wrappers.orig/TAO/tao/CSD_Framework/CSD_ORBInitializer.cpp ACE_wrappers/TAO/tao/CSD_Framework/CSD_ORBInitializer.cpp
+--- ACE_wrappers.orig/TAO/tao/CSD_Framework/CSD_ORBInitializer.cpp 2009-12-14 00:42:09.426163271 +0100
++++ ACE_wrappers/TAO/tao/CSD_Framework/CSD_ORBInitializer.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -13,7 +13,7 @@ ACE_RCSID (CSD,
+ static const ACE_TCHAR csd_poa_factory_directive[] =
+ ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "TAO_CSD_Object_Adapter_Factory",
+- "TAO_CSD_Framework",
++ "libTAO_CSD_Framework-1.7.7.so",
+ "_make_TAO_CSD_Object_Adapter_Factory",
+ "");
+
+diff -rupd ACE_wrappers.orig/TAO/tao/ORB_Core.cpp ACE_wrappers/TAO/tao/ORB_Core.cpp
+--- ACE_wrappers.orig/TAO/tao/ORB_Core.cpp 2009-12-14 00:42:09.538164079 +0100
++++ ACE_wrappers/TAO/tao/ORB_Core.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -1643,7 +1643,7 @@ TAO_ORB_Core::policy_factory_registry_i
{
this->configuration ()->process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE("PolicyFactory_Loader",
- "TAO_PI",
-+ "libTAO_PI-1.6.6.so",
++ "libTAO_PI-1.7.7.so",
"_make_TAO_PolicyFactory_Loader",
""));
loader =
-@@ -1635,7 +1635,7 @@
+@@ -1695,7 +1695,7 @@ TAO_ORB_Core::orbinitializer_registry_i
{
- config->process_directive (
+ this->configuration ()->process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE ("ORBInitializer_Registry",
- "TAO_PI",
-+ "libTAO_PI-1.6.6.so",
++ "libTAO_PI-1.7.7.so",
"_make_ORBInitializer_Registry",
""));
this->orbinitializer_registry_ =
-@@ -2432,7 +2432,7 @@
+@@ -2429,7 +2429,7 @@ TAO_ORB_Core::resolve_typecodefactory_i
{
this->configuration ()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("TypeCodeFactory",
- "TAO_TypeCodeFactory",
-+ "libTAO_TypeCodeFactory-1.6.6.so",
++ "libTAO_TypeCodeFactory-1.7.7.so",
"_make_TAO_TypeCodeFactory_Loader",
""));
loader =
-@@ -2465,7 +2465,7 @@
+@@ -2462,7 +2462,7 @@ TAO_ORB_Core::resolve_codecfactory_i (vo
{
this->configuration()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("CodecFactory",
- "TAO_CodecFactory",
-+ "libTAO_CodecFactory-1.6.6.so",
++ "libTAO_CodecFactory-1.7.7.so",
"_make_TAO_CodecFactory_Loader",
""));
loader =
-@@ -2492,7 +2492,7 @@
+@@ -2489,7 +2489,7 @@ TAO_ORB_Core::resolve_compression_manage
{
this->configuration()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("Compression",
- "TAO_Compression",
-+ "libTAO_Compression-1.6.6.so",
++ "libTAO_Compression-1.7.7.so",
"_make_TAO_Compression_Loader",
""));
loader =
-@@ -2519,7 +2519,7 @@
+@@ -2515,7 +2515,7 @@ TAO_ORB_Core::resolve_poa_current_i (voi
{
this->configuration()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_POA_Current_Factory",
- "TAO_PortableServer",
-+ "libTAO_PortableServer-1.6.6.so",
++ "libTAO_PortableServer-1.7.7.so",
"_make_TAO_POA_Current_Factory",
""));
loader =
-@@ -2549,7 +2549,7 @@
+@@ -2544,7 +2544,7 @@ TAO_ORB_Core::resolve_picurrent_i (void)
{
this->configuration ()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("PICurrent_Loader",
- "TAO_PI",
-+ "libTAO_PI-1.6.6.so",
++ "libTAO_PI-1.7.7.so",
"_make_TAO_PICurrent_Loader",
""));
loader =
-@@ -2581,7 +2581,7 @@
+@@ -2575,7 +2575,7 @@ TAO_ORB_Core::resolve_dynanyfactory_i (v
{
this->configuration ()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("DynamicAny_Loader",
- "TAO_DynamicAny",
-+ "libTAO_DynamicAny-1.6.6.so",
++ "libTAO_DynamicAny-1.7.7.so",
"_make_TAO_DynamicAny_Loader",
""));
loader =
-@@ -2609,7 +2609,7 @@
+@@ -2602,7 +2602,7 @@ TAO_ORB_Core::resolve_iormanipulation_i
{
this->configuration()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("IORManip_Loader",
- "TAO_IORManip",
-+ "libTAO_IORManip-1.6.6.so",
++ "libTAO_IORManip-1.7.7.so",
"_make_TAO_IORManip_Loader",
""));
loader =
-@@ -2636,7 +2636,7 @@
+@@ -2628,7 +2628,7 @@ TAO_ORB_Core::resolve_ior_table_i (void)
{
this->configuration ()->process_directive
(ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_IORTable",
- "TAO_IORTable",
-+ "libTAO_IORTable-1.6.6.so",
++ "libTAO_IORTable-1.7.7.so",
"_make_TAO_Table_Adapter_Factory",
""));
factory =
---- ACE_wrappers.orig/TAO/tao/ORBInitializer_Registry.cpp 2007-01-24 16:37:36.000000000 +0000
-+++ ACE_wrappers/TAO/tao/ORBInitializer_Registry.cpp 2007-02-13 12:30:53.000000000 +0000
-@@ -57,7 +57,7 @@
+@@ -2663,7 +2663,7 @@ TAO_ORB_Core::resolve_monitor_i (void)
+ {
+ this->configuration ()->process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE("Monitor_Init",
+- "TAO_Monitor",
++ "libTAO_Monitor-1.7.7.so",
+ "_make_TAO_Monitor_Init",
+ ""));
+ loader =
+diff -rupd ACE_wrappers.orig/TAO/tao/ORBInitializer_Registry.cpp ACE_wrappers/TAO/tao/ORBInitializer_Registry.cpp
+--- ACE_wrappers.orig/TAO/tao/ORBInitializer_Registry.cpp 2009-12-14 00:42:09.662163328 +0100
++++ ACE_wrappers/TAO/tao/ORBInitializer_Registry.cpp 2009-12-14 00:59:12.219164079 +0100
+@@ -53,7 +53,7 @@ namespace PortableInterceptor
{
ACE_Service_Config::process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE("ORBInitializer_Registry",
- "TAO_PI",
-+ "libTAO_PI-1.6.6.so",
++ "libTAO_PI-1.7.7.so",
"_make_ORBInitializer_Registry",
""));
orbinitializer_registry_ =
---- ACE_wrappers.orig/TAO/tao/PI/ORBInitInfo.cpp 2007-01-24 18:43:15.000000000 +0000
-+++ ACE_wrappers/TAO/tao/PI/ORBInitInfo.cpp 2007-02-13 12:30:07.000000000 +0000
-@@ -128,7 +128,7 @@
+diff -rupd ACE_wrappers.orig/TAO/tao/params.cpp ACE_wrappers/TAO/tao/params.cpp
+--- ACE_wrappers.orig/TAO/tao/params.cpp 2009-12-14 00:42:09.170163692 +0100
++++ ACE_wrappers/TAO/tao/params.cpp 2009-12-14 00:59:12.259162724 +0100
+@@ -59,7 +59,7 @@ TAO_ORB_Parameters::TAO_ORB_Parameters (
+ , poa_factory_name_ ("TAO_Object_Adapter_Factory")
+ , poa_factory_directive_
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_Object_Adapter_Factory",
+- "TAO_PortableServer",
++ "libTAO_PortableServer-1.7.7.so",
+ "_make_TAO_Object_Adapter_Factory",
+ ""))
+ , forward_invocation_on_object_not_exist_ (false)
+diff -rupd ACE_wrappers.orig/TAO/tao/PI/ORBInitInfo.cpp ACE_wrappers/TAO/tao/PI/ORBInitInfo.cpp
+--- ACE_wrappers.orig/TAO/tao/PI/ORBInitInfo.cpp 2009-12-14 00:42:09.534163639 +0100
++++ ACE_wrappers/TAO/tao/PI/ORBInitInfo.cpp 2009-12-14 00:59:12.223163120 +0100
+@@ -121,7 +121,7 @@ TAO_ORBInitInfo::codec_factory (void)
{
ACE_Service_Config::process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE("CodecFactory",
- "TAO_CodecFactory",
-+ "libTAO_CodecFactory-1.6.6.so",
++ "libTAO_CodecFactory-1.7.7.so",
"_make_TAO_CodecFactory_Loader",
""));
loader =
---- ACE_wrappers.orig/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp 2007-01-24 16:37:36.000000000 +0000
-+++ ACE_wrappers/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp 2007-02-13 11:46:59.000000000 +0000
-@@ -85,7 +85,7 @@
+diff -rupd ACE_wrappers.orig/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp ACE_wrappers/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp
+--- ACE_wrappers.orig/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp 2009-12-14 00:42:09.422163150 +0100
++++ ACE_wrappers/TAO/tao/PortableServer/LifespanStrategyPersistent.cpp 2009-12-14 00:59:12.223163120 +0100
+@@ -83,7 +83,7 @@ namespace TAO
{
ACE_Service_Config::process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE(
- "ImR_Client_Adapter", "TAO_ImR_Client",
-+ "ImR_Client_Adapter", "libTAO_ImR_Client-1.6.6.so",
++ "ImR_Client_Adapter", "libTAO_ImR_Client-1.7.7.so",
"_make_ImR_Client_Adapter_Impl", ""));
adapter =
---- ACE_wrappers.orig/TAO/tao/TAO_Internal.cpp 2006-12-28 11:46:39.000000000 +0000
-+++ ACE_wrappers/TAO/tao/TAO_Internal.cpp 2007-02-13 11:47:57.000000000 +0000
-@@ -484,7 +484,7 @@
+diff -rupd ACE_wrappers.orig/TAO/tao/RTCORBA/RT_ORBInitializer.cpp ACE_wrappers/TAO/tao/RTCORBA/RT_ORBInitializer.cpp
+--- ACE_wrappers.orig/TAO/tao/RTCORBA/RT_ORBInitializer.cpp 2009-12-14 00:42:09.774162647 +0100
++++ ACE_wrappers/TAO/tao/RTCORBA/RT_ORBInitializer.cpp 2009-12-14 00:59:12.223163120 +0100
+@@ -41,7 +41,7 @@ static const char rt_poa_factory_name[]
+ static const ACE_TCHAR rt_poa_factory_directive[] =
+ ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "TAO_RT_Object_Adapter_Factory",
+- "TAO_RTPortableServer",
++ "libTAO_RTPortableServer-1.7.7.so",
+ "_make_TAO_RT_Object_Adapter_Factory",
+ "");
+
+diff -rupd ACE_wrappers.orig/TAO/tao/TAO_Internal.cpp ACE_wrappers/TAO/tao/TAO_Internal.cpp
+--- ACE_wrappers.orig/TAO/tao/TAO_Internal.cpp 2009-12-14 00:42:10.002163319 +0100
++++ ACE_wrappers/TAO/tao/TAO_Internal.cpp 2009-12-14 00:59:12.223163120 +0100
+@@ -534,7 +534,7 @@ namespace
ACE_Service_Config::process_directive (
ACE_DYNAMIC_SERVICE_DIRECTIVE (
"TAO_Codeset",
- "TAO_Codeset",
-+ "libTAO_Codeset-1.6.6.so",
++ "libTAO_Codeset-1.7.7.so",
"_make_TAO_Codeset_Manager_Factory",
""));
---- ACE_wrappers.orig/TAO/tao/RTCORBA/RT_ORBInitializer.cpp 2007-06-28 18:53:33.000000000 +0000
-+++ ACE_wrappers/TAO/tao/RTCORBA/RT_ORBInitializer.cpp 2007-06-28 18:55:43.000000000 +0000
-@@ -40,7 +40,7 @@
- static const ACE_TCHAR rt_poa_factory_directive[] =
- ACE_DYNAMIC_SERVICE_DIRECTIVE(
- "TAO_RT_Object_Adapter_Factory",
-- "TAO_RTPortableServer",
-+ "libTAO_RTPortableServer-1.6.6.so",
- "_make_TAO_RT_Object_Adapter_Factory",
- "");
+diff -rupd ACE_wrappers.orig/TAO/tests/DLL_ORB/client.cpp ACE_wrappers/TAO/tests/DLL_ORB/client.cpp
+--- ACE_wrappers.orig/TAO/tests/DLL_ORB/client.cpp 2009-12-14 00:42:12.254247172 +0100
++++ ACE_wrappers/TAO/tests/DLL_ORB/client.cpp 2009-12-14 01:19:12.378162468 +0100
+@@ -30,7 +30,7 @@ ACE_TMAIN(int, ACE_TCHAR *[])
+ if (ACE_Service_Config::process_directive (
+ ACE_DYNAMIC_SERVICE_DIRECTIVE(
+ "Client_Module",
+- "Test_Client_Module",
++ "libTest_Client_Module-1.7.7.so",
+ "_make_Test_Client_Module",
+ "-k file://test.ior")) != 0)
+ {
+diff -rupd ACE_wrappers.orig/TAO/tests/ORB_Local_Config/Bug_2612/Test.cpp ACE_wrappers/TAO/tests/ORB_Local_Config/Bug_2612/Test.cpp
+--- ACE_wrappers.orig/TAO/tests/ORB_Local_Config/Bug_2612/Test.cpp 2009-12-14 00:42:13.546163086 +0100
++++ ACE_wrappers/TAO/tests/ORB_Local_Config/Bug_2612/Test.cpp 2009-12-14 01:26:03.054181888 +0100
+@@ -13,7 +13,7 @@ ACE_TCHAR const * const scpc_loadOrb = /
+ // each parameter CANNOT be split into multiple quoted strings "line1" "nextline" with the expectation that
+ // they will be join together. Hence the long parameter 4.
+ ACE_DYNAMIC_SERVICE_DIRECTIVE ("testDllOrb",
+- "DllOrb",
++ "DllOrb.so",
+ "_make_DllOrb",
+ "DllOrb -t 1 -ORBGestalt Local -ORBDebugLevel 3 -ORBId testORB -ORBInitRef NameService=file:///tmp/test-ns.ior -ORBDottedDecimalAddresses 1"
+ );
+diff -rupd ACE_wrappers.orig/TAO/tests/ORB_Local_Config/Service_Dependency/Test.cpp ACE_wrappers/TAO/tests/ORB_Local_Config/Service_Dependency/Test.cpp
+--- ACE_wrappers.orig/TAO/tests/ORB_Local_Config/Service_Dependency/Test.cpp 2009-12-14 00:42:13.650166654 +0100
++++ ACE_wrappers/TAO/tests/ORB_Local_Config/Service_Dependency/Test.cpp 2009-12-14 00:59:12.259162724 +0100
+@@ -153,7 +153,7 @@ testORBInitializer_Registry (int , ACE_T
+ {
+ one->process_directive (
+ ACE_DYNAMIC_SERVICE_DIRECTIVE("ORBInitializer_Registry",
+- "TAO_PI",
++ "libTAO_PI-1.7.7.so",
+ "_make_ORBInitializer_Registry",
+ ""));
+ oir =
+@@ -252,7 +252,7 @@ testORBInitializer_Registry (int , ACE_T
+
+ one->process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE("PolicyFactory_Loader",
+- "TAO_PI",
++ "libTAO_PI-1.7.7.so",
+ "_make_TAO_PolicyFactory_Loader",
+ ""));
+
+@@ -292,7 +292,7 @@ testServiceDependency (int , ACE_TCHAR *
+ int result = one->process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_Codeset",
+- "TAO_Codeset",
++ "libTAO_Codeset-1.7.7.so",
+ "_make_TAO_Codeset_Manager_Factory",
+ ""));
+ if (result != 0)
+diff -rupd ACE_wrappers.orig/TAO/tests/TransportCurrent/Framework/simple.cpp ACE_wrappers/TAO/tests/TransportCurrent/Framework/simple.cpp
+--- ACE_wrappers.orig/TAO/tests/TransportCurrent/Framework/simple.cpp 2009-12-14 00:42:10.274245769 +0100
++++ ACE_wrappers/TAO/tests/TransportCurrent/Framework/simple.cpp 2009-12-14 00:59:12.259162724 +0100
+@@ -59,7 +59,7 @@ testCurrentLoader (int, char *[])
+ #if !defined (TAO_AS_STATIC_LIBS)
+ int ret = ACE_Service_Config::process_directive
+ (ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_Transport_Current_Loader",
+- "TAO_Transport_Current",
++ "libTAO_Transport_Current-1.7.7.so",
+ "_make_TAO_Transport_Current_Loader",
+ ""));
+ ACE_ASSERT (ret == 0);
diff --git a/debianbuild/patches/90-patch-mpc-basedir.dpatch b/debianbuild/patches/90-patch-mpc-basedir.dpatch
new file mode 100644
index 00000000000..594844a615b
--- /dev/null
+++ b/debianbuild/patches/90-patch-mpc-basedir.dpatch
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 90-patch-mpc-basedir.dpatch by <pgquiles@elpauer.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Set MPC base dir directly, no need to fix the tests performed by ACE
+## DP: because there is no Debian/VMS (yeat :-)
+
+@DPATCH@
+
+diff -rupd ACE_wrappers.orig/bin/mpc.pl ACE_wrappers/bin/mpc.pl
+--- ACE_wrappers.orig/bin/mpc.pl 2009-11-23 01:19:57.000000000 +0100
++++ ACE_wrappers/bin/mpc.pl 2009-11-24 00:24:27.000000000 +0100
+@@ -20,13 +20,7 @@ use FindBin;
+ use File::Spec;
+ use File::Basename;
+
+-my($basePath) = $FindBin::RealBin;
+-my($baseName) = $FindBin::RealScript;
+-if ($^O eq 'VMS') {
+- $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
+- $basePath = VMS::Filespec::unixify($basePath);
+-}
+-$basePath .= '/MakeProjectCreator';
++my($basePath) = '/usr/share/ace/bin/MakeProjectCreator';
+
+ my($mpcroot) = $ENV{MPC_ROOT};
+ my($mpcpath) = (defined $mpcroot ? $mpcroot :
+diff -rupd ACE_wrappers.orig/bin/mwc.pl ACE_wrappers/bin/mwc.pl
+--- ACE_wrappers.orig/bin/mwc.pl 2009-11-23 01:19:57.000000000 +0100
++++ ACE_wrappers/bin/mwc.pl 2009-11-24 00:23:44.000000000 +0100
+@@ -20,13 +20,7 @@ use FindBin;
+ use File::Spec;
+ use File::Basename;
+
+-my($basePath) = $FindBin::RealBin;
+-my($baseName) = $FindBin::RealScript;
+-if ($^O eq 'VMS') {
+- $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
+- $basePath = VMS::Filespec::unixify($basePath);
+-}
+-$basePath .= '/MakeProjectCreator';
++my($basePath) = '/usr/share/ace/bin/MakeProjectCreator';
+
+ my($mpcroot) = $ENV{MPC_ROOT};
+ my($mpcpath) = (defined $mpcroot ? $mpcroot :
diff --git a/debianbuild/patches/91-patch-dg-basedir.dpatch b/debianbuild/patches/91-patch-dg-basedir.dpatch
new file mode 100644
index 00000000000..0703e3e6a38
--- /dev/null
+++ b/debianbuild/patches/91-patch-dg-basedir.dpatch
@@ -0,0 +1,24 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 91-patch-dg-basedir.dpatch by Thomas Girard <thomas.g.girard@free.fr>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix path to DependencyGenerator.
+
+@DPATCH@
+--- ACE_wrappers.orig/bin/depgen.pl
++++ ACE_wrappers/bin/depgen.pl
+@@ -19,12 +19,8 @@
+ use File::Spec;
+ use File::Basename;
+
+-my($basePath) = $FindBin::RealBin;
+-if ($^O eq 'VMS') {
+- $basePath = File::Spec->rel2abs(dirname($0)) if ($basePath eq '');
+- $basePath = VMS::Filespec::unixify($basePath);
+-}
+-unshift(@INC, $basePath . '/DependencyGenerator');
++my($basePath) = '/usr/share/ace/bin/DependencyGenerator';
++unshift(@INC, $basePath);
+
+ require DependencyEditor;
+
diff --git a/debianbuild/rules b/debianbuild/rules
index 8ea6fb8990b..cfaa1f713f0 100644
--- a/debianbuild/rules
+++ b/debianbuild/rules
@@ -8,28 +8,13 @@
INSTALL := install -o root -g root
INSTALL_755 := $(INSTALL) -m 755
-
-export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-
-ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
-confflags += --build $(DEB_HOST_GNU_TYPE)
-else
-confflags += --build $(DEB_BUILD_GNU_TYPE) \
- --host $(DEB_HOST_GNU_TYPE)
-endif
-
-TCL_HOME := /usr/lib
-TK_HOME := /usr/lib
-
ACE_SUBDIR := ACE_wrappers
ACE_ARCHIVE := $(shell ls -1 ACE+TAO+CIAO-src-*.tar.bz2 2>/dev/null || echo ace-archive-missing)
MPC_SUBDIR := MPC
MPC_ARCHIVE := $(shell ls -1 MPC*.tar.gz 2>/dev/null || echo mpc-archive-missing)
-
-MWCFLAGS := -type automake -features "ssl=1,zlib=1,zzip=1,xt=1,tk=1,fl=1,qt=1,fox=1" -noreldefs
-
+MWCFLAGS := -type gnuace -features "ssl=1,zlib=1,zzip=1,xt=1,tk=1,fl=1,fox=1,qt4=1,exceptions=1,ace_qt4reactor=1" -noreldefs -genins
+ACE_MAKE_FLAGS := ssl=1 zlib=1 zzip=1 xt=1 tk=1 fl=1 fox=1 qt4=1 debug=0 inline=1 optimize=1 exceptions=1 ace_qt4reactor=1
+PRJ_INSTALL_FLAGS := -k -s man_files,lib_output,header_files,inline_files,exe_output,idl_files,pidl_files,template_files -b lib_output=usr/lib -b exe_output=usr/bin -b idl_files=usr/include -b pidl_files=usr/include -b template_files=usr/include -b header_files=usr/include -b inline_files=usr/include -b idl_files=usr/include -b man_files=usr/share/man
MAN1 := debian/Basic_Logging_Service.1 \
debian/Event_Logging_Service.1 \
debian/Notify_Logging_Service.1 \
@@ -37,6 +22,8 @@ MAN1 := debian/Basic_Logging_Service.1 \
debian/TAO_ORB_Options.1 \
debian/mpc-ace.1
MAN5 :=
+# Where we install every file before calling dh_install
+DT := debian/tmp
DOXYGEN_FILES_TO_REMOVE := -name '*.tag' -o \
-name '*.md5' -o \
@@ -59,17 +46,15 @@ export QTDIR := /usr/share/qt4
PREPATCH_MARK := 50-prepatch-dummy-mark.dpatch
UNTIL := $(PREPATCH_MARK)
-# Where we install every file before calling dh_install
-DT := debian/tmp
-
-CONFIG := objdir/ace/config.h
+.NOTPARALLEL: debian/mpc-ace.sgml debian/%.1 debian/%.5 prepatch extract doxygen clean install build binary-indep binary-arch binary
+.PHONY: doxygen patch prepatch extract build clean binary-indep binary-arch binary install unpatch source diff
extract-stamp: $(ACE_ARCHIVE)
tar -xjf $<
- cp debian/platform_macros.GNU.in $(ACE_ROOT)/include/makeinclude
+ cp debian/platform_macros.GNU $(ACE_ROOT)/include/makeinclude
+ cp debian/config.h $(ACE_ROOT)/ace/config.h
touch $@
-.PHONY: extract
extract: extract-stamp
$(MPC_ROOT): $(MPC_ARCHIVE)
@@ -89,42 +74,29 @@ else
prepatch-stamp: extract-stamp
endif
dpatch apply-until $(UNTIL)
- cd $(ACE_ROOT) && bin/mwc.pl -noreldefs $(MWCFLAGS) ACE.mwc
- cd $(TAO_ROOT) && ../bin/mwc.pl -noreldefs $(MWCFLAGS) TAO.mwc
- patch -p0 < debian/patches/09-autoconf-fix-no-base-include-headers.diff
- patch -p0 < debian/patches/21-generate-platform_macros.GNU.diff
+
+ cp debian/ACE-DPKG.mwc $(ACE_ROOT)
+ cd $(ACE_ROOT) && bin/mwc.pl $(MWCFLAGS) ACE-DPKG.mwc
+ cp debian/TAO-DPKG.mwc $(TAO_ROOT)
+ cd $(TAO_ROOT) && ../bin/mwc.pl $(MWCFLAGS) TAO-DPKG.mwc
touch $@
-.PHONY: prepatch
prepatch: prepatch-stamp
pl-stamp: extract-stamp
for fn in `find "$(ACE_ROOT)" -name "*.pl"`; do (echo '#!/usr/bin/perl'; cat "$$fn") > "$${fn}T"; mv "$${fn}T" "$$fn"; chmod a+x "$$fn"; done
touch $@
-patch-stamp: pl-stamp autotools-stamp
+patch-stamp: prepatch pl-stamp
dpatch apply-all
- chmod +x $(ACE_ROOT)/configure $(ACE_ROOT)/TAO/configure
touch $@
-.PHONY: patch
patch: patch-stamp
unpatch: patch-stamp
dpatch unpatch
rm -f $<
-ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CXXFLAGS+=-O2
-endif
-
-autotools-stamp: prepatch-stamp
- cd $(ACE_ROOT) && bin/bootstrap
- touch $@
-
-.PHONY: autotools
-autotools: autotools-stamp
-
build: build-stamp manpages-stamp
manpages-stamp: $(MAN1) $(MAN5)
@@ -136,20 +108,17 @@ doxygen-stamp: extract-stamp
find $(ACE_ROOT)/html/tao $(DOXYGEN_FILES_TO_REMOVE) | xargs -r rm -f
touch $@
-.PHONY: doxygen
doxygen: doxygen-stamp
-build-stamp: configure-stamp
+build-stamp: patch-stamp
dh_testdir
- mkdir -p objdir/ace/QtReactor
- $(MAKE) -C objdir
- $(MAKE) -C objdir/TAO
-
+ cd $(ACE_ROOT) && $(MAKE) $(ACE_MAKE_FLAGS)
+ cd $(TAO_ROOT) && $(MAKE) $(ACE_MAKE_FLAGS)
touch $@
clean:
dh_testdir
- rm -rf $(ACE_SUBDIR) $(MPC_SUBDIR) objdir debian/patched $(MAN1) $(MAN5) *-stamp debian/mpc-ace.sgml
+ rm -rf $(ACE_SUBDIR) $(MPC_SUBDIR) debian/patched $(MAN1) $(MAN5) *-stamp debian/mpc-ace.sgml
dh_clean
install: build
@@ -157,16 +126,37 @@ install: build
dh_testroot
dh_clean -k
dh_installdirs
-
- $(MAKE) -C objdir install DESTDIR=$(CURDIR)/$(DT)
- $(MAKE) -C objdir/TAO install DESTDIR=$(CURDIR)/$(DT)
-
-# Rename the catior utility, it already exists in another package
- mv $(DT)/usr/bin/catior $(DT)/usr/bin/tao-catior
-
-# Multiple README
- cp $(TAO_ROOT)/utils/catior/README $(TAO_ROOT)/utils/catior/README.catior
- cp $(TAO_ROOT)/utils/nslist/README $(TAO_ROOT)/utils/nslist/README.nslist
+# 2nd-pass MPC generation is a quick bugfix related with write_install_files@MPC/modules/ProjectCreator.pm
+ echo 2nd-pass MPC generation
+ cd $(ACE_ROOT) && bin/mwc.pl $(MWCFLAGS) ACE-DPKG.mwc
+ cd $(TAO_ROOT) && ../bin/mwc.pl $(MWCFLAGS) TAO-DPKG.mwc
+# Install ACE files in $(CURDIR)/$(DT)
+ echo Installing..
+ cd $(ACE_ROOT) && MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) ace
+ cd $(ACE_ROOT) && MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) apps
+ cd $(ACE_ROOT) && MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) ACEXML
+ cd $(ACE_ROOT) && MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) Kokyu
+ cd $(ACE_ROOT)/protocols && ../MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) ace
+
+# Install TAO files in $(CURDIR)/$(DT)
+ cd $(TAO_ROOT) && ../MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) tao
+ cd $(TAO_ROOT) && ../MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) orbsvcs
+ cd $(TAO_ROOT) && ../MPC/prj_install.pl -k -s man_files,exe_output,lib_output -b exe_output=usr/bin -b man_files=usr/share/man -b lib_output=usr/lib $(CURDIR)/$(DT) TAO_IDL
+ cd $(TAO_ROOT) && ../MPC/prj_install.pl $(PRJ_INSTALL_FLAGS) $(CURDIR)/$(DT) utils
+
+# Move libraries and excutable to lib and bin, then remove subdirectories
+ cd $(CURDIR)/$(DT)/usr/bin && find . -executable -a -type f -exec mv {} . ';' && find . -type d -delete
+ cd $(CURDIR)/$(DT)/usr/lib && find . -type f -exec mv {} . ';' && find . -type d -delete
+
+# Create .so links instead of copies
+ cd $(CURDIR)/$(DT)/usr/lib && find . -iname '*.so' -exec echo ln -sf {}.* {} ';' | sh
+
+# Change man1 files location
+ mkdir -p $(CURDIR)/$(DT)/usr/share/man/man1
+ cd $(CURDIR)/$(DT)/usr/share/man && find . -iname *.1 -exec mv {} man1 ';' && rm -rf apps
+
+# Move orbsvcs files from include/tao/orbsvcs into include/orbsvcs
+ cd $(CURDIR)/$(DT)/usr/include/orbsvcs && mv -f orbsvcs/* . && rm -rf orbsvcs
# We provide scripts replacement for tao_idl and tao_ifr ; they
# automatically define ACE_ROOT and TAO_ROOT
@@ -175,15 +165,16 @@ install: build
mv $(DT)/usr/bin/tao_ifr $(DT)/usr/bin/tao_ifr.real
$(INSTALL_755) -D debian/tao_ifr $(DT)/usr/bin/tao_ifr
-# Copy MPC files.
+# Install mpc scripts
$(INSTALL_755) -D $(ACE_ROOT)/bin/mpc.pl $(DT)/usr/bin/mpc-ace
$(INSTALL_755) -D $(ACE_ROOT)/bin/mwc.pl $(DT)/usr/bin/mwc-ace
+ rm -f $(ACE_SUBDIR)/MPC/config/.cvsignore
+
# Be lintian clean, fix permissions on examples
- -chmod -x `find $(TAO_ROOT)/examples/ -perm 755 ! -type d -a ! \( -name "*.pl" -o -name "*.sh" \)`
+# But find returns nothing..
+# -chmod -x `find $(TAO_ROOT)/examples/ -perm 755 ! -type d -a ! \( -name "*.pl" -o -name "*.sh" \)`
-# We don't install .la files
- find $(DT) -name '*.la' -print0 | xargs -0 rm
rm -f $(DT)/usr/bin/TAO_Service
dh_install --sourcedir=$(DT) --fail-missing
@@ -227,43 +218,3 @@ source diff:
binary: binary-indep binary-arch
-configure-stamp: patch-stamp
- mkdir -p objdir
- cd objdir && ../ACE_wrappers/configure $(confflags) --prefix=/usr \
- --disable-tao-examples --disable-tao-tests \
- --disable-ace-examples --disable-ace-tests \
- --enable-fl-reactor --enable-qt-reactor --enable-xt-reactor \
- --enable-tk-reactor \
- --with-fox-config=/usr/bin --enable-fox-reactor \
- --with-tclconfig=$(TCL_HOME) --with-tkconfig=$(TK_HOME) \
- --with-zlib --with-zzip \
- --enable-ipv6 --enable-ipv4-ipv6 \
- --enable-inline \
- --enable-pthreads \
- --enable-symbol-visibility \
- --enable-ace-reactor-notification-queue
- echo '#define TAO_IDL_INCLUDE_DIR "/usr/include/tao"' >> $(CONFIG)
-
- # bz#3138
- echo "#define ACE_HAS_RECURSIVE_MUTEXES" >> $(CONFIG)
-
- echo "#define ACE_HAS_SCANDIR" >> $(CONFIG)
- echo "#define ACE_SCANDIR_CMP_USES_CONST_VOIDPTR" >> $(CONFIG)
-
- # bz#3144
- echo "#define ACE_HAS_SENDFILE" >> $(CONFIG)
-
- echo "#define ACE_LACKS_WCSICMP" >> $(CONFIG)
-
- echo "#define ACE_POSIX_SIG_PROACTOR" >> $(CONFIG)
-
- # TODO: ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO?
-
- # Remove PACKAGE_* from the generated config.h
- sed -i -e '/package/I D' objdir/ace/config.h
- touch $@
-
-.PHONY: configure
-configure: configure-stamp
-
-.PHONY: build clean binary-indep binary-arch binary install unpatch source diff
diff --git a/debianbuild/tao-ifr.install b/debianbuild/tao-ifr.install
index 745c4474b5b..e281cfffc67 100644
--- a/debianbuild/tao-ifr.install
+++ b/debianbuild/tao-ifr.install
@@ -1,3 +1,4 @@
usr/bin/IFR_Service
usr/bin/tao_ifr.real
usr/bin/tao_ifr
+
diff --git a/debianbuild/tao-utils.install b/debianbuild/tao-utils.install
index 087577155ab..bb19843035e 100644
--- a/debianbuild/tao-utils.install
+++ b/debianbuild/tao-utils.install
@@ -1,2 +1,2 @@
-usr/bin/tao-ns{add,del,list}
-usr/bin/tao-catior
+usr/bin/tao_ns{add,del,list}
+usr/bin/tao_catior
diff --git a/docs/ACE-guidelines.html b/docs/ACE-guidelines.html
index 86937035ff0..512e0cf915a 100644
--- a/docs/ACE-guidelines.html
+++ b/docs/ACE-guidelines.html
@@ -494,21 +494,14 @@ If using g++, problems like this can be flagged as a warning by using the "<code
for (unsigned int i = 0; i &lt; count; ++i)
++total;
</pre>
- Though, I prefer to always wrap the body of the loop in braces,
- to avoid surprises when other code or debugging statements are
- added, and to maintain sanity when the body consists of a macro,
- such as an <code>ACE_ASSERT</code> without a trailing semicolon:
- <pre>
- for (unsigned int i = 0; i &lt; count; ++i)
- {
- ACE_ASSERT (++total &lt; UINT_MAX;)
- }
- </pre><p>
Similarly, <strong><code>if</code></strong> statements should have
a space after the "<strong>if</strong>", and no spaces just after
the opening parenthesis and just before the closing parenthesis.<p>
+ If there's just one statement in the loop or if statement
+ there's no need to use additional braces.
+
<li>If a loop index is used after the body of the loop, it
<strong>must</strong> be declared before the loop. For example,
@@ -1260,7 +1253,7 @@ public:
<li>Test your change on at least Windows and Linux before commiting.
After commiting watch the scoreboard to catch errors your change
may be related to on other platforms.
- <li>An an entry to the appropriate ChangeLog. TAO and some
+ <li>Add an entry to the appropriate ChangeLog. TAO and some
ACE subdirectories, such as <a href="../ASNMP">ASNMP</a>,
<a href="../apps/JAWS">JAWS</a>, and
<a href="../apps/gperf">gperf,</a> have their
diff --git a/docs/Download.html b/docs/Download.html
index b98d89f3113..78d361e3f1d 100644
--- a/docs/Download.html
+++ b/docs/Download.html
@@ -66,7 +66,7 @@ case. You may want to understand the DOC group's <A
HREF="https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/docs/ACE-bug-process.html?revision=HEAD">
bug fixing policies</A> when you make this decision. </P>The full
packages do contain all sources with pre generated makefiles for GNU
-make, Visual C++ 7.1/8.0/9.0, CodeGear C++ make, and GNU autoconf. The
+make, Visual C++ 8.0/9.0, and GNU autoconf. The
sources only packes just contain the sources, you have to generate
your own makefiles with MPC. </P>
<P>
@@ -84,101 +84,101 @@ of the ACE, TAO, and CIAO micro release kit is available for
<TR><TH>Filename</TH><TH>Description</TH><TH>Full</TH><TH>Sources only</TH></TR>
<TR><TD>ACE+TAO+CIAO.tar.gz</TD>
<TD>ACE+TAO+CIAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.tar.gz">FTP</A>]
</TD>
</TR>
<TR><TD>ACE+TAO+CIAO.tar.bz2</TD>
<TD>ACE+TAO+CIAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.tar.bz2">FTP</A>]
</TD>
</TR>
<TR><TD>ACE+TAO+CIAO.zip</TD>
<TD>ACE+TAO+CIAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.8.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.8.zip">FTP</A>]
</TD>
</TR>
<TR><TD>ACE+TAO.tar.gz</TD>
<TD>ACE+TAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.tar.gz">FTP</A>]
</TD>
</TR>
<TR><TD>ACE+TAO.tar.bz2</TD>
<TD>ACE+TAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.tar.bz2">FTP</A>]
</TD>
</TR>
<TR><TD>ACE+TAO.zip</TD>
<TD>ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.8.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.8.zip">FTP</A>]
</TD>
</TR>
<TR><TD>ACE-html.tar.gz</TD>
<TD>Doxygen documentation for ACE+TAO+CIAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.tar.gz">FTP</A>]
</TD>
</TR>
<TR><TD>ACE-html.tar.bz2</TD>
<TD>Doxygen documentation for ACE+TAO+CIAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.tar.bz2">FTP</A>]
</TD>
</TR>
<TR><TD>ACE-html.zip</TD>
<TD>Doxygen documentation for ACE+TAO+CIAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.8.zip">FTP</A>]
</TD>
</TR>
<TR><TD>ACE.tar.gz</TD>
<TD>ACE only (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.tar.gz">FTP</A>]
</TD>
</TR>
<TR><TD>ACE.tar.bz2</TD>
<TD>ACE only (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.tar.bz2">FTP</A>]
</TD>
</TR>
<TR><TD>ACE.zip</TD>
<TD>ACE only (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.7.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.8.zip">FTP</A>]
</TD>
</TR>
</TABLE>
@@ -188,222 +188,223 @@ of the ACE, TAO, and CIAO micro release kit is available for
<A HREF="ftp://download.dre.vanderbilt.edu/diffs">this location</A>.
</P>
-<LI> <B>Latest Release.</B> The latest release is ACE 5.6, TAO 1.6, and CIAO 0.6
-(ACE+TAO+CIAO x.6), please use the links below to download it.<P>
+<LI> <B>Latest Release.</B> The latest release is ACE 5.7, TAO 1.7, and CIAO 0.7
+(ACE+TAO+CIAO x.7), please use the links below to download it.<i>ACE+TAO+CIAO x.7 is the same as the micro release x.7.0</i><P>
<TABLE BORDER="4">
<TR><TH>Filename</TH><TH>Description</TH><TH>Full</TH><TH>Sources only</TH></TR>
- <TR><TD>ACE+TAO+CIAO-5.6.tar.gz</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.tar.gz</TD>
<TD>ACE+TAO+CIAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO+CIAO-5.6.tar.bz2</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.tar.bz2</TD>
<TD>ACE+TAO+CIAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO+CIAO-5.6.zip</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.zip</TD>
<TD>ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.0.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.0.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.tar.gz</TD>
+ <TR><TD>ACE+TAO-5.7.tar.gz</TD>
<TD>ACE+TAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.tar.bz2</TD>
+ <TR><TD>ACE+TAO-5.7.tar.bz2</TD>
<TD>ACE+TAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.zip</TD>
+ <TR><TD>ACE+TAO-5.7.zip</TD>
<TD>ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.0.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.0.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6-html.tar.gz</TD>
+ <TR><TD>ACE-5.7-html.tar.gz</TD>
<TD>Doxygen documentation for ACE+TAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6-html.tar.bz2</TD>
+ <TR><TD>ACE-5.7-html.tar.bz2</TD>
<TD>Doxygen documentation for ACE+TAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.0.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6-html.zip</TD>
+ <TR><TD>ACE-5.7-html.zip</TD>
<TD>Doxygen documentation for ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.0.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.tar.gz</TD>
+ <TR><TD>ACE-5.7.tar.gz</TD>
<TD>ACE only (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.tar.bz2</TD>
+ <TR><TD>ACE-5.7.tar.bz2</TD>
<TD>ACE only (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.zip</TD>
+ <TR><TD>ACE-5.7.zip</TD>
<TD>ACE only (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.0.zip">FTP</A>]
</TD>
</TR>
</TABLE>
<P>
-<LI> <A NAME="stable-beta"></A><B>Latest BFO Micro Release.</B> The
-BFO micro release for the latest release of ACE 5.6, TAO 1.6, CIAO 0.6
-is, ACE 5.6.1, TAO 1.6.1, and CIAO 0.6.1 (ACE+TAO+CIAO x.6.1). Please
-use the links below to download it.
+<LI> <A NAME="stable-beta"></A><B>Latest BFO Micro Release.</B> The
+Bug Fix Only micro release for the latest release of ACE 5.7, TAO 1.7, CIAO 0.7
+is ACE 5.7.1, TAO 1.7.1 and CIAO 0.7.1 (ACE+TAO+CIAO x.7.1).Please use
+the links below to download it.
<TABLE BORDER="4">
<TR><TH>Filename</TH><TH>Description</TH><TH>Full</TH><TH>Sources only</TH></TR>
- <TR><TD>ACE+TAO+CIAO-5.6.1.tar.gz</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.1.tar.gz</TD>
<TD>ACE+TAO+CIAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO+CIAO-5.6.1.tar.bz2</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.1.tar.bz2</TD>
<TD>ACE+TAO+CIAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO+CIAO-5.6.1.zip</TD>
+ <TR><TD>ACE+TAO+CIAO-5.7.1.zip</TD>
<TD>ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.7.1.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-5.7.1.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.1.tar.gz</TD>
+ <TR><TD>ACE+TAO-5.7.1.tar.gz</TD>
<TD>ACE+TAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.1.tar.bz2</TD>
+ <TR><TD>ACE+TAO-5.7.1.tar.bz2</TD>
<TD>ACE+TAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE+TAO-5.6.1.zip</TD>
+ <TR><TD>ACE+TAO-5.7.1.zip</TD>
<TD>ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.7.1.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-5.7.1.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1-html.tar.gz</TD>
+ <TR><TD>ACE-5.7.1-html.tar.gz</TD>
<TD>Doxygen documentation for ACE+TAO (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1-html.tar.bz2</TD>
+ <TR><TD>ACE-5.7.1-html.tar.bz2</TD>
<TD>Doxygen documentation for ACE+TAO (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1-html.zip</TD>
+ <TR><TD>ACE-5.7.1-html.zip</TD>
<TD>Doxygen documentation for ACE+TAO (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-html-5.7.1.zip">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1.tar.gz</TD>
+ <TR><TD>ACE-5.7.1.tar.gz</TD>
<TD>ACE only (tar+gzip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.tar.gz">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.tar.gz">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.tar.gz">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.tar.gz">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.tar.gz">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1.tar.bz2</TD>
+ <TR><TD>ACE-5.7.1.tar.bz2</TD>
<TD>ACE only (tar+bzip2 format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.tar.bz2">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.tar.bz2">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.tar.bz2">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.tar.bz2">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.tar.bz2">FTP</A>]
</TD>
</TR>
- <TR><TD>ACE-5.6.1.zip</TD>
+ <TR><TD>ACE-5.7.1.zip</TD>
<TD>ACE only (zip format)</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.1.zip">FTP</A>]
</TD>
- <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.zip">HTTP</A>]
- [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.6.1.zip">FTP</A>]
+ <TD>[<A HREF="http://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.zip">HTTP</A>]
+ [<A HREF="ftp://download.dre.vanderbilt.edu/previous_versions/ACE-src-5.7.1.zip">FTP</A>]
</TD>
</TR>
</TABLE>
<P>
+
</UL>
<P>
Older versions of ACE+TAO are also available via HTTP at <A
@@ -442,5 +443,15 @@ and TAO please submit submit a <A
HREF="http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-bug-process.html">bug
report</A>.
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try{
+var pageTracker = _gat._getTracker("UA-7939436-1");
+pageTracker._trackPageview();
+} catch(err) {}
+</script>
</BODY>
</HTML>
diff --git a/docs/ace_guidelines.vsmacros b/docs/ace_guidelines.vsmacros
index 8b11ca2b1d7..a01cb158ebd 100644
--- a/docs/ace_guidelines.vsmacros
+++ b/docs/ace_guidelines.vsmacros
Binary files differ
diff --git a/docs/bczar/bczar.html b/docs/bczar/bczar.html
index 6c42692f251..722641c60b6 100644
--- a/docs/bczar/bczar.html
+++ b/docs/bczar/bczar.html
@@ -44,7 +44,7 @@
about a compile error in a particular configuration, try setting up a build to
make sure that it doesn't show up again if it has been fixed.
<li>
- Keep an eye on the <a href="http://deuce.doc.wustl.edu/bugzilla/index.cgi">bugzilla
+ Keep an eye on the <a href="http://bugzilla.dre.vanderbilt.edu/">bugzilla
</a>
entries that are registered by users and developers. Decide on the bugs that
need to be fixed for the beta and pain developers for an ETA.
@@ -55,7 +55,7 @@
</P>
<P>
The Build Czar is empowered to set up more builds on his own for his
- convenience. This <a href="https://svn.dre.vanderbilt.edu/viewvc/ACE_autobuild/trunk/README?revision=HEAD">
+ convenience. This <a href="https://svn.dre.vanderbilt.edu/viewvc/autobuild/trunk/README?revision=HEAD">
page </a>has a step by step instructions on how to do that.
</P>
<P>
@@ -93,14 +93,19 @@
</ul>
<li>
Prior to starting this, gather aggregate release notes from all developers.
- This is usually in the form of an email plea asking for a writeup of
- significant changes since the last beta. Add these notes to the NEWS files
- before cutting the release so that all notes are part of the release.</li>
+ This is usually in the form of an email plea asking to update all NEWS files in
+ the archive. These NEWS files are used as part of the release notes for the release.</li>
<li>
- Checkout a new workspace on <tt>anduril.dre.vanderbilt.edu</tt></li>
+ Checkout a new workspace on a Fedora system with the last public release and with
+ all patches installed. This can be achieved using
+ <ul>
+ <li>yum install perl svn screen pysvn automake doxygen bzip2 tar gzip openssh</li>
+ <li>yum update</li>
+ </ul>
+ </li>
<ul>
<li>
- The best place to create the workspace is under /export/anduriltmp/bczar. Don't
+ The best place to create the workspace is under /export/anduriltmp/bczar (if you are on anduril). Don't
use the home directory itself, it is an NFS share and not really fast.
</li>
<li>
@@ -193,7 +198,7 @@
documentation, this can be started in parrellel with this activity.
</li>
<li>
- The kits end up in <tt>/export/anduriltmp/bczar/packages</tt></li>
+ The kits end up in <tt>$DOC_ROOT/packages</tt></li>
</ul>
<p>
To summarize, the following is a transcript of the steps up to this point
@@ -201,12 +206,14 @@
<p><code>$ ssh bczar@anduril.dre.vanderbilt.edu<br>
No default printer<br>
-bash-3.00$ screen<br>
- -bash-3.00$ cd /export/anduriltmp/bczar<br>
+ -bash-3.00$ cd /tmp<br>
+ -bash-3.00$ rm -rf DOC_ROOT<br>
+ -bash-3.00$ mkdir DOC_ROOT<br>
-bash-3.00$ export DOC_ROOT=$PWD/DOC_ROOT<br>
-bash-3.00$ export SIGNATURE="Johnny Willemsen"<br>
-bash-3.00$ export MAILID=jwillemsen@remedy.nl<br>
- -bash-3.00$ svn co https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT<br>
- -bash-3.00$ svn co https://svn.dre.vanderbilt.edu/DOC/MPC/trunk
+ -bash-3.00$ svn co --username johnnyw https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT<br>
+ -bash-3.00$ svn co --username johnnyw https://svn.dre.vanderbilt.edu/DOC/MPC/trunk
DOC_ROOT/ACE/MPC<br>
-bash-3.00$ cd DOC_ROOT/<br>
-bash-3.00$ ACE/bin/make_release.py --beta --update --tag<br>
@@ -218,11 +225,11 @@
The packages end up by default under $DOC_ROOT/package-&lt;PID&gt;, you can
copy them to the webserver using the following commands. (Note that &lt;PID&gt;
needs to be the numerical pid of the process that created the kit, use<br>
- <code>ls -ald</code><br>
+ <code>ls -ald</code>
to determine the correct filename.) At the moment you execute these commands
- all users can download these packages.</li><br>
- <code>cp $DOC_ROOT/package-&lt;PID&gt;/ACE*
- /export/www/download.dre/ACE+TAO-distribution<br>
+ all users can download these packages.</li>
+ <code>scp $DOC_ROOT/package-&lt;PID&gt;/ACE*
+ bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution<br>
</code>
<li>
After the repository is tagged you can also start generating the doxygen
@@ -275,12 +282,16 @@
</li>
<li>
<code>cd $ACE_ROOT</code><br>
- <code>make -f Release manpages</code>
+ <code>nohup make -f Release manpages &</code>
+ When this is ready copy the resulting files using<br>
+ <code>scp ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip ACE-html.tar.gz.md5 ACE-html.tar.bz2.md5 ACE-html.zip.md5 bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution</code>
</li></ul><br>
<li>
While doxygen churns, format a release announcement, including the release
notes gathered from developers.
<ul>
+ <li>Get from bugzilla the bugs fixed. Use the following
+ <a href="http://bugzilla.dre.vanderbilt.edu/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=ACE&product=CIAO&product=CoSMIC&product=MPC&product=OpenDDS&product=TAO&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2008-11-28&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">query</a> as start query and update the start date.</li>
<li>
Let <a href="mailto:schmidt@cs.wustl.edu">Doug Schmidt</a> review these before
you do anything with them.</li></ul>
@@ -347,7 +358,7 @@
<li>
Move contents of the temporary directory's html to this directory -<br><code>mv ../tmp/html .</code></li>
<li>
- Now back our of this directory and remove the already existing soflink to the "Micro" directory -<br><code>cd ..<br>rm Micro</code></li>
+ Now back our of this directory and remove the already existing softlink to the "Micro" directory -<br><code>cd ..<br>rm Micro</code></li>
<li>
Create softlink "Micro" linking it to new Documentation using -<br><code>ln -s 5.6.7/html
Micro</code></li>
@@ -362,26 +373,20 @@
<li>
<code>cd /export/www/download.dre/ACE+TAO-distribution</code></li>
<li>
+ Check that the packages in this directory are all from today</li>
+ <li>
Modify <b><code>/export/anduriltmp/bczar/copy_script.sh</code></b>
to use the correct ACE version X.Y.Z and run it.
+ <li>
+ Update the copy_script.sh file for the new micro release</li>
</ul><br>
<li>
- Mail the approved release announcement out to, at minimum the following: <tt>ciao-users@list.isis.vanderbilt.edu</tt>,
- <tt>tao-users@list.isis.vanderbilt.edu</tt>, <tt>tao-announce@list.isis.vanderbilt.edu</tt>,
- <tt>ace-users@list.isis.vanderbilt.edu</tt>, <tt>ace-announce@list.isis.vanderbilt.edu</tt>.
- Do this as yourself (not as bugzilla). <b>N.B.</b>
- You will not be able to post to the users' lists unless you are subscribed to
- them. Odds are you will not be able to post to the announce lists at all. Ask
- someone else (like Doug or Johnny) to do this step.<br>
- <li>
- When all cidlc builds are ready with the new version, login to
- naboo.dre.vanderbilt.edu as bczar and run <code>./cut_cidlc.sh version-number</code>
- where the version-number is the CIAO release just made. For example<br>
- <code>./cut_cidlc.sh 0.6.7</code><br>If this script is not in its place, then
- the original is in the bin directory of the distribution.</li>
+ Validate the packages on the webserver whether they are really containing the new release. Make at least
+ one build where you run the TAO Hello world test and check if the libraries are having the
+ correct version number.</li>
<li>
Update in the autobuild archive the file configs/scoreboard/releases.xml with
- the made release. This is used by the integrated scoreboard on http://remedy.nl Remember to do a changelog entry.</li>
+ the made release (version number and release date). This is used by the integrated scoreboard on http://scoreboard.theaceorb.nl Remember to do a changelog entry.</li>
<li>
Update the ACE_wrappers repo (remember to create a changelog entry, and possiably archive the old changelog to the changelog directory if this has become too long):<ul>
<li>docs/Download.html to show the new release. Make sure you refer to the
@@ -392,54 +397,54 @@
<li>bin/diff-builds-and-group-fixed-tests-only.sh to give the correct default old_date for this release.</li></ul>
<li>
Update the NEWS, TAO/NEWS, and TAO/CIAO/NEWS files to have a new section for the next release.</li>
+ <li>
+ Mail the approved release announcement out to, at minimum the following: <tt>ciao-users@list.isis.vanderbilt.edu</tt>,
+ <tt>tao-users@list.isis.vanderbilt.edu</tt>, <tt>tao-announce@list.isis.vanderbilt.edu</tt>,
+ <tt>ace-users@list.isis.vanderbilt.edu</tt>, <tt>ace-announce@list.isis.vanderbilt.edu</tt>.
+ Do this as yourself (not as bugzilla). <b>N.B.</b>
+ You will not be able to post to the users' lists unless you are subscribed to
+ them. Odds are you will not be able to post to the announce lists at all. Ask
+ someone else (like Doug or Johnny) to do this step.<br>
</ol>
</p>
<hr>
<h2>
Tips to being a Build Czar</h2>
- <p>
- 1. Trust no one.<br>
- 2. Be careful with <a href="http://www.cs.wustl.edu/~schmidt">this guy</a>, he
+ <p><ol>
+ <li>Trust no one.</li>
+ <li>Be careful with <a href="http://www.cs.wustl.edu/~schmidt">this guy</a>, he
is notorious in breaking builds (and fixing them as well...Rumour has it that
it's actually a super-scalar, super-pipelined processor capable of out-of-order
- execution, in human incarnation).<br>
- 3. Don't forgive people who break ACE :-)<br>
- 4. If a build hasn't run in a long time (symptoms are a "red" in the Last Run
+ execution, in human incarnation).</li>
+ <li>Don't forgive people who break ACE :-)</li>
+ <li>If a build hasn't run in a long time (symptoms are a "red" in the Last Run
column of the build scoreboard), delete the .disable file in
- /path/to/build/directory/BUILD_NAME/ by hand.<br>
- 5. Think of the group who wrote the scoreboard update script, every time you
+ /path/to/build/directory/BUILD_NAME/ by hand.</li>
+ <li>Think of the group who wrote the scoreboard update script, every time you
catch an otherwise not so obvious error with the help of the scoreboard. Tell <a href="mailto:devo-group@list.isis.vanderbilt.edu">
- DEVO group </a>about it.<br>
- 6. Add $CVSROOT/CVSROOT/etc/FROZEN to freeze the repo
- <br>
- 7. Add names of people who need to be given permission and make sure that you
- add your name so that you can see what is being checked in.
- <br>
- 8. Leave a line at the end of the FROZEN file
- <br>
- 9. Compile once on Win32, Linux and Solaris before cutting a beta.<br>
- 10. Trust the release script when making a release. Don't make tar balls by
+ DEVO group</a> about it.</li>
+ <li>Send a note to <a href="mailto:sysadmin@isis.vanderbilt.edu">sysadmin@isis.vanderbilt.edu</a> asking for the repo to be frozen. Provide them a list of names, including yourself and bczar to be granted write permission.
+ </li>
+ <li>Compile once on Win32, Linux and Solaris before cutting a beta.</li>
+ <li>Trust the release script when making a release. Don't make tar balls by
hand. Make sure that the public ftp directories
(/project/beguine/ftp/pub/ACE+TAO-distribution and
/project/beguine/ftp/pub/ACE+TAO-distribution/diffs) have the right
- permissions, so that the release script can copy the tar balls.<br>
- 11. When making a release, make sure that all the auto_compiles on that machine
- (deuce.doc.wustl.edu) are stopped. Also make sure that there is enough space in
- /tmp on that machine.<br>
- 12. When all hell breaks loose, don't wait for the nightly builds to monitor
- improvement. Instead manually start the builds.<br>
- 13. Maintain private up-to-date workspaces for problem platforms (read as
- Solaris).<br>
- 14. Don't hesitate to ask for help.<br>
- 15. When you get an account to access the cvs repo, make sure you are added to
+ permissions, so that the release script can copy the tar balls.</li>
+ <li>When all hell breaks loose, don't wait for the nightly builds to monitor
+ improvement. Instead manually start the builds.</li>
+ <li>Maintain private up-to-date workspaces for problem platforms (read as
+ Solaris).</li>
+ <li>Don't hesitate to ask for help.</li>
+ <li>When you get an account to access the svn repo, make sure you are added to
the correct groups, for example,
gid=100(users),5000(doc),5002(acetaodev),5003(cvs). Otherwise you will have
- problem to checkout various modules.<br>
- 16. Install your public key to the different machines you have frequent access
- to avoid typing password.<br>
- 17. Update this page if you have any more tips for future build czars :-). This
- page is in svn under <code>ACE_wrappres/docs/bczar/bczar.html</code><br>
- </p>
+ problem to checkout various modules.</li>
+ <li>Install your public key to the different machines you have frequent access
+ to avoid typing password.</li>
+ <li>Update this page if you have any more tips for future build czars :-). This
+ page is in svn under <code>ACE_wrappres/docs/bczar/bczar.html</code></li>
+ </p></ol>
<hr>
<Center>
<h1>The Realm of the Build Czar</h1>
diff --git a/docs/run_test.txt b/docs/run_test.txt
index c02da95ab27..8d5d30ffce5 100644
--- a/docs/run_test.txt
+++ b/docs/run_test.txt
@@ -11,7 +11,7 @@ sure the run_test.pl works on all platforms
- The run_test should return a non-zero value if the test failed
- When an executable can't be spawned the test should directly exit and
not wait for a fail to be created by that executable
-- The processes should suppor that files names are passed through
+- The processes should support that files names are passed through
the commandline
Following is an example
@@ -243,23 +243,16 @@ $client->DeleteFile($client_iorfile);
exit $status;
@endverbatim
-When you need the hostname the test is running on be aware of the
-fact that with VxWorks we do cross host testing, part of the test
-runs on the target, the other part on the host system. In your test
-program add functionality to handle a commandline argument to pass
-in the hostname of the target. In the run_test.pl script you can
-then use the following code as example.
+This example illustrates how to get the host name within the cross
+platform test. In your test program add functionality to handle a
+command line argument to pass the host name of the target. In the
+run_test.pl script you can use the following code as example.
@verbatim
-$TARGETHOSTNAME = "localhost";
-if (PerlACE::is_vxworks_test()) {
- $TARGETHOSTNAME = $ENV{'ACE_RUN_VX_TGTHOST'};
- $SV = new PerlACE::ProcessVX ("server", "-ORBEndpoint iiop://$TARGETHOSTNAME:43210");
- }
- else {
- $SV = new PerlACE::Process ("server", "-ORBEndpoint iiop://$TARGETHOSTNAME:43210");
- }
-$CL = new PerlACE::Process ("client", " -p 43210 -h $TARGETHOSTNAME");
+my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";
+my $hostname = $server->HostName();
+$SV = $server->CreateProcess ("server", "-ORBEndpoint iiop://$hostname:43210");
+$CL = $server->CreateProcess ("client", " -p 43210 -h $hostname");
@endverbatim
And finally, we unlink any files that were created and then just
diff --git a/docs/svn/config b/docs/svn/config
index af98b8a4a03..59bf7e5e4a4 100644
--- a/docs/svn/config
+++ b/docs/svn/config
@@ -83,6 +83,8 @@ enable-auto-props = yes
*.aspx=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cpp=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cxx=svn:eol-style=native;svn:keywords=Author Date Id Revision
+*.patch=svn:eol-style=native;svn:keywords=Author Date Id Revision
+*.dpatch=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cc=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.C=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.c=svn:eol-style=native;svn:keywords=Author Date Id Revision
@@ -95,6 +97,8 @@ enable-auto-props = yes
*.cs=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.java=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.idl=svn:eol-style=native;svn:keywords=Author Date Id Revision
+*.idl3=svn:eol-style=native;svn:keywords=Author Date Id Revision
+*.idl3p=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.pidl=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cidl=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.html=svn:eol-style=native;svn:keywords=Author Date Id Revision
@@ -108,6 +112,7 @@ enable-auto-props = yes
*.mpc=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.mpb=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.mpt=svn:eol-style=native;svn:keywords=Author Date Id Revision
+*.ns=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cdp=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.pcd=svn:eol-style=native;svn:keywords=Author Date Id Revision
*.cdd=svn:eol-style=native;svn:keywords=Author Date Id Revision
diff --git a/docs/svn/svn-prefs.reg b/docs/svn/svn-prefs.reg
index 65dbfb68e48..bf019f83256 100644
--- a/docs/svn/svn-prefs.reg
+++ b/docs/svn/svn-prefs.reg
@@ -37,6 +37,8 @@ REGEDIT4
"*.aspx"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.conf"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cpp"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.patch"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.dpatch"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cxx"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cc"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.C"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
@@ -50,6 +52,9 @@ REGEDIT4
"*.cs"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.java"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.idl"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.idl3"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.idl3p"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.idl3+"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.pidl"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cidl"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.html"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
@@ -64,6 +69,7 @@ REGEDIT4
"*.mpc"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.mpb"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.mpt"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
+"*.ns"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cdp"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.pcd"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
"*.cdd"="svn:eol-style=native;svn:keywords=Author Date Id Revision"
diff --git a/etc/ace.doxygen b/etc/ace.doxygen
index fb37002b8f7..59fb8cd41b9 100644
--- a/etc/ace.doxygen
+++ b/etc/ace.doxygen
@@ -129,7 +129,11 @@ MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED = __ACE_INLINE__ ACE_TEMPLATES_REQUIRE_SOURCE
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
@@ -138,7 +142,7 @@ EXPAND_AS_DEFINED = ACE_RCSID \
ACE_T2
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
@@ -165,7 +169,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
diff --git a/etc/ace_man.doxygen b/etc/ace_man.doxygen
index f4bcce57604..fb68ad5a788 100644
--- a/etc/ace_man.doxygen
+++ b/etc/ace_man.doxygen
@@ -119,14 +119,18 @@ MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED =
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
+ ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
- ACE_THROW_SPEC
+ ACE_THROW_SPEC
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
@@ -153,7 +157,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
diff --git a/etc/ace_qos.doxygen b/etc/ace_qos.doxygen
index dfe5988b45d..8bfe08dd69b 100644
--- a/etc/ace_qos.doxygen
+++ b/etc/ace_qos.doxygen
@@ -119,14 +119,18 @@ MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED =
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
+ ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
- ACE_THROW_SPEC
+ ACE_THROW_SPEC
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = html/ace/ACE.tag=..
@@ -153,7 +157,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
diff --git a/etc/ace_rmcast.doxygen b/etc/ace_rmcast.doxygen
index 81e3588e4a1..b3b70d77c80 100644
--- a/etc/ace_rmcast.doxygen
+++ b/etc/ace_rmcast.doxygen
@@ -119,14 +119,18 @@ MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED =
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
+ ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
- ACE_THROW_SPEC
+ ACE_THROW_SPEC
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = html/ace/ACE.tag=..
@@ -153,7 +157,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
diff --git a/etc/ace_ssl.doxygen b/etc/ace_ssl.doxygen
index 9a0211f66e7..b4deff4e2c9 100644
--- a/etc/ace_ssl.doxygen
+++ b/etc/ace_ssl.doxygen
@@ -119,14 +119,18 @@ MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED =
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
+ ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
- ACE_THROW_SPEC
+ ACE_THROW_SPEC
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = html/ace/ACE.tag=..
@@ -153,7 +157,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
diff --git a/etc/acexml.doxygen b/etc/acexml.doxygen
index 205a1623b81..ccb5dd45b97 100644
--- a/etc/acexml.doxygen
+++ b/etc/acexml.doxygen
@@ -119,14 +119,18 @@ MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = .
-PREDEFINED =
+PREDEFINED = __ACE_INLINE__ \
+ ACE_TEMPLATES_REQUIRE_SOURCE \
+ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
+ ACE_END_VERSIONED_NAMESPACE_DECL \
+ ACE_INLINE
EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
+ ACE_UNIMPLEMENTED_FUNC \
ACE_CACHE_MAP_MANAGER \
- ACE_THROW_SPEC
+ ACE_THROW_SPEC
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = html/ace/ACE.tag=../ace
@@ -153,7 +157,7 @@ DOT_MULTI_TARGETS = YES
DOT_PATH =
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
diff --git a/etc/ciao.doxygen b/etc/ciao.doxygen
deleted file mode 100644
index c62f92c7fa6..00000000000
--- a/etc/ciao.doxygen
+++ /dev/null
@@ -1,169 +0,0 @@
-# Doxyfile 1.3.4
-#
-# $Id$
-#
-
-PROJECT_NAME = CIAO
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/CIAO/ciao
-FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ciao/ciao
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO . ACEXML
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../../ace \
- html/tao/TAO.tag=../.. \
- html/ace/ssl/ACE_SSL.tag=../../../ace/ssl \
- html/tao/portableserver/TAO_PortableServer.tag=../../portableserver \
- html/tao/iortable/TAO_IORTable.tag=../../iortable \
- html/tao/rtcorba/TAO_RTCORBA.tag=../../rtcorba \
- html/tao/security/TAO_Security.tag=../../security \
- html/acexml/ACEXML.tag=../../../acexml \
- html/tao/rtportableserver/TAO_RTPortableServer.tag=../../rtportableserver \
- html/tao/cosnaming/TAO_CosNaming.tag=../../cosnaming \
- html/tao/ifr/TAO_IFR.tag=../../ifr
-GENERATE_TAGFILE = html/tao/ciao/ciao/CIAO.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/ciao_DAnCE.doxygen b/etc/ciao_DAnCE.doxygen
deleted file mode 100644
index b467236c593..00000000000
--- a/etc/ciao_DAnCE.doxygen
+++ /dev/null
@@ -1,167 +0,0 @@
-# Doxyfile 1.3.4
-#
-# $Id$
-#
-PROJECT_NAME = DAnCE
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/CIAO/DAnCE
-FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
-RECURSIVE = YES
-EXCLUDE = TAO/CIAO/DAnCE/examples TAO/CIAO/DAnCE/tests
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ciao/dance
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO . ACEXML TAO/tao/IORTable
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../../ace \
- html/tao/TAO.tag=../.. \
- html/ace/ssl/ACE_SSL.tag=../../../ace/ssl \
- html/tao/portableserver/TAO_PortableServer.tag=../../portableserver \
- html/tao/iortable/TAO_IORTable.tag=../../iortable \
- html/tao/rtcorba/TAO_RTCORBA.tag=../../rtcorba \
- html/tao/security/TAO_Security.tag=../../security \
- html/acexml/ACEXML.tag=../../../acexml \
- html/tao/rtportableserver/TAO_RTPortableServer.tag=../../rtportableserver \
- html/tao/cosnaming/TAO_CosNaming.tag=../../cosnaming \
- html/tao/ifr/TAO_IFR.tag=../../ifr
-GENERATE_TAGFILE = html/tao/ciao/DAnCE.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
diff --git a/etc/ciao_config_handlers.doxygen b/etc/ciao_config_handlers.doxygen
deleted file mode 100644
index dfb8bff569d..00000000000
--- a/etc/ciao_config_handlers.doxygen
+++ /dev/null
@@ -1,168 +0,0 @@
-# Doxyfile 1.3.4
-#
-# $Id$
-#
-PROJECT_NAME = CONFIG_HELPERS
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/CIAO/tools/Config_Handlers
-FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ciao/tools/config_handlers
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO . ACEXML TAO/tao/IORTable TAO/CIAO/tools/Config_Handlers
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../../../ace \
- html/tao/TAO.tag=../../.. \
- html/ace/ssl/ACE_SSL.tag=../../../../ace/ssl \
- html/tao/portableserver/TAO_PortableServer.tag=../../../portableserver \
- html/tao/iortable/TAO_IORTable.tag=../../../iortable \
- html/tao/rtcorba/TAO_RTCORBA.tag=../../../rtcorba \
- html/tao/security/TAO_Security.tag=../../../security \
- html/acexml/ACEXML.tag=../../../../acexml \
- html/tao/rtportableserver/TAO_RTPortableServer.tag=../../../rtportableserver \
- html/tao/cosnaming/TAO_CosNaming.tag=../../../cosnaming \
- html/tao/ifr/TAO_IFR.tag=../../../ifr
-GENERATE_TAGFILE = html/tao/ciao/tools/Config_Handlers.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/index.html b/etc/index.html
index a13d2721a45..1ecd2a006c4 100644
--- a/etc/index.html
+++ b/etc/index.html
@@ -35,6 +35,17 @@
<hr>
We do have the documentation for previous releases
<ul>
+ <LI><P><A HREF="5.7.8/html">5.7.8</A></P></LI>
+ <LI><P><A HREF="5.7.7/html">5.7.7</A></P></LI>
+ <LI><P><A HREF="5.7.6/html">5.7.6</A></P></LI>
+ <LI><P><A HREF="5.7.5/html">5.7.5</A></P></LI>
+ <LI><P><A HREF="5.7.4/html">5.7.4</A></P></LI>
+ <LI><P><A HREF="5.7.3/html">5.7.3</A></P></LI>
+ <LI><P><A HREF="5.7.2/html">5.7.2</A></P></LI>
+ <LI><P><A HREF="5.7.1/html">5.7.1</A></P></LI>
+ <LI><P><A HREF="5.7.0/html">5.7</A></P></LI>
+ <LI><P><A HREF="5.6.9/html">5.6.9</A></P></LI>
+ <LI><P><A HREF="5.6.8/html">5.6.8</A></P></LI>
<LI><P><A HREF="5.6.7/html">5.6.7</A></P></LI>
<LI><P><A HREF="5.6.6/html">5.6.6</A></P></LI>
<LI><P><A HREF="5.6.5/html">5.6.5</A></P></LI>
diff --git a/etc/tao.doxygen b/etc/tao.doxygen
deleted file mode 100644
index c2e384f6912..00000000000
--- a/etc/tao.doxygen
+++ /dev/null
@@ -1,159 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao
-FILE_PATTERNS = *.cpp *.h *.i *.inl *.idl *.pidl *.txt
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../ace
-GENERATE_TAGFILE = html/tao/TAO.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_anytypecode.doxygen b/etc/tao_anytypecode.doxygen
deleted file mode 100644
index 71cda51dccc..00000000000
--- a/etc/tao_anytypecode.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_AnyTypeCode
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/AnyTypeCode
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/anytypecode
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/anytypecode/TAO_AnyTypeCode.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_av.doxygen b/etc/tao_av.doxygen
deleted file mode 100644
index a1504c41086..00000000000
--- a/etc/tao_av.doxygen
+++ /dev/null
@@ -1,164 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_AV
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/AVStreams.idl \
- TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl \
- TAO/orbsvcs/orbsvcs/sfp.idl \
- TAO/orbsvcs/orbsvcs/AV
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/av
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/av/TAO_AV.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_compression.doxygen b/etc/tao_compression.doxygen
deleted file mode 100644
index 124b6ec906e..00000000000
--- a/etc/tao_compression.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_Compression
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/Compression
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/compression
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/compression/TAO_Compression.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_cosevent.doxygen b/etc/tao_cosevent.doxygen
deleted file mode 100644
index f7d6b9d1f24..00000000000
--- a/etc/tao_cosevent.doxygen
+++ /dev/null
@@ -1,165 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_CosEvent
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = \
- TAO/orbsvcs/orbsvcs/CosEventComm.idl \
- TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl \
- TAO/orbsvcs/orbsvcs/CosEvent
-FILE_PATTERNS = CEC_*.cpp CEC_*.h CEC_*.inl CEC_*.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/cosevent
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/esf/TAO_ESF.tag=../esf
-GENERATE_TAGFILE = html/tao/cosevent/TAO_CosEvent.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_cosnaming.doxygen b/etc/tao_cosnaming.doxygen
deleted file mode 100644
index 685e38aaa67..00000000000
--- a/etc/tao_cosnaming.doxygen
+++ /dev/null
@@ -1,161 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_CosNaming
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/CosNaming.idl \
- TAO/orbsvcs/orbsvcs/Naming
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/cosnaming
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/cosnaming/TAO_CosNaming.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_cosnotification.doxygen b/etc/tao_cosnotification.doxygen
deleted file mode 100644
index b3f1bda99ef..00000000000
--- a/etc/tao_cosnotification.doxygen
+++ /dev/null
@@ -1,171 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_CosNotification
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-INTERNAL_DOCS = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = \
- TAO/orbsvcs/orbsvcs/CosNotification.idl \
- TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl \
- TAO/orbsvcs/orbsvcs/CosNotifyComm.idl \
- TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl \
- TAO/orbsvcs/orbsvcs/Notify \
- TAO/orbsvcs/orbsvcs/Notify/Any \
- TAO/orbsvcs/orbsvcs/Notify/Sequence \
- TAO/orbsvcs/orbsvcs/Notify/Structured
-FILE_PATTERNS = *.cpp *.h *.inl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/cosnotification
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/cosevent/TAO_CosEvent.tag=../cosevent \
- html/tao/esf/TAO_ESF.tag=../esf
-GENERATE_TAGFILE = html/tao/cosnotification/TAO_CosNotification.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_costime.doxygen b/etc/tao_costime.doxygen
deleted file mode 100644
index 767ff734035..00000000000
--- a/etc/tao_costime.doxygen
+++ /dev/null
@@ -1,162 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_CosTime
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/TimeService.idl \
- TAO/orbsvcs/orbsvcs/Time
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/costime
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/costime/TAO_CosTime.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_costrader.doxygen b/etc/tao_costrader.doxygen
deleted file mode 100644
index a26668d8324..00000000000
--- a/etc/tao_costrader.doxygen
+++ /dev/null
@@ -1,165 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_CosTrader
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = \
- TAO/orbsvcs/orbsvcs/CosTrading.idl \
- TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl \
- TAO/orbsvcs/orbsvcs/CosTradingRepos.idl \
- TAO/orbsvcs/orbsvcs/Trader
-FILE_PATTERNS = *.cpp *.h *.inl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/costrader
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/costrader/TAO_CosTrader.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_dynamicany.doxygen b/etc/tao_dynamicany.doxygen
deleted file mode 100644
index e31f7834b21..00000000000
--- a/etc/tao_dynamicany.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_DynamicAny
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/DynamicAny
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/dynamicany
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/dynamicany/TAO_DynamicAny.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_dynamicinterface.doxygen b/etc/tao_dynamicinterface.doxygen
deleted file mode 100644
index cbe51afc8d4..00000000000
--- a/etc/tao_dynamicinterface.doxygen
+++ /dev/null
@@ -1,159 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_DynamicInterface
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/DynamicInterface
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/dynamicinterface
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/dynamicinterface/TAO_DynamicInterface.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_esf.doxygen b/etc/tao_esf.doxygen
deleted file mode 100644
index 2ea08a71218..00000000000
--- a/etc/tao_esf.doxygen
+++ /dev/null
@@ -1,161 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_ESF
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/ESF
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/esf
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/esf/TAO_ESF.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_ifr.doxygen b/etc/tao_ifr.doxygen
deleted file mode 100644
index f8525e348a2..00000000000
--- a/etc/tao_ifr.doxygen
+++ /dev/null
@@ -1,163 +0,0 @@
-# Doxyfile 1.3.4
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_IFR
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/IFR_Service
-FILE_PATTERNS = *.cpp *.h
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ifr
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/iortable/TAO_IORTable.tag=../iortable \
- html/tao/cosnaming/TAO_CosNaming.tag=../cosnaming
-GENERATE_TAGFILE = html/tao/ifr/TAO_IFR.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_implrepo.doxygen b/etc/tao_implrepo.doxygen
deleted file mode 100644
index a22ccdecfc6..00000000000
--- a/etc/tao_implrepo.doxygen
+++ /dev/null
@@ -1,162 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_Implementation_Repository
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/ImplRepo_Service
-FILE_PATTERNS = *.cpp *.h *.inl *.txt
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/implrepo_service
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/iortable/TAO_IORTable.tag=../iortable
-GENERATE_TAGFILE = html/tao/implrepo_service/TAO_ImplRepo.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_iormanip.doxygen b/etc/tao_iormanip.doxygen
deleted file mode 100644
index 3528dcd695c..00000000000
--- a/etc/tao_iormanip.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_IORManipulation
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/IORManipulation
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/iormanipulation
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/iormanipulation/TAO_IORManipulation.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_iortable.doxygen b/etc/tao_iortable.doxygen
deleted file mode 100644
index 37947f48983..00000000000
--- a/etc/tao_iortable.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_IORTable
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/IORTable
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/iortable
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/iortable/TAO_IORTable.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_pi.doxygen b/etc/tao_pi.doxygen
deleted file mode 100644
index f94cbf6283d..00000000000
--- a/etc/tao_pi.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_PI
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/PI
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/pi
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/pi/TAO_PI.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_pi_server.doxygen b/etc/tao_pi_server.doxygen
deleted file mode 100644
index 753032917e5..00000000000
--- a/etc/tao_pi_server.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_PI_Server
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/PI_Server
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/pi_server
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/pi_server/TAO_PI_Server.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_portablegroup.doxygen b/etc/tao_portablegroup.doxygen
deleted file mode 100644
index 3682bec744e..00000000000
--- a/etc/tao_portablegroup.doxygen
+++ /dev/null
@@ -1,164 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_PortableGroup
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = \
- TAO/orbsvcs/orbsvcs/miop.idl \
- TAO/orbsvcs/orbsvcs/PortableGroup.idl \
- TAO/orbsvcs/orbsvcs/PortableGroup
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/portablegroup
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/portablegroup/TAO_PortableGroup.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_portableserver.doxygen b/etc/tao_portableserver.doxygen
deleted file mode 100644
index d765856e660..00000000000
--- a/etc/tao_portableserver.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_PortableServer
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/PortableServer
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/portableserver
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/portableserver/TAO_PortableServer.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_pss.doxygen b/etc/tao_pss.doxygen
deleted file mode 100644
index f88ae29d19a..00000000000
--- a/etc/tao_pss.doxygen
+++ /dev/null
@@ -1,161 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_PSS
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/PSS
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/pss
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/pss/TAO_PSS.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_rtcorba.doxygen b/etc/tao_rtcorba.doxygen
deleted file mode 100644
index fe83c960d0f..00000000000
--- a/etc/tao_rtcorba.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_RTCORBA
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/RTCORBA
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/rtcorba
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/rtcorba/TAO_RTCORBA.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_rtevent.doxygen b/etc/tao_rtevent.doxygen
deleted file mode 100644
index aa85acb9cce..00000000000
--- a/etc/tao_rtevent.doxygen
+++ /dev/null
@@ -1,171 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_RTEvent
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/RtecEventComm.idl \
- TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl \
- TAO/orbsvcs/orbsvcs/RtecBase.idl \
- TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl \
- TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl \
- TAO/orbsvcs/orbsvcs/Event_Utilities.h \
- TAO/orbsvcs/orbsvcs/Event_Utilities.inl \
- TAO/orbsvcs/orbsvcs/Event_Utilities.cpp \
- TAO/orbsvcs/orbsvcs/Event_Service_Constants.h \
- TAO/orbsvcs/orbsvcs/Event
-FILE_PATTERNS = EC_*.cpp EC_*.h EC_*.inl EC_*.pidl ECG_*.cpp ECG_*.h *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/rtevent
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO/orbsvcs TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/esf/TAO_ESF.tag=../esf
-GENERATE_TAGFILE = html/tao/rtevent/TAO_RTEvent.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_rtportableserver.doxygen b/etc/tao_rtportableserver.doxygen
deleted file mode 100644
index 4476a08ca7b..00000000000
--- a/etc/tao_rtportableserver.doxygen
+++ /dev/null
@@ -1,160 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_RTPortableServer
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/RTPortableServer
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/rtportableserver
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/rtportableserver/TAO_RTPortableServer.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_security.doxygen b/etc/tao_security.doxygen
deleted file mode 100644
index d4a14f60d25..00000000000
--- a/etc/tao_security.doxygen
+++ /dev/null
@@ -1,166 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_Security
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/Security.idl \
- TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \
- TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \
- TAO/orbsvcs/orbsvcs/SecurityAdmin.idl \
- TAO/orbsvcs/orbsvcs/SecurityReplaceable.idl \
- TAO/orbsvcs/orbsvcs/Security
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/security
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver
-GENERATE_TAGFILE = html/tao/security/TAO_Security.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_smartproxies.doxygen b/etc/tao_smartproxies.doxygen
deleted file mode 100644
index 7d4dd787289..00000000000
--- a/etc/tao_smartproxies.doxygen
+++ /dev/null
@@ -1,159 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_SmartProxies
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/SmartProxies
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX = TAO_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/smartproxies
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/smartproxies/TAO_SmartProxies.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_ssliop.doxygen b/etc/tao_ssliop.doxygen
deleted file mode 100644
index 8d1ccc8a0f7..00000000000
--- a/etc/tao_ssliop.doxygen
+++ /dev/null
@@ -1,167 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_SSLIOP
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/orbsvcs/orbsvcs/Security.idl \
- TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \
- TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \
- TAO/orbsvcs/orbsvcs/Security \
- TAO/orbsvcs/orbsvcs/SSLIOP.idl \
- TAO/orbsvcs/orbsvcs/SSLIOP
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl *.idl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ssliop
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/portableserver/TAO_PortableServer.tag=../portableserver \
- html/tao/security/TAO_Security.tag=../security
-GENERATE_TAGFILE = html/tao/ssliop/TAO_SSLIOP.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_strategies.doxygen b/etc/tao_strategies.doxygen
deleted file mode 100644
index 0b4efe3bafc..00000000000
--- a/etc/tao_strategies.doxygen
+++ /dev/null
@@ -1,159 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_Strategies
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/Strategies
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/strategies
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=..
-GENERATE_TAGFILE = html/tao/strategies/TAO_Strategies.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_transportcurrent.doxygen b/etc/tao_transportcurrent.doxygen
deleted file mode 100644
index 34c20bcb865..00000000000
--- a/etc/tao_transportcurrent.doxygen
+++ /dev/null
@@ -1,161 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_TransportCurrent
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/TransportCurrent
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/transportcurrent
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/pi/TAO_PI.tag=../pi
-GENERATE_TAGFILE = html/tao/transportcurrent/TAO_TransportCurrent.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/etc/tao_ziop.doxygen b/etc/tao_ziop.doxygen
deleted file mode 100644
index 6a8ddbabeee..00000000000
--- a/etc/tao_ziop.doxygen
+++ /dev/null
@@ -1,161 +0,0 @@
-# Doxyfile 1.1.5
-#
-# $Id$
-#
-
-PROJECT_NAME = TAO_ZIOP
-PROJECT_NUMBER = Snapshot
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-DISABLE_INDEX = NO
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CLASS_DIAGRAMS = YES
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-DISTRIBUTE_GROUP_DOC = YES
-TAB_SIZE = 8
-ENABLED_SECTIONS =
-SHORT_NAMES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-QUIET = YES
-WARNINGS = NO
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-INPUT = TAO/tao/ZIOP
-FILE_PATTERNS = *.cpp *.h *.inl *.pidl
-RECURSIVE =
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-IMAGE_PATH =
-INPUT_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 1
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-GENERATE_HTML = YES
-HTML_OUTPUT = html/tao/ziop
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = TAO .
-PREDEFINED =
-EXPAND_AS_DEFINED = ACE_RCSID \
- ACE_UNIMPLEMENTED_FUNC \
- ACE_CACHE_MAP_MANAGER
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-TAGFILES = html/ace/ACE.tag=../../ace \
- html/tao/TAO.tag=.. \
- html/tao/compression/TAO_Compression.tag=../compression
-GENERATE_TAGFILE = html/tao/ziop/TAO_ZIOP.tag
-ALLEXTERNALS = NO
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz
-
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_MULTI_TARGETS = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-DOT_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-SEARCHENGINE = YES
-
diff --git a/examples/APG/Active_Objects/active_objects.mpc b/examples/APG/Active_Objects/active_objects.mpc
index 44fe88bfd30..51b7c6f1f1e 100644
--- a/examples/APG/Active_Objects/active_objects.mpc
+++ b/examples/APG/Active_Objects/active_objects.mpc
@@ -1,16 +1,14 @@
// -*- MPC -*-
// $Id$
-project(AO) : aceexe {
- avoids += ace_for_tao
+project(AO) : aceexe, avoids_ace_for_tao {
exename = AO
Source_Files {
AO.cpp
}
}
-project(AO2) : aceexe {
- avoids += ace_for_tao
+project(AO2) : aceexe, avoids_ace_for_tao {
exename = AO2
Source_Files {
AO2.cpp
diff --git a/examples/APG/Config/config.mpc b/examples/APG/Config/config.mpc
index 5b705d144bc..1e2b8dc2146 100644
--- a/examples/APG/Config/config.mpc
+++ b/examples/APG/Config/config.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*HA Status) : aceexe {
- avoids += ace_for_tao
+project(*HA Status) : aceexe, avoids_ace_for_tao {
exename = HA_Status
Source_Files {
HA_Status.cpp
diff --git a/examples/APG/Containers/DLList.cpp b/examples/APG/Containers/DLList.cpp
index 8c93e5b4039..d45d5c5fb38 100644
--- a/examples/APG/Containers/DLList.cpp
+++ b/examples/APG/Containers/DLList.cpp
@@ -97,7 +97,7 @@ ListTest::displayList (MyList& list)
}
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration\n")));
ACE_DLList_Reverse_Iterator<DataElement> riter (list);
while (!riter.done ())
{
diff --git a/examples/APG/Containers/Hash_Map.cpp b/examples/APG/Containers/Hash_Map.cpp
index 1b2d4ee4634..d93d9d54be5 100644
--- a/examples/APG/Containers/Hash_Map.cpp
+++ b/examples/APG/Containers/Hash_Map.cpp
@@ -54,7 +54,7 @@ int Hash_Map_Example::run (void)
map_.bind (i, DataElement(i));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has\n")));
for (int j = 0; j < 100; j++)
{
DataElement d;
@@ -82,7 +82,7 @@ void Hash_Map_Example::iterate_forward (void)
{
ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_forward"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration\n")));
for (Hash_Map<int, DataElement>::iterator iter = map_.begin ();
iter != map_.end (); iter++)
{
@@ -95,7 +95,7 @@ void Hash_Map_Example::iterate_reverse (void)
{
ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_reverse"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration\n")));
for (Hash_Map<int, DataElement>::reverse_iterator iter = map_.rbegin ();
iter != map_.rend (); iter++)
{
diff --git a/examples/APG/Containers/Hash_Map_Hash.cpp b/examples/APG/Containers/Hash_Map_Hash.cpp
index faad3c72585..f81136ac085 100644
--- a/examples/APG/Containers/Hash_Map_Hash.cpp
+++ b/examples/APG/Containers/Hash_Map_Hash.cpp
@@ -47,7 +47,7 @@ int Hash_Map_Example::run (void)
map_.bind (i, DataElement (i));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has\n")));
for (int j = 0; j < 100; j++)
{
DataElement d;
@@ -75,7 +75,7 @@ void Hash_Map_Example::iterate_forward (void)
{
ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_forward"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration\n")));
for (Hash_Map<KeyType, DataElement>::iterator iter = map_.begin ();
iter != map_.end (); iter++)
{
@@ -88,7 +88,7 @@ void Hash_Map_Example::iterate_reverse (void)
{
ACE_TRACE (ACE_TEXT ("Hash_Map_Example::iterate_reverse"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration\n")));
for (Hash_Map<KeyType, DataElement>::reverse_iterator iter = map_.rbegin ();
iter != map_.rend (); iter++)
{
diff --git a/examples/APG/Containers/Map_Manager.cpp b/examples/APG/Containers/Map_Manager.cpp
index 6673204fcc4..8588a52daf2 100644
--- a/examples/APG/Containers/Map_Manager.cpp
+++ b/examples/APG/Containers/Map_Manager.cpp
@@ -37,7 +37,7 @@ int Map_Example::run (void)
map_.bind (i, DataElement (i));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has\n")));
for (int j = 0; j < 100; j++)
{
DataElement d;
diff --git a/examples/APG/Containers/Map_Manager_Specialization.cpp b/examples/APG/Containers/Map_Manager_Specialization.cpp
index fc9c00d86f0..afffce23b5d 100644
--- a/examples/APG/Containers/Map_Manager_Specialization.cpp
+++ b/examples/APG/Containers/Map_Manager_Specialization.cpp
@@ -36,6 +36,7 @@ ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::equal
}
// Listing 1
#else
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
template<>
int
ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::equal
@@ -43,6 +44,7 @@ ACE_Map_Manager<KeyType, DataElement, ACE_Null_Mutex>::equal
{
return (r1 == r2);
}
+ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* 0 */
class Map_Example
@@ -75,7 +77,7 @@ int Map_Example::run (void)
map_.bind (i, DataElement (i));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Map has\n")));
for (int j = 0; j < 100; j++)
{
DataElement d;
diff --git a/examples/APG/Containers/RB_Tree.cpp b/examples/APG/Containers/RB_Tree.cpp
index 187332a31d8..cf6c2326df4 100644
--- a/examples/APG/Containers/RB_Tree.cpp
+++ b/examples/APG/Containers/RB_Tree.cpp
@@ -50,7 +50,7 @@ int Tree_Example::run (void)
}
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find:\n")));
for (int j = 0; j < 100; j++)
{
tree_.find (j, d);
@@ -77,7 +77,7 @@ void Tree_Example::iterate_forward (void)
{
ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_forward"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration:\n")));
for (Tree<int, DataElement*>::iterator iter = tree_.begin ();
iter != tree_.end (); iter++)
{
@@ -91,7 +91,7 @@ void Tree_Example::iterate_reverse (void)
{
ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_reverse"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration:\n")));
for (Tree<int, DataElement*>::reverse_iterator iter
= tree_.rbegin ();
iter != tree_.rend (); iter++)
diff --git a/examples/APG/Containers/RB_Tree_Functors.cpp b/examples/APG/Containers/RB_Tree_Functors.cpp
index cb71fd75d79..3010075761d 100644
--- a/examples/APG/Containers/RB_Tree_Functors.cpp
+++ b/examples/APG/Containers/RB_Tree_Functors.cpp
@@ -52,7 +52,7 @@ int Tree_Example::run ()
}
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find: \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using find:\n")));
for (int j = 0; j < 100; j++)
{
DataElement* d = 0;
@@ -84,7 +84,7 @@ void Tree_Example::iterate_forward (void)
{
ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_forward"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Forward Iteration\n")));
for (Tree<KeyType, DataElement*>::iterator iter = tree_.begin ();
iter != tree_.end (); iter++)
{
@@ -97,7 +97,7 @@ void Tree_Example::iterate_reverse (void)
{
ACE_TRACE (ACE_TEXT ("Tree_Example::iterate_reverse"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Reverse Iteration\n")));
for (Tree<KeyType, DataElement*>::reverse_iterator iter = tree_.rbegin ();
iter != tree_.rend (); iter++)
{
diff --git a/examples/APG/Containers/containers.mpc b/examples/APG/Containers/containers.mpc
index d08ef9133aa..a49ede94ef4 100644
--- a/examples/APG/Containers/containers.mpc
+++ b/examples/APG/Containers/containers.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(DLList) : aceexe {
- avoids += ace_for_tao
+project(DLList) : aceexe, avoids_ace_for_tao {
exename = DLList
Source_Files {
DLList.cpp
diff --git a/examples/APG/Misc_IPC/misc_ipc.mpc b/examples/APG/Misc_IPC/misc_ipc.mpc
index 47e1c34758b..e3c3e7d1b6b 100644
--- a/examples/APG/Misc_IPC/misc_ipc.mpc
+++ b/examples/APG/Misc_IPC/misc_ipc.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(UDP Broadcast) : aceexe {
- avoids += ace_for_tao
+project(UDP Broadcast) : aceexe, avoids_ace_for_tao {
exename = UDP_Broadcast
Source_Files {
UDP_Broadcast.cpp
@@ -16,8 +15,7 @@ project(UDP Multicast) : aceexe {
}
}
-project(UDP Unicast) : aceexe {
- avoids += ace_for_tao
+project(UDP Unicast) : aceexe, avoids_ace_for_tao {
exename = UDP_Unicast
Source_Files {
UDP_Unicast.cpp
diff --git a/examples/APG/Naming/naming.mpc b/examples/APG/Naming/naming.mpc
index 1915280b379..0bbc4e92e13 100644
--- a/examples/APG/Naming/naming.mpc
+++ b/examples/APG/Naming/naming.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(Netlocal) : aceexe {
- avoids += ace_for_tao
+project(Netlocal) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = Netlocal
Source_Files {
@@ -11,8 +10,7 @@ project(Netlocal) : aceexe {
}
}
-project(Netlocal Reader) : aceexe {
- avoids += ace_for_tao
+project(Netlocal Reader) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = Netlocal_reader
Source_Files {
@@ -22,8 +20,7 @@ project(Netlocal Reader) : aceexe {
}
}
-project(Nodelocal) : aceexe {
- avoids += ace_for_tao
+project(Nodelocal) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = Nodelocal
Source_Files {
@@ -32,8 +29,7 @@ project(Nodelocal) : aceexe {
}
}
-project(Nodelocal Shared) : aceexe {
- avoids += ace_for_tao
+project(Nodelocal Shared) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = Nodelocal_shared
Source_Files {
@@ -42,8 +38,7 @@ project(Nodelocal Shared) : aceexe {
}
}
-project(Nodelocal Shared Reader) : aceexe {
- avoids += ace_for_tao
+project(Nodelocal Shared Reader) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = Nodelocal_shared_reader
Source_Files {
diff --git a/examples/APG/Proactor/proactor.mpc b/examples/APG/Proactor/proactor.mpc
index 85ef950ae66..b6370fdc4c4 100644
--- a/examples/APG/Proactor/proactor.mpc
+++ b/examples/APG/Proactor/proactor.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(HA Proactive Status) : aceexe {
- avoids += ace_for_tao
+project(HA Proactive Status) : aceexe, avoids_ace_for_tao {
exename = HA_Proactive_Status
Source_Files {
HA_Proactive_Status.cpp
diff --git a/examples/APG/Processes/processes.mpc b/examples/APG/Processes/processes.mpc
index a7cb01040bb..ccc40de827f 100644
--- a/examples/APG/Processes/processes.mpc
+++ b/examples/APG/Processes/processes.mpc
@@ -1,32 +1,28 @@
// -*- MPC -*-
// $Id$
-project(Process Manager Death) : aceexe {
- avoids += ace_for_tao
+project(Process Manager Death) : aceexe, avoids_ace_for_tao {
exename = Process_Manager_Death
Source_Files {
Process_Manager_Death.cpp
}
}
-project(Process Manager Spawn) : aceexe {
- avoids += ace_for_tao
+project(Process Manager Spawn) : aceexe, avoids_ace_for_tao {
exename = Process_Manager_Spawn
Source_Files {
Process_Manager_Spawn.cpp
}
}
-project(Process Mutex) : aceexe {
- avoids += ace_for_tao
+project(Process Mutex) : aceexe, avoids_ace_for_tao {
exename = Process_Mutex
Source_Files {
Process_Mutex.cpp
}
}
-project(Spawn) : aceexe {
- avoids += ace_for_tao
+project(Spawn) : aceexe, avoids_ace_for_tao {
exename = Spawn
Source_Files {
Spawn.cpp
diff --git a/examples/APG/Shared_Memory/shared_memory.mpc b/examples/APG/Shared_Memory/shared_memory.mpc
index 2cf2400ef8e..234fe033297 100644
--- a/examples/APG/Shared_Memory/shared_memory.mpc
+++ b/examples/APG/Shared_Memory/shared_memory.mpc
@@ -1,40 +1,35 @@
// -*- MPC -*-
// $Id$
-project(*Hash Map) : aceexe {
- avoids += ace_for_tao
+project(*Hash Map) : aceexe, avoids_ace_for_tao {
exename = Hash_Map
Source_Files {
Hash_Map.cpp
}
}
-project(Malloc) : aceexe {
- avoids += ace_for_tao
+project(Malloc) : aceexe, avoids_ace_for_tao {
exename = Malloc
Source_Files {
Malloc.cpp
}
}
-project(Mem Map) : aceexe {
- avoids += ace_for_tao
+project(Mem Map) : aceexe, avoids_ace_for_tao {
exename = Mem_Map
Source_Files {
Mem_Map.cpp
}
}
-project(PI Malloc) : aceexe {
- avoids += ace_for_tao
+project(PI Malloc) : aceexe, avoids_ace_for_tao {
exename = PI_Malloc
Source_Files {
PI_Malloc.cpp
}
}
-project(Pool Growth) : aceexe {
- avoids += ace_for_tao
+project(Pool Growth) : aceexe, avoids_ace_for_tao {
exename = Pool_Growth
Source_Files {
Pool_Growth.cpp
diff --git a/examples/APG/Streams/streams.mpc b/examples/APG/Streams/streams.mpc
index 6756a1bb877..588bdc0dd27 100644
--- a/examples/APG/Streams/streams.mpc
+++ b/examples/APG/Streams/streams.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(Answerer) : aceexe, threads {
- avoids += ace_for_tao
+project(Answerer) : aceexe, threads, avoids_ace_for_tao {
exename = Answerer
Source_Files {
Answerer.cpp
diff --git a/examples/APG/Svc_Config/svc_config.mpc b/examples/APG/Svc_Config/svc_config.mpc
index ddc33b97c53..cc156a940cb 100644
--- a/examples/APG/Svc_Config/svc_config.mpc
+++ b/examples/APG/Svc_Config/svc_config.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*HA Status) : acelib {
- avoids += ace_for_tao
+project(*HA Status) : acelib, avoids_ace_for_tao {
sharedname = HA_Status
dynamicflags = HASTATUS_BUILD_DLL
Source_Files {
@@ -10,16 +9,14 @@ project(*HA Status) : acelib {
}
}
-project(HA Configurable Server Dynamic) : aceexe {
- avoids += ace_for_tao
+project(HA Configurable Server Dynamic) : aceexe, avoids_ace_for_tao {
exename = HA_Configurable_Server_Dynamic
Source_Files {
HA_Configurable_Server_Dynamic.cpp
}
}
-project(HA Configurable Server Static) : aceexe {
- avoids += ace_for_tao
+project(HA Configurable Server Static) : aceexe, avoids_ace_for_tao {
exename = HA_Configurable_Server_Static
Source_Files {
HA_Configurable_Server_Static.cpp
diff --git a/examples/APG/ThreadManagement/Coop_Cancel.cpp b/examples/APG/ThreadManagement/Coop_Cancel.cpp
index 4a7714cf14b..781f72e4d35 100644
--- a/examples/APG/ThreadManagement/Coop_Cancel.cpp
+++ b/examples/APG/ThreadManagement/Coop_Cancel.cpp
@@ -15,7 +15,7 @@ public:
virtual int svc (void)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up\n")));
// Cache our ACE_Thread_Manager pointer.
ACE_Thread_Manager *mgr = this->thr_mgr ();
diff --git a/examples/APG/ThreadManagement/ExitHandler.cpp b/examples/APG/ThreadManagement/ExitHandler.cpp
index 85238eac052..0d47b430f51 100644
--- a/examples/APG/ThreadManagement/ExitHandler.cpp
+++ b/examples/APG/ThreadManagement/ExitHandler.cpp
@@ -9,7 +9,7 @@ class ExitHandler : public ACE_At_Thread_Exit
public:
virtual void apply (void)
{
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) is exiting \n")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("(%t) is exiting\n")));
// Shut down all devices.
}
@@ -24,7 +24,7 @@ public:
virtual int svc (void)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up\n")));
this->thr_mgr ()->at_exit (eh_);
diff --git a/examples/APG/ThreadManagement/Pool.cpp b/examples/APG/ThreadManagement/Pool.cpp
index 30ae56801a5..bc3644480a6 100644
--- a/examples/APG/ThreadManagement/Pool.cpp
+++ b/examples/APG/ThreadManagement/Pool.cpp
@@ -12,7 +12,7 @@ class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
public:
virtual int svc (void)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up\n")));
ACE_Message_Block *mb;
if (this->getq (mb) == -1)
return -1;
diff --git a/examples/APG/ThreadManagement/Signals2.cpp b/examples/APG/ThreadManagement/Signals2.cpp
index 0df855c45bb..bb9497cb6c6 100644
--- a/examples/APG/ThreadManagement/Signals2.cpp
+++ b/examples/APG/ThreadManagement/Signals2.cpp
@@ -68,7 +68,7 @@ SignalableTask::handle_alert (void)
// Listing 1 code/ch13
int ACE_TMAIN (int, ACE_TCHAR *[])
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Main thread \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Main thread\n")));
SignalableTask handler;
handler.activate (THR_NEW_LWP | THR_JOINABLE, 5);
diff --git a/examples/APG/ThreadManagement/Start_Hook.cpp b/examples/APG/ThreadManagement/Start_Hook.cpp
index 1c4ad0794b7..e48a29f6861 100644
--- a/examples/APG/ThreadManagement/Start_Hook.cpp
+++ b/examples/APG/ThreadManagement/Start_Hook.cpp
@@ -38,7 +38,7 @@ class HA_CommandHandler : public ACE_Task_Base
public:
virtual int svc (void)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up\n")));
// Do something.
diff --git a/examples/APG/ThreadPools/threadpools.mpc b/examples/APG/ThreadPools/threadpools.mpc
index 1bb9a860920..f1f1345db00 100644
--- a/examples/APG/ThreadPools/threadpools.mpc
+++ b/examples/APG/ThreadPools/threadpools.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(Futures) : aceexe {
- avoids += ace_for_tao
+project(Futures) : aceexe, avoids_ace_for_tao {
exename = Futures
Source_Files {
Futures.cpp
diff --git a/examples/APG/ThreadSafety/Atomic_Op.cpp b/examples/APG/ThreadSafety/Atomic_Op.cpp
index d315d433a66..29199fffaa9 100644
--- a/examples/APG/ThreadSafety/Atomic_Op.cpp
+++ b/examples/APG/ThreadSafety/Atomic_Op.cpp
@@ -42,7 +42,7 @@ public:
buf_[in_.value () % Q_SIZE] = itemNo.value ();
in_++;
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Produced %d \n"),
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Produced %d\n"),
itemNo.value ()));
if (check_termination (itemNo.value ()))
diff --git a/examples/APG/ThreadSafety/TSS.cpp b/examples/APG/ThreadSafety/TSS.cpp
index 8cc875cb3ee..f0b3c59ee9f 100644
--- a/examples/APG/ThreadSafety/TSS.cpp
+++ b/examples/APG/ThreadSafety/TSS.cpp
@@ -42,7 +42,7 @@ public:
{
ACE_thread_t *tid =
(ACE_thread_t*)this->tss_ctx_->get_attribute ("thread_id");
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) TSS TID: %d \n"),
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) TSS TID: %d\n"),
*tid));
// do work.
diff --git a/examples/APG/ThreadSafety/threadsafety.mpc b/examples/APG/ThreadSafety/threadsafety.mpc
index 3598d274917..97967989572 100644
--- a/examples/APG/ThreadSafety/threadsafety.mpc
+++ b/examples/APG/ThreadSafety/threadsafety.mpc
@@ -22,16 +22,14 @@ project(Mutex) : aceexe {
}
}
-project(RW Lock) : aceexe {
- avoids += ace_for_tao
+project(RW Lock) : aceexe, avoids_ace_for_tao {
exename = RW_Lock
Source_Files {
RW_Lock.cpp
}
}
-project(Semaphore) : aceexe {
- avoids += ace_for_tao
+project(Semaphore) : aceexe, avoids_ace_for_tao {
exename = Semaphore
Source_Files {
Semaphore.cpp
diff --git a/examples/APG/Timers/Task.cpp b/examples/APG/Timers/Task.cpp
index 4774eb1444f..c5ab6b4591c 100644
--- a/examples/APG/Timers/Task.cpp
+++ b/examples/APG/Timers/Task.cpp
@@ -40,7 +40,7 @@ private:
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("the main thread %t has started \n")));
+ ACE_TEXT ("the main thread %t has started\n")));
// Create an "active" timer and start its thread.
ActiveTimer atimer;
diff --git a/examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp b/examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp
index e7dadb5d68c..cb448367e61 100644
--- a/examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp
+++ b/examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp
@@ -138,22 +138,22 @@ Consumer_Router::info (ACE_TCHAR **strp, size_t length) const
{
ACE_TCHAR buf[BUFSIZ];
ACE_INET_Addr addr;
- const ACE_TCHAR *mod_name = this->name ();
+ const ACE_TCHAR *module_name = this->name ();
if (this->context ()->acceptor ().get_local_addr (addr) == -1)
return -1;
ACE_OS::sprintf (buf,
FMTSTR,
- mod_name,
+ module_name,
addr.get_port_number (),
ACE_TEXT ("tcp"),
ACE_TEXT ("# consumer router"),
this->is_reader () ? ACE_TEXT ("reader") : ACE_TEXT ("writer"));
- if (*strp == 0 && (*strp = ACE_OS::strdup (mod_name)) == 0)
+ if (*strp == 0 && (*strp = ACE_OS::strdup (module_name)) == 0)
return -1;
else
- ACE_OS::strncpy (*strp, mod_name, length);
+ ACE_OS::strncpy (*strp, module_name, length);
- return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (mod_name));
+ return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (module_name));
}
diff --git a/examples/ASX/Event_Server/Event_Server/Event.mpc b/examples/ASX/Event_Server/Event_Server/Event.mpc
index f99e912ce04..7503fec4763 100644
--- a/examples/ASX/Event_Server/Event_Server/Event.mpc
+++ b/examples/ASX/Event_Server/Event_Server/Event.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*Server) : aceexe {
- avoids += ace_for_tao
+project(*Server) : aceexe, avoids_ace_for_tao {
exename = Event_Server
Source_Files {
Consumer_Router.cpp
diff --git a/examples/ASX/Event_Server/Event_Server/Options.cpp b/examples/ASX/Event_Server/Event_Server/Options.cpp
index d44a5643019..16ce65aa5fd 100644
--- a/examples/ASX/Event_Server/Event_Server/Options.cpp
+++ b/examples/ASX/Event_Server/Event_Server/Options.cpp
@@ -168,12 +168,12 @@ Options::parse_args (int argc, ACE_TCHAR *argv[])
"\t[-H high water mark]\n"
"\t[-i number of test iterations]\n"
"\t[-L low water mark]\n"
- "\t[-M] message size \n"
+ "\t[-M] message size\n"
"\t[-n] (THR_NEW_LWP)\n"
"\t[-q max queue size]\n"
"\t[-s supplier port]\n"
"\t[-t number of threads]\n"
- "\t[-v] (verbose) \n",
+ "\t[-v] (verbose)\n",
ACE_TEXT_ALWAYS_CHAR (argv[0]));
ACE_OS::exit (1);
/* NOTREACHED */
diff --git a/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp b/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
index f3ac967e554..9fced9b8059 100644
--- a/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
+++ b/examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
@@ -406,7 +406,7 @@ Peer_Handler::svc (void)
ACE_TEXT ("unbind failed")),
-1);
LM_DEBUG ((LOG_DEBUG,
- ACE_TEXT ("(%t) shutting down \n")));
+ ACE_TEXT ("(%t) shutting down\n")));
// We do not need to be deregistered by reactor
// as we were not registered at all.
diff --git a/examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp b/examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp
index de00bba7346..0e0f45e386f 100644
--- a/examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp
+++ b/examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp
@@ -144,23 +144,23 @@ Supplier_Router::info (ACE_TCHAR **strp, size_t length) const
{
ACE_TCHAR buf[BUFSIZ];
ACE_INET_Addr addr;
- const ACE_TCHAR *mod_name = this->name ();
+ const ACE_TCHAR *module_name = this->name ();
if (this->context ()->acceptor ().get_local_addr (addr) == -1)
return -1;
ACE_OS::sprintf (buf,
FMTSTR,
- mod_name,
+ module_name,
addr.get_port_number (),
ACE_TEXT ("tcp"),
ACE_TEXT ("# supplier router"),
this->is_reader () ?
ACE_TEXT ("reader") : ACE_TEXT ("writer"));
- if (*strp == 0 && (*strp = ACE_OS::strdup (mod_name)) == 0)
+ if (*strp == 0 && (*strp = ACE_OS::strdup (module_name)) == 0)
return -1;
else
- ACE_OS::strncpy (*strp, mod_name, length);
+ ACE_OS::strncpy (*strp, module_name, length);
- return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (mod_name));
+ return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (module_name));
}
diff --git a/examples/ASX/Event_Server/README b/examples/ASX/Event_Server/README
index 262b7ee9633..6038355a53e 100644
--- a/examples/ASX/Event_Server/README
+++ b/examples/ASX/Event_Server/README
@@ -1,10 +1,11 @@
This subdirectory illustrates a number of the ACE ASX framework
features using an ACE_Stream application called the Event Server. For
more information on the design and use of the ACE ASX framework please
-see http://www.cs.wustl.edu/~schmidt/C++-USENIX-94.ps.gz and
-http://www.cs.wustl.edu/~schmidt/ACE-concurrency.ps.gz. For more
+see http://www.cs.wustl.edu/~schmidt/PDF/C++-USENIX-94.pdf and
+http://www.cs.wustl.edu/~schmidt/PDF/ACE-concurrency.pdf. For more
information on the Event Server, please see
-http://www.cs.wustl.edu/~schmidt/DSEJ-94.ps.gz.
+
+http://www.cs.wustl.edu/~schmidt/PDF/DSEJ-94.pdf
The Event Server example works as follows:
diff --git a/examples/ASX/Event_Server/Transceiver/transceiver.cpp b/examples/ASX/Event_Server/Transceiver/transceiver.cpp
index 37bbaad7d3d..56327d405bd 100644
--- a/examples/ASX/Event_Server/Transceiver/transceiver.cpp
+++ b/examples/ASX/Event_Server/Transceiver/transceiver.cpp
@@ -47,7 +47,7 @@ Event_Transceiver::parse_args (int argc, ACE_TCHAR *argv[])
break;
default:
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("usage: %n [-CS] [-h host_name] [-p portnum] \n")),
+ ACE_TEXT ("usage: %n [-CS] [-h host_name] [-p portnum]\n")),
-1);
/* NOTREACHED */
break;
diff --git a/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp b/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp
index 5b1faec011a..4b0b25ed8fb 100644
--- a/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp
+++ b/examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp
@@ -113,7 +113,7 @@ Consumer_Router::info (ACE_TCHAR **strp, size_t length) const
{
ACE_TCHAR buf[BUFSIZ];
ACE_UPIPE_Addr addr;
- const ACE_TCHAR *mod_name = this->name ();
+ const ACE_TCHAR *module_name = this->name ();
ACE_UPIPE_Acceptor &sa = (ACE_UPIPE_Acceptor &) *this->acceptor_;
if (sa.get_local_addr (addr) == -1)
@@ -126,15 +126,15 @@ Consumer_Router::info (ACE_TCHAR **strp, size_t length) const
#endif
ACE_OS::sprintf (buf, FMTSTR,
- mod_name, ACE_TEXT ("upipe"),
+ module_name, ACE_TEXT ("upipe"),
ACE_TEXT ("# consumer router\n"));
- if (*strp == 0 && (*strp = ACE_OS::strdup (mod_name)) == 0)
+ if (*strp == 0 && (*strp = ACE_OS::strdup (module_name)) == 0)
return -1;
else
- ACE_OS::strncpy (*strp, mod_name, length);
+ ACE_OS::strncpy (*strp, module_name, length);
- return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (mod_name));
+ return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (module_name));
}
#endif /* ACE_HAS_THREADS */
diff --git a/examples/ASX/UPIPE_Event_Server/Options.cpp b/examples/ASX/UPIPE_Event_Server/Options.cpp
index 69ed1441b05..0f7cccb2365 100644
--- a/examples/ASX/UPIPE_Event_Server/Options.cpp
+++ b/examples/ASX/UPIPE_Event_Server/Options.cpp
@@ -165,13 +165,13 @@ Options::parse_args (int argc, ACE_TCHAR *argv[])
"\t[-H high water mark]\n"
"\t[-i number of test iterations]\n"
"\t[-L low water mark]\n"
- "\t[-M] message size \n"
+ "\t[-M] message size\n"
"\t[-n] (THR_NEW_LWP)\n"
"\t[-q max queue size]\n"
"\t[-S supplier file]\n"
"\t[-s supplier port]\n"
"\t[-t number of threads]\n"
- "\t[-v] (verbose) \n",
+ "\t[-v] (verbose)\n",
ACE_TEXT_ALWAYS_CHAR (argv[0]));
ACE_OS::exit (1);
/* NOTREACHED */
diff --git a/examples/ASX/UPIPE_Event_Server/Peer_Router.cpp b/examples/ASX/UPIPE_Event_Server/Peer_Router.cpp
index b1f3755d9bd..65eb65a5609 100644
--- a/examples/ASX/UPIPE_Event_Server/Peer_Router.cpp
+++ b/examples/ASX/UPIPE_Event_Server/Peer_Router.cpp
@@ -84,7 +84,7 @@ Peer_Handler<ROUTER, KEY>::svc (void)
if (this->router_task_->unbind_peer (this->get_handle ()) == -1)
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
ACE_TEXT ("unbind failed")), -1);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) shutting down \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) shutting down\n")));
return -1; // We do not need to be deregistered by reactor
// as we were not registered at all
}
diff --git a/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp b/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp
index 823253d8c06..50ddc87998a 100644
--- a/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp
+++ b/examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp
@@ -112,7 +112,7 @@ Supplier_Router::info (ACE_TCHAR **strp, size_t length) const
{
ACE_TCHAR buf[BUFSIZ];
ACE_UPIPE_Addr addr;
- const ACE_TCHAR *mod_name = this->name ();
+ const ACE_TCHAR *module_name = this->name ();
ACE_UPIPE_Acceptor &sa = (ACE_UPIPE_Acceptor &) *this->acceptor_;
if (sa.get_local_addr (addr) == -1)
@@ -125,15 +125,15 @@ Supplier_Router::info (ACE_TCHAR **strp, size_t length) const
#endif
ACE_OS::sprintf (buf, FMTSTR,
- mod_name, ACE_TEXT ("upipe"),
+ module_name, ACE_TEXT ("upipe"),
ACE_TEXT ("# supplier router\n"));
- if (*strp == 0 && (*strp = ACE_OS::strdup (mod_name)) == 0)
+ if (*strp == 0 && (*strp = ACE_OS::strdup (module_name)) == 0)
return -1;
else
- ACE_OS::strncpy (*strp, mod_name, length);
+ ACE_OS::strncpy (*strp, module_name, length);
- return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (mod_name));
+ return ACE_Utils::truncate_cast<int> (ACE_OS::strlen (module_name));
}
#endif /* ACE_HAS_THREADS */
diff --git a/examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc b/examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc
index a4c93dc1fdb..a4c4334fc31 100644
--- a/examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc
+++ b/examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*Server) : aceexe {
- avoids += ace_for_tao
+project(*Server) : aceexe, avoids_ace_for_tao {
exename = UPIPE_Event_Server
Source_Files {
Consumer_Router.cpp
diff --git a/examples/C++NPv1/C++NPv1.mpc b/examples/C++NPv1/C++NPv1.mpc
index 2cc6967e831..5d5a8fb55f1 100644
--- a/examples/C++NPv1/C++NPv1.mpc
+++ b/examples/C++NPv1/C++NPv1.mpc
@@ -1,8 +1,8 @@
// -*- MPC -*-
// $Id$
-project(*Iterative_Logging_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*Iterative_Logging_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = iterative_logging_server
Source_Files {
Iterative_Logging_Server.cpp
@@ -19,8 +19,8 @@ project(*Logging_Client) : aceexe {
}
}
-project(*PPC_Logging_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*PPC_Logging_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = ppc_logging_server
Source_Files {
Process_Per_Connection_Logging_Server.cpp
@@ -29,8 +29,8 @@ project(*PPC_Logging_Server) : aceexe {
}
}
-project(*Reactive_Logging_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*Reactive_Logging_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = reactive_logging_server
Source_Files {
Reactive_Logging_Server.cpp
@@ -39,8 +39,8 @@ project(*Reactive_Logging_Server) : aceexe {
}
}
-project(*Reactive_Logging_Server_Ex) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*Reactive_Logging_Server_Ex) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = reactive_logging_server_ex
Source_Files {
Reactive_Logging_Server_Ex.cpp
@@ -49,8 +49,8 @@ project(*Reactive_Logging_Server_Ex) : aceexe {
}
}
-project(*RTTPC_Logging_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*RTTPC_Logging_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = RTTPC_logging_server
Source_Files {
RT_Thread_Per_Connection_Logging_Server.cpp
@@ -59,8 +59,8 @@ project(*RTTPC_Logging_Server) : aceexe {
}
}
-project(*TPC_Logging_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*TPC_Logging_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = tpc_logging_server
Source_Files {
Thread_Per_Connection_Logging_Server.cpp
diff --git a/examples/C++NPv2/C++NPv2.mpc b/examples/C++NPv2/C++NPv2.mpc
index c392cb358e2..dc83c833224 100644
--- a/examples/C++NPv2/C++NPv2.mpc
+++ b/examples/C++NPv2/C++NPv2.mpc
@@ -98,8 +98,8 @@ project(*SLD) : acelib, avoids_ace_for_tao {
}
}
-project(*SLDex) : acelib {
- avoids += uses_wchar ace_for_tao
+project(*SLDex) : acelib, avoids_ace_for_tao {
+ avoids += uses_wchar
sharedname = SLDex
dynamicflags = SLDEX_BUILD_DLL
specific(gnuace) {
@@ -123,8 +123,8 @@ project(*SR_Configurable_Log_Server) : aceexe {
}
}
-project(*TP_Reactor_Log_Server) : aceexe {
- avoids += uses_wchar ace_for_tao
+project(*TP_Reactor_Log_Server) : aceexe, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = tp_reactor_logging_server
specific(gnuace) {
after += *Reactor_Log_Server
@@ -151,8 +151,8 @@ project(*TPCLS) : acelib, ssl {
}
}
-project(*TPLS) : acelib {
- avoids += uses_wchar ace_for_tao
+project(*TPLS) : acelib, avoids_ace_for_tao {
+ avoids += uses_wchar
sharedname = TPLS
dynamicflags = TPLS_BUILD_DLL
specific(gnuace) {
@@ -166,8 +166,8 @@ project(*TPLS) : acelib {
}
}
-project(*WFMO_Reactor_Log_Server) : aceexe, wfmo {
- avoids += uses_wchar ace_for_tao
+project(*WFMO_Reactor_Log_Server) : aceexe, wfmo, avoids_ace_for_tao {
+ avoids += uses_wchar
exename = wfmo_reactor_logging_server
specific(gnuace) {
after += *Reactor_Log_Server
diff --git a/examples/Connection/blocking/Connection_Blocking.mpc b/examples/Connection/blocking/Connection_Blocking.mpc
index 758e2bfbf95..164e1dd34d0 100644
--- a/examples/Connection/blocking/Connection_Blocking.mpc
+++ b/examples/Connection/blocking/Connection_Blocking.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*acceptor) : aceexe {
- avoids += ace_for_tao
+project(*acceptor) : aceexe, avoids_ace_for_tao {
exename = acceptor
Source_Files {
SPIPE-acceptor.cpp
@@ -10,8 +9,7 @@ project(*acceptor) : aceexe {
}
}
-project(*connector) : aceexe {
- avoids += ace_for_tao
+project(*connector) : aceexe, avoids_ace_for_tao {
exename = connector
Source_Files {
SPIPE-connector.cpp
diff --git a/examples/Connection/misc/Connection_Handler.cpp b/examples/Connection/misc/Connection_Handler.cpp
index f05c38ce59b..23b8457b0ac 100644
--- a/examples/Connection/misc/Connection_Handler.cpp
+++ b/examples/Connection/misc/Connection_Handler.cpp
@@ -112,7 +112,7 @@ int
Connection_Handler::handle_close (ACE_HANDLE,
ACE_Reactor_Mask)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) in handle_close \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) in handle_close\n")));
// Signal the svc() event loop to shut down.
this->finished_ = 1;
diff --git a/examples/Connection/misc/Connection_Misc.mpc b/examples/Connection/misc/Connection_Misc.mpc
index a960e604338..f58a648e27a 100644
--- a/examples/Connection/misc/Connection_Misc.mpc
+++ b/examples/Connection/misc/Connection_Misc.mpc
@@ -8,8 +8,7 @@ project (*Handler) : aceexe {
}
}
-project (*test_upipe) : aceexe {
- avoids += ace_for_tao
+project (*test_upipe) : aceexe, avoids_ace_for_tao {
exename = test_upipe
Source_Files {
test_upipe.cpp
diff --git a/examples/Connection/non_blocking/Connection_Non_Blocking.mpc b/examples/Connection/non_blocking/Connection_Non_Blocking.mpc
index de9ecaea5e0..b6da5bde1a1 100644
--- a/examples/Connection/non_blocking/Connection_Non_Blocking.mpc
+++ b/examples/Connection/non_blocking/Connection_Non_Blocking.mpc
@@ -17,8 +17,7 @@ project (*SockServer) : aceexe {
}
}
-project (*LSockClient) : aceexe {
- avoids += ace_for_tao
+project (*LSockClient) : aceexe, avoids_ace_for_tao {
exename = lsock_client
Source_Files {
CPP-connector.cpp
@@ -26,8 +25,7 @@ project (*LSockClient) : aceexe {
}
}
-project (*LSockServer) : aceexe {
- avoids += ace_for_tao
+project (*LSockServer) : aceexe, avoids_ace_for_tao {
exename = lsock_server
Source_Files {
CPP-acceptor.cpp
diff --git a/examples/Export/run_test.pl b/examples/Export/run_test.pl
index 11e98b17b94..e77d07e2c81 100755
--- a/examples/Export/run_test.pl
+++ b/examples/Export/run_test.pl
@@ -6,12 +6,18 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# -*- perl -*-
use lib "$ENV{ACE_ROOT}/bin";
-use PerlACE::Run_Test;
+use PerlACE::TestTarget;
-$TEST = new PerlACE::Process ("test");
+my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";
-$status = $TEST->SpawnWaitKill (20);
+$SV = $server->CreateProcess ("test");
-$status = 1 if ($status < 0);
+$test = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval());
+
+if ($test != 0) {
+ print STDERR "ERROR: test returned $test\n";
+ exit 1;
+}
+
+exit 0;
-exit $status;
diff --git a/examples/IPC_SAP/ATM_SAP/CPP-client.cpp b/examples/IPC_SAP/ATM_SAP/CPP-client.cpp
index 91c682e4fbe..9d847d843e4 100644
--- a/examples/IPC_SAP/ATM_SAP/CPP-client.cpp
+++ b/examples/IPC_SAP/ATM_SAP/CPP-client.cpp
@@ -90,7 +90,7 @@ int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
// Point-to-point connection
// Not sure why but reuse_addr set to true/1 causes problems for
// FORE/XTI/ATM - this is now handled in ACE_ATM_Connector::connect()
- ACE_OS::printf( "ATM_Client: to open a connection \n" );
+ ACE_OS::printf( "ATM_Client: to open a connection\n" );
ACE_ATM_Params params = ACE_ATM_Params();
if (con.connect (atm_stream,
hosts[ 0 ],
diff --git a/examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc b/examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc
index a6535c82e82..439f4777409 100644
--- a/examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc
+++ b/examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = reader
Source_Files {
reader.cpp
diff --git a/examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc b/examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc
index 75486584b6d..e7774f140bd 100644
--- a/examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc
+++ b/examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = writer
Source_Files {
writer.cpp
diff --git a/examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc b/examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc
index 1e6d04447e5..5a144621b09 100644
--- a/examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc
+++ b/examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc
@@ -1,16 +1,14 @@
// -*- MPC -*-
// $Id$
-project(*client) : aceexe {
- avoids += ace_for_tao
+project(*client) : aceexe, avoids_ace_for_tao {
exename = FIFO-client
Source_Files {
FIFO-client.cpp
}
}
-project(*server) : aceexe {
- avoids += ace_for_tao
+project(*server) : aceexe, avoids_ace_for_tao {
exename = FIFO-server
Source_Files {
FIFO-server.cpp
@@ -31,8 +29,7 @@ project(*Msg_Server) : aceexe {
}
}
-project(*test) : aceexe {
- avoids += ace_for_tao
+project(*test) : aceexe, avoids_ace_for_tao {
exename = FIFO-test
Source_Files {
FIFO-test.cpp
diff --git a/examples/IPC_SAP/FILE_SAP/file_sap_client.mpc b/examples/IPC_SAP/FILE_SAP/file_sap_client.mpc
index 24f9a2b3a61..f47f7a7c7d7 100644
--- a/examples/IPC_SAP/FILE_SAP/file_sap_client.mpc
+++ b/examples/IPC_SAP/FILE_SAP/file_sap_client.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = client
Source_Files {
client.cpp
diff --git a/examples/IPC_SAP/SOCK_SAP/sock_sap.mpc b/examples/IPC_SAP/SOCK_SAP/sock_sap.mpc
index e2081ed7652..b7fb2b66f46 100644
--- a/examples/IPC_SAP/SOCK_SAP/sock_sap.mpc
+++ b/examples/IPC_SAP/SOCK_SAP/sock_sap.mpc
@@ -23,48 +23,42 @@ project(*CPP_inclient) : aceexe {
}
}
-project(*CPP_inserver) : aceexe {
- avoids += ace_for_tao
+project(*CPP_inserver) : aceexe, avoids_ace_for_tao {
exename = CPP-inserver
Source_Files {
CPP-inserver.cpp
}
}
-project(*CPP_memclient) : aceexe {
- avoids += ace_for_tao
+project(*CPP_memclient) : aceexe, avoids_ace_for_tao {
exename = CPP-memclient
Source_Files {
CPP-memclient.cpp
}
}
-project(*CPP_memserver) : aceexe {
- avoids += ace_for_tao
+project(*CPP_memserver) : aceexe, avoids_ace_for_tao {
exename = CPP-memserver
Source_Files {
CPP-memserver.cpp
}
}
-project(*FD_unclient) : aceexe {
- avoids += ace_for_tao
+project(*FD_unclient) : aceexe, avoids_ace_for_tao {
exename = FD-unclient
Source_Files {
FD-unclient.cpp
}
}
-project(*CPP_unclient) : aceexe {
- avoids += ace_for_tao
+project(*CPP_unclient) : aceexe, avoids_ace_for_tao {
exename = CPP-unclient
Source_Files {
CPP-unclient.cpp
}
}
-project(*CPP_unserver) : aceexe {
- avoids += ace_for_tao
+project(*CPP_unserver) : aceexe, avoids_ace_for_tao {
exename = CPP-unserver
Source_Files {
CPP-unserver.cpp
diff --git a/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp b/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
index bfd86b5138d..704d0b35ab6 100644
--- a/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
+++ b/examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp
@@ -225,7 +225,7 @@ Handler::open (void *)
0);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) client %C connected from %d \n"),
+ ACE_TEXT ("(%P|%t) client %C connected from %d\n"),
cli_addr.get_host_name (),
cli_addr.get_port_number ()));
diff --git a/examples/IPC_SAP/SSL_SAP/SSL-server.cpp b/examples/IPC_SAP/SSL_SAP/SSL-server.cpp
index c1f173cd72f..d0c512ea554 100644
--- a/examples/IPC_SAP/SSL_SAP/SSL-server.cpp
+++ b/examples/IPC_SAP/SSL_SAP/SSL-server.cpp
@@ -254,8 +254,8 @@ oneway_server (void *arg)
timer.elapsed_time (et);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\t\treal time = %f secs \n")
- ACE_TEXT ("\t\tuser time = %f secs \n")
+ ACE_TEXT ("\t\treal time = %f secs\n")
+ ACE_TEXT ("\t\tuser time = %f secs\n")
ACE_TEXT ("\t\tsystem time = %f secs\n"),
et.real_time,
et.user_time,
diff --git a/examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc b/examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc
index f67fdb7c2a0..4096e4960fe 100644
--- a/examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc
+++ b/examples/IPC_SAP/SSL_SAP/SSL_SAP.mpc
@@ -1,48 +1,42 @@
// -*- MPC -*-
// $Id$
-project(*client) : aceexe, ssl {
- avoids += ace_for_tao
+project(*client) : aceexe, ssl, avoids_ace_for_tao {
exename = client
Source_Files {
SSL-client.cpp
}
}
-project(*client_simple) : aceexe, ssl {
- avoids += ace_for_tao
+project(*client_simple) : aceexe, ssl, avoids_ace_for_tao {
exename = client-simple
Source_Files {
SSL-client-simple.cpp
}
}
-project(*server) : aceexe, ssl {
- avoids += ace_for_tao
+project(*server) : aceexe, ssl, avoids_ace_for_tao {
exename = server
Source_Files {
SSL-server.cpp
}
}
-project(*server_fancy) : aceexe, ssl {
- avoids += ace_for_tao
+project(*server_fancy) : aceexe, ssl, avoids_ace_for_tao {
exename = server-fancy
Source_Files {
SSL-server-fancy.cpp
}
}
-project(*server_poll) : aceexe, ssl {
- avoids += ace_for_tao
+project(*server_poll) : aceexe, ssl, avoids_ace_for_tao {
exename = server-poll
Source_Files {
SSL-server-poll.cpp
}
}
-project(*server_simple) : aceexe, ssl {
- avoids += ace_for_tao
+project(*server_simple) : aceexe, ssl, avoids_ace_for_tao {
exename = server-simple
Source_Files {
SSL-server-simple.cpp
diff --git a/examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc b/examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc
index d34d8671735..65e65655203 100644
--- a/examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc
+++ b/examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc
@@ -1,24 +1,21 @@
// -*- MPC -*-
// $Id$
-project(*ex1) : aceexe {
- avoids += ace_for_tao
+project(*ex1) : aceexe, avoids_ace_for_tao {
exename = ex1
Source_Files {
ex1.cpp
}
}
-project(*ex2) : aceexe {
- avoids += ace_for_tao
+project(*ex2) : aceexe, avoids_ace_for_tao {
exename = ex2
Source_Files {
ex2.cpp
}
}
-project(*ex3) : aceexe {
- avoids += ace_for_tao
+project(*ex3) : aceexe, avoids_ace_for_tao {
exename = ex3
Source_Files {
ex3.cpp
diff --git a/examples/Mem_Map/IO-tests/IO_Test.cpp b/examples/Mem_Map/IO-tests/IO_Test.cpp
index 58b96e2f660..2628dd2f9de 100644
--- a/examples/Mem_Map/IO-tests/IO_Test.cpp
+++ b/examples/Mem_Map/IO-tests/IO_Test.cpp
@@ -1,6 +1,6 @@
// $Id$
-#if !defined(_WIN32)
+#if !defined(_WIN32)
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_unistd.h"
@@ -35,13 +35,13 @@ Slow_Read_Write_Test::Slow_Read_Write_Test (const char *name,
{
}
-int
+int
Slow_Read_Write_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
{
- ACE_HANDLE ifd = fileno (input_fp);
- ACE_HANDLE ofd = fileno (output_fp);
+ ACE_HANDLE ifd = ACE_OS::fileno (input_fp);
+ ACE_HANDLE ofd = ACE_OS::fileno (output_fp);
this->tm_.start ();
@@ -58,7 +58,7 @@ Slow_Read_Write_Test::run_test (int iterations,
this->tm_.stop ();
return 0;
-}
+}
Stdio_Test::Stdio_Test (const char *name,
ACE_Profile_Timer &tm)
@@ -66,7 +66,7 @@ Stdio_Test::Stdio_Test (const char *name,
{
}
-int
+int
Stdio_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
@@ -85,7 +85,7 @@ Stdio_Test::run_test (int iterations,
}
this->tm_.stop ();
return 0;
-}
+}
Block_Read_Write_Test::Block_Read_Write_Test (const char *name,
ACE_Profile_Timer &tm)
@@ -93,13 +93,13 @@ Block_Read_Write_Test::Block_Read_Write_Test (const char *name,
{
}
-int
+int
Block_Read_Write_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
{
- int ifd = fileno (input_fp);
- int ofd = fileno (output_fp);
+ ACE_HANDLE ifd = ACE_OS::fileno (input_fp);
+ ACE_HANDLE ofd = ACE_OS::fileno (output_fp);
this->tm_.start ();
@@ -119,7 +119,7 @@ Block_Read_Write_Test::run_test (int iterations,
this->tm_.stop ();
return 0;
-}
+}
Block_Fread_Fwrite_Test::Block_Fread_Fwrite_Test (const char *name,
ACE_Profile_Timer &tm)
@@ -127,7 +127,7 @@ Block_Fread_Fwrite_Test::Block_Fread_Fwrite_Test (const char *name,
{
}
-int
+int
Block_Fread_Fwrite_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
@@ -151,7 +151,7 @@ Block_Fread_Fwrite_Test::run_test (int iterations,
this->tm_.stop ();
return 0;
-}
+}
Mmap1_Test::Mmap1_Test (const char *name,
ACE_Profile_Timer &tm)
@@ -159,12 +159,12 @@ Mmap1_Test::Mmap1_Test (const char *name,
{
}
-int
+int
Mmap1_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
{
- ACE_Mem_Map map_input (fileno (input_fp));
+ ACE_Mem_Map map_input (ACE_OS::fileno (input_fp));
void *src = map_input.addr ();
if (src == MAP_FAILED)
@@ -175,21 +175,21 @@ Mmap1_Test::run_test (int iterations,
while (--iterations >= 0)
{
- if (ACE_OS::write (fileno (output_fp),
+ if (ACE_OS::write (ACE_OS::fileno (output_fp),
src,
map_input.size ()) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%C"),
this->name ()),
-1);
- ACE_OS::lseek (fileno (output_fp),
+ ACE_OS::lseek (ACE_OS::fileno (output_fp),
0,
SEEK_SET);
}
this->tm_.stop ();
}
-
+
if (map_input.unmap () == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%C"),
@@ -197,7 +197,7 @@ Mmap1_Test::run_test (int iterations,
-1);
else
return 0;
-}
+}
Mmap2_Test::Mmap2_Test (const char *name,
ACE_Profile_Timer &tm)
@@ -205,14 +205,14 @@ Mmap2_Test::Mmap2_Test (const char *name,
{
}
-int
+int
Mmap2_Test::run_test (int iterations,
FILE *input_fp,
FILE *output_fp)
{
- ACE_Mem_Map map_input (fileno (input_fp));
+ ACE_Mem_Map map_input (ACE_OS::fileno (input_fp));
int size = map_input.size ();
- ACE_Mem_Map map_output (fileno (output_fp),
+ ACE_Mem_Map map_output (ACE_OS::fileno (output_fp),
size,
PROT_WRITE,
MAP_SHARED);
@@ -230,11 +230,11 @@ Mmap2_Test::run_test (int iterations,
this->tm_.stop ();
}
-
- if (map_input.unmap () == -1
+
+ if (map_input.unmap () == -1
|| map_output.unmap () == -1)
return -1;
else
return 0;
-}
+}
#endif
diff --git a/examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc b/examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc
index 4066ccc2613..33b661b229d 100644
--- a/examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc
+++ b/examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc
@@ -1,7 +1,6 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
+project : aceexe, avoids_ace_for_tao {
exename = test_io
- avoids += ace_for_tao
}
diff --git a/examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc b/examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc
index 368866edb73..9d07999c33b 100644
--- a/examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc
+++ b/examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc
@@ -1,7 +1,6 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = file-reverse
}
diff --git a/examples/Misc/Misc.mpc b/examples/Misc/Misc.mpc
index 84be1f4d1e6..68eeb0b5a2e 100644
--- a/examples/Misc/Misc.mpc
+++ b/examples/Misc/Misc.mpc
@@ -15,8 +15,7 @@ project(*test_get_opt) : aceexe {
}
}
-project(*test_profile_timer) : aceexe {
- avoids += ace_for_tao
+project(*test_profile_timer) : aceexe, avoids_ace_for_tao {
exename = test_profile_timer
Source_Files {
test_profile_timer.cpp
diff --git a/examples/Misc/test_XtReactor1.cpp b/examples/Misc/test_XtReactor1.cpp
index 6e1732c1ee0..d7883a6f874 100644
--- a/examples/Misc/test_XtReactor1.cpp
+++ b/examples/Misc/test_XtReactor1.cpp
@@ -129,7 +129,7 @@ ACE_TMAIN (int argc, ACE_TCHAR**argv)
&argc,
argv,
0,
- 0);
+ static_cast<void *>(0));
char change[] = "change"; // XmCreatePushButton() wants a non-const
// string.
Widget button = XmCreatePushButton (top_level,
diff --git a/examples/Misc/test_XtReactor2.cpp b/examples/Misc/test_XtReactor2.cpp
index 88b53e04869..7f7faa1826e 100644
--- a/examples/Misc/test_XtReactor2.cpp
+++ b/examples/Misc/test_XtReactor2.cpp
@@ -60,7 +60,7 @@ ACE_TMAIN (int argc, ACE_TCHAR**argv)
&argc,
argv,
0,
- 0);
+ static_cast<void *>(0));
char change[] = "change"; // XmCreatePushButton() wants a non-const
// string.
Widget button = XmCreatePushButton (top_level,
diff --git a/examples/Naming/Naming.mpc b/examples/Naming/Naming.mpc
index 0738944434f..760a8021f36 100644
--- a/examples/Naming/Naming.mpc
+++ b/examples/Naming/Naming.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*multiple_contexts) : aceexe {
- avoids += ace_for_tao
+project(*multiple_contexts) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = multiple_contexts
Source_Files {
@@ -10,8 +9,7 @@ project(*multiple_contexts) : aceexe {
}
}
-project(*non_existent) : aceexe {
- avoids += ace_for_tao
+project(*non_existent) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = non_existent
Source_Files {
@@ -19,8 +17,7 @@ project(*non_existent) : aceexe {
}
}
-project(*writers) : aceexe {
- avoids += ace_for_tao
+project(*writers) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = writers
Source_Files {
@@ -28,8 +25,7 @@ project(*writers) : aceexe {
}
}
-project(*open) : aceexe {
- avoids += ace_for_tao
+project(*open) : aceexe, avoids_ace_for_tao {
requires += ace_other
exename = open
Source_Files {
diff --git a/examples/OS/Process/OS_Process.mpc b/examples/OS/Process/OS_Process.mpc
index ea2e08ec454..433efdf7877 100644
--- a/examples/OS/Process/OS_Process.mpc
+++ b/examples/OS/Process/OS_Process.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*imore) : aceexe {
- avoids += ace_for_tao
+project(*imore) : aceexe, avoids_ace_for_tao {
exename = imore
Source_Files {
imore.cpp
diff --git a/examples/OS/Process/imore.cpp b/examples/OS/Process/imore.cpp
index e6c672d949f..04b6cbfb392 100644
--- a/examples/OS/Process/imore.cpp
+++ b/examples/OS/Process/imore.cpp
@@ -38,8 +38,6 @@ ACE_RCSID(Process, imore, "$Id$")
#if defined (ACE_WIN32)
static const ACE_TCHAR *executable = ACE_TEXT("MORE.COM");
-static const ACE_TCHAR *rendezvous_dir = ACE_TEXT("c:/temp");
-static const ACE_TCHAR *rendezvous_pfx = ACE_TEXT("imore");
#else
static const char * executable = "more"; // I like less better.
static const ACE_TCHAR *rendezvous_dir = ACE_TEXT("/tmp");
@@ -94,6 +92,7 @@ parse_args (int argc, ACE_TCHAR **argv)
return 0;
}
+#if !defined (ACE_WIN32)
static int
setup_named_pipes (ACE_Process_Options &opt)
{
@@ -142,7 +141,9 @@ setup_named_pipes (ACE_Process_Options &opt)
wfifo.close ();
return 0;
}
+#endif
+#if !defined (ACE_WIN32)
static int
setup_unnamed_pipe (ACE_Process_Options &opt)
{
@@ -169,7 +170,9 @@ setup_unnamed_pipe (ACE_Process_Options &opt)
pipe.close ();
return 0;
}
+#endif
+#if !defined (ACE_WIN32)
static int
print_file (ACE_HANDLE infd)
{
@@ -193,9 +196,10 @@ print_file (ACE_HANDLE infd)
}
}
}
-
+
return 0;
}
+#endif
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
diff --git a/examples/OS/Process/process.cpp b/examples/OS/Process/process.cpp
index 89d32881243..7187338dd5d 100644
--- a/examples/OS/Process/process.cpp
+++ b/examples/OS/Process/process.cpp
@@ -29,6 +29,7 @@
#include "ace/Time_Value.h"
#include "ace/SString.h"
#include "ace/Truncate.h"
+#include "ace/Tokenizer_T.h"
ACE_RCSID(Process, process, "$Id$")
diff --git a/examples/QOS/Change_Receiver_FlowSpec/receiver.cpp b/examples/QOS/Change_Receiver_FlowSpec/receiver.cpp
index 8ef43514e9b..9ef416308b0 100644
--- a/examples/QOS/Change_Receiver_FlowSpec/receiver.cpp
+++ b/examples/QOS/Change_Receiver_FlowSpec/receiver.cpp
@@ -186,7 +186,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -204,13 +204,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -223,16 +223,16 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a receiver.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a receiver.
qos_session->flags (ACE_QoS_Session::ACE_QOS_RECEIVER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -248,11 +248,11 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register a signal handler that helps to gracefully close the
// open QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
-
+
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -262,7 +262,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Receiver_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -280,13 +280,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
"Error in registering the Decorator with the Reactor\n"),
-1);
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/QOS/Change_Receiver_FlowSpec/sender.cpp b/examples/QOS/Change_Receiver_FlowSpec/sender.cpp
index c721aa810c4..5aedacb3303 100644
--- a/examples/QOS/Change_Receiver_FlowSpec/sender.cpp
+++ b/examples/QOS/Change_Receiver_FlowSpec/sender.cpp
@@ -190,7 +190,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -208,13 +208,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -227,22 +227,22 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a sender.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a sender.
qos_session->flags (ACE_QoS_Session::ACE_QOS_SENDER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Since we are using RSVP, it is imperative that the client
// application have the option of supplying the source sender
// port for the RSVP messages. A default will be chosen by the
// ACE API if this is not done.
qos_session->source_port (qos_util.source_port ());
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -254,7 +254,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
else
ACE_DEBUG ((LM_DEBUG,
"Setting QOS succeeds.\n"));
-
+
// Register a signal handler that helps to gracefully close the open
// QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
@@ -262,7 +262,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -272,7 +272,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Sender_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -292,13 +292,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp b/examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp
index 7688bc34373..bc8e7860593 100644
--- a/examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp
+++ b/examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp
@@ -167,7 +167,7 @@ Sender_QoS_Event_Handler::handle_qos (ACE_HANDLE)
25,
1)))
{
- case 1 :
+ case 1 :
ACE_ERROR_RETURN ((LM_ERROR,
"Unable to bind the new flow spec\n"
"The Flow Spec name already exists\n"),
diff --git a/examples/QOS/Change_Sender_TSpec/receiver.cpp b/examples/QOS/Change_Sender_TSpec/receiver.cpp
index e5702b90c1c..f329560dece 100644
--- a/examples/QOS/Change_Sender_TSpec/receiver.cpp
+++ b/examples/QOS/Change_Sender_TSpec/receiver.cpp
@@ -186,7 +186,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -204,13 +204,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -223,16 +223,16 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a receiver.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a receiver.
qos_session->flags (ACE_QoS_Session::ACE_QOS_RECEIVER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -248,11 +248,11 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register a signal handler that helps to gracefully close the
// open QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
-
+
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -262,7 +262,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Receiver_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -292,20 +292,20 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// // The following event handler handles the data.
// ACE_QoS_Event_Handler data_event_handler (dgram_mcast_qos,
// qos_session);
-
+
// // Register the Data Event Handler with the Reactor.
-// if (ACE_Reactor::instance ()->register_handler
+// if (ACE_Reactor::instance ()->register_handler
// (&data_event_handler,ACE_Event_Handler::READ_MASK) == -1)
// ACE_ERROR_RETURN ((LM_ERROR,
// "Error in registering Data Event Handler\n"),
// -1);
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/QOS/Change_Sender_TSpec/sender.cpp b/examples/QOS/Change_Sender_TSpec/sender.cpp
index 68d8d1a5586..1af380f90b3 100644
--- a/examples/QOS/Change_Sender_TSpec/sender.cpp
+++ b/examples/QOS/Change_Sender_TSpec/sender.cpp
@@ -190,7 +190,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -208,13 +208,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -227,22 +227,22 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a sender.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a sender.
qos_session->flags (ACE_QoS_Session::ACE_QOS_SENDER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Since we are using RSVP, it is imperative that the client
// application have the option of supplying the source sender
// port for the RSVP messages. A default will be chosen by the
// ACE API if this is not done.
qos_session->source_port (qos_util.source_port ());
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -254,7 +254,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
else
ACE_DEBUG ((LM_DEBUG,
"Setting QOS succeeds.\n"));
-
+
// Register a signal handler that helps to gracefully close the open
// QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
@@ -262,7 +262,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -272,7 +272,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Sender_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -289,13 +289,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Decorator with the Reactor\n"),
-1);
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/QOS/Diffserv/QOS_Diffserv.mpc b/examples/QOS/Diffserv/QOS_Diffserv.mpc
index 3e66fbee34a..39f5272ad55 100644
--- a/examples/QOS/Diffserv/QOS_Diffserv.mpc
+++ b/examples/QOS/Diffserv/QOS_Diffserv.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*client) : aceexe, qos {
- avoids += ace_for_tao
+project(*client) : aceexe, qos, avoids_ace_for_tao {
exename = client
requires += qos
Source_Files {
diff --git a/examples/QOS/Simple/receiver.cpp b/examples/QOS/Simple/receiver.cpp
index 72381d64f69..cba39f779e1 100644
--- a/examples/QOS/Simple/receiver.cpp
+++ b/examples/QOS/Simple/receiver.cpp
@@ -187,7 +187,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -205,13 +205,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -224,16 +224,16 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a receiver.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a receiver.
qos_session->flags (ACE_QoS_Session::ACE_QOS_RECEIVER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -249,11 +249,11 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register a signal handler that helps to gracefully close the
// open QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
-
+
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -263,7 +263,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Receiver_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -281,13 +281,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
"Error in registering the Decorator with the Reactor\n"),
-1);
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/QOS/Simple/sender.cpp b/examples/QOS/Simple/sender.cpp
index 97e6aafa407..43684703be5 100644
--- a/examples/QOS/Simple/sender.cpp
+++ b/examples/QOS/Simple/sender.cpp
@@ -190,7 +190,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
else
ACE_DEBUG ((LM_DEBUG,
- "Dgram_Mcast subscribe succeeds \n"));
+ "Dgram_Mcast subscribe succeeds\n"));
int nIP_TTL = 25;
char achInBuf [BUFSIZ];
@@ -208,13 +208,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Multicast scope ACE_OS::ioctl() \n"));
+ "Error in Multicast scope ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds \n"));
-
+ "Setting TTL with Multicast scope ACE_OS::ioctl call succeeds\n"));
+
int bFlag = 0;
-
+
// Should this be abstracted into QoS objects ?? Doesnt seem to have
// to do anything directly with QoS.
if (ACE_OS::ioctl (dgram_mcast_qos.get_handle (), // Socket.
@@ -227,22 +227,22 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
0, // Overlapped.
0) == -1) // Func.
ACE_ERROR ((LM_ERROR,
- "Error in Loopback ACE_OS::ioctl() \n"));
+ "Error in Loopback ACE_OS::ioctl()\n"));
else
ACE_DEBUG ((LM_DEBUG,
- "Disable Loopback with ACE_OS::ioctl call succeeds \n"));
-
- // This is a sender.
+ "Disable Loopback with ACE_OS::ioctl call succeeds\n"));
+
+ // This is a sender.
qos_session->flags (ACE_QoS_Session::ACE_QOS_SENDER);
-
+
ACE_QoS_Manager qos_manager = dgram_mcast_qos.qos_manager ();
-
+
// Since we are using RSVP, it is imperative that the client
// application have the option of supplying the source sender
// port for the RSVP messages. A default will be chosen by the
// ACE API if this is not done.
qos_session->source_port (qos_util.source_port ());
-
+
// Set the QoS for the session. Replaces the ioctl () call that
// was being made previously.
if (qos_session->qos (&dgram_mcast_qos,
@@ -254,7 +254,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
else
ACE_DEBUG ((LM_DEBUG,
"Setting QOS succeeds.\n"));
-
+
// Register a signal handler that helps to gracefully close the open
// QoS sessions.
QoS_Signal_Handler qos_signal_handler (qos_session);
@@ -262,7 +262,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
// Register the usual SIGINT signal handler with the Reactor for
// the application to gracefully release the QoS session and
// shutdown.
- if (ACE_Reactor::instance ()->register_handler
+ if (ACE_Reactor::instance ()->register_handler
(SIGINT, &qos_signal_handler) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"Error in registering the Signal Handler.\n"),
@@ -272,7 +272,7 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
Sender_QoS_Event_Handler qos_event_handler (dgram_mcast_qos,
qos_session);
- // Decorate the above handler with QoS functionality.
+ // Decorate the above handler with QoS functionality.
ACE_QoS_Decorator qos_decorator (&qos_event_handler,
qos_session);
@@ -291,13 +291,13 @@ ACE_TMAIN (int argc, ACE_TCHAR * argv[])
-1);
-
+
// Start the event loop.
ACE_DEBUG ((LM_DEBUG,
- "Running the Event Loop ... \n"));
-
+ "Running the Event Loop ...\n"));
+
ACE_Reactor::instance ()->run_event_loop ();
-
+
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) shutting down server logging daemon\n"));
}
diff --git a/examples/Reactor/Dgram/Reactor_Dgram.mpc b/examples/Reactor/Dgram/Reactor_Dgram.mpc
index 1040aedc184..64342526293 100644
--- a/examples/Reactor/Dgram/Reactor_Dgram.mpc
+++ b/examples/Reactor/Dgram/Reactor_Dgram.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*CO) : aceexe {
- avoids += ace_for_tao
+project(*CO) : aceexe, avoids_ace_for_tao {
exename = codgram
Source_Files {
CODgram.cpp
diff --git a/examples/Reactor/FIFO/Reactor_FIFO.mpc b/examples/Reactor/FIFO/Reactor_FIFO.mpc
index 072ec5412b8..911c66f64ad 100644
--- a/examples/Reactor/FIFO/Reactor_FIFO.mpc
+++ b/examples/Reactor/FIFO/Reactor_FIFO.mpc
@@ -1,16 +1,14 @@
// -*- MPC -*-
// $Id$
-project(*client) : aceexe {
- avoids += ace_for_tao
+project(*client) : aceexe, avoids_ace_for_tao {
exename = client
Source_Files {
client.cpp
}
}
-project(*server) : aceexe {
- avoids += ace_for_tao
+project(*server) : aceexe, avoids_ace_for_tao {
exename = server
Source_Files {
server.cpp
diff --git a/examples/Reactor/Misc/pingpong.cpp b/examples/Reactor/Misc/pingpong.cpp
index 9a7a8566eae..bf36caf99b0 100644
--- a/examples/Reactor/Misc/pingpong.cpp
+++ b/examples/Reactor/Misc/pingpong.cpp
@@ -80,8 +80,10 @@ Ping_Pong::Ping_Pong (char b[], ACE_HANDLE f)
pid_ (ACE_OS::getpid ()),
handle_ (f)
{
- *((int *) this->buf_) = (int) this->pid_;
- *((int *) (this->buf_ + sizeof (int))) = 0;
+ int *pi_buf = (int *) this->buf_;
+ *(pi_buf) = (int) this->pid_;
+ pi_buf = (int *) (this->buf_ + sizeof (int));
+ *(pi_buf) = 0;
ACE_OS::strcpy (this->buf_ + (2 * sizeof (int)), b);
this->buf_[this->buflen_ - 1] = '\n';
this->buf_[this->buflen_] = '\0';
diff --git a/examples/Reactor/Proactor/Proactor.mpc b/examples/Reactor/Proactor/Proactor.mpc
index edb0736d726..28daf51b485 100644
--- a/examples/Reactor/Proactor/Proactor.mpc
+++ b/examples/Reactor/Proactor/Proactor.mpc
@@ -1,72 +1,63 @@
// -*- MPC -*-
// $Id$
-project(*cancel) : aceexe {
- avoids += ace_for_tao
+project(*cancel) : aceexe, avoids_ace_for_tao {
exename = test_cancel
Source_Files {
test_cancel.cpp
}
}
-project(*end_event_loops) : aceexe {
- avoids += ace_for_tao
+project(*end_event_loops) : aceexe, avoids_ace_for_tao {
exename = test_end_event_loop
Source_Files {
test_end_event_loop.cpp
}
}
-project(*multiple_loops) : aceexe {
- avoids += ace_for_tao
+project(*multiple_loops) : aceexe, avoids_ace_for_tao {
exename = test_multiple_loops
Source_Files {
test_multiple_loops.cpp
}
}
-project(*post_completions) : aceexe {
- avoids += ace_for_tao
+project(*post_completions) : aceexe, avoids_ace_for_tao {
exename = test_post_completions
Source_Files {
post_completions.cpp
}
}
-project(*proactor) : aceexe {
- avoids += ace_for_tao
+project(*proactor) : aceexe, avoids_ace_for_tao {
exename = test_proactor
Source_Files {
test_proactor.cpp
}
}
-// project(*proactor2) : aceexe {
-// avoids += ace_for_tao
+// project(*proactor2) : aceexe, avoids_ace_for_tao {
// exename = test_proactor2
// Source_Files {
// test_proactor2.cpp
// }
// }
-// project(*proactor3) : aceexe {
-// avoids += ace_for_tao
+// project(*proactor3) : aceexe, avoids_ace_for_tao {
// exename = test_proactor3
// Source_Files {
// test_proactor3.cpp
// }
// }
-project(*timeout) : aceexe {
- avoids += ace_for_tao
+project(*timeout) : aceexe, avoids_ace_for_tao {
exename = test_timeout
Source_Files {
test_timeout.cpp
}
}
-project(*udp_proactor) : aceexe {
- avoids += ace_for_tao
+project(*udp_proactor) : aceexe, avoids_ace_for_tao {
exename = test_udp_proactor
Source_Files {
test_udp_proactor.cpp
diff --git a/examples/Reactor/Proactor/post_completions.cpp b/examples/Reactor/Proactor/post_completions.cpp
index 1eaf0c5b176..ce24d5f5ef1 100644
--- a/examples/Reactor/Proactor/post_completions.cpp
+++ b/examples/Reactor/Proactor/post_completions.cpp
@@ -186,7 +186,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_UNUSED_ARG (argv);
ACE_DEBUG ((LM_DEBUG,
- "(%P | %t):Test starts \n"));
+ "(%P | %t):Test starts\n"));
// = Get two POSIX_SIG_Proactors, one with SIGRTMIN and one with
// SIGRTMAX.
diff --git a/examples/Reactor/Proactor/test_aiosig.cpp b/examples/Reactor/Proactor/test_aiosig.cpp
index 5fc1737fae7..944719968f1 100644
--- a/examples/Reactor/Proactor/test_aiosig.cpp
+++ b/examples/Reactor/Proactor/test_aiosig.cpp
@@ -215,12 +215,12 @@ query_aio_completions (void)
if (number_of_compleions == 0)
// Print the buffer.
- printf ("Number of bytes transferred : %d\n The buffer : %s \n",
+ printf ("Number of bytes transferred : %d\n The buffer : %s\n",
nbytes,
mb1);
else
// Print the buffer.
- printf ("Number of bytes transferred : %d\n The buffer : %s \n",
+ printf ("Number of bytes transferred : %d\n The buffer : %s\n",
nbytes,
mb2);
}
diff --git a/examples/Reactor/Proactor/test_aiosig_ace.cpp b/examples/Reactor/Proactor/test_aiosig_ace.cpp
index 3a76ea81251..fab137a4c02 100644
--- a/examples/Reactor/Proactor/test_aiosig_ace.cpp
+++ b/examples/Reactor/Proactor/test_aiosig_ace.cpp
@@ -290,7 +290,7 @@ query_aio_completions (void)
// may easily overrun the ACE_Log_Msg output buffer. If you need
// to turn the on for some reason, be careful of this.
#if 0
- ACE_DEBUG ((LM_DEBUG, "The buffer : %s \n", mb1.rd_ptr ()));
+ ACE_DEBUG ((LM_DEBUG, "The buffer : %s\n", mb1.rd_ptr ()));
#endif /* 0 */
}
else
@@ -300,7 +300,7 @@ query_aio_completions (void)
"\n Number of bytes transferred : %d\n",
nbytes));
#if 0
- ACE_DEBUG ((LM_DEBUG, "The buffer : %s \n", mb2.rd_ptr ()));
+ ACE_DEBUG ((LM_DEBUG, "The buffer : %s\n", mb2.rd_ptr ()));
#endif /* 0 */
}
}
diff --git a/examples/Reactor/Proactor/test_end_event_loop.cpp b/examples/Reactor/Proactor/test_end_event_loop.cpp
index db1e6645bec..2a87b875afe 100644
--- a/examples/Reactor/Proactor/test_end_event_loop.cpp
+++ b/examples/Reactor/Proactor/test_end_event_loop.cpp
@@ -83,7 +83,7 @@ public:
if (this->time_flag_)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t):Going to do *timed* <run_event_loop> \n"));
+ "(%P|%t):Going to do *timed* <run_event_loop>\n"));
ACE_Time_Value run_time (13);
@@ -95,7 +95,7 @@ public:
else
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t):Going to do *indefinite* <run_event_loop> \n"));
+ "(%P|%t):Going to do *indefinite* <run_event_loop>\n"));
if (ACE_Proactor::instance ()->run_event_loop () == -1)
ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t):%p.\n",
@@ -117,7 +117,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv [])
ACE_UNUSED_ARG (argv);
ACE_DEBUG ((LM_DEBUG,
- "(%P | %t):Test starts \n"));
+ "(%P | %t):Test starts\n"));
// Let us get the singleton proactor created here. This is very
// important. This will mask the signal used in the Proactor masked
diff --git a/examples/Reactor/TP_Reactor/AcceptHandler.cpp b/examples/Reactor/TP_Reactor/AcceptHandler.cpp
index 4ca0e6ac71b..40bda74f4da 100644
--- a/examples/Reactor/TP_Reactor/AcceptHandler.cpp
+++ b/examples/Reactor/TP_Reactor/AcceptHandler.cpp
@@ -35,19 +35,19 @@ int AcceptHandler::open(void) {
// open a port using the acceptor; reuse the address later
if (mAcceptor.open(addr, 1) == -1)
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%N:%l: Failed to open ")
- ACE_TEXT ("listening socket. (errno = %i: %m)\n"), errno), -1);
+ ACE_TEXT ("listening socket. (errno = %i: %m)\n"), ACE_ERRNO_GET), -1);
// register the handler with the reactor
if (mReactor->register_handler(this,
ACE_Event_Handler::ACCEPT_MASK) == -1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to register accept ")
- ACE_TEXT ("handler. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("handler. (errno = %i: %m)\n"), ACE_ERRNO_GET));
// don't leave the acceptor open
if (mAcceptor.close() == -1)
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to close the socket ")
ACE_TEXT ("after previous error. (errno = %i: %m)\n"),
- errno));
+ ACE_ERRNO_GET));
return -1;
}
@@ -69,7 +69,7 @@ int AcceptHandler::handle_input(ACE_HANDLE) {
ACE_NEW_NORETURN (reader, ReadHandler());
if (reader == 0)
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%N:%l: Failed to allocate ")
- ACE_TEXT ("reader. (errno = %i: %m)\n"), errno), -1);
+ ACE_TEXT ("reader. (errno = %i: %m)\n"), ACE_ERRNO_GET), -1);
// put reader in an auto pointer so we can use ACE_ERROR_RETURN safely
auto_ptr<ReadHandler> pReader(reader);
@@ -77,13 +77,13 @@ int AcceptHandler::handle_input(ACE_HANDLE) {
// accept the connection using the reader's stream
if (mAcceptor.accept(reader->getStream(), &clientAddr) == -1)
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%N:%l: Failed to accept ")
- ACE_TEXT ("client connection. (errno = %i: %m)\n"), errno), -1);
+ ACE_TEXT ("client connection. (errno = %i: %m)\n"), ACE_ERRNO_GET), -1);
// register the reader with the reactor
if (mReactor->register_handler(reader,
ACE_Event_Handler::READ_MASK) == -1)
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%N:%l: Failed to register ")
- ACE_TEXT ("read handler. (errno = %i: %m)\n"), errno), -1);
+ ACE_TEXT ("read handler. (errno = %i: %m)\n"), ACE_ERRNO_GET), -1);
// from now on the read handler takes care of itself
pReader.release();
@@ -97,7 +97,7 @@ int AcceptHandler::handle_close(ACE_HANDLE, ACE_Reactor_Mask) {
// close the listening socket
if (mAcceptor.close() == -1)
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to close the ")
- ACE_TEXT ("socket. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("socket. (errno = %i: %m)\n"), ACE_ERRNO_GET));
// no need to distinguish between error during close and normal close
// since ACE does not evaluate the return value of handle_close()
diff --git a/examples/Reactor/TP_Reactor/ReadHandler.cpp b/examples/Reactor/TP_Reactor/ReadHandler.cpp
index 25b66e05ade..5813476a30e 100644
--- a/examples/Reactor/TP_Reactor/ReadHandler.cpp
+++ b/examples/Reactor/TP_Reactor/ReadHandler.cpp
@@ -40,7 +40,7 @@ ReadHandler::~ReadHandler() {
if (mStream.close() == -1)
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to close socket. ")
- ACE_TEXT ("(errno = %i: %m)\n"), errno));
+ ACE_TEXT ("(errno = %i: %m)\n"), ACE_ERRNO_GET));
delete[] mData;
}
@@ -78,7 +78,7 @@ int ReadHandler::handle_input(ACE_HANDLE) {
if (mStream.recv_n(&mDataSize, sizeof(mDataSize),
&connTimeout) != sizeof(mDataSize)) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to receive ")
- ACE_TEXT ("request. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("request. (errno = %i: %m)\n"), ACE_ERRNO_GET));
INVOCATION_RETURN(-1);
}
@@ -101,7 +101,7 @@ int ReadHandler::handle_input(ACE_HANDLE) {
// allocation did not succeed)
if (mStream.send_n(&response, sizeof(response), &connTimeout) != 1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to send ")
- ACE_TEXT ("response. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("response. (errno = %i: %m)\n"), ACE_ERRNO_GET));
INVOCATION_RETURN(-1);
}
@@ -123,7 +123,7 @@ int ReadHandler::handle_input(ACE_HANDLE) {
// receive the data from the client
if (mStream.recv_n(mData, mDataSize, &connTimeout) != mDataSize) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to receive data.")
- ACE_TEXT ("(errno = %i: %m)\n"), errno));
+ ACE_TEXT ("(errno = %i: %m)\n"), ACE_ERRNO_GET));
INVOCATION_RETURN(-1);
}
@@ -131,7 +131,7 @@ int ReadHandler::handle_input(ACE_HANDLE) {
if (mStream.send_n(&response, 1, &connTimeout) != 1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to send ")
- ACE_TEXT ("confirmation. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("confirmation. (errno = %i: %m)\n"), ACE_ERRNO_GET));
INVOCATION_RETURN(-1);
}
diff --git a/examples/Reactor/TP_Reactor/client.cpp b/examples/Reactor/TP_Reactor/client.cpp
index c7ef4f2e431..5b516266696 100644
--- a/examples/Reactor/TP_Reactor/client.cpp
+++ b/examples/Reactor/TP_Reactor/client.cpp
@@ -77,7 +77,7 @@ int ACE_TMAIN(int argc, ACE_TCHAR **argv) {
if (connector.connect(stream, serverAddr) == -1) {
ACE_ERROR((LM_ERROR,
ACE_TEXT("%N:%l: Failed to connect to ")
- ACE_TEXT ("server. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("server. (errno = %i: %m)\n"), ACE_ERRNO_GET));
break;
}
@@ -88,14 +88,14 @@ int ACE_TMAIN(int argc, ACE_TCHAR **argv) {
// platforms (i.e. little-endian/big-endian, data type size)
if (stream.send_n(&size, sizeof(size), &connTimeout) != sizeof(size)) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to send ")
- ACE_TEXT ("request. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("request. (errno = %i: %m)\n"), ACE_ERRNO_GET));
throw 1;
}
// receive the answer
if (stream.recv_n(&answer, sizeof(answer), &connTimeout) != 1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N: %l: Failed to receive ")
- ACE_TEXT ("1st response. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("1st response. (errno = %i: %m)\n"), ACE_ERRNO_GET));
throw 1;
}
@@ -105,14 +105,14 @@ int ACE_TMAIN(int argc, ACE_TCHAR **argv) {
// send a huge message to the server
if (stream.send_n(someData, size, &connTimeout) != size) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to send ")
- ACE_TEXT ("someData. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("someData. (errno = %i: %m)\n"), ACE_ERRNO_GET));
throw 1;
}
// get an answer
if (stream.recv_n(&answer, sizeof(answer), &connTimeout) != 1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N: %l: Failed to receive ")
- ACE_TEXT ("2nd response. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("2nd response. (errno = %i: %m)\n"), ACE_ERRNO_GET));
throw 1;
}
@@ -130,7 +130,7 @@ int ACE_TMAIN(int argc, ACE_TCHAR **argv) {
// close the current stream
if (stream.close() == -1) {
ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l: Failed to close ")
- ACE_TEXT ("socket. (errno = %i: %m)\n"), errno));
+ ACE_TEXT ("socket. (errno = %i: %m)\n"), ACE_ERRNO_GET));
break;
}
} // while
diff --git a/examples/Reactor/TP_Reactor/run_test.pl b/examples/Reactor/TP_Reactor/run_test.pl
index ac07295a735..ef4a059dc6c 100644..100755
--- a/examples/Reactor/TP_Reactor/run_test.pl
+++ b/examples/Reactor/TP_Reactor/run_test.pl
@@ -5,7 +5,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# $Id$
# -*- perl -*-
-use lib '../../../bin';
+use lib "$ENV{ACE_ROOT}/bin";
use PerlACE::Run_Test;
$status = 0;
diff --git a/examples/Reactor/TP_Reactor/server.cpp b/examples/Reactor/TP_Reactor/server.cpp
index 0c147818424..d80b1a32a14 100644
--- a/examples/Reactor/TP_Reactor/server.cpp
+++ b/examples/Reactor/TP_Reactor/server.cpp
@@ -45,7 +45,7 @@ int ACE_TMAIN(int, ACE_TCHAR **) {
ACE_NEW_NORETURN (acceptHandler, AcceptHandler(&reactor));
if (acceptHandler == 0)
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%N:%l: Failed to allocate ")
- ACE_TEXT ("accept handler. (errno = %i: %m)\n"), errno), -1);
+ ACE_TEXT ("accept handler. (errno = %i: %m)\n"), ACE_ERRNO_GET), -1);
// open the accept handler
if (acceptHandler->open() == -1) {
diff --git a/examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc b/examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc
index 3663aa7c6e1..c0a48d52768 100644
--- a/examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc
+++ b/examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc
@@ -71,8 +71,7 @@ project(*Registration): aceexe, wfmo {
}
}
-project(*Registry_Changes): aceexe, wfmo {
- avoids += ace_for_tao
+project(*Registry_Changes): aceexe, wfmo, avoids_ace_for_tao {
exename = registry_changes
Source_Files {
Registry_Changes.cpp
@@ -93,8 +92,7 @@ project(*Suspended_Removals): aceexe, wfmo {
}
}
-project(*Talker): aceexe, wfmo {
- avoids += ace_for_tao
+project(*Talker): aceexe, wfmo, avoids_ace_for_tao {
exename = talker
Source_Files {
Talker.cpp
@@ -108,8 +106,7 @@ project(*Timeouts): aceexe, wfmo {
}
}
-project(*Window_Messages): aceexe, wfmo {
- avoids += ace_for_tao
+project(*Window_Messages): aceexe, wfmo, avoids_ace_for_tao {
exename = window_messages
Source_Files {
Window_Messages.cpp
diff --git a/examples/Reactor/WFMO_Reactor/run_test.pl b/examples/Reactor/WFMO_Reactor/run_test.pl
index e47d878f7c4..3ecbebd4f89 100755
--- a/examples/Reactor/WFMO_Reactor/run_test.pl
+++ b/examples/Reactor/WFMO_Reactor/run_test.pl
@@ -11,8 +11,7 @@ use PerlACE::TestTarget;
#
# These tests only run on Win32
#
-if ($^O ne "MSWin32")
-{
+if ($^O ne "MSWin32") {
exit;
}
@@ -40,8 +39,7 @@ if ($^O ne "MSWin32")
my $target = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";;
$test_timeout = 60 + $target->ProcessStartWaitInterval();
-for $test (@tests)
-{
+for $test (@tests) {
print STDOUT "\n________________________________________\n";
print STDOUT "\nStarting test \"$test\"";
print STDOUT "\n________________________________________\n\n";
@@ -51,14 +49,11 @@ for $test (@tests)
if (! -e $test_process->Executable ()) {
print STDERR "Error: " . $test_process->Executable () .
" does not exist or is not runnable\n";
- }
- else
- {
+ } else {
$test_process->Spawn ();
$test_result = $test_process->WaitKill ($test_timeout);
- if ($test_result != 0)
- {
+ if ($test_result != 0) {
print STDERR "\n________________________________________\n";
print STDERR "\nERROR: \"$test\" returned $test_result";
print STDERR "\n________________________________________\n";
diff --git a/examples/Semaphores/Semaphores.mpc b/examples/Semaphores/Semaphores.mpc
index 51040a647ef..dbcefd53827 100644
--- a/examples/Semaphores/Semaphores.mpc
+++ b/examples/Semaphores/Semaphores.mpc
@@ -1,16 +1,14 @@
// -*- MPC -*-
// $Id$
-project(*starter) : aceexe {
- avoids += ace_for_tao
+project(*starter) : aceexe, avoids_ace_for_tao {
exename = starter
Source_Files {
starter.cpp
}
}
-project(*worker) : aceexe {
- avoids += ace_for_tao
+project(*worker) : aceexe, avoids_ace_for_tao {
exename = worker
Source_Files {
diff --git a/examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc b/examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc
index 6876c4aac4d..d8847545cc8 100644
--- a/examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc
+++ b/examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc
@@ -1,22 +1,19 @@
// -*- MPC -*-
// $Id$
-project(*loc dgram) : aceexe {
- avoids += ace_for_tao
+project(*loc dgram) : aceexe, avoids_ace_for_tao {
exename = local_dgram_test
Source_Files {
local_dgram_client_test.cpp
}
}
-project(*loc fifo) : aceexe {
- avoids += ace_for_tao
+project(*loc fifo) : aceexe, avoids_ace_for_tao {
exename = local_fifo_test
Source_Files {
local_fifo_client_test.cpp
}
}
-project(*loc pipe) : aceexe {
- avoids += ace_for_tao
+project(*loc pipe) : aceexe, avoids_ace_for_tao {
exename = local_pipe_test
Source_Files {
local_pipe_client_test.cpp
@@ -28,15 +25,13 @@ project(*loc spipe) : aceexe {
local_spipe_client_test.cpp
}
}
-project(*loc stream) : aceexe {
- avoids += ace_for_tao
+project(*loc stream) : aceexe, avoids_ace_for_tao {
exename = local_stream_test
Source_Files {
local_stream_client_test.cpp
}
}
-project(*rem dgram) : aceexe {
- avoids += ace_for_tao
+project(*rem dgram) : aceexe, avoids_ace_for_tao {
exename = remote_dgram_test
Source_Files {
remote_dgram_client_test.cpp
@@ -48,8 +43,7 @@ project(*rem svc dir) : aceexe {
remote_service_directory_test.cpp
}
}
-project(*rem stream) : aceexe {
- avoids += ace_for_tao
+project(*rem stream) : aceexe, avoids_ace_for_tao {
exename = remote_stream_test
Source_Files {
remote_stream_client_test.cpp
@@ -61,8 +55,7 @@ project(*rem thr_stream) : aceexe {
remote_thr_stream_client_test.cpp
}
}
-project(*bcast) : aceexe {
- avoids += ace_for_tao
+project(*bcast) : aceexe, avoids_ace_for_tao {
exename = remote_broadcast_test
Source_Files {
broadcast_client_test.cpp
diff --git a/examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc b/examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc
index c44b40c6e32..900cd9635d2 100644
--- a/examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc
+++ b/examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project(*Lib) : acelib {
- avoids += ace_for_tao
+project(*Lib) : acelib, avoids_ace_for_tao {
sharedname = IPC_Tests_Server
dynamicflags += ACE_BUILD_SVC_DLL
Source_Files {
@@ -19,8 +18,7 @@ project(*Lib) : acelib {
}
}
-project(*test) : aceexe {
- avoids += ace_for_tao
+project(*test) : aceexe, avoids_ace_for_tao {
exename = server_test
after += Svc_Cfg_IPC_Server_Lib
libs += IPC_Tests_Server
diff --git a/examples/Shared_Malloc/Shared_Malloc.mpc b/examples/Shared_Malloc/Shared_Malloc.mpc
index 42753246815..3f30d3bd6f0 100644
--- a/examples/Shared_Malloc/Shared_Malloc.mpc
+++ b/examples/Shared_Malloc/Shared_Malloc.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = malloc
Source_Files {
Malloc.cpp
@@ -10,8 +9,7 @@ project : aceexe {
test_malloc.cpp
}
}
-project(*multiple) : aceexe {
- avoids += ace_for_tao
+project(*multiple) : aceexe, avoids_ace_for_tao {
exename = multiple
Source_Files {
Malloc.cpp
@@ -19,15 +17,13 @@ project(*multiple) : aceexe {
test_multiple_mallocs.cpp
}
}
-project(*persistence) : aceexe {
- avoids += ace_for_tao
+project(*persistence) : aceexe, avoids_ace_for_tao {
exename = persistence
Source_Files {
test_persistence.cpp
}
}
-project(*posind) : aceexe {
- avoids += ace_for_tao
+project(*posind) : aceexe, avoids_ace_for_tao {
exename = posind
Source_Files {
Malloc.cpp
diff --git a/examples/Shared_Memory/Shared_Memory.mpc b/examples/Shared_Memory/Shared_Memory.mpc
index f0ee256597b..b43422fddfc 100644
--- a/examples/Shared_Memory/Shared_Memory.mpc
+++ b/examples/Shared_Memory/Shared_Memory.mpc
@@ -1,15 +1,13 @@
// -*- MPC -*-
// $Id$
-project(*MM) : aceexe {
- avoids += ace_for_tao
+project(*MM) : aceexe, avoids_ace_for_tao {
exename = testmm
Source_Files {
test_MM.cpp
}
}
-project(*SV) : aceexe {
- avoids += ace_for_tao
+project(*SV) : aceexe, avoids_ace_for_tao {
exename = testsv
Source_Files {
test_SV.cpp
diff --git a/examples/Shared_Memory/test_MM.cpp b/examples/Shared_Memory/test_MM.cpp
index 2d98224f910..90697296dbc 100644
--- a/examples/Shared_Memory/test_MM.cpp
+++ b/examples/Shared_Memory/test_MM.cpp
@@ -48,12 +48,7 @@ server (void)
int
ACE_TMAIN (int, ACE_TCHAR *[])
{
- if (
-#if defined (ACE_LACKS_MKSTEMP)
- ACE_OS::mktemp (shm_key) == 0
-#else
- ACE_OS::mkstemp (shm_key) == 0
-#endif
+ if (ACE_OS::mkstemp (shm_key) == 0
|| (ACE_OS::unlink (shm_key) == -1 && errno == EPERM))
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), shm_key), 1);
diff --git a/examples/Synch/Synch.mpc b/examples/Synch/Synch.mpc
index 024e8459803..055d3ff6f07 100644
--- a/examples/Synch/Synch.mpc
+++ b/examples/Synch/Synch.mpc
@@ -1,7 +1,6 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = proc_sema
}
diff --git a/examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc b/examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc
index 62cb7a0a819..05f0c36a9b1 100644
--- a/examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc
+++ b/examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc
@@ -1,29 +1,25 @@
// -*- MPC -*-
// $Id$
-project(*MQ Client) : aceexe {
- avoids += ace_for_tao
+project(*MQ Client) : aceexe, avoids_ace_for_tao {
exename = mqclient
Source_Files {
MQ_Client.cpp
}
}
-project(*MQ Server) : aceexe {
- avoids += ace_for_tao
+project(*MQ Server) : aceexe, avoids_ace_for_tao {
exename = mqserver
Source_Files {
MQ_Server.cpp
}
}
-project(*TMQ Client) : aceexe {
- avoids += ace_for_tao
+project(*TMQ Client) : aceexe, avoids_ace_for_tao {
exename = tmqclient
Source_Files {
TMQ_Client.cpp
}
}
-project(*TMQ Server) : aceexe {
- avoids += ace_for_tao
+project(*TMQ Server) : aceexe, avoids_ace_for_tao {
exename = tmqserver
Source_Files {
TMQ_Server.cpp
diff --git a/examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc b/examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc
index 647e4a4cf5a..a487dae4114 100644
--- a/examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc
+++ b/examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc
@@ -1,15 +1,13 @@
// -*- MPC -*-
// $Id$
-project(*1) : aceexe {
- avoids += ace_for_tao
+project(*1) : aceexe, avoids_ace_for_tao {
exename = sem1
Source_Files {
Semaphores_1.cpp
}
}
-project(*2) : aceexe {
- avoids += ace_for_tao
+project(*2) : aceexe, avoids_ace_for_tao {
exename = sem2
Source_Files {
Semaphores_2.cpp
diff --git a/examples/Threads/Threads.mpc b/examples/Threads/Threads.mpc
index 2c57feda243..2c64e03aa7c 100644
--- a/examples/Threads/Threads.mpc
+++ b/examples/Threads/Threads.mpc
@@ -25,15 +25,13 @@ project(*cancel) : aceexe {
cancel.cpp
}
}
-project(*future1) : aceexe {
- avoids += ace_for_tao
+project(*future1) : aceexe, avoids_ace_for_tao {
exename = future1
Source_Files {
future1.cpp
}
}
-project(*future2) : aceexe {
- avoids += ace_for_tao
+project(*future2) : aceexe, avoids_ace_for_tao {
exename = future2
Source_Files {
future2.cpp
@@ -45,15 +43,13 @@ project(*manual_event) : aceexe {
manual_event.cpp
}
}
-project(*process_mutex) : aceexe {
- avoids += ace_for_tao
+project(*process_mutex) : aceexe, avoids_ace_for_tao {
exename = process_mutex
Source_Files {
process_mutex.cpp
}
}
-project(*process_semaphore) : aceexe {
- avoids += ace_for_tao
+project(*process_semaphore) : aceexe, avoids_ace_for_tao {
exename = process_semaphore
Source_Files {
process_semaphore.cpp
diff --git a/examples/Threads/auto_event.cpp b/examples/Threads/auto_event.cpp
index e568ffe84d1..21ecbee830c 100644
--- a/examples/Threads/auto_event.cpp
+++ b/examples/Threads/auto_event.cpp
@@ -36,7 +36,7 @@ reader (void *arg)
// Wait for writer to complete.
- ACE_DEBUG ((LM_DEBUG, "(%t) reader: waiting...... \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) reader: waiting......\n"));
if (EVENT::instance ()->wait () == -1)
{
@@ -45,7 +45,7 @@ reader (void *arg)
}
// Read shared data.
- ACE_DEBUG ((LM_DEBUG, "(%t) reader: value of data is: %d \n", data));
+ ACE_DEBUG ((LM_DEBUG, "(%t) reader: value of data is: %d\n", data));
return 0;
}
diff --git a/examples/Threads/manual_event.cpp b/examples/Threads/manual_event.cpp
index d4b37975f23..0e1e76bfd8e 100644
--- a/examples/Threads/manual_event.cpp
+++ b/examples/Threads/manual_event.cpp
@@ -71,14 +71,14 @@ worker (void *arg)
ACE_OS::sleep (::amount_of_work.value ());
// synch with everybody else
- ACE_DEBUG ((LM_DEBUG, "(%t) waiting to synch with others \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) waiting to synch with others\n"));
thread_barrier.wait ();
// more work
ACE_DEBUG ((LM_DEBUG, "(%t) more work (%d secs)\n", ++::amount_of_work));
ACE_OS::sleep (::amount_of_work.value ());
- ACE_DEBUG ((LM_DEBUG, "(%t) dying \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) dying\n"));
return 0;
}
diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp b/examples/Timer_Queue/Async_Timer_Queue_Test.cpp
index 8503c295db4..d139bca0c87 100644
--- a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp
+++ b/examples/Timer_Queue/Async_Timer_Queue_Test.cpp
@@ -239,7 +239,7 @@ Async_Timer_Queue_Test_Driver::display_menu (void)
// The menu of options provided to the user.
static char menu[] =
"****\n"
- "1) schedule timer <usecs> \n"
+ "1) schedule timer <usecs>\n"
"2) cancel timer <timer_id>\n"
"^C list timers\n"
"^\\ exit program\n";
diff --git a/examples/Web_Crawler/Web_Crawler.mpc b/examples/Web_Crawler/Web_Crawler.mpc
index 0a4f3d32685..28621737115 100644
--- a/examples/Web_Crawler/Web_Crawler.mpc
+++ b/examples/Web_Crawler/Web_Crawler.mpc
@@ -1,8 +1,7 @@
// -*- MPC -*-
// $Id$
-project : aceexe {
- avoids += ace_for_tao
+project : aceexe, avoids_ace_for_tao {
exename = main
specific(bmake) {
avoids += uses_wchar
diff --git a/html/Stats/compilation.shtml b/html/Stats/compilation.shtml
index b4aecae922b..1d28cfd89c4 100644
--- a/html/Stats/compilation.shtml
+++ b/html/Stats/compilation.shtml
@@ -1,7 +1,7 @@
<HTML>
<head>
-<meta http-equiv="refresh" content="0; URL=http://www.dre.vanderbilt.edu/~isisbuilds/auto_compile_logs/CP_Metrics/metrics/">
-<title>Compilation Metrics for ACE+TAO Page</title>
+<meta http-equiv="refresh" content="0; URL=http://www.dre.vanderbilt.edu/Stats/CP/">
+<title>Compilation Metrics for ACE+TAO+CIAO Page</title>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="pagestyle.css">
</head>
<body>
diff --git a/html/Stats/configuration.shtml b/html/Stats/configuration.shtml
index daaaa988774..28e650cb58c 100644
--- a/html/Stats/configuration.shtml
+++ b/html/Stats/configuration.shtml
@@ -40,6 +40,14 @@
</PRE>
</TD>
</TR>
+ </TR>
+ <TR><TD>ACE+TAO Configuration</TD><TD>default.features</TD></TR>
+ <TR><TD colspan="2">
+<PRE>
+<!--#include file="data/default.features.txt"-->
+</PRE>
+ </TD>
+ </TR>
<TR><TD>CPU Information</TD><TD>/proc/cpuinfo</TD></TR>
<TR><TD colspan="2">
<PRE>
diff --git a/html/Stats/footprint.shtml b/html/Stats/footprint.shtml
index 5498c7a1254..188228ff78f 100644
--- a/html/Stats/footprint.shtml
+++ b/html/Stats/footprint.shtml
@@ -7,7 +7,7 @@
<LINK href="Stats.css" rel="stylesheet" type="text/css">
</HEAD>
<DIV align="center">
- <h2>ACE+TAO Footprint Metrics Results</h2>
+ <h2>ACE+TAO+CIAO Footprint Metrics Results</h2>
</DIV>
<CENTER>
@@ -30,9 +30,9 @@
<UL> <LI> Detailed Footprint, for a closer look at the sizes of
libraries and its dependencies.
<UL>
- <LI><a href="http://www.dre.vanderbilt.edu/~isisbuilds/auto_compile_logs/FP_Metrics/metrics/ace_Footprint.html">ACE</a>
- <LI><a href="http://www.dre.vanderbilt.edu/~isisbuilds/auto_compile_logs/FP_Metrics/metrics/tao_Footprint.html">TAO</a>
- <LI><a href="http://www.dre.vanderbilt.edu/~isisbuilds/auto_compile_logs/FP_Metrics/metrics/ciao_Footprint.html">CIAO</a>
+ <LI><a href="http://www.dre.vanderbilt.edu/Stats/regular/ace_Footprint.html">ACE</a>
+ <LI><a href="http://www.dre.vanderbilt.edu/Stats/regular/tao_Footprint.html">TAO</a>
+ <LI><a href="http://www.dre.vanderbilt.edu/Stats/regular/ciao_Footprint.html">CIAO</a>
</UL>
</LI> </UL>
diff --git a/html/Stats/index.shtml b/html/Stats/index.shtml
index 18c4c53177b..50261c1a2e8 100644
--- a/html/Stats/index.shtml
+++ b/html/Stats/index.shtml
@@ -22,7 +22,7 @@
href="http://www.dre.vanderbilt.edu/scoreboard"> nightly</A>
regression tests. The complete source for the tests is
available as part of the ACE+TAO+CIAO <A
- HREF="http://deuce.doc.wustl.edu/Download.html"> distribution
+ HREF="http://download.dre.vanderbilt.edu"> distribution
</A>. The hardware and software configuration used for these
tests is described <A
HREF="configuration.shtml">here</A>. Notice, however, that the
@@ -49,6 +49,30 @@ In addition to the statistics described above, a number of other ACE/TAO/CIAO de
<li>
<a href="http://www.dre.vanderbilt.edu/Scoreboard/">Automated Builds</a>
</li>
+<li>
+ Xampler Performance benchmarks for <a href="http://www.dre.vanderbilt.edu/~isisbuilds/auto_compile_logs/isislab/emulab/FC6xampler/Template-Display/_Report/">x86</a>, <a href="http://www.dre.vanderbilt.edu/~remedynl/ps3cellbuild_xampler/ps3xampler/_Report/">IBM Cell</a> and <a href="http://www.dre.vanderbilt.edu/~remedynl/mpc440_xampler/mpc440xampler/_Report/">MPC440</a>
+</li>
+<li>
+ <a href="http://www.dre.vanderbilt.edu/Stats/CORBAecompact/">Footprint CORBA/e compact</a>
+</li>
+<li>
+ <a href="http://www.dre.vanderbilt.edu/Stats/CORBAemicro/">Footprint CORBA/e micro</a>
+</li>
+<li>
+ <a href="http://www.dre.vanderbilt.edu/Stats/CORBAemicros/">Footprint CORBA/e micro single threaded</a>
+</li>
+<li>
+ <a href="http://www.dre.vanderbilt.edu/Stats/CORBAminimum/">Footprint Minimum CORBA</a>
+</li>
+<li>
+ <a href="http://www.dre.vanderbilt.edu/Stats/regular/">Footprint Regular CORBA</a>
+</li>
+<li>
+ <a href="compilation.shtml">Compilation metrics Regular CORBA</a>
+</li>
+<li>
+ <a href="performance.shtml">Performance metrics Regular CORBA</a>
+</li>
</ul>
The <i>Code Coverage</i> pages illustrate which areas of
ACE+TAO+CIAO code are used, and how frequently. The <i>Scoreboard</i>
diff --git a/html/Stats/navigation.html b/html/Stats/navigation.html
index 997733819d6..4c354346dc0 100644
--- a/html/Stats/navigation.html
+++ b/html/Stats/navigation.html
@@ -11,7 +11,7 @@
[<A href="footprint.shtml">Footprint</A>]
</TD>
<TD>
- [<A href="compilation.shtml">Compilation </A>]
+ [<A href="compilation.shtml">Compilation</A>]
</TD>
<TD>
[<A href="performance.shtml">Performance</A>]
diff --git a/html/Stats/performance.shtml b/html/Stats/performance.shtml
index 9de7384f4ef..d3a2d660c0d 100644
--- a/html/Stats/performance.shtml
+++ b/html/Stats/performance.shtml
@@ -23,7 +23,7 @@
<P>
Results for the performance experiments in
- <CODE>$ACE_ROOT/TAO/performance-tests/Latency</CODE>.
+ <CODE>$TAO_ROOT/performance-tests/Latency</CODE>.
The results for all the tests are combined in a single chart.
</P>
<DIV align="center">
@@ -57,7 +57,7 @@
<TR>
<TD>AMI</TD>
<TD><A HREF="images/AMI.png">
- <IMG ALT="AMI" SRC="images/thumbnails/AMI.png">
+ <IMG height=240 width=320 ALT="AMI" SRC="images/AMI.png">
</A>
</TD>
<TD>
@@ -72,7 +72,7 @@
<TR>
<TD>AMH_Single_Threaded</TD>
<TD><A HREF="images/AMH_Single_Threaded.png">
- <IMG ALT="AMH_Single_Threaded" SRC="images/thumbnails/AMH_Single_Threaded.png">
+ <IMG height=240 width=320 ALT="AMH_Single_Threaded" SRC="images/AMH_Single_Threaded.png">
</A>
</TD>
<TD>
@@ -87,7 +87,7 @@
<TR>
<TD>DII</TD>
<TD><A HREF="images/DII.png">
- <IMG ALT="DII" SRC="images/thumbnails/DII.png">
+ <IMG height=240 width=320 ALT="DII" SRC="images/DII.png">
</A>
</TD>
<TD>
@@ -102,7 +102,7 @@
<TR>
<TD>DSI</TD>
<TD><A HREF="images/DSI.png">
- <IMG ALT="DSI" SRC="images/thumbnails/DSI.png">
+ <IMG height=240 width=320 ALT="DSI" SRC="images/DSI.png">
</A>
</TD>
<TD>
@@ -117,7 +117,7 @@
<TR>
<TD>Deferred</TD>
<TD><A HREF="images/Deferred.png">
- <IMG ALT="Deferred" SRC="images/thumbnails/Deferred.png">
+ <IMG height=240 width=320 ALT="Deferred" SRC="images/Deferred.png">
</A>
</TD>
<TD>
@@ -135,7 +135,7 @@
for single-threaded apps)<BR>
</TD>
<TD><A HREF="images/Single_Threaded.png">
- <IMG ALT="Single_Threaded" SRC="images/thumbnails/Single_Threaded.png">
+ <IMG height=240 width=320 ALT="Single_Threaded" SRC="images/Single_Threaded.png">
</A>
</TD>
<TD>
@@ -150,7 +150,7 @@
<TR>
<TD>Single_Threaded</TD>
<TD><A HREF="images/Default.png">
- <IMG ALT="Default" SRC="images/thumbnails/Default.png">
+ <IMG height=240 width=320 ALT="Default" SRC="images/Default.png">
</A>
</TD>
<TD>
@@ -165,7 +165,7 @@
<TR>
<TD>Thread_Per_Connection</TD>
<TD><A HREF="images/Thread_Per_Connection.png">
- <IMG ALT="Thread_Per_Connection" SRC="images/thumbnails/Thread_Per_Connection.png">
+ <IMG height=240 width=320 ALT="Thread_Per_Connection" SRC="images/Thread_Per_Connection.png">
</A>
</TD>
<TD>
@@ -180,7 +180,7 @@
<TR>
<TD>Thread_Pool</TD>
<TD><A HREF="images/Thread_Pool.png">
- <IMG ALT="Thread_Pool" SRC="images/thumbnails/Thread_Pool.png">
+ <IMG height=240 width=320 ALT="Thread_Pool" SRC="images/Thread_Pool.png">
</A>
</TD>
<TD>
diff --git a/html/Stats/simple_footprint.shtml b/html/Stats/simple_footprint.shtml
index f42cb514605..df8e9d3f908 100644
--- a/html/Stats/simple_footprint.shtml
+++ b/html/Stats/simple_footprint.shtml
@@ -25,7 +25,7 @@
<TR>
<TD>ORB_init</TD>
<TD><A HREF="images/ORB_init_size.png">
- <IMG ALT="ORB_init_size" SRC="images/thumbnails/ORB_init_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="ORB_init_size" SRC="images/ORB_init_size.png">
</A>
</TD>
<TD>
@@ -40,7 +40,7 @@
<TR>
<TD>ORB_destroy</TD>
<TD><A HREF="images/ORB_destroy_size.png">
- <IMG ALT="ORB_destroy_size" SRC="images/thumbnails/ORB_destroy_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="ORB_destroy_size" SRC="images/ORB_destroy_size.png">
</A>
</TD>
<TD>
@@ -55,7 +55,7 @@
<TR>
<TD>libACE</TD>
<TD><A HREF="images/libACE.a_size.png">
- <IMG ALT="libACE.a_size" SRC="images/thumbnails/libACE.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libACE.a_size" SRC="images/libACE.a_size.png">
</A>
</TD>
<TD>
@@ -70,7 +70,7 @@
<TR>
<TD>libTAO</TD>
<TD><A HREF="images/libTAO.a_size.png">
- <IMG ALT="libTAO.a_size" SRC="images/thumbnails/libTAO.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libTAO.a_size" SRC="images/libTAO.a_size.png">
</A>
</TD>
<TD>
@@ -85,7 +85,7 @@
<TR>
<TD>libTAO_PortableServer</TD>
<TD><A HREF="images/libTAO_PortableServer.a_size.png">
- <IMG ALT="libTAO_PortableServer.a_size" SRC="images/thumbnails/libTAO_PortableServer.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libTAO_PortableServer.a_size" SRC="images/libTAO_PortableServer.a_size.png">
</A>
</TD>
<TD>
@@ -100,7 +100,7 @@
<TR>
<TD>libTAO_Messaging</TD>
<TD><A HREF="images/libTAO_Messaging.a_size.png">
- <IMG ALT="libTAO_Messaging.a_size" SRC="images/thumbnails/libTAO_Messaging.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libTAO_Messaging.a_size" SRC="images/libTAO_Messaging.a_size.png">
</A>
</TD>
<TD>
@@ -115,7 +115,7 @@
<TR>
<TD>libTAO_Strategies</TD>
<TD><A HREF="images/libTAO_Strategies.a_size.png">
- <IMG ALT="libTAO_Strategies.a_size" SRC="images/thumbnails/libTAO_Strategies.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libTAO_Strategies.a_size" SRC="images/libTAO_Strategies.a_size.png">
</A>
</TD>
<TD>
@@ -130,7 +130,7 @@
<TR>
<TD>libTAO_DynamicAny</TD>
<TD><A HREF="images/libTAO_DynamicAny.a_size.png">
- <IMG ALT="libTAO_DynamicAny.a_size" SRC="images/thumbnails/libTAO_DynamicAny.a_size.png">
+ <IMG height=240 width=320 height=240 width=320 ALT="libTAO_DynamicAny.a_size" SRC="images/libTAO_DynamicAny.a_size.png">
</A>
</TD>
<TD>
@@ -145,7 +145,7 @@
<TR>
<TD>libTAO_DynamicInterface</TD>
<TD><A HREF="images/libTAO_DynamicInterface.a_size.png">
- <IMG ALT="libTAO_DynamicInterface.a_size" SRC="images/thumbnails/libTAO_DynamicInterface.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_DynamicInterface.a_size" SRC="images/libTAO_DynamicInterface.a_size.png">
</A>
</TD>
<TD>
@@ -160,7 +160,7 @@
<TR>
<TD>libTAO_IFR_Client</TD>
<TD><A HREF="images/libTAO_IFR_Client.a_size.png">
- <IMG ALT="libTAO_IFR_Client.a_size" SRC="images/thumbnails/libTAO_IFR_Client.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_IFR_Client.a_size" SRC="images/libTAO_IFR_Client.a_size.png">
</A>
</TD>
<TD>
@@ -175,7 +175,7 @@
<TR>
<TD>libTAO_BiDirGIOP</TD>
<TD><A HREF="images/libTAO_BiDirGIOP.a_size.png">
- <IMG ALT="libTAO_BiDirGIOP.a_size" SRC="images/thumbnails/libTAO_BiDirGIOP.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_BiDirGIOP.a_size" SRC="images/libTAO_BiDirGIOP.a_size.png">
</A>
</TD>
<TD>
@@ -190,7 +190,7 @@
<TR>
<TD>libTAO_IORManip</TD>
<TD><A HREF="images/libTAO_IORManip.a_size.png">
- <IMG ALT="libTAO_IORManip.a_size" SRC="images/thumbnails/libTAO_IORManip.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_IORManip.a_size" SRC="images/libTAO_IORManip.a_size.png">
</A>
</TD>
<TD>
@@ -205,7 +205,7 @@
<TR>
<TD>libTAO_IORTable</TD>
<TD><A HREF="images/libTAO_IORTable.a_size.png">
- <IMG ALT="libTAO_IORTable.a_size" SRC="images/thumbnails/libTAO_IORTable.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_IORTable.a_size" SRC="images/libTAO_IORTable.a_size.png">
</A>
</TD>
<TD>
@@ -220,7 +220,7 @@
<TR>
<TD>libTAO_TypeCodeFactory</TD>
<TD><A HREF="images/libTAO_TypeCodeFactory.a_size.png">
- <IMG ALT="libTAO_TypeCodeFactory.a_size" SRC="images/thumbnails/libTAO_TypeCodeFactory.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_TypeCodeFactory.a_size" SRC="images/libTAO_TypeCodeFactory.a_size.png">
</A>
</TD>
<TD>
@@ -235,7 +235,7 @@
<TR>
<TD>libTAO_PI</TD>
<TD><A HREF="images/libTAO_PI.a_size.png">
- <IMG ALT="libTAO_PI.a_size" SRC="images/thumbnails/libTAO_PI.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_PI.a_size" SRC="images/libTAO_PI.a_size.png">
</A>
</TD>
<TD>
@@ -250,7 +250,7 @@
<TR>
<TD>libTAO_PI_Server</TD>
<TD><A HREF="images/libTAO_PI_Server.a_size.png">
- <IMG ALT="libTAO_PI_Server.a_size" SRC="images/thumbnails/libTAO_PI_Server.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_PI_Server.a_size" SRC="images/libTAO_PI_Server.a_size.png">
</A>
</TD>
<TD>
@@ -265,7 +265,7 @@
<TR>
<TD>libTAO_RTCORBA</TD>
<TD><A HREF="images/libTAO_RTCORBA.a_size.png">
- <IMG ALT="libTAO_RTCORBA.a_size" SRC="images/thumbnails/libTAO_RTCORBA.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_RTCORBA.a_size" SRC="images/libTAO_RTCORBA.a_size.png">
</A>
</TD>
<TD>
@@ -280,7 +280,7 @@
<TR>
<TD>libTAO_RTPortableServer</TD>
<TD><A HREF="images/libTAO_RTPortableServer.a_size.png">
- <IMG ALT="libTAO_RTPortableServer.a_size" SRC="images/thumbnails/libTAO_RTPortableServer.a_size.png">
+ <IMG height=240 width=320 ALT="libTAO_RTPortableServer.a_size" SRC="images/libTAO_RTPortableServer.a_size.png">
</A>
</TD>
<TD>
diff --git a/html/index.html b/html/index.html
index 3cdd34e3109..ab3adb9321e 100644
--- a/html/index.html
+++ b/html/index.html
@@ -217,6 +217,11 @@
<p><a href="tao/ciao/tools/config_handlers/index.html">Config Handlers:</a> CIAO's
Config Handlers.</p>
</li>
+
+ <li>
+ <p><a href="tao/ciao/dds4ccm/index.html">DDS4CCM:</a> CIAO's
+ DDS4CCM.</p>
+ </li>
</ul>
</body>
</html>
diff --git a/include/makeinclude/platform_cegcc.GNU b/include/makeinclude/platform_cegcc.GNU
new file mode 100644
index 00000000000..a04d56dab38
--- /dev/null
+++ b/include/makeinclude/platform_cegcc.GNU
@@ -0,0 +1,63 @@
+# $Id$
+#
+# This file should allow to build ACE for Windows CE with GCC tools.
+#
+# Don't forget to define the ACE_ROOT environment variable!
+#
+
+#
+# Chose your target CPU (by default we set it to ARM. In your
+# platform_macros.GNU file you can override this to pentium, i486 or i386
+#
+TCPU ?= arm
+
+cygwin32 = 1
+
+# Cygwin doesn't have rwho
+rwho = 0
+
+# Cygwin doesn't allow to add the version number of ACE to the dll name
+# because fe ace.dll.5.2.3 isn't a valid dll name
+versioned_so=0
+
+ACE_CE_VER ?= 0x600
+
+qos ?= 1
+
+# Disable auto-import warnings. The Cygwin linker has a problem with imports
+# See https://sourceforge.net/tracker/?func=detail&atid=102435&aid=683455&group_id=2435
+# for the details why to do this.
+LDFLAGS += -Wl,--enable-auto-import
+CPPFLAGS += -DACE_HAS_CEGCC
+
+CPPFLAGS += -D_WIN32_WCE=$(ACE_CE_VER) -DUNICODE -D_UNICODE -D_WINDOWS -DCEVER -DWIN32 -D_WINSOCKAPI_
+RCFLAGS += -D_WIN32_WCE=$(ACE_CE_VER) -DUNICODE -D_UNICODE -D_WINDOWS -DCEVER -DWIN32 -D_WINSOCKAPI_ -D_WIN32_IE=0x0500
+
+cpumodelflag=0
+tunemodelflag=0
+
+COMPARCH ?= i386-mingw32ce-
+#COMPARCH ?= arm-wince-mingw32ce-
+
+LIBS += -lcoredll -lmingw32 -lmingwex -lws2 -lsupc++ -liphlpapi
+
+no_hidden_visibility ?= 1
+qos ?= 1
+
+ifdef COMSPEC
+ HOST_EXE_EXT = .exe
+endif
+
+ifneq (,$(HOST_ROOT))
+TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
+TAO_IDL = $(HOST_ROOT)/bin/tao_idl$(HOST_EXE_EXT)
+TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2$(HOST_EXE_EXT)
+TAO_IDL_DEP = $(TAO_IDL)
+TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
+else
+# Append the HOST_EXE_EXT if it's not already there
+TAO_IDL_DEP = $(TAO_IDL:$(HOST_EXE_EXT)=)$(HOST_EXE_EXT)
+TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2:$(HOST_EXE_EXT)=)$(HOST_EXE_EXT)
+endif
+
+include $(ACE_ROOT)/include/makeinclude/platform_gnuwin32_common.GNU
diff --git a/include/makeinclude/platform_freebsd.GNU b/include/makeinclude/platform_freebsd.GNU
index 864ce829009..f08842ad483 100644
--- a/include/makeinclude/platform_freebsd.GNU
+++ b/include/makeinclude/platform_freebsd.GNU
@@ -64,6 +64,41 @@ else
CPPFLAGS += -DACE_MT_SAFE=0
endif # threads
+PLATFORM_XT_CPPFLAGS=
+PLATFORM_XT_LIBS=-lXt
+PLATFORM_XT_LDFLAGS=
+
+PLATFORM_FL_CPPFLAGS=
+PLATFORM_FL_LIBS=-lfltk -lfltk_forms -lfltk_gl
+PLATFORM_FL_LDFLAGS=
+
+PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_X11_LIBS=-lX11
+PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib
+
+PLATFORM_GL_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_GL_LIBS =-lGL
+PLATFORM_GL_LDFLAGS =-L/usr/X11R6/lib
+
+PLATFORM_GTK_CPPFLAGS=$(shell gtk-config --cflags)
+PLATFORM_GTK_LIBS =$(shell gtk-config --libs)
+PLATFORM_GTK_LDFLAGS =
+
+PLATFORM_FOX_CPPFLAGS ?= -I/usr/include/fox
+PLATFORM_FOX_LIBS ?= -lFOX
+PLATFORM_FOX_LDFLAGS ?=
+
+PLATFORM_TK_CPPFLAGS=$(shell . /usr/local/lib/tk8.*/tkConfig.sh && echo -n $$TK_INCLUDE_SPEC)
+PLATFORM_TK_LIBS=$(shell . /usr/local/lib/tk8.*/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+PLATFORM_TK_LDFLAGS=
+
+PLATFORM_TCL_CPPFLAGS=$(shell . /usr/local/lib/tcl8.*/tclConfig.sh && echo -n $$TCL_INCLUDE_SPEC)
+PLATFORM_TCL_LIBS=$(shell . /usr/local/lib/tcl8.*/tclConfig.sh && echo -n $$TCL_LIB_FLAG)
+PLATFORM_TCL_LDFLAGS=
+
+CPPFLAGS+=-I/usr/local/include
+LDFLAGS+=-L/usr/local/lib
+
# Test for template instantiation, add to SOFLAGS if SONAME set,
# add -E to LDFLAGS if using GNU ld
#
diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU
index 36d2ee245a5..c72e54252a6 100644
--- a/include/makeinclude/platform_g++_common.GNU
+++ b/include/makeinclude/platform_g++_common.GNU
@@ -11,6 +11,7 @@ else
endif
CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion)
+CXX_MACHINE := $(shell $(CXX_FOR_VERSION_TEST) -dumpmachine)
ifeq (cmd,$(findstring cmd,$(SHELL)))
CXX_MAJOR_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion | sed -e "s/[^0-9\.]//g" | sed -e "s/\..*$$//")
else
@@ -28,7 +29,7 @@ endif
templates ?= automatic
# The correct flags to pass to the linker for ELF dynamic shared library
-# versioning. None of this works on OpenBSD's ld.
+# versioning.
# If the platform file didn't already set versioned_so, default to 1.
versioned_so ?= 1
with_ld ?=
@@ -36,13 +37,10 @@ ifeq ($(versioned_so),1)
ifeq ($(with_ld),hpux)
SOFLAGS += -Wl,+h -Wl,$(SONAME)
else
- ifeq ($(with_ld),openbsd)
+ ifeq ($(with_ld),aix)
+ # What to do here???
else
- ifeq ($(with_ld),aix)
- # What to do here???
- else
- SOFLAGS += -Wl,-h -Wl,$(SONAME)
- endif
+ SOFLAGS += -Wl,-h -Wl,$(SONAME)
endif
endif
endif
@@ -71,6 +69,10 @@ ifeq ($(GNU_LD),1)
STATIC_LINK_FLAG ?= -static
endif # GNU_LD
+ifeq ($(no_strict_aliasing), 1)
+ CCFLAGS += -fno-strict-aliasing
+endif
+
ifeq ($(shared_libs), 1)
ifneq ($(static_libs_only), 1)
# Add all symbols to the dynamic symbol table. Needed to enable
@@ -122,3 +124,8 @@ else
CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0
endif # GXX_4_OR_BETTER == 1
endif # shared_libs
+
+# GCC 2.x needs this to compile TAO correctly
+ifeq ($(CXX_MAJOR_VERSION), 2)
+ CCFLAGS += -ftemplate-depth-23
+endif
diff --git a/include/makeinclude/platform_gnuwin32_common.GNU b/include/makeinclude/platform_gnuwin32_common.GNU
index 8d3bdf9a4d4..28ce90b3c7f 100644
--- a/include/makeinclude/platform_gnuwin32_common.GNU
+++ b/include/makeinclude/platform_gnuwin32_common.GNU
@@ -10,6 +10,8 @@ ifneq ($(mingw32),1)
endif
endif
+no_hidden_visibility ?= 1
+
GNUWIN32_CXX_VERSION := $(shell $(CXX) -dumpversion)
winsock2 ?= 1
@@ -29,19 +31,29 @@ endif
ifeq ($(debug),0)
CFLAGS += -DNDEBUG
endif
-
-CC = gcc
-CXX = g++
-RC = windres
+CC = ${COMPARCH}gcc
+CXX = ${COMPARCH}g++
+RC = ${COMPARCH}windres
+DLLTOOL = ${COMPARCH}dlltool
RC_OUTPUT_FLAG = -o
ifeq (2.9,$(findstring 2.9,$(GNUWIN32_CXX_VERSION)))
- MODEL_FLAGS += -mcpu=$(TCPU)
+ cpumodelflag ?= 1
+ tunemodelflag ?= 0
else
+ cpumodelflag ?= 0
+ tunemodelflag ?= 1
+endif
+
+ifeq ($(tunemodelflag),1)
MODEL_FLAGS += -mtune=$(TCPU)
endif
+ifeq ($(cpumodelflag),1)
+ MODEL_FLAGS += -mcpu=$(TCPU)
+endif
+
CFLAGS += -Wpointer-arith
ifeq ($(threads),1)
CFLAGS += -mthreads
@@ -64,9 +76,9 @@ endif
OCFLAGS += -O3
PIC =
-AR = ar
+AR = ${COMPARCH}ar
ARFLAGS = rsuv
-RANLIB = ranlib
+RANLIB = ${COMPARCH}ranlib
SOEXT = dll
SOFLAGS += $(MODEL_FLAGS) $(CPPFLAGS)
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
@@ -87,7 +99,7 @@ PLATFORM_WX_LDFLAGS ?= $(shell wx-config --ldflags)
# to workaround to a bug in ld.
SHLIBBUILD = \
$(RM) $(VSHDIR)/$@.def.old $(VSHDIR)/$@.def; \
- dlltool --export-all --output-def $(VSHDIR)/$@.def --dllname $@ \
+ $(DLLTOOL) --export-all --output-def $(VSHDIR)/$@.def --dllname $@ \
$(VSHOBJS) \
&& mv $(VSHDIR)/$@.def $(VSHDIR)/$@.def.old \
&& sed 's/;.*$$//g' < $(VSHDIR)/$@.def.old > $(VSHDIR)/$@.def \
diff --git a/include/makeinclude/platform_hpux_aCC.GNU b/include/makeinclude/platform_hpux_aCC.GNU
index 31ce884b23c..21c10254d0b 100644
--- a/include/makeinclude/platform_hpux_aCC.GNU
+++ b/include/makeinclude/platform_hpux_aCC.GNU
@@ -104,7 +104,6 @@ ifeq (03,$(CXXMAJORVERS))
# Suppress Warning 361 (missing return from non-void function)
# Suppress Warning 1039(Binary incompatabilty between old and new compilers)
CCFLAGS += +W302,361,1039
-
ifeq (57,$(CXXMINORVERS))
# aCC 3.57 has a bug. When a class has private constructors
# and is trying to be created from a friend class we end up with
@@ -116,6 +115,14 @@ ifeq (03,$(CXXMAJORVERS))
# Same bug as above
export aCC_ARRAY_OPT=OFF
endif
+ ifeq (80,$(CXXMINORVERS))
+ # Enabled template meta programming
+ CCFLAGS += +hpxstd98
+ endif
+ ifeq (85,$(CXXMINORVERS))
+ # Enabled template meta programming
+ CCFLAGS += +hpxstd98
+ endif
endif
ifeq (05,$(CXXMAJORVERS))
diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU
index 710935e7419..64127b7963b 100644
--- a/include/makeinclude/platform_linux.GNU
+++ b/include/makeinclude/platform_linux.GNU
@@ -18,6 +18,7 @@ endif
pipes ?= 1
CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version)
+CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion)
ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID)))
ifeq (7.10, $(findstring 7.10,$(LSB_RELEASE_RELEASE)))
@@ -27,21 +28,17 @@ ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID)))
no_hidden_visibility ?= 1
endif
endif
-ifeq (Fedora, $(findstring Fedora,$(LSB_RELEASE_ID)))
- ifeq (6, $(findstring 6,$(LSB_RELEASE_RELEASE)))
+ifeq (Red Hat, $(findstring Red Hat,$(CXX_FULL_VERSION)))
+ ifeq (4.1.1, $(findstring 4.1.1,$(CXX_VERSION)))
gcc_template_instantiation_visibility ?= 1
endif
- ifeq (7, $(findstring 7,$(LSB_RELEASE_RELEASE)))
- gcc_template_instantiation_visibility ?= 1
- endif
- ifeq (8, $(findstring 8,$(LSB_RELEASE_RELEASE)))
+ ifeq (4.1.2, $(findstring 4.1.2,$(CXX_VERSION)))
gcc_template_instantiation_visibility ?= 1
endif
endif
-ifeq (RedHatEnterpriseServer, $(findstring RedHatEnterpriseServer,$(LSB_RELEASE_ID)))
- ifeq (5, $(findstring 5,$(LSB_RELEASE_RELEASE)))
- gcc_template_instantiation_visibility ?= 1
- endif
+# Mandriva 2007
+ifeq (4.1.1-3mdk, $(findstring 4.1.1-3mdk,$(CXX_FULL_VERSION)))
+ gcc_template_instantiation_visibility ?= 1
endif
FLAGS_C_CC += -W -Wall -Wpointer-arith
@@ -55,6 +52,17 @@ ifeq ($(buildbits),32)
endif
ifeq ($(buildbits),64)
FLAGS_C_CC += -m64
+ LDFLAGS += -m64
+ ifneq ($(CROSS_COMPILE),)
+ PPC64_TARGET := $(shell echo '__powerpc64__' | $(CC) -E - | tail -n 1)
+ ifeq ($(PPC64_TARGET),1)
+ FLAGS_C_CC += -mminimal-toc
+ endif
+ else
+ ifeq ($(SYSARCH),ppc64)
+ FLAGS_C_CC += -mminimal-toc
+ endif
+ endif
endif
#
@@ -89,6 +97,20 @@ PRELIB = @true
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
+ifneq ($(TCPU),)
+ ifeq ($(tunemodelflag),1)
+ FLAGS_C_CC += -mtune=$(TCPU)
+ endif
+
+ ifeq ($(cpumodelflag),1)
+ FLAGS_C_CC += -mcpu=$(TCPU)
+ endif
+
+ ifeq ($(archmodelflag),1)
+ FLAGS_C_CC += -march=$(TCPU)
+ endif
+endif
+
# TAO with GCC 4.0.2 and -O3 seems to result in runtime issues, for example
# the ForwardRequest PI test will fail. For GCC 4.0.2 we default to -O2
ifeq ($(CXX_VERSION),4.0.2)
diff --git a/include/makeinclude/platform_linux_common.GNU b/include/makeinclude/platform_linux_common.GNU
index 53f680644d2..f30576fcd34 100644
--- a/include/makeinclude/platform_linux_common.GNU
+++ b/include/makeinclude/platform_linux_common.GNU
@@ -10,6 +10,9 @@ optimize ?= 1
threads ?= 1
insure ?= 0
+LSB_RELEASE_ID := $(shell lsb_release -i 2> /dev/null || echo Distributor ID: Unknown)
+LSB_RELEASE_RELEASE := $(shell lsb_release -r 2> /dev/null || echo Release: Unknown)
+
PLATFORM_XT_CPPFLAGS=
PLATFORM_XT_LIBS=-lXt
PLATFORM_XT_LDFLAGS=
@@ -30,9 +33,9 @@ PLATFORM_GTK_CPPFLAGS=$(shell gtk-config --cflags)
PLATFORM_GTK_LIBS =$(shell gtk-config --libs)
PLATFORM_GTK_LDFLAGS =
-PLATFORM_FOX_CPPFLAGS=
-PLATFORM_FOX_LIBS=-lFOX
-PLATFORM_FOX_LDFLAGS=
+PLATFORM_FOX_CPPFLAGS ?= -I/usr/include/fox
+PLATFORM_FOX_LIBS ?= -lFOX
+PLATFORM_FOX_LDFLAGS ?=
# NOTE: we only support wxWindows over GTK
PLATFORM_WX_CPPFLAGS= $(shell wx-config --cxxflags) $(PLATFORM_GTK_CPPFLAGS)
@@ -43,13 +46,24 @@ PLATFORM_BOOST_CPPFLAGS ?=
PLATFORM_BOOST_LDLAGS ?=
PLATFORM_BOOST_UTF_LIBS ?= -lboost_unit_test_framework
-PLATFORM_TCL_CPPFLAGS=
-PLATFORM_TCL_LIBS=-ltcl
-PLATFORM_TCL_LDFLAGS=
+ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID)))
+ PLATFORM_TK_CPPFLAGS=$(shell . /usr/lib/tk*/tkConfig.sh && echo -n $$TK_INCLUDE_SPEC $$TK_DEFS)
+ PLATFORM_TK_LIBS=$(shell . /usr/lib/tk*/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+ PLATFORM_TK_LDFLAGS=
+
+ PLATFORM_TCL_CPPFLAGS=
+ PLATFORM_TCL_LIBS=-ltcl8.4
+ PLATFORM_TCL_LDFLAGS=
+else
+ PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib*/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
+ PLATFORM_TK_LIBS=$(shell . /usr/lib*/tkConfig.sh && echo -n $$TK_LIB_FLAG)
+ PLATFORM_TK_LDFLAGS=
-PLATFORM_TK_CPPFLAGS=-I$(shell . /usr/lib*/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
-PLATFORM_TK_LIBS=$(shell . /usr/lib*/tkConfig.sh && echo -n $$TK_LIB_FLAG)
-PLATFORM_TK_LDFLAGS=
+
+ PLATFORM_TCL_CPPFLAGS=
+ PLATFORM_TCL_LIBS=-ltcl
+ PLATFORM_TCL_LDFLAGS=
+endif
PLATFORM_QT_CPPFLAGS ?= -I$(QTDIR)/include
PLATFORM_QT_LIBS ?= -lqt-mt
@@ -73,7 +87,7 @@ endif
PLATFORM_AIO_SUPPORT := \
$(shell test "`ls -L /usr/lib*/librt.so* /lib*/librt.so*`" && echo -DACE_HAS_AIO_CALLS)
-GNU_LIBPTHREAD_VERSION := $(shell getconf GNU_LIBPTHREAD_VERSION)
+GNU_LIBPTHREAD_VERSION := $(shell getconf GNU_LIBPTHREAD_VERSION 2> /dev/null || echo Unknown)
ifeq (NPTL, $(word 1,$(GNU_LIBPTHREAD_VERSION)))
NPTL_VERS := $(subst ., ,$(word 2,$(GNU_LIBPTHREAD_VERSION)))
ifneq (0, $(word 1,$(NPTL_VERS)))
@@ -85,9 +99,6 @@ ifeq ($(nptl),0)
CPPFLAGS += -DACE_LACKS_LINUX_NPTL
endif
-LSB_RELEASE_ID := $(shell lsb_release -i)
-LSB_RELEASE_RELEASE := $(shell lsb_release -r)
-
ssl ?= 0
ifeq ($(ssl),1)
# Some Linux OpenSSL installations compile in Kerberos support. Add
@@ -107,10 +118,29 @@ SYSARCH := $(shell uname -m)
ifeq ($(insure),1)
CC = insure
CXX = insure
+else
+ ifneq ($(CROSS_COMPILE),)
+ # Build using the cross-tools
+ CC = ${CROSS_COMPILE}gcc
+ CXX = ${CROSS_COMPILE}g++
+ AR = ${CROSS_COMPILE}ar
+ # Cross-linker requires this for linked in shared libs that depend
+ # themselves on other shared libs (not directly linked in)
+ LDFLAGS += -Wl,-rpath-link,$(ACE_ROOT)/lib
+ ifneq (,$(HOST_ROOT))
+ TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
+ TAO_IDL = $(HOST_ROOT)/bin/tao_idl
+ TAO_IDL_DEP = $(TAO_IDL)
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2
+ TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
+ # make sure to use the target compiler, not the cross-compiler
+ # as preprocessor for the cross-compiled idl tools
+ TAO_IDL_PREPROCESSOR = gcc
+ endif
+ endif
endif
PIC = -fPIC
AR ?= ar
-ARFLAGS = rsuv
+ARFLAGS ?= rsuv
RANLIB = @true
-
diff --git a/include/makeinclude/platform_linux_icc.GNU b/include/makeinclude/platform_linux_icc.GNU
index 66d756c755e..1afd19c729f 100644
--- a/include/makeinclude/platform_linux_icc.GNU
+++ b/include/makeinclude/platform_linux_icc.GNU
@@ -60,7 +60,7 @@ ifeq ($(threads),1)
endif # threads
CCFLAGS += $(CFLAGS) $(IMPLICIT_TEMPLATES_FLAG) -ip
-DCFLAGS += -g
+DCFLAGS += -g -debug full
DLD = $(CXX)
LD = $(CXX)
LIBS += -ldl
diff --git a/include/makeinclude/platform_linux_suncc.GNU b/include/makeinclude/platform_linux_suncc.GNU
index c49d17bbede..18771a3a4d2 100644
--- a/include/makeinclude/platform_linux_suncc.GNU
+++ b/include/makeinclude/platform_linux_suncc.GNU
@@ -66,6 +66,9 @@ ifeq ($(buildbits),64)
CFLAGS += -m64
endif
+# Enable GNU extensions
+CPPFLAGS+= -D_GNU_SOURCE
+
# Added line below to support "Executable Shared Object" files (as
# needed by the service configurator).
# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
diff --git a/include/makeinclude/platform_lynxos.GNU b/include/makeinclude/platform_lynxos.GNU
index 24b520a271f..1991f459382 100644
--- a/include/makeinclude/platform_lynxos.GNU
+++ b/include/makeinclude/platform_lynxos.GNU
@@ -3,18 +3,6 @@
# LynxOS with g++. Defaults to LynxOS Version 4.0.0. For Version 4.2.0,
# for example, add "VERSION=4.2.0" to your make invocation.
-#### NOTE: It's best to create a file that includes this one, instead
-#### of symlinking it. That way, you can easily override the default
-#### configuration. For example, to configure for a PowerPC target, I
-#### use a include/makeinclude/platform_macros.GNU that contains the
-#### following lines (without comment markers):
-####
-#### LYNXTARGET = ppc
-#### include $(ACE_ROOT)/include/makeinclude/platform_lynxos.GNU
-####
-#### Similarly, the default VERSION and HOST_OS settings (see below)
-#### can be overridden for your particular platform.
-
ifeq ($(shell uname -s),LynxOS)
export VERSION=$(shell uname -r)
@@ -24,48 +12,9 @@ ifeq ($(shell uname -s),LynxOS)
else
CROSS-COMPILE = 1
- #### The following may need to be customized for your host or target type.
- #### Or, you can source the appropriate (for your shell) Lynx SETUP file
- #### before running "make".
-
ifeq (,$(VERSION))
- export VERSION=4.0.0
+ export VERSION = 4.0.0
endif # VERSION
-
- ifeq (,$(LYNXTARGET))
- export LYNXTARGET = x86
- endif # LYNXTARGET
-
- ifeq (,$(OBJSFORMAT))
- ifeq (x86,$(LYNXTARGET))
- OBJSFORMAT = coff
- else # ! x86
- OBJSFORMAT = xcoff
- endif # ! x86
- export OBJSFORMAT
- endif # OBJSFORMAT
-
- ifeq (,$(HOST_OS))
- export HOST_OS = sunos
- endif # HOST_OS
-
- ifeq (,$(HOST_OS_REVISION))
- #### Added for 3.1.0
- export HOST_OS_REVISION = `uname -r`
- endif # HOST_OS_REVISION
-
- ifeq (,$(HOST_OS_TYPE))
- #### Added for 3.1.0
- export HOST_OS_TYPE = solaris
- endif # HOST_OS_TYPE
-
- ifeq (,$(ENV_PREFIX))
- export ENV_PREFIX = /usr/lynx/$(VERSION)/$(LYNXTARGET)
- endif # ENV_PREFIX
-
- ifeq (,$(findstring $(ENV_PREFIX),$(PATH)))
- export PATH:=$(ENV_PREFIX)/cdk/$(HOST_OS)-$(OBJSFORMAT)-$(LYNXTARGET)/bin:$(ENV_PREFIX)/cdk/$(HOST_OS)-$(OBJSFORMAT)-$(LYNXTARGET)/usr/bin:$(PATH)
- endif # PATH
endif # ! LynxOS
LYNXOS_MAJOR = $(shell echo $(VERSION) | awk -F. '{print $$1;}')
@@ -76,16 +25,16 @@ PLATFORM_XT_LIBS=-lXm -lXt
PLATFORM_XT_LDFLAGS=
PLATFORM_X11_CPPFLAGS=
-PLATFORM_X11_LIBS=-lXpm -lXmu -lXext -lX11 -lSM -lICE
+PLATFORM_X11_LIBS=-lXp -lXpm -lXmu -lXext -lX11 -lSM -lICE
PLATFORM_X11_LDFLAGS=
-PLATFORM_TCL_CPPFLAGS=
-PLATFORM_TCL_LIBS=-ltcl
+PLATFORM_TCL_CPPFLAGS=$(shell . /usr/lib/tclConfig.sh && echo -n $$TCL_INC_DIR $$TCL_DEFS)
+PLATFORM_TCL_LIBS=-ltcl8.0
PLATFORM_TCL_LDFLAGS=
-PLATFORM_TK_CPPFLAGS=$(shell . /usr/lib/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS)
-PLATFORM_TK_LIBS=-ltk $(PLATFORM_X11_LIBS)
-PLATFORM_TK_LDFLAGS=
+PLATFORM_TK_CPPFLAGS=$(shell . /usr/lib/tkConfig.sh && echo -n $$TK_INC_DIR $$TK_DEFS) $(PLATFORM_X11_CPPFLAGS)
+PLATFORM_TK_LIBS=-ltk8.0 $(PLATFORM_XT_LIBS) $(PLATFORM_X11_LIBS)
+PLATFORM_TK_LDFLAGS=$(PLATFORM_X11_LDFLAGS)
shared_libs ?= 1
optimize ?= 1
@@ -99,10 +48,18 @@ ifeq ($(threads),1)
SOFLAGS += -mthreads
endif
+ifeq ($(rpc),1)
+ LIBS += -lrpc
+endif
+
ifeq ($(shared_libs),1)
CPPFLAGS += -DACE_HAS_SVR4_DYNAMIC_LINKING
- LDFLAGS += -mshared
+ CFLAGS += -mshared
+ SOFLAGS += -mshared
LIBS += -ldl
+ ifeq ($(CROSS-COMPILE),1)
+ LDFLAGS += -Wl,-rpath-link,$(ACE_ROOT)/lib
+ endif
else
LIBS += -lnetinet -lnsl
endif
diff --git a/include/makeinclude/platform_macosx_common.GNU b/include/makeinclude/platform_macosx_common.GNU
new file mode 100644
index 00000000000..5ee78669b6a
--- /dev/null
+++ b/include/makeinclude/platform_macosx_common.GNU
@@ -0,0 +1,58 @@
+# $Id$
+# platform_macosx.GNU
+# support for Mac OS X 10.4 (Tiger)
+# By default, this uses the default compiler selected using gcc_select.
+
+cidl = 1
+boost = 1
+zzip = 1
+zlib = 1
+exceptions ?= 1
+threads ?= 1
+debug ?= 1
+optimize ?= 0
+ssl ?= 1
+versioned_so ?= 0
+universal ?= 0
+
+ifeq (,$(no_hidden_visibility))
+# Disable symbol visibility support by default.
+#
+# Apple's g++ 4 compiler doesn't appear to correctly support
+# visibility attributes, at least as well as the vanilla g++.
+ no_hidden_visibility = 1
+endif
+
+with_ld = macosx
+
+pipes ?= 1
+
+CFLAGS += $(FLAGS_C_CC)
+
+CC = gcc
+CXX = g++
+CFLAGS += -Wall -Wpointer-arith
+
+DCFLAGS += -g
+DLD = $(CXX)
+LD = $(CXX)
+#LIBS += -lstdc++.6 -lSystem -lSystemStubs
+
+OCFLAGS += -O2
+RANLIB = ranlib
+SOEXT = dylib
+SOFLAGS += -dynamiclib
+SOBUILD = -o $(VSHDIR)$*.dylib $<
+
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
+# add -E to LDFLAGS if using GNU ld
+#
+include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
+
+LDFLAGS += -flat_namespace
+CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
+
+ifeq ($(universal),1)
+ CFLAGS += -arch i386 -arch ppc
+ LDFLAGS += -arch i386 -arch ppc
+endif
diff --git a/include/makeinclude/platform_macosx_iphone.GNU b/include/makeinclude/platform_macosx_iphone.GNU
new file mode 100644
index 00000000000..a96f739f114
--- /dev/null
+++ b/include/makeinclude/platform_macosx_iphone.GNU
@@ -0,0 +1,50 @@
+# $Id$
+
+static_libs_only=1
+
+include $(ACE_ROOT)/include/makeinclude/platform_macosx_common.GNU
+
+XCODE:=/Developer
+
+ifeq ($(IPHONE_TARGET), SIMULATOR)
+ IPHONE_PLATFORM:=$(XCODE)/Platforms/iPhoneSimulator.platform/Developer
+ IPHONE_SDK:=$(IPHONE_PLATFORM)/SDKs/iPhoneSimulator${IPHONE_VERSION}.sdk
+ IPHONE_HARDWARE_ARCHITECTURE=i386
+
+ # crt1.10.6.o is missing under MacOSX 10.6, fallback to 10.5
+ # until apple provides the missing crt1.10.6.o
+ CFLAGS += -mmacosx-version-min=10.5
+ CXXFLAGS += -mmacosx-version-min=10.5
+ LDFLAGS += -mmacosx-version-min=10.5
+endif
+
+ifeq ($(IPHONE_TARGET), HARDWARE)
+ CROSS-COMPILE=1
+ IPHONE_PLATFORM:=$(XCODE)/Platforms/iPhoneOS.platform/Developer
+ IPHONE_SDK:=$(IPHONE_PLATFORM)/SDKs/iPhoneOS${IPHONE_VERSION}.sdk
+ IPHONE_HARDWARE_ARCHITECTURE=armv6
+ CODESIGN_ALLOCATE:=$(IPHONE_PLATFORM)/usr/bin/codesign_allocate
+ POSTLINK=; codesign -f -s "iPhone Developer" $(BIN)
+ rwho = 0
+endif
+
+CC:=$(IPHONE_PLATFORM)/usr/bin/gcc
+CXX:=$(IPHONE_PLATFORM)/usr/bin/g++
+AR:=$(IPHONE_PLATFORM)/usr/bin/ar
+RANLIB:=$(IPHONE_PLATFORM)/usr/bin/ranlib
+DLD = $(CXX)
+LD = $(CXX)
+CFLAGS += -arch $(IPHONE_HARDWARE_ARCHITECTURE) -isysroot $(IPHONE_SDK)
+CXXFLAGS += -arch $(IPHONE_HARDWARE_ARCHITECTURE) -isysroot $(IPHONE_SDK)
+
+ifneq (,$(HOST_ROOT))
+ TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
+ TAO_IDL = $(HOST_ROOT)/bin/tao_idl
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2
+ TAO_IDL_DEP = $(TAO_IDL)
+ TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
+ # make sure to use the target compiler, not the cross-compiler
+ # as preprocessor for the cross-compiled idl tools
+ TAO_IDL_PREPROCESSOR = gcc
+endif
+
diff --git a/include/makeinclude/platform_macosx_snowleopard.GNU b/include/makeinclude/platform_macosx_snowleopard.GNU
new file mode 100644
index 00000000000..63aa60240ca
--- /dev/null
+++ b/include/makeinclude/platform_macosx_snowleopard.GNU
@@ -0,0 +1,17 @@
+# $Id$
+
+ifeq ($(buildbits),32)
+ FLAGS_C_CC += -m32
+ LDFLAGS += -m32
+endif
+ifeq ($(buildbits),64)
+ FLAGS_C_CC += -m64
+ LDFLAGS += -m64
+endif
+ifeq ($(buildbits),universal)
+ FLAGS_C_CC += -arch i386 -arch x86_64
+ LDFLAGS += -arch i386 -arch x86_64
+endif
+
+include $(ACE_ROOT)/include/makeinclude/platform_macosx_common.GNU
+
diff --git a/include/makeinclude/platform_macosx_tiger.GNU b/include/makeinclude/platform_macosx_tiger.GNU
index 8629f209ab7..6889fb7b6dd 100644
--- a/include/makeinclude/platform_macosx_tiger.GNU
+++ b/include/makeinclude/platform_macosx_tiger.GNU
@@ -3,54 +3,6 @@
# support for Mac OS X 10.4 (Tiger)
# By default, this uses the default compiler selected using gcc_select.
-cidl = 1
-boost = 1
-zzip = 1
-zlib = 1
-exceptions ?= 1
-threads ?= 1
-debug ?= 1
-optimize ?= 0
-ssl ?= 1
-versioned_so ?= 0
-universal ?= 0
+include $(ACE_ROOT)/include/makeinclude/platform_macosx_common.GNU
-ifeq (,$(no_hidden_visibility))
-# Disable symbol visibility support by default.
-#
-# Apple's g++ 4 compiler doesn't appear to correctly support
-# visibility attributes, at least as well as the vanilla g++.
- no_hidden_visibility = 1
-endif
-
-with_ld = macosx
-
-pipes ?= 1
-
-CC = gcc
-CXX = g++
-CFLAGS += -Wall -Wpointer-arith -Wno-long-double
-
-DCFLAGS += -g
-DLD = $(CXX)
-LD = $(CXX)
-#LIBS += -lstdc++.6 -lSystem -lSystemStubs
-
-OCFLAGS += -O2
-RANLIB = ranlib
-SOEXT = dylib
-SOFLAGS += -dynamiclib
-SOBUILD = -o $(VSHDIR)$*.dylib $<
-
-# Test for template instantiation, add to SOFLAGS if versioned_so set,
-# add -E to LDFLAGS if using GNU ld
-#
-include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
-
-LDFLAGS += -flat_namespace
-CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
-
-ifeq ($(universal),1)
- CFLAGS += -arch i386 -arch ppc
- LDFLAGS += -arch i386 -arch ppc
-endif
+CFLAGS += -Wno-long-double \ No newline at end of file
diff --git a/include/makeinclude/platform_openbsd.GNU b/include/makeinclude/platform_openbsd.GNU
index af0e6dd7304..328f3e013e2 100644
--- a/include/makeinclude/platform_openbsd.GNU
+++ b/include/makeinclude/platform_openbsd.GNU
@@ -25,21 +25,29 @@ AR = ar
ARFLAGS = ruv
RANLIB = ranlib
-#SOFLAGS += -Bshareable -x /usr/lib/c++rt0.o
SOFLAGS += $(CPPFLAGS) -shared
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
PRELIB = @echo
ifeq ($(threads),1)
-LDFLAGS += -pthread
-CFLAGS += -D_THREAD_SAFE -DACE_HAS_THREADS
+ LDFLAGS += -pthread
+ CFLAGS += -D_THREAD_SAFE -DACE_HAS_THREADS
endif # threads
-# Setting the internal name and version of shared libraries isn't supported
-# by OpenBSD. In fact, the -h option gives an error and interestingly
-# enough, the -soname option doesn't but just ignores its parameter.
-# This tells platform_g++_common.GNU not to add these link options.
-with_ld = openbsd
+PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_X11_LIBS=-lX11
+PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib
+
+PLATFORM_TK_CPPFLAGS=$(shell . /usr/local/lib/tk*/tkConfig.sh && echo -n $$TK_INCLUDE_SPEC) $(PLATFORM_X11_CPPFLAGS)
+PLATFORM_TK_LIBS=$(shell . /usr/local/lib/tk*/tkConfig.sh && echo -n $$TK_LIB_FLAG) $(PLATFORM_X11_LIBS)
+PLATFORM_TK_LDFLAGS=$(PLATFORM_X11_LDFLAGS)
+
+PLATFORM_TCL_CPPFLAGS=$(shell . /usr/local/lib/tcl*/tclConfig.sh && echo -n $$TCL_INCLUDE_SPEC)
+PLATFORM_TCL_LIBS=$(shell . /usr/local/lib/tcl*/tclConfig.sh && echo -n $$TCL_LIB_FLAG)
+PLATFORM_TCL_LDFLAGS=
+
+CPPFLAGS+=-I/usr/local/include
+LDFLAGS+=-L/usr/local/lib
# Test for template instantiation, add to SOFLAGS if versioned_so set,
# add -E to LDFLAGS if using GNU ld
@@ -47,4 +55,3 @@ with_ld = openbsd
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
-
diff --git a/include/makeinclude/platform_rtems.x_g++.GNU b/include/makeinclude/platform_rtems.x_g++.GNU
index b68661d23fc..f9fae61e4e2 100644
--- a/include/makeinclude/platform_rtems.x_g++.GNU
+++ b/include/makeinclude/platform_rtems.x_g++.GNU
@@ -16,11 +16,9 @@ rwho = 0
ifneq (,$(HOST_ROOT))
TAO_IDL = $(HOST_ROOT)/bin/tao_idl
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2
TAO_IDL_DEP = $(TAO_IDL)
TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
- CIDLC_DEP = $(CIDLC)
endif
ifeq (,$(RTEMS_MAKEFILE_PATH))
diff --git a/include/makeinclude/platform_sunos5_common.GNU b/include/makeinclude/platform_sunos5_common.GNU
index 33b4ab49662..e968af141f6 100644
--- a/include/makeinclude/platform_sunos5_common.GNU
+++ b/include/makeinclude/platform_sunos5_common.GNU
@@ -11,10 +11,12 @@ endif
ifeq ($(shell /bin/uname -r),5.10)
# Solaris 10 puts sendfile() in a separate library.
LIBS += -lsendfile
+ sctp ?= lksctp
endif
ifeq ($(shell /bin/uname -r),5.11)
# Solaris 11 puts sendfile() in a separate library.
LIBS += -lsendfile
+ sctp ?= lksctp
endif
kstat ?= 1
ifeq ($(kstat),1)
diff --git a/include/makeinclude/platform_sunos5_g++.GNU b/include/makeinclude/platform_sunos5_g++.GNU
index 330582a2415..a4ac385ab02 100644
--- a/include/makeinclude/platform_sunos5_g++.GNU
+++ b/include/makeinclude/platform_sunos5_g++.GNU
@@ -15,14 +15,21 @@ pipes ?= 1
buildbits ?= 32
ifeq ($(exceptions),0)
- CFLAGS += -fno-exceptions
+ CCFLAGS += -fno-exceptions
endif # exceptions
+ifeq ($(buildbits),64)
+ FLAGS_C_CC += -m64
+ LDFLAGS += -m64
+endif
+
ifeq ($(shell /bin/uname -m),i86pc)
#### gcc on Solaris86 doesn't use -g
DCFLAGS += -gstabs+
+ DCCFLAGS += -gstabs+
else # ! i86pc
DCFLAGS += -g
+ DCCFLAGS += -g
endif # ! i86pc
CC = gcc
@@ -38,6 +45,7 @@ LD = $(CXX)
LDFLAGS +=
LIBS += -lsocket -ldl -lgen -lnsl -lposix4 -lthread
OCFLAGS += -O3
+OCCFLAGS += -O3
PIC = -fPIC
AR = ar
ARFLAGS = ruv
@@ -58,7 +66,7 @@ CFLAGS += $(FLAGS_C_CC)
CCFLAGS += $(FLAGS_C_CC) $(TEMPLATES_FLAG)
# Make sure we resolve all symbols at link time, see bugzilla 2710
-LDFLAGS += -z now
+LDFLAGS += -z now
## Unfortunately, gcc 3.0 fails to many cpp files with
## optimization enabled. Even -O causes the compiler
diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU
index 5bf5127adaf..e9aefe30832 100644
--- a/include/makeinclude/platform_sunos5_sunc++.GNU
+++ b/include/makeinclude/platform_sunos5_sunc++.GNU
@@ -42,12 +42,15 @@
compat4 ?= 0
debug ?= 1
-distrib ?= 0
+distrib ?= 1
+rwtools ?= 0
stdcpplib ?= 1
+stlport ?= 0
threads ?= 1
versioned_so ?= 1
tk_reactor ?= 0
ace_with_x11 ?= 0
+no_annotations ?= 1
no_hidden_visibility ?= 1
templates ?= automatic
@@ -71,8 +74,6 @@ ifeq (C++ 5.4,$(findstring C++ 5.4,$(CC_VERSION)))
ACE_CC_PREPROCESSOR = cc
endif
-PLATFORM_STLPORT_CPPFLAGS = -library=stlport4
-
ifeq ($(atomic_ops_sparc),1)
CFLAGS += -DACE_HAS_BUILTIN_ATOMIC_OP -DACE_INCLUDE_ATOMIC_OP_SPARC
endif
@@ -107,7 +108,7 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION)))
ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION)))
inline = 0
else
- ifeq (C++ 5.1,$(findstring C++ 5.1,$(CC_VERSION)))
+ ifeq (C++ 5.1 ,$(findstring C++ 5.1 ,$(CC_VERSION)))
inline = 0
else # ! 5.1
inline ?= 1
@@ -124,20 +125,7 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION)))
CCFLAGS += -compat=4
CCFLAGS += -features=rtti
else
- #### Use old iostreams.
- ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION)))
- ifeq (1,$(stdcpplib))
- CCFLAGS += -library=Cstd
- else
- CCFLAGS += -library=iostream,no%Cstd
- CPPFLAGS += -DACE_USES_OLD_IOSTREAMS
- endif # stdcpplib
- else
- ifeq (0,$(stdcpplib))
- CCFLAGS += -library=iostream
- CPPFLAGS += -DACE_USES_OLD_IOSTREAMS
- endif # stdcpplib
-
+ ifneq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION)))
# If 64-bit build is desired, turn that on. If no code gen options
# are given to Forte 6, the default build is 32-bit, even when
# building on a 64-bit system. Specifying xarch=v9 generates code
@@ -159,9 +147,14 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION)))
CFLAGS += -m64
LDFLAGS += -m64
else
- CFLAGS += -xarch=v9
- LDFLAGS += -xarch=v9
- endif
+ ifeq (C++ 5.10,$(findstring C++ 5.10,$(CC_VERSION)))
+ CFLAGS += -m64
+ LDFLAGS += -m64
+ else
+ CFLAGS += -xarch=v9
+ LDFLAGS += -xarch=v9
+ endif # C++ 5.10
+ endif # C++ 5.9
endif # C++ 5.8
endif # C++ 5.7
endif # buildbits
@@ -221,11 +214,39 @@ include $(ACE_ROOT)/include/makeinclude/platform_sunos5_common.GNU
LIBS += -lsocket -lrt -laio -ldl -lnsl -lgen -lposix4 -ladm
-# Sun Studio will not create a default dependency on libCrun and
-# libCstd when building a shared library with the -G option.
-stlport ?= 0
-ifeq ($(stlport),0)
- LIBS += -lCrun -lCstd
+# Support alternate CC libraries (i.e. STLport, Tools.h++, Cstd)
+# See: http://docs.sun.com/app/docs/doc/820-7599/bkaty?a=view
+ifeq ($(stlport),1)
+ CC_LIBRARY = stlport4
+ PLATFORM_STLPORT_CCFLAGS += -library=$(CC_LIBRARY)
+ PLATFORM_STLPORT_LDFLAGS += -library=$(CC_LIBRARY)
+else
+ ifeq ($(rwtools),1)
+ ifeq ($(stdcpplib),1)
+ CC_LIBRARY = rwtools7_std
+ else
+ CC_LIBRARY = rwtools7,iostream
+ CPPFLAGS += -DACE_USES_OLD_IOSTREAMS
+ endif
+ else # default
+ ifeq ($(stdcpplib),1)
+ CC_LIBRARY = Cstd
+ else
+ CC_LIBRARY = no%Cstd,iostream
+ CPPFLAGS += -DACE_USES_OLD_IOSTREAMS
+ endif
+ endif
+ CCFLAGS += -library=$(CC_LIBRARY)
+ LDFLAGS += -library=$(CC_LIBRARY)
+endif
+
+### CC 5.10 enables annotation support by default; allow user to override
+### new behavior. This also provides a work around for 64-bit linker crashes,
+### see: http://defect.opensolaris.org/bz/show_bug.cgi?id=9720
+ifeq (C++ 5.10,$(findstring C++ 5.10,$(CC_VERSION)))
+ ifeq ($(no_annotations),1)
+ LDFLAGS += -xannotate=no
+ endif
endif
LDFLAGS += -xildoff
diff --git a/include/makeinclude/platform_vxworks.GNU b/include/makeinclude/platform_vxworks.GNU
index 5097e4192ff..30db5614a42 100644
--- a/include/makeinclude/platform_vxworks.GNU
+++ b/include/makeinclude/platform_vxworks.GNU
@@ -22,4 +22,11 @@ endif
ifeq (vxworks-6.6, $(findstring vxworks-6.6,$(WIND_PLATFORM)))
include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.6.GNU
endif
+ifeq (vxworks-6.7, $(findstring vxworks-6.7,$(WIND_PLATFORM)))
+ include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.7.GNU
+endif
+ifeq (vxworks-6.8, $(findstring vxworks-6.8,$(WIND_PLATFORM)))
+ include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.8.GNU
+endif
+
diff --git a/include/makeinclude/platform_vxworks5.5.x.GNU b/include/makeinclude/platform_vxworks5.5.x.GNU
index b73bcc57580..e34e9b44a67 100644
--- a/include/makeinclude/platform_vxworks5.5.x.GNU
+++ b/include/makeinclude/platform_vxworks5.5.x.GNU
@@ -20,16 +20,13 @@ ifneq (,$(HOST_ROOT))
TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
ifeq ("$(WIND_HOST_TYPE)","x86-win32")
TAO_IDL = $(HOST_ROOT)/bin/tao_idl.exe
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2.exe
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc.exe
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2.exe
else
TAO_IDL = $(HOST_ROOT)/bin/tao_idl
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2
endif
TAO_IDL_DEP = $(TAO_IDL)
TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
-CIDLC_DEP = $(CIDLC)
endif
debug ?= 1
diff --git a/include/makeinclude/platform_vxworks6.2.GNU b/include/makeinclude/platform_vxworks6.2.GNU
index 5138256a534..57d715c79fa 100644
--- a/include/makeinclude/platform_vxworks6.2.GNU
+++ b/include/makeinclude/platform_vxworks6.2.GNU
@@ -1,3 +1,4 @@
+# -*- Makefile -*-
# $Id$
# VxWorks 6.2
@@ -68,16 +69,13 @@ ifneq (,$(HOST_ROOT))
TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
ifeq ("$(WIND_HOST_TYPE)","x86-win32")
TAO_IDL = $(HOST_ROOT)/bin/tao_idl.exe
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2.exe
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc.exe
+ TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2.exe
else
TAO_IDL = $(HOST_ROOT)/bin/tao_idl
TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc
endif
TAO_IDL_DEP = $(TAO_IDL)
TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
-CIDLC_DEP = $(CIDLC)
endif
HOST_DIR = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
@@ -173,7 +171,6 @@ ifneq ($(VX_LIB_BUILD),1)
EXEEXT = .vxe
VXE_DIR := $(OUTPUT_DIRECTORY)
EXE = $(BIN_UNCHECKED)
- GENERATED_DIRTY += $(PRJ_DIR)/$(PRJ_FILE)
endif
PRJ_DIR = .
CLEANUP_OBJS := ctdt.c $(PRJ_DIR)/$(PRJ_FILE) $(CLEANUP_OBJS)
@@ -194,7 +191,19 @@ ifeq ($(rtp),1)
LDFLAGS := $(filter-out -N, $(LDFLAGS))
LD := $(CPLUS)
DLD := $(CPLUS)
- LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/common
+
+ ifeq ($(SHARED_LIBS), 1))
+ ifeq ($(PRJ_TYPE),library)
+ PICDIR = /PIC
+ endif
+ endif
+
+ ifeq ($(findstring *sf,*$(TOOL)),*sf)
+ LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/sfcommon$(PICDIR)
+ else
+ LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/common$(PICDIR)
+ endif
+
LDLIBS += -ldl
else
include $(TGT_DIR)/h/make/defs.default
diff --git a/include/makeinclude/platform_vxworks6.3.GNU b/include/makeinclude/platform_vxworks6.3.GNU
index c1b84dce857..397f39482f7 100644
--- a/include/makeinclude/platform_vxworks6.3.GNU
+++ b/include/makeinclude/platform_vxworks6.3.GNU
@@ -1,3 +1,4 @@
+# -*- Makefile -*-
# $Id$
# VxWorks 6.3
@@ -63,22 +64,19 @@ ifeq ("$(WIND_HOST_TYPE)","x86-win32")
CIAO_ROOT:=$(subst \,/,$(CIAO_ROOT))
HOST_ROOT:=$(subst \,/,$(HOST_ROOT))
override RM=rm -f
+ HOST_EXE_EXT = .exe
endif # x86-win32
ifneq (,$(HOST_ROOT))
TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/ace_gperf
-ifeq ("$(WIND_HOST_TYPE)","x86-win32")
- TAO_IDL = $(HOST_ROOT)/bin/tao_idl.exe
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2.exe
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc.exe
-else
- TAO_IDL = $(HOST_ROOT)/bin/tao_idl
- TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/bin/tao_idl3_to_idl2
- CIDLC = $(HOST_ROOT)/TAO/CIAO/bin/cidlc
-endif
+TAO_IDL = $(HOST_ROOT)/bin/tao_idl$(HOST_EXE_EXT)
+TAO_IDL3_TO_IDL2 = $(HOST_ROOT)/TAO/CIAO/bin/tao_idl3_to_idl2$(HOST_EXE_EXT)
TAO_IDL_DEP = $(TAO_IDL)
TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
-CIDLC_DEP = $(CIDLC)
+else
+# Append the HOST_EXE_EXT if it's not already there
+TAO_IDL_DEP = $(TAO_IDL:$(HOST_EXE_EXT)=)$(HOST_EXE_EXT)
+TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2:$(HOST_EXE_EXT)=)$(HOST_EXE_EXT)
endif
HOST_DIR = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
@@ -174,7 +172,6 @@ ifneq ($(VX_LIB_BUILD),1)
EXEEXT = .vxe
VXE_DIR := $(OUTPUT_DIRECTORY)
EXE = $(BIN_UNCHECKED)
- GENERATED_DIRTY += $(PRJ_DIR)/$(PRJ_FILE)
endif
PRJ_DIR = .
CLEANUP_OBJS := ctdt.c $(PRJ_DIR)/$(PRJ_FILE) $(CLEANUP_OBJS)
@@ -199,15 +196,18 @@ ifeq ($(rtp),1)
CPPFLAGS += -DACE_HAS_AIO_CALLS
LIBS += AioPx
endif
+ ifeq ($(PRJ_TYPE),library)
+ PICDIR = /PIC
+ endif
endif
LDFLAGS := $(filter-out -X, $(LDFLAGS))
LDFLAGS := $(filter-out -N, $(LDFLAGS))
LD := $(CPLUS)
DLD := $(CPLUS)
ifeq ($(findstring *sf,*$(TOOL)),*sf)
- LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/sfcommon
+ LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/sfcommon$(PICDIR)
else
- LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/common
+ LDFLAGS += -L$(WIND_USR)/lib/$(VX_CPU_FAMILY)/$(CPU)/common$(PICDIR)
endif
else
include $(TGT_DIR)/h/make/defs.default
@@ -221,6 +221,7 @@ ifeq ("$(TOOL_FAMILY)","gnu")
ifeq ($(rtp),1)
PIC = -fpic
SOFLAGS += -fpic
+ LDFLAGS += -Wl,-rpath-link,$(ACE_ROOT)/lib
endif
SOFLAGS += -shared
LDFLAGS += -non-static
diff --git a/include/makeinclude/platform_vxworks6.6.GNU b/include/makeinclude/platform_vxworks6.6.GNU
index d9d6ec510e0..e04a6bf50ac 100644
--- a/include/makeinclude/platform_vxworks6.6.GNU
+++ b/include/makeinclude/platform_vxworks6.6.GNU
@@ -17,3 +17,9 @@ ifeq ("$(TOOL_FAMILY)","gnu")
CPPFLAGS += -fno-strict-aliasing
endif
+# Workaround for bug in diab compiler with just 6.6
+ifeq (vxworks-6.6, $(findstring vxworks-6.6,$(WIND_PLATFORM)))
+ ifeq ("$(TOOL_FAMILY)","diab")
+ C++FLAGS += -W:c++:,-Xusing-std-on
+ endif
+endif
diff --git a/include/makeinclude/platform_vxworks6.7.GNU b/include/makeinclude/platform_vxworks6.7.GNU
index 89289a049a8..d114a26cf94 100644
--- a/include/makeinclude/platform_vxworks6.7.GNU
+++ b/include/makeinclude/platform_vxworks6.7.GNU
@@ -7,3 +7,12 @@ endif # VXWORKS_VERSION_FLAG
include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.6.GNU
+ifeq ("$(WIND_HOST_TYPE)","x86-linux2")
+ifeq ($(SHARED_LIBS), 1)
+ifeq ("$(TOOL_FAMILY)","gnu")
+ LDFLAGS += -shared
+else
+ LDFLAGS += -Xshared
+endif
+endif
+endif
diff --git a/include/makeinclude/platform_vxworks6.8.GNU b/include/makeinclude/platform_vxworks6.8.GNU
new file mode 100644
index 00000000000..c671c58a4a0
--- /dev/null
+++ b/include/makeinclude/platform_vxworks6.8.GNU
@@ -0,0 +1,9 @@
+# $Id$
+# VxWorks 6.8
+
+ifeq ($(VXWORKS_VERSION_FLAG),)
+ VXWORKS_VERSION_FLAG = -DACE_VXWORKS=0x680
+endif # VXWORKS_VERSION_FLAG
+
+include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.7.GNU
+
diff --git a/include/makeinclude/platform_win32_interix.GNU b/include/makeinclude/platform_win32_interix.GNU
index feababd508d..7f514b4eb40 100644
--- a/include/makeinclude/platform_win32_interix.GNU
+++ b/include/makeinclude/platform_win32_interix.GNU
@@ -2,36 +2,46 @@
# platform_win32_interix.GNU
-#versioned_so = 1
+versioned_so ?= 0
exceptions ?= 1
debug ?= 1
optimize ?= 1
threads ?= 1
+pipes ?= 1
-CC = gcc
-CXX = g++
+CC = gcc
+CXX = g++
-include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
-
-CFLAGS += -W -Wall -Wpointer-arith -pipe -frepo
-CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG) -D_ALL_SOURCE
+CFLAGS += -W -Wall -Wpointer-arith
+CPPFLAGS += -D_ALL_SOURCE
DCFLAGS += -g
-LDFLAGS += -L /usr/lib -L$(ACE_ROOT)/lib -ldl -lc -dynamic
DLD = $(CXX)
-LD = $(CXX)
-LIBS +=
+LD = $(CXX)
+LIBS += -ldl
+OCFLAGS += -O2
+PIC =
AR = ar
-ARFLAGS = ruvs
+ARFLAGS = ruv
RANLIB = ranlib
+LN_S = cp
-SOFLAGS += $(CPPFLAGS) -shared -i -W1,-E -W1,-Bsymbolic
-#SOBUILD = $(COMPILE.cc) -o $(VSHDIR)$*.so $<
-PRELIB = @echo
+SOFLAGS += $(CPPFLAGS) -shared
+SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
+PRELIB = @echo
ifeq ($(threads),1)
-LDFLAGS += -lpthread
-#CFLAGS += -D_THREAD_SAFE -D_REENTRANT -DACE_HAS_THREADS
-CFLAGS += -D_REENTRANT -DACE_HAS_THREADS
+ LDFLAGS += -lpthread
+ CFLAGS += -D_THREAD_SAFE -DACE_HAS_THREADS
endif # threads
+PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_X11_LIBS=-lX11
+PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib
+
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
+# add -E to LDFLAGS if using GNU ld
+#
+#include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
+
+CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
diff --git a/include/makeinclude/platform_win32_msvc.GNU b/include/makeinclude/platform_win32_msvc.GNU
index 962f8870ec5..8bec8100e42 100644
--- a/include/makeinclude/platform_win32_msvc.GNU
+++ b/include/makeinclude/platform_win32_msvc.GNU
@@ -116,7 +116,7 @@ CXXFLAGS = $(CFLAGS)
RC_INCLUDE_FLAG = -I
RC_OUTPUT_FLAG = -fo
SYSTEMLIBS += advapi32.lib user32.lib
-MSVC_LINK = $(LD) $(SYSTEMLIBS) $(MSVC_LDFLAGS) $(patsubst -L%,-libpath:%, $(subst /,\,$(LDFLAGS))) $(patsubst -l%,%.lib,$(ACE_SHLIBS)) $(LIBS) -out:$@
+MSVC_LINK = $(LD) $(SYSTEMLIBS) $(MSVC_LDFLAGS) $(patsubst %\,%,$(patsubst -L%,-libpath:%, $(subst /,\,$(LDFLAGS)))) $(patsubst -l%,%.lib,$(ACE_SHLIBS)) $(LIBS) -out:$@
define SOLINK.cc.override
$(MSVC_LINK) $(MSVC_DLLFLAGS) $^
mt -nologo -manifest $@.manifest -outputresource:$@\;2
diff --git a/include/makeinclude/rules.lib.GNU b/include/makeinclude/rules.lib.GNU
index 0a0a6338d8b..54db0dc8994 100644
--- a/include/makeinclude/rules.lib.GNU
+++ b/include/makeinclude/rules.lib.GNU
@@ -35,7 +35,6 @@ endif # versioned_so
# The following targets arrange to build both unshared and shared libraries
#----------------------------------------------------------------------------
-LIB_PREFIX ?= lib
VLIB = $(ARCH_LIB:%.$(LIBEXT)=%$(VAR).$(LIBEXT))
CLEANUP_VLIB = $(CLEANUP_LIB:%.$(LIBEXT)=%$(VAR).$(LIBEXT))
@@ -50,6 +49,7 @@ VSHLIB_NO_VER = $(ARCH_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT))
CLEANUP_VSHLIB_NO_VER = $(CLEANUP_SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT))
VSHLIB = $(VSHLIB_NO_VER:%=%$(SOVERSION))
CLEANUP_VSHLIB = $(CLEANUP_VSHLIB_NO_VER:%=%$(SOVERSION))
+SHLIB_WITH_VER = $(SHLIB:%=%$(SOVERSION))
SHLIBA ?=
VSHLIBA = $(ARCH_SHLIBA:%.$(LIBEXT)=%$(VAR).$(LIBEXT))
@@ -90,18 +90,27 @@ ifneq ($(IDL_SRC),)
$(VLOBJS) $(VSHOBJS): $(IDL_SRC)
endif
+# Since INSLIB already has the ARCH dir appended, if appropriate, ARCH
+# needs to be stripped from V[SH]LIB on the way over to INSLIB. To avoid
+# an extra '/' which confuses the relative link calculation, ensure the
+# '/' after ARCH is stripped if it's an ARCH build.
+ARCHDIR ?=
+ifdef ARCH
+ ARCHDIR = $(ARCH)/
+endif
+
ifdef static_libs
- LIB_INSTALL += $(VLIB:%=$(INSLIB)/%)
- CLEANUP_INSTALL += $(CLEANUP_VLIB:%=$(INSLIB)/%)
+ LIB_INSTALL += $(VLIB:$(ARCHDIR)%=$(INSLIB)/%)
+ CLEANUP_INSTALL += $(CLEANUP_VLIB:$(ARCHDIR)%=$(INSLIB)/%)
endif # static_libs
ifdef shared_libs
- LIB_INSTALL += $(VSHLIB:%=$(INSLIB)/%)
- CLEANUP_INSTALL += $(CLEANUP_VSHLIB:%=$(INSLIB)/%)
- CLEANUP_INSTALL += $(CLEANUP_VSHLIB_NO_VER:%=$(INSLIB)/%*)
+ LIB_INSTALL += $(VSHLIB:$(ARCHDIR)%=$(INSLIB)/%)
+ CLEANUP_INSTALL += $(CLEANUP_VSHLIB:$(ARCHDIR)%=$(INSLIB)/%)
+ CLEANUP_INSTALL += $(CLEANUP_VSHLIB_NO_VER:$(ARCHDIR)%=$(INSLIB)/%*)
ifdef SHLIBA
- LIB_INSTALL += $(VSHLIBA:%=$(INSLIB)/%)
- CLEANUP_INSTALL += $(CLEANUP_SHLIBA:%=$(INSLIB)/%)
+ LIB_INSTALL += $(VSHLIBA:$(ARCHDIR)%=$(INSLIB)/%)
+ CLEANUP_INSTALL += $(CLEANUP_SHLIBA:$(ARCHDIR)%=$(INSLIB)/%)
endif
endif # shared_libs
@@ -237,21 +246,21 @@ $(VSHLIB): $(VSHOBJS)
#### to lib files, for example.
-$(LINK.cc) $(LINK_OUTPUT_FLAG) ace-templ_inst $^ $(LDFLAGS) $(ACE_NUL_STDERR)
endif # ace_lib_prelink
- ifeq ($(split),1)
- $(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@ $(VSHDIR)/*.$(OBJEXT) $(LDFLAGS) $(ACE_SHLIBS) $(LIBS)
- else # ! split
- ifneq ($(SOLINK.cc.override),)
+ ifneq ($(SOLINK.cc.override),)
$(SOLINK.cc.override)
- else
+ else
$(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@ $^ $(LDFLAGS) $(ACE_SHLIBS) $(LIBS)
- endif #override
- endif # split
+ endif #override
endif # ibmcxx_build
endif # SHLIBBUILD
endif # aix_build
endif # VXWORKSLINK
ifneq ($(SOVERSION),)
+# This carefully works with both ARCH (where VSHLIB_* refer to the ARCH
+# subdir, but SHLIB does not) and non-ARCH builds (where VSHLIB_* and SHLIB
+# refer to the same place). SHLIB_WITH_VER should be the same as $@ but
+# without the ARCH subdir.
-$(RM) $(VSHLIB_NO_VER)
- -$(LN_S) $@ $(VSHLIB_NO_VER)
+ -$(LN_S) $(SHLIB_WITH_VER) $(VSHLIB_NO_VER)
endif
-chmod a+rx $@
diff --git a/include/makeinclude/rules.local.GNU b/include/makeinclude/rules.local.GNU
index daf7ba1ed2c..8d7daa9f08d 100644
--- a/include/makeinclude/rules.local.GNU
+++ b/include/makeinclude/rules.local.GNU
@@ -53,7 +53,7 @@ makefile_name.local:
@echo
endif
-all.local: makefile_name.local $(split_target) build.objdirs build.local install.local
+all.local: makefile_name.local build.objdirs build.local install.local
#----------------------------------------------------------------------------
# C/C++ compilation targets
@@ -170,19 +170,10 @@ $(VSHDIR)%.$(OBJEXT): %.cc
$(mk_obj_out_dir)
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG)$(CC_OUTPUT_FLAG_SEP)$@ $<
- ifeq ($(split), 1)
-$(VSHDIR)%.$(OBJEXT): %.cpp
- $(mk_obj_out_dir)
- $(COMPILE.cc) $(PIC) SPLIT/`echo $< | sed "s/.cpp/_S\*/"`
- mv *.$(OBJEXT) $(VSHDIR)
- else # ! split
-
$(VSHDIR)%.$(OBJEXT): %.cpp
$(mk_obj_out_dir)
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG)$(CC_OUTPUT_FLAG_SEP)$@ $<
- endif # split
-
$(VSHDIR)%.$(OBJEXT): %.cxx
$(mk_obj_out_dir)
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG)$(CC_OUTPUT_FLAG_SEP)$@ $<
@@ -229,12 +220,16 @@ ifdef LIB_INSTALL
$(LIB_INSTALL): $(VLIBS)
endif
+ifneq ($(INSBIN),)
+ $(INSBIN)/$(VBIN): $(VBIN)
+endif
+
INSTALL ?=
install.local: $(INSTALL)
deinstall.local:
ifdef CLEANUP_INSTALL
- ifneq ($(CLEANUP_INSTALL),)
+ ifneq ($(strip $(CLEANUP_INSTALL)),)
$(RM) $(CLEANUP_INSTALL)
endif # CLEANUP_INSTALL
endif # CLEANUP_INSTALL
@@ -289,7 +284,6 @@ ifeq ($(vxworks_ntbuild),1)
$(RM) $@ && \
$(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $@
else #not vxworks_ntbuild
- ifeq ($(mingw32),1)
#If we're actually copying instead of linking, pay attention to timestamps to know when to install
ifeq ($(firstword $(LN_S)),cp)
ifneq ($(SOVERSION),)
@@ -324,20 +318,6 @@ else #not vxworks_ntbuild
fi ; \
fi
endif #firstword
- else #not mingw32
- @if test $(ARCH_SOURCE_DIR) != $(@D) -o -n "$(SOVERSION)" ; then \
- if test -s $@ ; then \
- echo "$(@F) already installed" ; \
- else \
- echo "Installing $(@F:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)) -> $(@D)" ; \
- $(RM) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \
- $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \
- echo "Installing $(@F) -> $(@D)" ; \
- $(RM) $@; \
- $(LN_S) $(ARCH_SOURCE_DIR)/$(@F) $@; \
- fi ; \
- fi
- endif #mingw32
endif #vxworks_ntbuild
ifdef MVSLIB
@@ -524,14 +504,6 @@ $(CLEANUP_DIRS):
@test -d $@ || $(MKDIR) $@ $(ACE_NUL_STDERR)
endif
-#---------------------------------------------------------------------------
-# Source file splitting
-#---------------------------------------------------------------------------
-SPLIT:
- @echo "Splitting source files..."
- @$(ACE_ROOT)/bin/split-cpp -s Svc_Conf_l.cpp -s Svc_Conf_y.cpp $(LSRC)
- @echo "done."
-
svnignore.local:
if [ "n$(ARCH_BIN)" != "n" ]; then \
(svn propget svn:ignore .; echo $(ARCH_BIN)) | sort | uniq | sed '/^$$/d' >SvNiGnOrE; \
diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU
index 1e5f7ddc085..d34463a4d0f 100644
--- a/include/makeinclude/wrapper_macros.GNU
+++ b/include/makeinclude/wrapper_macros.GNU
@@ -72,12 +72,6 @@
# rwho Build with rwho, this results in building apps/drwho
# pipes Build with pipe support, resulting in adding -pipe to the
# compiler options.
-# split Build the library by first splitting up the ACE source
-# to several files, with one object code entity for each
-# source file. This allows an application that is linked
-# with ACE to extract _exactly_ what it needs from the
-# library, resulting in a smaller executable.
-# Setting this to 1 overrides debug to 0.
# sctp Build support for TAO SCIOP and for ACE SCTP
# wrapper-facades. The sctp macro should be set to a string
# value representing a particular SCTP implementation.
@@ -192,102 +186,6 @@
# (link to the appropriate platform-specific config file).
#----------------------------------------------------------------------------
-# default to not using an architecture specific output directory
-ARCH ?=
-ARCH_BIN = $(BIN)
-ARCH_BIN2 = $(BIN2)
-ARCH_LIB = $(LIB_CHECKED)
-ARCH_LIB2 = $(LIB2)
-ARCH_SHLIB = $(SHLIB)
-ARCH_SHLIB2 = $(SHLIB2)
-ARCH_SHLIBA = $(SHLIBA)
-ARCH_SHLIBA2 = $(SHLIBA2)
-
-ifdef ARCH
-ifdef BIN
- ARCH_BIN = $(ARCH)/$(BIN)
-endif
-ifdef BIN2
- ARCH_BIN2 = $(ARCH)/$(BIN2)
-endif
-ifdef LIB_CHECKED
- ARCH_LIB = $(ARCH)/$(LIB_CHECKED)
-endif
-ifdef LIB2
- ARCH_LIB2 = $(ARCH)/$(LIB2)
-endif
-ifdef SHLIB
- ARCH_SHLIB = $(ARCH)/$(SHLIB)
-endif
-ifdef SHLIB2
- ARCH_SHLIB2 = $(ARCH)/$(SHLIB2)
-endif
-ifdef SHLIBA
- ARCH_SHLIBA = $(ARCH)/$(SHLIBA)
-endif
-ifdef SHLIBA2
- ARCH_HLIBA2 = $(ARCH)/$(SHLIBA2)
-endif
-endif
-
-# Set the cleanup targets. These targets are used by realclean even if
-# the component isn't being built, i.e., the decision to build it was based
-# on components built in another makefile and written a file (that might no
-# longer be available) and accessed by $(ACE_ROOT)/bin/ace_components.
-#
-# If a component should always be built, just use the normal BIN, LIB, or
-# SHLIB variables. If it's dependent on a component, use the BIN2 or
-# BIN_UNCHECKED variety, then assign that to BIN if the required component
-# is available.
-
-BIN_UNCHECKED ?=
-CLEANUP_BIN ?=
-ifdef BIN
- CLEANUP_BIN = $(ARCH_BIN)
-endif # !BIN
-ifdef BIN2
- CLEANUP_BIN += $(ARCH_BIN2)
-endif # !BIN2
-ifneq ($(BIN_UNCHECKED),)
- CLEANUP_BIN += $(BIN_UNCHECKED)
-endif # !BIN_UNCHECKED
-
-LIB_UNCHECKED ?=
-CLEANUP_LIB ?=
-ifdef LIB_CHECKED
- CLEANUP_LIB = $(ARCH_LIB)
-endif # !LIB_CHECKED
-ifdef LIB2
- CLEANUP_LIB += $(ARCH_LIB2)
-endif # !LIB2
-ifneq ($(LIB_UNCHECKED),)
- CLEANUP_LIB = $(LIB_UNCHECKED)
-endif # !LIB_UNCHECKED
-
-SHLIB_UNCHECKED ?=
-CLEANUP_SHLIB ?=
-ifdef SHLIB
- CLEANUP_SHLIB = $(ARCH_SHLIB)
-endif # !SHLIB
-ifdef SHLIB2
- CLEANUP_SHLIB += $(ARCH_SHLIB2)
-endif # SHLIB2
-ifneq ($(SHLIB_UNCHECKED),)
- CLEANUP_SHLIB += $(SHLIB_UNCHECKED)
-endif # ! SHLIB_UNCHECKED
-
-SHLIBA_UNCHECKED ?=
-CLEANUP_SHLIBA ?=
-ifdef SHLIBA
- CLEANUP_SHLIBA = $(ARCH_SHLIBA)
-endif # SHLIBA
-ifdef SHLIBA2
- CLEANUP_SHLIBA = $(ARCH_SHLIBA2)
-endif # SHLIB2A
-ifneq ($(SHLIBA_UNCHECKED),)
- CLEANUP_SHLIBA = $(SHLIBA_UNCHECKED)
-endif # SHLIBA_UNCHECKED
-
#### Default to building shared libraries only. Set it here to give the
#### platform a chance to override.
ifndef shared_libs
@@ -346,6 +244,7 @@ use_dep_libs ?= 1
threads ?= 1
symlinks ?= relative
link_groups ?= 0
+mcpp ?= 0
SOVERSION ?=
SONAME ?=
@@ -367,7 +266,15 @@ endif
INCLDIRS ?=
DEFFLAGS ?=
-CPPFLAGS += $(DEFFLAGS) $(INCLDIRS)
+ifeq ($(debug),0)
+ DEFFLAGS += -DNDEBUG
+endif
+
+ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS)))
+ INCLDIRS += -I$(ACE_ROOT)
+endif
+
+CPPFLAGS += $(DEFFLAGS) $(INCLDIRS)
# Define default extensions for IDL-generated files
IDL_CLIENT_HDR_EXT ?= C.h
@@ -380,16 +287,6 @@ IDL_SERVER_THDR_EXT ?= S_T.h
IDL_SERVER_TINL_EXT ?= S_T.inl
IDL_SERVER_TSRC_EXT ?= S_T.cpp
-ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS)))
- INCLDIRS += -I$(ACE_ROOT)
-endif
-INSINC ?= $(ACE_ROOT)/ace
-INSLIB ?= $(ACE_ROOT)/lib
-INSMAN ?= $(ACE_ROOT)/man
-ifeq (,$(findstring -L$(INSLIB),$(LDFLAGS)))
- LDFLAGS += -L$(INSLIB)
-endif
-
ifeq (default,$(origin LEX))
LEX = flex
endif
@@ -416,6 +313,126 @@ PCFLAGS += #### set in platform_macros.GNU file, e.g., -p
PCCFLAGS += #### set in platform_macros.GNU file, e.g., -p
VAR =
+# User-written makefiles that are not MPC-generated often use LIB to specify
+# what to build. This is in contrast to MPC-generated files that use
+# LIB_CHECKED for this purpose. LIB causes conflicts on Windows with gmake
+# and Visual Studio which uses the LIB environment variable as a search path
+# for libraries to link. So, to allow non-MPC makefiles to keep working, set
+# LIB_CHECKED based on LIB if the former is not set and the latter is.
+ifndef COMSPEC
+ LIB_CHECKED ?= $(LIB)
+endif # ! COMPSPEC (and, therefore, assumed !Windows
+
+# default to not using an architecture specific output directory
+ARCH ?=
+ARCH_BIN = $(BIN)
+ARCH_BIN2 = $(BIN2)
+ARCH_LIB = $(LIB_CHECKED)
+ARCH_LIB2 = $(LIB2)
+ARCH_SHLIB = $(SHLIB)
+ARCH_SHLIB2 = $(SHLIB2)
+ARCH_SHLIBA = $(SHLIBA)
+ARCH_SHLIBA2 = $(SHLIBA2)
+
+INSINC ?= $(ACE_ROOT)/ace
+INSLIB ?= $(ACE_ROOT)/lib
+INSMAN ?= $(ACE_ROOT)/man
+
+ifdef ARCH
+ INSLIB := $(INSLIB:%=%/$(ARCH))
+ifdef BIN
+ ARCH_BIN = $(ARCH)/$(BIN)
+endif
+ifdef BIN2
+ ARCH_BIN2 = $(ARCH)/$(BIN2)
+endif
+ifdef LIB_CHECKED
+ ARCH_LIB = $(ARCH)/$(LIB_CHECKED)
+endif
+ifdef LIB2
+ ARCH_LIB2 = $(ARCH)/$(LIB2)
+endif
+ifdef SHLIB
+ ARCH_SHLIB = $(ARCH)/$(SHLIB)
+endif
+ifdef SHLIB2
+ ARCH_SHLIB2 = $(ARCH)/$(SHLIB2)
+endif
+ifdef SHLIBA
+ ARCH_SHLIBA = $(ARCH)/$(SHLIBA)
+endif
+ifdef SHLIBA2
+ ARCH_SHLIBA2 = $(ARCH)/$(SHLIBA2)
+endif
+endif
+
+ifeq (,$(findstring -L$(INSLIB),$(LDFLAGS)))
+ LDFLAGS += -L$(INSLIB)
+endif
+
+#ifdef ARCH
+# LDFLAGS_ARCH := $(LDFLAGS:-L%=-L%/$(ARCH))
+# LDFLAGS += $(LDFLAGS_ARCH)
+#endif
+
+# Set the cleanup targets. These targets are used by realclean even if
+# the component isn't being built, i.e., the decision to build it was based
+# on components built in another makefile and written a file (that might no
+# longer be available) and accessed by $(ACE_ROOT)/bin/ace_components.
+#
+# If a component should always be built, just use the normal BIN, LIB, or
+# SHLIB variables. If it's dependent on a component, use the BIN2 or
+# BIN_UNCHECKED variety, then assign that to BIN if the required component
+# is available.
+
+BIN_UNCHECKED ?=
+CLEANUP_BIN ?=
+ifdef BIN
+ CLEANUP_BIN = $(ARCH_BIN)
+endif # !BIN
+ifdef BIN2
+ CLEANUP_BIN += $(ARCH_BIN2)
+endif # !BIN2
+ifneq ($(BIN_UNCHECKED),)
+ CLEANUP_BIN += $(BIN_UNCHECKED)
+endif # !BIN_UNCHECKED
+
+LIB_UNCHECKED ?=
+CLEANUP_LIB ?=
+ifdef LIB_CHECKED
+ CLEANUP_LIB = $(ARCH_LIB)
+endif # !LIB_CHECKED
+ifdef LIB2
+ CLEANUP_LIB += $(ARCH_LIB2)
+endif # !LIB2
+ifneq ($(LIB_UNCHECKED),)
+ CLEANUP_LIB = $(LIB_UNCHECKED)
+endif # !LIB_UNCHECKED
+
+SHLIB_UNCHECKED ?=
+CLEANUP_SHLIB ?=
+ifdef SHLIB
+ CLEANUP_SHLIB = $(ARCH_SHLIB)
+endif # !SHLIB
+ifdef SHLIB2
+ CLEANUP_SHLIB += $(ARCH_SHLIB2)
+endif # SHLIB2
+ifneq ($(SHLIB_UNCHECKED),)
+ CLEANUP_SHLIB += $(SHLIB_UNCHECKED)
+endif # ! SHLIB_UNCHECKED
+
+SHLIBA_UNCHECKED ?=
+CLEANUP_SHLIBA ?=
+ifdef SHLIBA
+ CLEANUP_SHLIBA = $(ARCH_SHLIBA)
+endif # SHLIBA
+ifdef SHLIBA2
+ CLEANUP_SHLIBA = $(ARCH_SHLIBA2)
+endif # SHLIB2A
+ifneq ($(SHLIBA_UNCHECKED),)
+ CLEANUP_SHLIBA = $(SHLIBA_UNCHECKED)
+endif # SHLIBA_UNCHECKED
+
# Let users override the default VDIR directories
ifdef ARCH
VDIR ?= $(ARCH)/.obj/
@@ -438,6 +455,7 @@ endif
OBJEXT ?= o
SOEXT ?= so
LIBEXT ?= a
+LIB_PREFIX ?= lib
CC_OUTPUT_FLAG ?= -o
SO_OUTPUT_FLAG ?= -o
@@ -456,19 +474,6 @@ ifneq ($(optimize),)
CCFLAGS += $(OCCFLAGS)
endif # optimize
-split ?= 0
-ifeq ($(split),0)
- override split =
-endif # split
-
-ifneq ($(split),)
- override split_target = SPLIT
- override debug = 0
- CPPFLAGS += -DACE_IS_SPLITTING
-else
- override split_target =
-endif # split
-
ifeq ($(debug),0)
override debug =
endif # debug
@@ -724,8 +729,12 @@ ifeq ($(static_libs_only),0)
endif # static_libs_only
ifdef shared_libs_only
- override shared_libs = 1
- override static_libs =
+ ifdef static_libs_only
+ $(error Both static_libs_only and shared_libs_only defined.)
+ else
+ override shared_libs = 1
+ override static_libs =
+ endif
endif # shared_libs_only
ifdef static_libs_only
override shared_libs =
@@ -810,12 +819,12 @@ ifdef quantify
#### You might want to adjust the Quantify options below.
#### -best-effort is undocumented but supported, and seems
#### to help avoid occasional link failure.
- PRELINK += quantify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
- -max_threads=100 $(PLATFORM_QUANTIFY_OPTIONS)
+ PURELINK += quantify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
+ -max_threads=100 $(PLATFORM_QUANTIFY_OPTIONS)
CPPFLAGS += -DACE_HAS_QUANTIFY -I$(ACE_QUANTIFY_DIR)
ifeq ($(shell uname -p),sparc)
- PRELINK += -record-register-window-traps
+ PURELINK += -record-register-window-traps
endif # sparc
endif # quantify
@@ -857,6 +866,7 @@ rwho ?= 1
stlport ?= 0
ifeq ($(stlport),1)
CPPFLAGS += -DACE_HAS_STLPORT $(PLATFORM_STLPORT_CPPFLAGS)
+ CCFLAGS += $(PLATFORM_STLPORT_CCFLAGS)
LDFLAGS += $(PLATFORM_STLPORT_LDFLAGS)
LIBS += $(PLATFORM_STLPORT_LIBS)
endif
@@ -878,7 +888,38 @@ ace_svcconf ?= 1
ace_uuid ?= 1
ace_filecache ?= 1
acexml ?= 1
-xerces ?= 1
+
+# Icecream distributed compilation support
+ifeq ($(icecream),1)
+ # check availability of icecc
+ ifneq ($(ICECC_ROOT),)
+ ICECC_PROG := $(ICECC_ROOT)/icecc
+ else
+ ICECC_PROG := $(shell which icecc 2>/dev/null)
+ endif
+ ICECC_VERTEST := $(shell test -x "$(ICECC_PROG)" && $(ICECC_PROG) --version)
+ ifneq (ICECC,$(findstring ICECC,$(ICECC_VERTEST)))
+ # not good, try alternative install location
+ ICECC_PROG := /opt/icecream/bin/icecc
+ ICECC_VERTEST := $(shell test -x "$(ICECC_PROG)" && $(ICECC_PROG) --version)
+ ifneq (ICECC,$(findstring ICECC,$(ICECC_VERTEST)))
+ override icecream := 0
+ $(error Cannot locate valid Icecream compiler.)
+ endif
+ endif
+ ifeq ($(icecream),1)
+ # force LD and DLD to be 'normal' tools
+ override LD := $(LD)
+ override DLD := $(DLD)
+ # define tools that icecc should call for local jobs
+ ICECC_CC := $(CC)
+ ICECC_CXX := $(CXX)
+ export ICECC_CC ICECC_CXX
+ # let all compilation go through icecc
+ CC := $(ICECC_PROG)
+ CXX := $(ICECC_PROG)
+ endif
+endif
#----------------------------------------------------------------------------
# Conditional macro definitions
@@ -914,4 +955,8 @@ else
LINK.cc = $(PURELINK) $(PRELINK) $(LD) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
endif # LINK.cc.override
-SOLINK.cc = $(PRELINK) $(DLD) $(SOFLAGS)
+ifeq ($(SOLINK.cc),override)
+ SOLINK.cc = $(SOLINK.cc.override)
+else
+ SOLINK.cc = $(PRELINK) $(DLD) $(SOFLAGS)
+endif # SOLINK.cc.override
diff --git a/m4/ace.m4 b/m4/ace.m4
index f6ab11916d6..d27fffa0ab7 100644
--- a/m4/ace.m4
+++ b/m4/ace.m4
@@ -1250,8 +1250,8 @@ AC_DEFUN([ACE_PATH_FL],
fi
fi
if test X"${FLTKCONFIG}" != X; then
- ACE_FLTK_CPPFLAGS=`$FLTKCONFIG --use-gl --cxxflags 2>/dev/null`
- ACE_FLTK_LIBS=`$FLTKCONFIG --use-gl --ldflags 2>/dev/null`
+ ACE_FLTK_CPPFLAGS=`$FLTKCONFIG --cxxflags 2>/dev/null`
+ ACE_FLTK_LIBS=`$FLTKCONFIG --ldflags 2>/dev/null`
AC_SUBST(ACE_FLTK_CPPFLAGS)
AC_SUBST(ACE_FLTK_LIBS)
@@ -1393,6 +1393,7 @@ if test "$no_x" != yes; then
AC_SUBST(ACE_XT_LIBS)
fi
AM_CONDITIONAL([BUILD_ATHENA], true)
+AM_CONDITIONAL([BUILD_ATHENA3D], true)
AM_CONDITIONAL([BUILD_MOTIF], false)
])
diff --git a/m4/ace_defines.m4 b/m4/ace_defines.m4
index 08a16407e05..c8b37af9171 100644
--- a/m4/ace_defines.m4
+++ b/m4/ace_defines.m4
@@ -27,7 +27,7 @@ do
ACE_CHECK_DEFINE($ace_def,
[AC_DEFINE_UNQUOTED(AS_TR_CPP([ACE_HAS_$ace_def])) $2],
[$3],
- [$4])dnl
+ [$4])
done
])
@@ -43,6 +43,6 @@ do
ACE_CHECK_DEFINE($ace_def,
[$2],
[AC_DEFINE_UNQUOTED(AS_TR_CPP([ACE_LACKS_$ace_def])) $3],
- [$4])dnl
+ [$4])
done
])
diff --git a/m4/aio.m4 b/m4/aio.m4
index aaa5622dd33..b8248c6d24c 100644
--- a/m4/aio.m4
+++ b/m4/aio.m4
@@ -64,7 +64,7 @@ if test "$ace_has_aio_funcs" = yes; then
#include <string.h>
#include <errno.h>
#include <stdio.h>
-#include <iostream.h>
+#include <iostream>
#include <aio.h>
@@ -138,7 +138,6 @@ Test_Aio::init (void)
// Init the buffers.
this->buffer_write_ = new char [sizeof (message) + 1];
strcpy (this->buffer_write_, message);
- // cout << "The buffer : " << this->buffer_write_ << endl;
this->buffer_read_ = new char [sizeof (message) + 1];
return 0;
@@ -220,8 +219,6 @@ Test_Aio::do_aio (void)
list_aiocb [0] = 0;
}
}
-// else
-// cout << "AIO in progress" << endl;
if (list_aiocb [1] != 0 && aio_error (list_aiocb [1]) != EINPROGRESS)
{
@@ -238,17 +235,12 @@ Test_Aio::do_aio (void)
list_aiocb [1] = 0;
}
}
-// else
-// cout << "AIO in progress" << endl;
// Is it done?
if ((list_aiocb [0] == 0) && (list_aiocb [1] == 0))
done = 1;
}
- //cout << "Both the AIO operations done." << endl;
- //cout << "The buffer is :" << this->buffer_read_ << endl;
-
return 0;
}
diff --git a/m4/config_h.m4 b/m4/config_h.m4
index 8487be60792..17cf4306de4 100644
--- a/m4/config_h.m4
+++ b/m4/config_h.m4
@@ -74,7 +74,7 @@ AH_TEMPLATE([ACE_HAS_STDEXCEPT_NO_H],[Platform provides C++ <stdexcept> header])
dnl Deprecated! (or soon to be?)
AH_TEMPLATE([ACE_HAS_OSF1_GETTIMEOFDAY],
[timezone* 2nd parameter & no prototype])
-AH_TEMPLATE([ACE_HAS_LYNXOS_SIGNALS],[])
+AH_TEMPLATE([ACE_HAS_LYNXOS4_SIGNALS],[])
AH_TEMPLATE([ACE_HAS_TANDEM_SIGNALS],[])
AH_TEMPLATE([PTHREAD_STACK_MIN],[])
@@ -237,14 +237,6 @@ AH_TEMPLATE([ACE_HAS_STDARG_THR_DEST],
[Platform has void (*)(...) prototype for pthread_key_create()
destructor (e.g., LynxOS).])
-AH_TEMPLATE([ACE_HAS_STL_MAP_CONFLICT],
-[Used when users want to compile ACE with STL and STL map class
-conflicts with <net/if.h> map struct.])
-
-AH_TEMPLATE([ACE_HAS_STL_QUEUE_CONFLICT],
-[Used when users want to compile ACE with STL and STL queue class
-conflicts with <netinet/in.h> queue struct.])
-
AH_TEMPLATE([ACE_HAS_4_4BSD_SENDMSG_RECVMSG],
[Platform has BSD 4.4 sendmsg()/recvmsg() APIs.])
@@ -270,9 +262,6 @@ AH_TEMPLATE([ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS],
AH_TEMPLATE([ACE_HAS_BROKEN_MAP_FAILED],
[Platform doesn't cast MAP_FAILED to a (void *).])
-AH_TEMPLATE([ACE_HAS_BROKEN_CTIME],
-[Compiler/platform uses macro for ctime (e.g., MVS)])
-
AH_TEMPLATE([ACE_HAS_BROKEN_DGRAM_SENDV],
[Platform sendv() does not work properly with datagrams, i.e. it
fails when the iovec size is IOV_MAX.])
@@ -286,9 +275,6 @@ AH_TEMPLATE([ACE_HAS_BROKEN_MMAP_H],
AH_TEMPLATE([ACE_HAS_BROKEN_POSIX_TIME],
[Platform defines struct timespec in <sys/timers.h>])
-AH_TEMPLATE([ACE_HAS_BROKEN_R_ROUTINES],
-[Platform defines ctime_r, asctime_r, rand_r and getpwnam_r as macros])
-
AH_TEMPLATE([ACE_HAS_BROKEN_RANDR],
[OS/compiler's header files are inconsistent with libC definition of
rand_r().])
@@ -330,9 +316,6 @@ AH_TEMPLATE([ACE_HAS_GETPAGESIZE],
[Platform supports getpagesize() call (otherwise, ACE_PAGE_SIZE must
be defined, except on Win32).])
-AH_TEMPLATE([ACE_HAS_GNU_CSTRING_H],
-[Denotes that GNU has cstring.h as standard which redefines memchr()])
-
AH_TEMPLATE([ACE_HAS_INTRINSIC_INTERLOCKED],
[Platform supports the intrinsic interlocked optimizations.])
@@ -539,10 +522,6 @@ AH_TEMPLATE([ACE_SHM_OPEN_REQUIRES_ONE_SLASH],[shm_open() requires a leading sla
AH_TEMPLATE([ACE_HAS_SIGISMEMBER_BUG],
[Platform has bug with sigismember() (HP/UX 11).])
-AH_TEMPLATE([ACE_HAS_SIG_MACROS],
-[Platform/compiler has macros for sig{empty,fill,add,del}set (e.g.,
- SCO and FreeBSD)])
-
AH_TEMPLATE([ACE_HAS_SIGNAL_OBJECT_AND_WAIT],
[Platform supports the Win32 SignalObjectAndWait() function (WinNT
4.0 and beyond).])
@@ -593,9 +572,6 @@ AH_TEMPLATE([ACE_HAS_SVR4_TLI],
AH_TEMPLATE([ACE_HAS_SYSV_IPC],
[Platform supports System V IPC (most versions of UNIX, but not Win32)])
-AH_TEMPLATE([ACE_HAS_SYS_ERRLIST],
-[Platform/compiler supports _sys_errlist symbol])
-
AH_TEMPLATE([ACE_HAS_SYS_SIGLIST],
[Compiler/platform supports _sys_siglist array])
diff --git a/m4/platform.m4 b/m4/platform.m4
index 367493e931c..f03fefd3dba 100644
--- a/m4/platform.m4
+++ b/m4/platform.m4
@@ -160,7 +160,7 @@ dnl */
AC_DEFINE([__NO_INCLUDE_WARN__])
AC_DEFINE([ACE_MALLOC_ALIGN], [8])
AC_DEFINE([ACE_MAP_PRIVATE], [ACE_MAP_SHARED])
- AC_DEFINE([ACE_HAS_LYNXOS_SIGNALS])
+ AC_DEFINE([ACE_HAS_LYNXOS4_SIGNALS])
AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)])
;;
*mvs*)
diff --git a/m4/tao.m4 b/m4/tao.m4
new file mode 100644
index 00000000000..1441e8b5316
--- /dev/null
+++ b/m4/tao.m4
@@ -0,0 +1,88 @@
+dnl -------------------------------------------------------------------------
+dnl $Id$
+dnl
+dnl tao.m4
+dnl
+dnl ACE M4 include file which contains TAO specific M4 macros
+dnl for enabling/disabling certain TAO features.
+dnl
+dnl -------------------------------------------------------------------------
+
+dnl Copyright (C) 1998, 1999, 2000, 2002 Ossama Othman
+dnl
+dnl All Rights Reserved
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the current ACE distribution terms.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+
+AC_DEFUN([TAO_ENABLE_MINIMUM_CORBA],
+[AC_ARG_ENABLE([minimum-corba],
+ AS_HELP_STRING([--enable-minimum-corba],
+ [build TAO with minimum corba support [[[no]]]]),
+[
+case "${enableval}" in
+ yes)
+ tao_user_enable_minimum_corba=yes
+ ;;
+ no)
+ tao_user_enable_minimum_corba=no
+ ;;
+ *)
+ AC_MSG_ERROR([bad value ${enableval} for --enable-minimum-corba])
+ ;;
+esac
+],[
+tao_user_enable_minimum_corba=no
+])
+AM_CONDITIONAL([BUILD_MINIMUM_CORBA],
+ [test X$tao_user_enable_minimum_corba = Xyes])
+])
+
+AC_DEFUN([TAO_ENABLE_EXAMPLES],
+[AC_ARG_ENABLE([tao-examples],
+ AS_HELP_STRING([--enable-tao-examples],
+ [build TAO examples [[[yes]]]]),
+[
+case "${enableval}" in
+ yes)
+ tao_build_examples=yes
+ ;;
+ no)
+ tao_build_examples=no
+ ;;
+ *)
+ AC_MSG_ERROR([bad value ${enableval} for --enable-tao-examples])
+ ;;
+esac
+],[
+tao_build_examples=yes
+])
+AM_CONDITIONAL([BUILD_EXAMPLES], [test X$tao_build_examples = Xyes])
+])
+
+AC_DEFUN([TAO_ENABLE_TESTS],
+[AC_ARG_ENABLE([tao-tests],
+ AS_HELP_STRING([--enable-tao-tests],
+ [build TAO tests [[[yes]]]]),
+[
+case "${enableval}" in
+ yes)
+ tao_build_tests=yes
+ ;;
+ no)
+ tao_build_tests=no
+ ;;
+ *)
+ AC_MSG_ERROR([bad value ${enableval} for --enable-tao-tests])
+ ;;
+esac
+],[
+tao_build_tests=yes
+])
+AM_CONDITIONAL([BUILD_TESTS], [test X$tao_build_tests = Xyes])
+])
diff --git a/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp b/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
index cdd036e4044..fd87cae7149 100644
--- a/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
+++ b/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
@@ -40,7 +40,7 @@ Dump_Restore::Dump_Restore (int argc, ACE_TCHAR *argv[])
// problme of Display () not printing the right hostname
ACE_OS::strcpy (this->hostname_,
this->name_options_->nameserver_host ());
- this->port_ =
+ this->port_ =
this->name_options_->nameserver_port ();
if (this->ns_context_->open (ACE_Naming_Context::NET_LOCAL) == -1)
@@ -193,7 +193,7 @@ Dump_Restore::display_menu (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("<D> Dump <file name>\n")));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("<Q> or ^C (exit) \n")));
+ ACE_TEXT ("<Q> or ^C (exit)\n")));
}
@@ -331,7 +331,7 @@ Dump_Restore::populate (Dump_Restore::Operation_Type op)
allocator);
for (char *temp;
- (temp = read_buffer.read ('\n')) != 0;
+ (temp = read_buffer.read ('\n')) != 0;
)
{
char *name = 0;
@@ -421,7 +421,7 @@ Dump_Restore::unbind (const char *key)
int result = ns_context_->unbind (key);
if (result == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%p\n"),
ACE_TEXT ("ns_context_->unbind")),
-1);
@@ -433,7 +433,7 @@ Dump_Restore::rebind (const char *key,
const char *value,
const char *type)
{
- if (ns_context_->rebind (key,
+ if (ns_context_->rebind (key,
value,
type) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
diff --git a/netsvcs/lib/Client_Logging_Handler.cpp b/netsvcs/lib/Client_Logging_Handler.cpp
index ae37c10fecd..0f50308563a 100644
--- a/netsvcs/lib/Client_Logging_Handler.cpp
+++ b/netsvcs/lib/Client_Logging_Handler.cpp
@@ -1,7 +1,5 @@
// $Id$
-#define ACE_BUILD_SVC_DLL
-
#include "ace/Get_Opt.h"
#include "ace/Acceptor.h"
#include "ace/SOCK_Connector.h"
@@ -18,7 +16,9 @@
#include "ace/INET_Addr.h"
#include "Client_Logging_Handler.h"
-ACE_RCSID(lib, Client_Logging_Handler, "$Id$")
+ACE_RCSID(lib,
+ Client_Logging_Handler,
+ "$Id$")
ACE_Client_Logging_Handler::ACE_Client_Logging_Handler (ACE_HANDLE output_handle)
: logging_output_ (output_handle)
@@ -74,7 +74,7 @@ ACE_Client_Logging_Handler::open (void *)
ACE_TEXT ("get_remote_addr")),
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("connected to client on handle %u\n"),
+ ACE_TEXT ("Connected to client on handle %u\n"),
this->peer ().get_handle ()));
return 0;
}
@@ -104,7 +104,7 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
if (handle == this->logging_output_)
// We're getting a message from the logging server!
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("received data from server!\n")),
+ ACE_TEXT ("Received data from server!\n")),
-1);
ACE_Log_Record log_record;
@@ -123,13 +123,9 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
// Align the Message Block for a CDR stream
ACE_CDR::mb_align (header.get ());
- ACE_CDR::Boolean byte_order;
- ACE_CDR::ULong length;
-
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
// We're getting a logging message from a local application using
// STREAM pipes, which are nicely prioritized for us.
-
ACE_Str_Buf header_msg (header->wr_ptr (),
0,
8);
@@ -164,9 +160,9 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
// We're getting a logging message from a local application using
// sockets pipes, which are NOT prioritized for us.
- ssize_t count = ACE::recv_n (handle,
- header->wr_ptr (),
- 8);
+ ssize_t const count = ACE::recv_n (handle,
+ header->wr_ptr (),
+ 8);
switch (count)
{
// Handle shutdown and error cases.
@@ -197,23 +193,35 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
// Just fall through in this case..
break;
}
-#endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_HAS_STREAM_LOG_MSG_IPC == 1 */
// Reflect addition of 8 bytes for the header.
- header->wr_ptr (8);
+ header->wr_ptr (8);
// Create a CDR stream to parse the 8-byte header.
ACE_InputCDR header_cdr (header.get ());
// Extract the byte-order and use helper methods to disambiguate
// octet, booleans, and chars.
- header_cdr >> ACE_InputCDR::to_boolean (byte_order);
+ ACE_CDR::Boolean byte_order;
+ if (!(header_cdr >> ACE_InputCDR::to_boolean (byte_order)))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract byte_order\n")));
+ return 0;
+ }
// Set the byte-order on the stream...
header_cdr.reset_byte_order (byte_order);
// Extract the length
- header_cdr >> length;
+ ACE_CDR::ULong length;
+ if (!(header_cdr >> length))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract length\n")));
+ return 0;
+ }
ACE_NEW_RETURN (payload_p,
ACE_Message_Block (length),
@@ -223,7 +231,7 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
// Ensure there's sufficient room for log record payload.
ACE_CDR::grow (payload.get (), 8 + ACE_CDR::MAX_ALIGNMENT + length);
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
ACE_Str_Buf payload_msg (payload->wr_ptr (),
0,
length);
@@ -233,7 +241,7 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
&payload_msg,
&flags);
- if (result < 0 || payload_msg.len == 0)
+ if (result < 0 || payload_msg.len != length)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("%p\n"),
@@ -245,7 +253,9 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
| ACE_Event_Handler::EXCEPT_MASK
| ACE_Event_Handler::DONT_CALL) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%n: %p\n"),
+ ACE_TEXT ("%n: result %d, length %d %p\n"),
+ result,
+ payload_msg.len,
ACE_TEXT ("remove_handler")),
-1);
spipe.close ();
@@ -271,14 +281,19 @@ ACE_Client_Logging_Handler::handle_input (ACE_HANDLE handle)
ACE_OS::closesocket (handle);
return 0;
}
-#endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_HAS_STREAM_LOG_MSG_IPC == 1 */
// Reflect additional bytes for the message.
- payload->wr_ptr (length);
+ payload->wr_ptr (length);
ACE_InputCDR payload_cdr (payload.get ());
payload_cdr.reset_byte_order (byte_order);
- payload_cdr >> log_record; // Finally extract the <ACE_log_record>.
+ if (!(payload_cdr >> log_record)) // Finally extract the ACE_log_record.
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract log_record\n")));
+ return 0;
+ }
log_record.length (length);
@@ -335,14 +350,16 @@ ACE_Client_Logging_Handler::send (ACE_Log_Record &log_record)
*orig_ostream);
if (this->logging_output_ == ACE_STDERR)
- log_record.print (ACE_TEXT ("<localhost>"),
- ACE_Log_Msg::instance ()->flags (),
- stderr);
+ {
+ log_record.print (ACE_TEXT ("<localhost>"),
+ ACE_Log_Msg::instance ()->flags (),
+ stderr);
+ }
else
{
// Serialize the log record using a CDR stream, allocate enough
// space for the complete <ACE_Log_Record>.
- const size_t max_payload_size =
+ size_t const max_payload_size =
4 // type()
+ 8 // timestamp
+ 4 // process id
@@ -352,18 +369,33 @@ ACE_Client_Logging_Handler::send (ACE_Log_Record &log_record)
// Insert contents of <log_record> into payload stream.
ACE_OutputCDR payload (max_payload_size);
- payload << log_record;
+ if (!(payload << log_record))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't insert log_record\n")));
+ return -1;
+ }
// Get the number of bytes used by the CDR stream.
- ACE_CDR::ULong length = payload.total_length ();
+ ACE_CDR::ULong const length = payload.total_length ();
// Send a header so the receiver can determine the byte order and
// size of the incoming CDR stream.
ACE_OutputCDR header (ACE_CDR::MAX_ALIGNMENT + 8);
- header << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER);
+ if (!(header << ACE_OutputCDR::from_boolean (ACE_CDR_BYTE_ORDER)))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't insert byte order\n")));
+ return -1;
+ }
// Store the size of the payload that follows
- header << ACE_CDR::ULong (length);
+ if (!(header << ACE_CDR::ULong (length)))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't insert length\n")));
+ return -1;
+ }
// Use an iovec to send both buffer and payload simultaneously.
iovec iov[2];
@@ -376,7 +408,7 @@ ACE_Client_Logging_Handler::send (ACE_Log_Record &log_record)
// efficiently using "gather-write".
if (ACE::sendv_n (this->logging_output_,iov, 2) == -1)
{
- ACE_DEBUG ((LM_DEBUG,
+ ACE_DEBUG ((LM_DEBUG,
"Something about the sendv_n() failed, so switch to stderr\n"));
if (ACE_Log_Msg::instance ()->msg_ostream () == 0)
@@ -453,7 +485,7 @@ private:
ACE_Client_Logging_Handler *handler_;
// Pointer to the singleton handler that receives messages from
- // clients and forwards to the server.
+ // clients and forwards to the server.
};
int
@@ -470,6 +502,7 @@ ACE_Client_Logging_Acceptor::fini (void)
// This memory was allocated by <ACE_OS::strdup>.
ACE_OS::free ((void *) this->logger_key_);
+
ACE_OS::free ((void *) this->server_host_);
return 0;
@@ -530,12 +563,13 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
ACE_TEXT ("%p\n"),
this->logger_key_),
-1);
+
// Establish connection with the server.
ACE_SOCK_Connector con;
ACE_SOCK_Stream stream;
ACE_INET_Addr server_addr;
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
ACE_SPIPE_Addr lserver_addr;
// Figure out what local port we're really bound to.
@@ -546,7 +580,7 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("starting up Client Logging Daemon, ")
+ ACE_TEXT ("Starting up Client Logging Daemon, ")
ACE_TEXT ("bounded to STREAM addr %s on handle %u\n"),
lserver_addr.get_path_name (),
this->acceptor ().get_handle ()));
@@ -561,11 +595,11 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("starting up Client Logging Daemon, ")
+ ACE_TEXT ("Starting up Client Logging Daemon, ")
ACE_TEXT ("bounded to local port %d on handle %u\n"),
lserver_addr.get_port_number (),
this->acceptor ().get_handle ()));
-#endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_HAS_STREAM_LOG_MSG_IPC == 1 */
if (con.connect (stream,
this->server_addr_,
@@ -573,11 +607,11 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
this->local_addr_) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("can't connect to logging server %s on port %d: ")
+ ACE_TEXT ("Can't connect to logging server %s on port %d: ")
ACE_TEXT ("%m, using stderr\n"),
this->server_addr_.get_host_name (),
this->server_addr_.get_port_number (),
- errno));
+ ACE_ERRNO_GET));
if (ACE_Log_Msg::instance ()->msg_ostream () == 0)
// If we can't connect to the server then we'll send the logging
@@ -593,7 +627,8 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
ACE_TEXT ("get_remote_addr")),
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Client Logging Daemon is connected to Server Logging Daemon %s on port %d on handle %u\n"),
+ ACE_TEXT ("Client Logging Daemon is connected to Server ")
+ ACE_TEXT ("Logging Daemon %s on port %d on handle %u\n"),
server_addr.get_host_name (),
server_addr.get_port_number (),
stream.get_handle ()));
diff --git a/netsvcs/lib/Client_Logging_Handler.h b/netsvcs/lib/Client_Logging_Handler.h
index 20b593c2168..6a36c2be8e9 100644
--- a/netsvcs/lib/Client_Logging_Handler.h
+++ b/netsvcs/lib/Client_Logging_Handler.h
@@ -24,7 +24,7 @@
#include "ace/Svc_Handler.h"
#include "ace/svc_export.h"
-#if defined (ACE_HAS_STREAM_PIPES)
+#if (ACE_HAS_STREAM_LOG_MSG_IPC == 1)
#define LOGGING_STREAM ACE_SPIPE_STREAM
#define LOGGING_ACCEPTOR ACE_SPIPE_ACCEPTOR
#define LOGGING_ADDR ACE_SPIPE_Addr
@@ -32,7 +32,7 @@
#define LOGGING_STREAM ACE_SOCK_STREAM
#define LOGGING_ACCEPTOR ACE_SOCK_ACCEPTOR
#define LOGGING_ADDR ACE_INET_Addr
-#endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_HAS_STREAM_LOG_MSG_IPC == 1 */
#if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
template class ACE_Svc_Export ACE_Svc_Handler<LOGGING_STREAM, ACE_NULL_SYNCH>;
@@ -45,29 +45,30 @@ template class ACE_Svc_Export ACE_Svc_Handler<LOGGING_STREAM, ACE_NULL_SYNCH>;
* records from local applications processes and forwards them to
* the server logging daemon running on another host.
*
- * The default implementation uses an <ACE_SPIPE_Stream> to
+ * The default implementation uses an ACE_SPIPE_Stream to
* receive the logging message from the application and an
- * <ACE_SOCK_Stream> to forward the logging message to the
+ * ACE_SOCK_Stream to forward the logging message to the
* server. However, on platforms that don't support
* <ACE_SPIPEs> (e.g., Win32) we use sockets instead.
*/
-class ACE_Svc_Export ACE_Client_Logging_Handler : public ACE_Svc_Handler<LOGGING_STREAM, ACE_NULL_SYNCH>
+class ACE_Svc_Export ACE_Client_Logging_Handler :
+ public ACE_Svc_Handler<LOGGING_STREAM, ACE_NULL_SYNCH>
{
public:
// = Initialization and termination.
- /// Default constructor. <handle> is where the output is sent.
+ /// Default constructor. @a handle is where the output is sent.
ACE_Client_Logging_Handler (ACE_HANDLE handle = ACE_STDERR);
- /// Activate this instance of the <ACE_Client_Logging_Handler>
- /// (called by the <ACE_Client_Logging_Acceptor>).
+ /// Activate this instance of the ACE_Client_Logging_Handler
+ /// (called by the ACE_Client_Logging_Acceptor).
virtual int open (void * = 0);
/// Return the handle of the IPC endpoint.
virtual ACE_HANDLE get_handle (void) const;
- /// Called when object is removed from the <ACE_Reactor>.
+ /// Called when object is removed from the ACE_Reactor.
virtual int close (u_long);
private:
@@ -83,14 +84,14 @@ private:
* Receive logging records from applications. This is necessary to
* handle madness with UNIX select, which can't deal with MSG_BAND
* data easily due to its overly simple interface... This just
- * calls <handle_input>.
+ * calls handle_input().
*/
virtual int handle_exception (ACE_HANDLE);
/// Called back when it's ok to send.
virtual int handle_output (ACE_HANDLE);
- /// Send the <log_record> to the logging server.
+ /// Send the @a log_record to the logging server.
int send (ACE_Log_Record &log_record);
/// This is either a SOCKET (if we're connected to a logging server)
diff --git a/netsvcs/lib/Makefile.am b/netsvcs/lib/Makefile.am
index c525ee11ec6..ac4d55d60fe 100644
--- a/netsvcs/lib/Makefile.am
+++ b/netsvcs/lib/Makefile.am
@@ -21,7 +21,7 @@ noinst_LTLIBRARIES = libnetsvcs.la
libnetsvcs_la_CPPFLAGS = \
-I$(ACE_ROOT) \
-I$(ACE_BUILDDIR) \
- -DACE_NETSVCS_BUILD_DLL
+ -DACE_BUILD_SVC_DLL
libnetsvcs_la_SOURCES = \
Base_Optimizer.cpp \
diff --git a/netsvcs/lib/Name_Handler.cpp b/netsvcs/lib/Name_Handler.cpp
index 087d63d7ac0..99e675243a0 100644
--- a/netsvcs/lib/Name_Handler.cpp
+++ b/netsvcs/lib/Name_Handler.cpp
@@ -1,7 +1,5 @@
// $Id$
-#define ACE_BUILD_SVC_DLL
-
#include "ace/Containers.h"
#include "ace/Get_Opt.h"
#include "ace/Singleton.h"
@@ -371,7 +369,7 @@ ACE_Name_Handler::shared_bind (int rebind)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("request for BIND \n")));
+ ACE_TEXT ("request for BIND\n")));
#endif /* 0 */
result = this->naming_context ()->bind (a_name,
a_value,
@@ -381,7 +379,7 @@ ACE_Name_Handler::shared_bind (int rebind)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("request for REBIND \n")));
+ ACE_TEXT ("request for REBIND\n")));
#endif /* 0 */
result = this->naming_context ()->rebind (a_name,
a_value,
@@ -400,7 +398,7 @@ ACE_Name_Handler::resolve (void)
{
ACE_TRACE (ACE_TEXT ("ACE_Name_Handler::resolve"));
#if 0
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("request for RESOLVE \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("request for RESOLVE\n")));
#endif /* 0 */
ACE_NS_WString a_name (this->name_request_.name (),
this->name_request_.name_len () / sizeof (ACE_WCHAR_T));
@@ -433,7 +431,7 @@ ACE_Name_Handler::unbind (void)
{
ACE_TRACE (ACE_TEXT ("ACE_Name_Handler::unbind"));
#if 0
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("request for UNBIND \n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("request for UNBIND\n")));
#endif /* 0 */
ACE_NS_WString a_name (this->name_request_.name (),
this->name_request_.name_len () / sizeof (ACE_WCHAR_T));
@@ -551,7 +549,7 @@ ACE_Name_Handler::lists_entries (void)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("request for LIST_NAME_ENTRIES \n")));
+ ACE_TEXT ("request for LIST_NAME_ENTRIES\n")));
#endif /* 0 */
result = this->naming_context ()->
ACE_Naming_Context::list_name_entries (set, pattern);
@@ -560,7 +558,7 @@ ACE_Name_Handler::lists_entries (void)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("request for LIST_VALUE_ENTRIES \n")));
+ ACE_TEXT ("request for LIST_VALUE_ENTRIES\n")));
#endif /* 0 */
result = this->naming_context ()->
ACE_Naming_Context::list_value_entries (set, pattern);
@@ -569,7 +567,7 @@ ACE_Name_Handler::lists_entries (void)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("request for LIST_TYPE_ENTRIES \n")));
+ ACE_TEXT ("request for LIST_TYPE_ENTRIES\n")));
#endif /* 0 */
result = this->naming_context ()->
ACE_Naming_Context::list_type_entries (set, pattern);
@@ -621,13 +619,13 @@ ACE_Name_Handler::lists_entries (void)
ACE_Naming_Context *
ACE_Name_Handler::naming_context (void)
-{
- return naming_context_;
+{
+ return naming_context_;
}
ACE_Naming_Context *
ACE_Name_Acceptor::naming_context (void)
-{
+{
return &naming_context_;
}
diff --git a/netsvcs/lib/Name_Handler.h b/netsvcs/lib/Name_Handler.h
index d41751145fe..9aa3615c938 100644
--- a/netsvcs/lib/Name_Handler.h
+++ b/netsvcs/lib/Name_Handler.h
@@ -145,9 +145,9 @@ private:
/// Naming Context
ACE_Naming_Context *naming_context_;
-
+
ACE_Naming_Context *naming_context (void);
-
+
/// Handle binds.
int bind (void);
diff --git a/netsvcs/lib/Server_Logging_Handler_T.cpp b/netsvcs/lib/Server_Logging_Handler_T.cpp
index 1938c39e552..a8e5e0da81e 100644
--- a/netsvcs/lib/Server_Logging_Handler_T.cpp
+++ b/netsvcs/lib/Server_Logging_Handler_T.cpp
@@ -3,8 +3,6 @@
#ifndef ACE_SERVER_LOGGING_HANDLERT_C
#define ACE_SERVER_LOGGING_HANDLERT_C
-#define ACE_BUILD_SVC_DLL
-
#include "ace/config-all.h"
#include "ace/Get_Opt.h"
#include "ace/Log_Record.h"
@@ -78,7 +76,7 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
ACE_CDR::Boolean byte_order;
ACE_CDR::ULong length;
- ssize_t count = ACE::recv_n (this->peer ().get_handle (),
+ ssize_t count = ACE::recv_n (this->peer ().get_handle (),
header->wr_ptr (),
8);
switch (count)
@@ -87,7 +85,6 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
default:
case -1:
case 0:
-
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("server logging daemon closing down at host %s\n"),
this->host_name ()));
@@ -107,14 +104,24 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
// Extract the byte-order and use helper methods to disambiguate
// octet, booleans, and chars.
- header_cdr >> ACE_InputCDR::to_boolean (byte_order);
+ if (!(header_cdr >> ACE_InputCDR::to_boolean (byte_order)))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract byte_order\n")));
+ return 0;
+ }
// Set the byte-order on the stream...
header_cdr.reset_byte_order (byte_order);
// Extract the length
- header_cdr >> length;
-
+ if (!(header_cdr >> length))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract length\n")));
+ return 0;
+ }
+
ACE_NEW_RETURN (payload_p,
ACE_Message_Block (length),
-1);
@@ -126,7 +133,7 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
// Use <recv_n> to obtain the contents.
if (ACE::recv_n (this->peer ().get_handle (),
payload->wr_ptr (),
- length) <= 0)
+ length) <= 0)
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("%p\n"),
@@ -138,7 +145,12 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
ACE_InputCDR payload_cdr (payload.get ());
payload_cdr.reset_byte_order (byte_order);
- payload_cdr >> log_record; // Finally extract the <ACE_log_record>.
+ if (!(payload_cdr >> log_record)) // Finally extract the <ACE_log_record>.
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Can't extract log_record\n")));
+ return 0;
+ }
log_record.length (length);
@@ -232,7 +244,7 @@ ACE_Server_Logging_Handler_T<ACE_PEER_STREAM_2, COUNTER, ACE_SYNCH_USE, LMR>::ha
return n;
}
}
-#endif
+#endif
ACE_NOTREACHED (return -1;)
}
diff --git a/netsvcs/lib/Server_Logging_Handler_T.h b/netsvcs/lib/Server_Logging_Handler_T.h
index 4c92b8e205f..2f54fb2c65c 100644
--- a/netsvcs/lib/Server_Logging_Handler_T.h
+++ b/netsvcs/lib/Server_Logging_Handler_T.h
@@ -158,7 +158,7 @@ private:
*
* @brief Product object created by a
* <ACE_Server_Logging_Acceptor_T<ACE_Server_Logging_Handler> >. An
- * <ACE_Server_Logging_Handler> receives, frames. The logging record
+ * ACE_Server_Logging_Handler receives, frames. The logging record
* is then processed by the <LOG_MESSAGE_RECEIVER>
*
* All clients are handled in the same thread.
@@ -188,7 +188,7 @@ typedef u_long ACE_LOGGER_COUNTER;
*
* @brief Product object created by a
* <ACE_Server_Logging_Acceptor_T<ACE_Thr_Server_Logging_Handler>
- * >. An <ACE_Thr_Server_Logging_Handler> receives, frames. The
+ * >. An ACE_Thr_Server_Logging_Handler receives, frames. The
* logging record is then processed by the <LOG_MESSAGE_RECEIVER>
*
* Each client is handled in its own separate thread.
diff --git a/netsvcs/lib/TS_Clerk_Handler.cpp b/netsvcs/lib/TS_Clerk_Handler.cpp
index 17232f46390..8b9262626b9 100644
--- a/netsvcs/lib/TS_Clerk_Handler.cpp
+++ b/netsvcs/lib/TS_Clerk_Handler.cpp
@@ -1,7 +1,5 @@
// $Id$
-#define ACE_BUILD_SVC_DLL
-
#include "ace/Get_Opt.h"
#include "TS_Clerk_Handler.h"
#include "ace/Signal.h"
diff --git a/netsvcs/lib/TS_Server_Handler.cpp b/netsvcs/lib/TS_Server_Handler.cpp
index cdc78b1d3bd..a8c30c73662 100644
--- a/netsvcs/lib/TS_Server_Handler.cpp
+++ b/netsvcs/lib/TS_Server_Handler.cpp
@@ -1,7 +1,5 @@
// $Id$
-#define ACE_BUILD_SVC_DLL
-
#include "ace/SString.h"
#include "ace/Containers.h"
#include "ace/Get_Opt.h"
diff --git a/netsvcs/lib/Time_Request_Reply.cpp b/netsvcs/lib/Time_Request_Reply.cpp
index eb062308bb5..5542e3974e5 100644
--- a/netsvcs/lib/Time_Request_Reply.cpp
+++ b/netsvcs/lib/Time_Request_Reply.cpp
@@ -7,8 +7,6 @@
#include "ace/os_include/netinet/os_in.h"
#include "ace/os_include/arpa/os_inet.h"
-#define ACE_BUILD_SVC_DLL
-
#include "Time_Request_Reply.h"
ACE_RCSID(lib, Time_Request_Reply, "$Id$")
diff --git a/netsvcs/lib/Token_Handler.cpp b/netsvcs/lib/Token_Handler.cpp
index 806f91c52c5..ae446d61262 100644
--- a/netsvcs/lib/Token_Handler.cpp
+++ b/netsvcs/lib/Token_Handler.cpp
@@ -1,7 +1,5 @@
// $Id$
-#define ACE_BUILD_SVC_DLL
-
#include "ace/Get_Opt.h"
#include "Token_Handler.h"
@@ -9,7 +7,6 @@
#include "ace/Signal.h"
-
ACE_RCSID (lib,
Token_Handler,
"$Id$")
diff --git a/netsvcs/lib/Token_Handler.h b/netsvcs/lib/Token_Handler.h
index b716b51ef03..14af4ce4eb5 100644
--- a/netsvcs/lib/Token_Handler.h
+++ b/netsvcs/lib/Token_Handler.h
@@ -6,7 +6,7 @@
*
* $Id$
*
- * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
* Tim Harrison (harrison@cs.wustl.edu)
*/
//=============================================================================
diff --git a/netsvcs/lib/lib.mpc b/netsvcs/lib/lib.mpc
index c4306613907..6124ac65764 100644
--- a/netsvcs/lib/lib.mpc
+++ b/netsvcs/lib/lib.mpc
@@ -4,7 +4,7 @@
project(netsvcs): ace_output, acelib {
avoids += ace_for_tao
sharedname = netsvcs
- dynamicflags += ACE_NETSVCS_BUILD_DLL
+ dynamicflags += ACE_BUILD_SVC_DLL
Source_Files {
Time_Request_Reply.cpp
TS_Server_Handler.cpp
diff --git a/performance-tests/RPC/client.cpp b/performance-tests/RPC/client.cpp
index 7e309a1d64a..8c3fced9aed 100644
--- a/performance-tests/RPC/client.cpp
+++ b/performance-tests/RPC/client.cpp
@@ -4,12 +4,13 @@
#include "ace/Stats.h"
#include "ace/High_Res_Timer.h"
#include "ace/Get_Opt.h"
+#include "ace/Throughput_Stats.h"
#include "ping.h"
int ACE_TMAIN (int argc, ACE_TCHAR* argv[])
{
- const char* host = 0;
+ char* host = 0;
int nsamples = 10000;
int c;
diff --git a/performance-tests/RPC/run_test.pl b/performance-tests/RPC/run_test.pl
index 305509dc83a..70e4167efe1 100755
--- a/performance-tests/RPC/run_test.pl
+++ b/performance-tests/RPC/run_test.pl
@@ -5,7 +5,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# $Id$
# -*- perl -*-
-use lib '../../bin';
+use lib "$ENV{ACE_ROOT}/bin";
use PerlACE::Run_Test;
$SV = new PerlACE::Process ("server");
diff --git a/performance-tests/SCTP/Options_Manager.cpp b/performance-tests/SCTP/Options_Manager.cpp
index 679249ebf15..d85fcfd7acf 100644
--- a/performance-tests/SCTP/Options_Manager.cpp
+++ b/performance-tests/SCTP/Options_Manager.cpp
@@ -523,9 +523,9 @@ void Options_Manager::_show_usage(FILE* out, ACE_TCHAR const * const opts_set)
if (ACE_OS::strstr(__program_name, ACE_TEXT ("SOCK_SEQPACK_srv"))) {
ACE_OS::fprintf (out, " -a w.x.y.z,a.b.c.d,... server-accept-addr INADDR_ANY\n"
- " (comma-separated \n"
- " list of one or more \n"
- " addresses) \n");
+ " (comma-separated \n"
+ " list of one or more \n"
+ " addresses) \n");
} else {
ACE_OS::fprintf (out, " -a w.x.y.z server-accept-addr INADDR_ANY\n");
}
diff --git a/performance-tests/SCTP/run_spectrum.pl b/performance-tests/SCTP/run_spectrum.pl
index d6ec34e6075..9d1d923e6d5 100755
--- a/performance-tests/SCTP/run_spectrum.pl
+++ b/performance-tests/SCTP/run_spectrum.pl
@@ -7,7 +7,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
use warnings;
use strict;
-use lib '../../bin';
+use lib "$ENV{ACE_ROOT}/bin";
use PerlACE::Run_Test;
use Getopt::Long;
use Pod::Usage;
diff --git a/performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp b/performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp
index d31b85d90b2..8faa65c4de2 100644
--- a/performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp
+++ b/performance-tests/Server_Concurrency/Leader_Follower/RT_CORBA_Leader_Follower.cpp
@@ -64,7 +64,7 @@ Synchronisers::start_synchronization (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Ready to go.. \n"));
+ "(%P|%t) Ready to go..\n"));
}
if (ready_threads == number_of_threads)
@@ -106,7 +106,7 @@ Synchronisers::end_synchronization (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Ready to go.. \n"));
+ "(%P|%t) Ready to go..\n"));
}
if (ready_threads == number_of_threads)
@@ -347,7 +347,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
if (result != 0)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) - Failed again no hope \n"));
+ "(%P|%t) - Failed again no hope\n"));
return 0;
}
@@ -368,14 +368,14 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
);
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Throughput is [%f] \n",
+ "(%P|%t) Throughput is [%f]\n",
1000000000/ elapsed_time_per_invocation));
for (i = 0; i < number_of_threads; ++i)
{
ACE_DEBUG ((LM_DEBUG,
- "Message consumed in thread [%d] is [%d] \n",
+ "Message consumed in thread [%d] is [%d]\n",
i, leader_followers[i]->processed ()));
delete leader_followers[i];
}
@@ -394,7 +394,7 @@ int
ACE_TMAIN(int, ACE_TCHAR *[])
{
ACE_DEBUG ((LM_DEBUG,
- "(%p|%t) Cannot run in SIngle threaded mode \n"));
+ "(%p|%t) Cannot run in SIngle threaded mode\n"));
return 0;
}
diff --git a/performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp b/performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp
index 543de4f60d9..9e76e3f0b6a 100644
--- a/performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp
+++ b/performance-tests/Server_Concurrency/Queue_Based_Workers/RT_CORBA_Workers.cpp
@@ -62,7 +62,7 @@ Synchronisers::start_synchronization (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Ready to signal start \n"));
+ "(%P|%t) Ready to signal start\n"));
}
// Start the timer
test_timer.start ();
@@ -81,7 +81,7 @@ Synchronisers::start_synchronization (void)
{
//FUZZ: disable check_for_lack_ACE_OS
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Ready to wait () on event.. \n"));
+ "(%P|%t) Ready to wait () on event..\n"));
//FUZZ: enable check_for_lack_ACE_OS
}
@@ -116,7 +116,7 @@ Synchronisers::end_synchronization (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Ended peacefully \n"));
+ "(%P|%t) Ended peacefully\n"));
}
// return to do our work;
@@ -130,7 +130,7 @@ Synchronisers::end_synchronization (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Going to wait .. \n"));
+ "(%P|%t) Going to wait ..\n"));
}
// Wait blisfully till we are woken up
@@ -235,7 +235,7 @@ Worker_Task::svc (void)
{
if (debug)
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Got stop message after [%d] messages \n",
+ "(%P|%t) Got stop message after [%d] messages\n",
this->messages_processed_));
break;
@@ -300,7 +300,7 @@ Input_Task::svc (void)
if (debug)
{
ACE_DEBUG ((LM_DEBUG,
- "(%t) Sending close messages \n"));
+ "(%t) Sending close messages\n"));
}
@@ -388,7 +388,7 @@ Output_Task::put (ACE_Message_Block *mb, ACE_Time_Value *)
{
ACE_DEBUG ((LM_DEBUG,
"(%P|%t) Sticking message into "
- " output queue \n"));
+ " output queue\n"));
}*/
return this->putq (mb);
}
@@ -556,18 +556,18 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
(double) elapsed_time / number_of_messages;
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Throughput is [%f] \n",
+ "(%P|%t) Throughput is [%f]\n",
elapsed_time_per_invocation));
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Throughput is [%f] \n",
+ "(%P|%t) Throughput is [%f]\n",
1000000000/ elapsed_time_per_invocation));
#endif /*ACE_WIN32 */
for (i = 0; i < number_of_workers; ++i)
{
ACE_DEBUG ((LM_DEBUG,
- "Message process for thread [%d] is [%d] \n",
+ "Message process for thread [%d] is [%d]\n",
i, workers[i]->processed ()));
delete workers[i];
}
@@ -582,7 +582,7 @@ int
ACE_TMAIN(int, ACE_TCHAR *[])
{
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Not supported in single threaded builds \n"));
+ "(%P|%t) Not supported in single threaded builds\n"));
return 0;
}
diff --git a/performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp b/performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp
index d2f5305de07..59f4e698d28 100644
--- a/performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp
+++ b/performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.cpp
@@ -206,8 +206,8 @@ Performance_Test_Options::parse_args (int argc, ACE_TCHAR *argv[])
"\t[-S] service entry\n"
"\t[-t] number of threads [%d]\n"
"\t[-T] (enable tracing)\n"
- "\t[-u] (UDP) \n"
- "\t[-v] (verbose) \n"
+ "\t[-u] (UDP)\n"
+ "\t[-v] (verbose)\n"
"\t[-X] (enable xdr conversion)\n"
"\t[-Z] (enable zero-copy driver)\n%a",
argv[0],
diff --git a/performance-tests/TCP/run_test.pl b/performance-tests/TCP/run_test.pl
index 34c4f416c39..8000ae6496e 100755
--- a/performance-tests/TCP/run_test.pl
+++ b/performance-tests/TCP/run_test.pl
@@ -5,8 +5,8 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# $Id$
# -*- perl -*-
-use lib '../../bin';
-use PerlACE::Run_Test;
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::TestTarget;
$SV = new PerlACE::Process ("tcp_test", "-s");
$CL = new PerlACE::Process ("tcp_test", "-c localhost -i 50000 -b 64");
diff --git a/performance-tests/TCP/tcp_test.cpp b/performance-tests/TCP/tcp_test.cpp
index 74cda3e7eec..e2b202326d7 100644
--- a/performance-tests/TCP/tcp_test.cpp
+++ b/performance-tests/TCP/tcp_test.cpp
@@ -84,7 +84,7 @@ usage (void)
" [-m message size]\n"
" [-i iterations]\n"
" [-I usdelay]\n"
- " [-b socket bufsz] \n"
+ " [-b socket bufsz]\n"
" [-p port]\n"
" [-s]\n"
" [-c]\n"
@@ -93,7 +93,7 @@ usage (void)
" [-a to use the ACE Select reactor]\n"
" [-x to use the ACE TP reactor]\n"
" [-w to use the ACE WFMO reactor]\n"
- " targethost \n"));
+ " targethost\n"));
}
// ****************************************************************
@@ -340,7 +340,7 @@ Server::Server (const ACE_INET_Addr &addr)
"ACE_Reactor::register_handler: Server\n"));
}
-#if !defined (ACE_LACKS_SOCKET_BUFSIZ)
+#if !defined (ACE_LACKS_SO_SNDBUF)
if (so_bufsz != 0)
{
if (this->endpoint_.set_option (SOL_SOCKET,
@@ -348,17 +348,26 @@ Server::Server (const ACE_INET_Addr &addr)
(void *) &so_bufsz,
sizeof (so_bufsz)) == -1
&& errno != ENOTSUP)
- ACE_ERROR ((LM_ERROR, "Server::Server: SO_SNDBUF %p\n",
- "set_option failed"));
- else if (this->endpoint_.set_option (SOL_SOCKET,
- SO_RCVBUF,
- (void *) &so_bufsz,
- sizeof (so_bufsz)) == -1
+ {
+ ACE_ERROR ((LM_ERROR, "Server::Server: SO_SNDBUF %p\n",
+ "set_option failed"));
+ }
+ }
+#endif /* ACE_LACKS_SO_SNDBUF */
+#if !defined (ACE_LACKS_SO_RCVBUF)
+ if (so_bufsz != 0)
+ {
+ if (this->endpoint_.set_option (SOL_SOCKET,
+ SO_RCVBUF,
+ (void *) &so_bufsz,
+ sizeof (so_bufsz)) == -1
&& errno != ENOTSUP)
- ACE_ERROR ((LM_ERROR, "Server::Server: SO_RCVBUF %p\n",
- "set_option failed"));
+ {
+ ACE_ERROR ((LM_ERROR, "Server::Server: SO_RCVBUF %p\n",
+ "set_option failed"));
+ }
}
-#endif /* !ACE_LACKS_SOCKET_BUFSIZ */
+#endif /* !ACE_LACKS_SO_RCVBUF */
if (acceptor.close () == -1)
ACE_ERROR ((LM_ERROR, "Server::Server %p\n",
"close failed"));
diff --git a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp b/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
index a00dd8671f2..e86aba3d2e9 100644
--- a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
+++ b/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
@@ -474,7 +474,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
if (ack != data_buf_len)
ACE_DEBUG ((LM_DEBUG, "received ack for only %d bytes\n", ack));
}
- printf("Client finished. \n");
+ printf("Client finished.\n");
}
else
{
@@ -520,7 +520,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
"ttcp"),
-1);
}
- printf("Server finished. \n");
+ printf("Server finished.\n");
}
/* if (errno)
diff --git a/performance-tests/UDP/run_test.pl b/performance-tests/UDP/run_test.pl
index 638b8c18c99..fcd236a40a2 100755
--- a/performance-tests/UDP/run_test.pl
+++ b/performance-tests/UDP/run_test.pl
@@ -5,8 +5,8 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# $Id$
# -*- perl -*-
-use lib '../../bin';
-use PerlACE::Run_Test;
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::TestTarget;
$SV = new PerlACE::Process ("udp_test", "-r");
$CL = new PerlACE::Process ("udp_test", "-t -n 10000 localhost");
diff --git a/performance-tests/UDP/udp_test.cpp b/performance-tests/UDP/udp_test.cpp
index 14df97f4a08..2d5d0f093e2 100644
--- a/performance-tests/UDP/udp_test.cpp
+++ b/performance-tests/UDP/udp_test.cpp
@@ -72,13 +72,13 @@ usage (void)
" [-b send_bufsz]\n"
" [-n nsamples]\n"
" [-I usdelay]\n"
- " [-s so_bufsz] \n"
+ " [-s so_bufsz]\n"
" [-p port]\n"
" [-t]\n"
" [-r]\n"
" [-x max_sample_allowed]\n"
" [-a to use the ACE reactor]\n"
- " targethost \n",
+ " targethost\n",
*cmd));
}
@@ -435,7 +435,7 @@ Client::run (void)
if (logfile)
{
ACE_OS::fprintf (sumfp,
- "Command executed: \n");
+ "Command executed:\n");
for (; *cmd; cmd++)
ACE_OS::fprintf (sumfp,
"%s ",
diff --git a/protocols/ace/HTBP/HTBP_Channel.cpp b/protocols/ace/HTBP/HTBP_Channel.cpp
index 1d2c48f5fd6..b74b99cda0d 100644
--- a/protocols/ace/HTBP/HTBP_Channel.cpp
+++ b/protocols/ace/HTBP/HTBP_Channel.cpp
@@ -38,7 +38,7 @@ ACE::HTBP::Channel::Channel (ACE::HTBP::Session *s)
error_buffer_ (0)
{
ACE_NEW (this->notifier_,ACE::HTBP::Notifier(this));
- this->filter_ = get_filter ();
+ this->filter_ = ACE::HTBP::Filter_Factory::get_filter (this->session_ != 0);
this->request_count_ = static_cast<unsigned long> (ACE_OS::time());
}
@@ -55,7 +55,7 @@ ACE::HTBP::Channel::Channel (ACE_SOCK_Stream &s)
error_buffer_ (0)
{
- filter_ = get_filter ();
+ this->filter_ = ACE::HTBP::Filter_Factory::get_filter (this->session_ != 0);
this->request_count_ = static_cast<unsigned long> (ACE_OS::time());
}
@@ -70,7 +70,7 @@ ACE::HTBP::Channel::Channel (ACE_HANDLE h)
state_ (Init),
error_buffer_ (0)
{
- filter_ = get_filter ();
+ this->filter_ = ACE::HTBP::Filter_Factory::get_filter (this->session_ != 0);
this->request_count_ = static_cast<unsigned long> (ACE_OS::time());
}
@@ -395,6 +395,7 @@ ACE::HTBP::Channel::recvv (iovec iov[],
{
int ndx = 0;
iovec *iov2 = new iovec[iovcnt];
+ ACE_Auto_Array_Ptr<iovec> guard (iov2);
for (int i = 0; i < iovcnt; i++)
{
size_t n = ACE_MIN ((size_t) iov[i].iov_len ,
@@ -414,7 +415,6 @@ ACE::HTBP::Channel::recvv (iovec iov[],
}
if (ndx > 0)
result += this->ace_stream_.recvv(iov2,ndx,timeout);
- delete [] iov2;
}
else
result = this->ace_stream_.recvv(iov,iovcnt,timeout);
@@ -548,18 +548,4 @@ ACE::HTBP::Channel::disable (int value) const
return 0;//this->ace_stream_.disable(value);
}
-ACE::HTBP::Filter *
-ACE::HTBP::Channel::get_filter ()
-{
- ACE::HTBP::Filter_Factory *factory = 0;
-
- // @todo Should I be throwing an exception here if
- // memory is not allocated right ?
- ACE_NEW_RETURN (factory,
- ACE::HTBP::Filter_Factory,
- 0);
- int inside = (this->session_ != 0);
- return factory->get_filter (inside);
-}
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/protocols/ace/HTBP/HTBP_Channel.h b/protocols/ace/HTBP/HTBP_Channel.h
index b33d446e40b..9756ceebf26 100644
--- a/protocols/ace/HTBP/HTBP_Channel.h
+++ b/protocols/ace/HTBP/HTBP_Channel.h
@@ -235,9 +235,6 @@ namespace ACE
private:
- /// Get the filter from the Filter_Factory
- Filter * get_filter ();
-
/// The filter_ is a pluggable component used to manage the
/// wrapping of data in a way suitable for the proxy to
/// manage. The actual filter instance is owned by the
diff --git a/protocols/ace/HTBP/HTBP_Channel.inl b/protocols/ace/HTBP/HTBP_Channel.inl
index 7df1ba8f16e..c6281dc0a8f 100644
--- a/protocols/ace/HTBP/HTBP_Channel.inl
+++ b/protocols/ace/HTBP/HTBP_Channel.inl
@@ -36,8 +36,7 @@ ACE_INLINE
void
ACE::HTBP::Channel::filter (ACE::HTBP::Filter *f)
{
- if (this->filter_)
- delete this->filter_;
+ delete this->filter_;
this->filter_ = f;
}
diff --git a/protocols/ace/HTBP/HTBP_Environment.cpp b/protocols/ace/HTBP/HTBP_Environment.cpp
index 8fa1b0cc397..81a6b83a4ba 100644
--- a/protocols/ace/HTBP/HTBP_Environment.cpp
+++ b/protocols/ace/HTBP/HTBP_Environment.cpp
@@ -85,6 +85,7 @@ ACE::HTBP::Environment::open_registry_config ()
ACE_NEW_RETURN (this->config_,
ACE_Configuration_Win32Registry (root),
-1);
+ this->own_config_ = true;
return 0;
#else
errno = ENOTSUP;
@@ -101,6 +102,7 @@ ACE::HTBP::Environment::open_persistent_config (const ACE_TCHAR *persistent_file
-1);
// do this before trying to open so it isn't leaked if the open fails.
this->config_ = heap;
+ this->own_config_ = true;
if (persistent_file == 0)
heap->open();
else
diff --git a/protocols/ace/HTBP/HTBP_Environment.h b/protocols/ace/HTBP/HTBP_Environment.h
index 894a376457a..d958cecbb10 100644
--- a/protocols/ace/HTBP/HTBP_Environment.h
+++ b/protocols/ace/HTBP/HTBP_Environment.h
@@ -98,7 +98,7 @@ namespace ACE
ACE_Ini_ImpExp *imp_exp_;
/// We created the config instance, so we must clean it up
- int own_config_;
+ bool own_config_;
};
}
diff --git a/protocols/ace/HTBP/HTBP_Filter_Factory.cpp b/protocols/ace/HTBP/HTBP_Filter_Factory.cpp
index bd9e9751b6d..b4403be2ac8 100644
--- a/protocols/ace/HTBP/HTBP_Filter_Factory.cpp
+++ b/protocols/ace/HTBP/HTBP_Filter_Factory.cpp
@@ -4,7 +4,6 @@
#include "HTBP_Inside_Squid_Filter.h"
#include "HTBP_Outside_Squid_Filter.h"
-#include "HTBP_Stream.h"
#include "ace/Service_Object.h"
#include "ace/Dynamic_Service.h"
#include "ace/Log_Msg.h"
diff --git a/protocols/ace/HTBP/HTBP_Filter_Factory.h b/protocols/ace/HTBP/HTBP_Filter_Factory.h
index 0681055b679..2cc9220bf70 100644
--- a/protocols/ace/HTBP/HTBP_Filter_Factory.h
+++ b/protocols/ace/HTBP/HTBP_Filter_Factory.h
@@ -54,7 +54,7 @@ namespace ACE
virtual int init (int argc, ACE_TCHAR *argv[]);
//
- Filter *get_filter (int inside);
+ static Filter *get_filter (int inside);
};
}
}
diff --git a/protocols/ace/HTBP/HTBP_ID_Requestor.cpp b/protocols/ace/HTBP/HTBP_ID_Requestor.cpp
index a048a295459..ee29ed17ca2 100644
--- a/protocols/ace/HTBP/HTBP_ID_Requestor.cpp
+++ b/protocols/ace/HTBP/HTBP_ID_Requestor.cpp
@@ -83,10 +83,10 @@ ACE::HTBP::ID_Requestor::send_request (ACE_SOCK_Stream *cli_stream)
{
char *buffer;
ACE_NEW_RETURN (buffer, char[this->url_.length()+16],-1);
+ ACE_Auto_Array_Ptr<char> guard (buffer);
ACE_OS::sprintf (buffer,"GET %s HTTP/1.0\n\n",
ACE_TEXT_ALWAYS_CHAR(url_.c_str()));
int result = cli_stream->send_n (buffer,ACE_OS::strlen(buffer));
- delete [] buffer;
if (result == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("(%P|%t) ACE::HTBP::ID_Requestor::")
diff --git a/protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp b/protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp
index 1bc9f4a208b..d776b5cc42b 100644
--- a/protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp
+++ b/protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp
@@ -94,6 +94,7 @@ ACE::HTBP::Inside_Squid_Filter::send_data_header (ssize_t data_len,
ACE::HTBP::Channel *ch)
{
char *buffer = new char[BUFSIZ];
+ ACE_Auto_Array_Ptr<char> guard (buffer);
ssize_t result = -1;
if (this->make_request_header (ch,"POST ",buffer,BUFSIZ) != -1)
{
@@ -178,6 +179,7 @@ int
ACE::HTBP::Inside_Squid_Filter::send_ack (ACE::HTBP::Channel *ch)
{
char *buffer = new char[BUFSIZ];
+ ACE_Auto_Array_Ptr<char> guard (buffer);
ssize_t result = -1;
if (ch->state() == ACE::HTBP::Channel::Ack_Sent)
{
@@ -209,7 +211,7 @@ ACE::HTBP::Inside_Squid_Filter::recv_ack (ACE::HTBP::Channel *ch)
errno = EWOULDBLOCK;
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("HTBP::Inside_Squid_Filter::")
- ACE_TEXT("recv_data_header, ")
+ ACE_TEXT("recv_ack, ")
ACE_TEXT("header not complete\n")),0);
}
if (this->http_code() == 200)
diff --git a/protocols/ace/HTBP/HTBP_Session.cpp b/protocols/ace/HTBP/HTBP_Session.cpp
index cb1dc421250..a4666489d78 100644
--- a/protocols/ace/HTBP/HTBP_Session.cpp
+++ b/protocols/ace/HTBP/HTBP_Session.cpp
@@ -62,7 +62,7 @@ ACE::HTBP::Session::Session (void)
destroy_proxy_addr_ (0),
inbound_ (0),
outbound_ (0),
- closed_ (0),
+ closed_ (false),
handler_ (0),
reactor_(0),
stream_ (0),
@@ -70,8 +70,8 @@ ACE::HTBP::Session::Session (void)
{
ACE::HTBP::ID_Requestor req;
ACE_TCHAR * htid = req.get_HTID();
+ ACE_Auto_Array_Ptr<ACE_TCHAR> guard (htid);
session_id_.local_ = ACE_TEXT_ALWAYS_CHAR(htid);
- delete[] htid;
session_id_.id_ = ACE::HTBP::Session::next_session_id();
ACE_NEW (inbound_, ACE::HTBP::Channel (this));
ACE_NEW (outbound_, ACE::HTBP::Channel (this));
@@ -81,12 +81,12 @@ ACE::HTBP::Session::Session (const ACE::HTBP::Addr &peer,
const ACE::HTBP::Addr &local,
ACE_UINT32 sid,
ACE_INET_Addr *proxy,
- int take_proxy)
+ bool take_proxy)
: proxy_addr_ (proxy),
destroy_proxy_addr_ (take_proxy),
inbound_ (0),
outbound_ (0),
- closed_ (0),
+ closed_ (false),
handler_ (0),
reactor_(0),
stream_ (0),
@@ -103,13 +103,13 @@ ACE::HTBP::Session::Session (const ACE::HTBP::Addr &peer,
ACE::HTBP::Session::Session (const ACE::HTBP::Session_Id_t &id,
ACE_INET_Addr *proxy,
- int take_proxy)
+ bool take_proxy)
: proxy_addr_ (proxy),
destroy_proxy_addr_ (take_proxy),
session_id_(id),
inbound_ (0),
outbound_ (0),
- closed_ (0),
+ closed_ (false),
handler_ (0),
reactor_ (0),
stream_ (0),
@@ -138,6 +138,9 @@ ACE::HTBP::Session::~Session (void)
{
if (destroy_proxy_addr_)
delete proxy_addr_;
+
+ delete this->inbound_;
+ delete this->outbound_;
}
int
@@ -147,7 +150,7 @@ ACE::HTBP::Session::close (void)
this->inbound_->close();
if (this->outbound_)
this->outbound_->close();
- this->closed_= 1;
+ this->closed_ = true;
return ACE::HTBP::Session::remove_session (this);
}
@@ -156,7 +159,7 @@ ACE::HTBP::Channel *
ACE::HTBP::Session::outbound (void) const
{
if (!this->closed_ && this->proxy_addr_)
- const_cast<ACE::HTBP::Session *> (this)->reconnect();
+ this->reconnect();
if ( this->outbound_ == 0)
return 0;
ACE::HTBP::Channel::State s =this->outbound_->state();
@@ -164,11 +167,9 @@ ACE::HTBP::Session::outbound (void) const
}
void
-ACE::HTBP::Session::reconnect_i (ACE::HTBP::Channel *s)
+ACE::HTBP::Session::reconnect_i (ACE::HTBP::Channel *s) const
{
ACE_SOCK_Connector conn;
- char host[100];
- this->proxy_addr_->get_host_name(host,100);
if (conn.connect (s->ace_stream(),*this->proxy_addr_) == -1)
{
ACE_TCHAR buffer[128];
@@ -235,6 +236,7 @@ ACE::HTBP::Session::flush_outbound_queue (void)
ACE_NEW_RETURN (iov,
iovec[this->outbound_queue_.message_count()],
-1);
+ ACE_Auto_Array_Ptr<iovec> guard (iov);
this->outbound_queue_.peek_dequeue_head (msg);
for (size_t i = 0; i < this->outbound_queue_.message_count(); i++)
{
@@ -245,9 +247,11 @@ ACE::HTBP::Session::flush_outbound_queue (void)
if (this->outbound_->state() == ACE::HTBP::Channel::Wait_For_Ack)
this->outbound_->recv_ack();
result = this->outbound_->sendv (iov,this->outbound_queue_.message_count(),0);
- delete [] iov;
- while (this->outbound_queue_.dequeue_head(msg))
- msg->release();
+ while (this->outbound_queue_.message_count ())
+ {
+ this->outbound_queue_.dequeue_head (msg);
+ msg->release ();
+ }
}
return result;
}
diff --git a/protocols/ace/HTBP/HTBP_Session.h b/protocols/ace/HTBP/HTBP_Session.h
index 5b46c6e86b3..b74cd51247d 100644
--- a/protocols/ace/HTBP/HTBP_Session.h
+++ b/protocols/ace/HTBP/HTBP_Session.h
@@ -82,10 +82,10 @@ namespace ACE
const Addr& local,
ACE_UINT32 sid = 0,
ACE_INET_Addr *proxy = 0,
- int take_proxy = 0);
+ bool take_proxy = false);
Session (const Session_Id_t &id,
ACE_INET_Addr *proxy = 0,
- int take_proxy = 0);
+ bool take_proxy = false);
Session (const Session &other);
Session& operator= (const Session &other);
@@ -155,8 +155,8 @@ namespace ACE
/// the reference passed in, so that it may be used inline for
/// the inboundor outbound methods
- void reconnect ();
- void reconnect_i (Channel *);
+ void reconnect () const;
+ void reconnect_i (Channel *) const;
typedef ACE_Hash_Map_Manager<Session_Id_t, Session*,
ACE_SYNCH_MUTEX> Session_Map;
@@ -173,10 +173,7 @@ namespace ACE
Channel *inbound_;
Channel *outbound_;
- Filter *inbound_filter_;
- Filter *outbound_filter_;
-
- int closed_;
+ bool closed_;
ACE_Event_Handler *handler_;
ACE_Reactor *reactor_;
diff --git a/protocols/ace/HTBP/HTBP_Session.inl b/protocols/ace/HTBP/HTBP_Session.inl
index 06c510650c9..aee8cbf4dc3 100644
--- a/protocols/ace/HTBP/HTBP_Session.inl
+++ b/protocols/ace/HTBP/HTBP_Session.inl
@@ -6,7 +6,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE
void
-ACE::HTBP::Session::reconnect ()
+ACE::HTBP::Session::reconnect () const
{
if (!this->closed_ && this->proxy_addr_)
{
diff --git a/protocols/ace/RMCast/Acknowledge.cpp b/protocols/ace/RMCast/Acknowledge.cpp
index 055041c0287..2423357e92a 100644
--- a/protocols/ace/RMCast/Acknowledge.cpp
+++ b/protocols/ace/RMCast/Acknowledge.cpp
@@ -67,7 +67,7 @@ namespace ACE_RMCast
for (;; ++sn)
{
- Queue::ENTRY* e;
+ Queue::ENTRY* e = 0;
if (q.find (sn, e) == -1 || e->int_id_.lost ()) break;
diff --git a/protocols/ace/RMCast/Protocol.h b/protocols/ace/RMCast/Protocol.h
index cf2c2d2289d..50090523ad0 100644
--- a/protocols/ace/RMCast/Protocol.h
+++ b/protocols/ace/RMCast/Protocol.h
@@ -910,7 +910,7 @@ namespace ACE_RMCast
//
for (iterator i (this_.begin ()); !i.done (); i.advance ())
{
- u64* psn;
+ u64* psn = 0;
i.next (psn);
os << *psn;
}
diff --git a/protocols/tests/HTBP/Reactor_Tests/client.cpp b/protocols/tests/HTBP/Reactor_Tests/client.cpp
index 9d4dffe0ee9..11a80469739 100644
--- a/protocols/tests/HTBP/Reactor_Tests/client.cpp
+++ b/protocols/tests/HTBP/Reactor_Tests/client.cpp
@@ -133,7 +133,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) Client: ")
ACE_TEXT("After wait for ack, n = %d, retry = %d\n"),
- n,retrycount,errno));
+ n,retrycount,ACE_ERRNO_GET));
retrycount = 10;
while ((n = stream.recv(buffer,1000)) == -1
@@ -195,7 +195,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) Client: ")
ACE_TEXT("After wait for ack, n = %d, retry = %d\n"),
- n,retrycount,errno));
+ n,retrycount,ACE_ERRNO_GET));
return 0;
}
diff --git a/protocols/tests/HTBP/Reactor_Tests/run_test.pl b/protocols/tests/HTBP/Reactor_Tests/run_test.pl
index 13aafef2d43..0ba137a10e1 100755
--- a/protocols/tests/HTBP/Reactor_Tests/run_test.pl
+++ b/protocols/tests/HTBP/Reactor_Tests/run_test.pl
@@ -35,14 +35,14 @@ $target1->DeleteFile ($synchbase);
my $CL = $target2->CreateProcess ("client", " -h $host -p $port");
-$client = $CL->SpawnWaitKill (300);
+$client = $CL->SpawnWaitKill ($target2->ProcessStartWaitInterval() + 285);
if ($client != 0) {
print STDERR "ERROR: client returned $client\n";
$status = 1;
}
-$server = $SV->WaitKill (10);
+$server = $SV->WaitKill ($target1->ProcessStopWaitInterval());
if ($server != 0) {
print STDERR "ERROR: server returned $server\n";
diff --git a/protocols/tests/HTBP/Reactor_Tests/server.cpp b/protocols/tests/HTBP/Reactor_Tests/server.cpp
index 7bc3d8ac0ee..af9f211c48c 100644
--- a/protocols/tests/HTBP/Reactor_Tests/server.cpp
+++ b/protocols/tests/HTBP/Reactor_Tests/server.cpp
@@ -149,7 +149,7 @@ Accept_Handler::handle_input (ACE_HANDLE h)
if ((*ch)->state() == ACE::HTBP::Channel::Data_Queued)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) Server Accept_Handler::handle_input \n"),
+ ACE_TEXT ("(%P|%t) Server Accept_Handler::handle_input\n"),
ACE_TEXT ("Issuing notification on handler\n")));
this->reactor()->notify (session->handler(),
ACE_Event_Handler::READ_MASK);
diff --git a/protocols/tests/HTBP/Send_Large_Msg/client.cpp b/protocols/tests/HTBP/Send_Large_Msg/client.cpp
index 72c35536f89..4eba0b912f5 100644
--- a/protocols/tests/HTBP/Send_Large_Msg/client.cpp
+++ b/protocols/tests/HTBP/Send_Large_Msg/client.cpp
@@ -112,7 +112,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("(%P|%t) Client: ")
ACE_TEXT("%p\n %d"),
- ACE_TEXT("stream send"), errno),
+ ACE_TEXT("stream send"), ACE_ERRNO_GET),
-1);
}
ACE_DEBUG ((LM_DEBUG,
diff --git a/protocols/tests/HTBP/Send_Large_Msg/run_test.pl b/protocols/tests/HTBP/Send_Large_Msg/run_test.pl
index 6b5255794d9..430f3fdf962 100755
--- a/protocols/tests/HTBP/Send_Large_Msg/run_test.pl
+++ b/protocols/tests/HTBP/Send_Large_Msg/run_test.pl
@@ -17,7 +17,7 @@ $synchfile = $target1->LocalFile ("$synchbase");
my $port = $target1->RandomPort ();
my $host = $target1->HostName();
-my $SV = $target1->CreateProcess("server", "-p $port -o $synchfile");
+my $SV = $target1->CreateProcess ("server", "-p $port -o $synchfile");
my $CL = $target2->CreateProcess ("client", " -h $host -p $port");
$target1->DeleteFile ($synchbase);
@@ -34,14 +34,14 @@ if ($target1->WaitForFileTimed ($synchbase,
$target1->DeleteFile ($synchbase);
-$client = $CL->SpawnWaitKill (300);
+$client = $CL->SpawnWaitKill ($target2->ProcessStartWaitInterval() + 285);
if ($client != 0) {
print STDERR "ERROR: client returned $client\n";
$status = 1;
}
-$server = $SV->WaitKill (10);
+$server = $SV->WaitKill ($target1->ProcessStopWaitInterval());
if ($server != 0) {
print STDERR "ERROR: server returned $server\n";
diff --git a/protocols/tests/HTBP/Send_Large_Msg/server.cpp b/protocols/tests/HTBP/Send_Large_Msg/server.cpp
index 34f037148c5..724a14b2da3 100644
--- a/protocols/tests/HTBP/Send_Large_Msg/server.cpp
+++ b/protocols/tests/HTBP/Send_Large_Msg/server.cpp
@@ -140,7 +140,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT("(%P|%t) Server: ")
- ACE_TEXT("received %b \n"),total_recv));
+ ACE_TEXT("received %b\n"),total_recv));
ACE_OS::strcpy (buffer,"I hear you !");
diff --git a/protocols/tests/HTBP/Send_Recv_Tests/client.cpp b/protocols/tests/HTBP/Send_Recv_Tests/client.cpp
index 2f559e03b29..2ad433e70ea 100644
--- a/protocols/tests/HTBP/Send_Recv_Tests/client.cpp
+++ b/protocols/tests/HTBP/Send_Recv_Tests/client.cpp
@@ -131,7 +131,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
ACE_TEXT ("(%P|%t) connected to %C\n"),
remote.get_host_name ()));
- ACE_DEBUG ((LM_DEBUG, "(%P) ***** client TEST 1 ***** \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%P) ***** client TEST 1 *****\n"));
//******************* TEST 1 ******************************
//
@@ -184,7 +184,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
}
// ACE_OS::sleep (10);
- ACE_DEBUG ((LM_DEBUG, "(%P) ***** client TEST 2 ***** \n"));
+ ACE_DEBUG ((LM_DEBUG, "(%P) ***** client TEST 2 *****\n"));
//******************* TEST 2 ******************************
//
diff --git a/protocols/tests/HTBP/Send_Recv_Tests/run_test.pl b/protocols/tests/HTBP/Send_Recv_Tests/run_test.pl
index a5175909548..17b9e3f2193 100755
--- a/protocols/tests/HTBP/Send_Recv_Tests/run_test.pl
+++ b/protocols/tests/HTBP/Send_Recv_Tests/run_test.pl
@@ -33,14 +33,14 @@ if ($target1->WaitForFileTimed ($synchbase,
}
$target1->DeleteFile ($synchbase);
-$client = $CL->SpawnWaitKill (300);
+$client = $CL->SpawnWaitKill ($target2->ProcessStartWaitInterval() + 285);
if ($client != 0) {
print STDERR "ERROR: client returned $client\n";
$status = 1;
}
-$server = $SV->WaitKill (10);
+$server = $SV->WaitKill ($target1->ProcessStopWaitInterval());
if ($server != 0) {
print STDERR "ERROR: server returned $server\n";
diff --git a/protocols/tests/HTBP/Send_Recv_Tests/server.cpp b/protocols/tests/HTBP/Send_Recv_Tests/server.cpp
index c8d4153a392..aec607eb629 100644
--- a/protocols/tests/HTBP/Send_Recv_Tests/server.cpp
+++ b/protocols/tests/HTBP/Send_Recv_Tests/server.cpp
@@ -183,7 +183,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
cli_addr.get_port_number ()));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) ***** server TEST 1 ***** \n")));
+ ACE_TEXT("(%P) ***** server TEST 1 *****\n")));
//******************* TEST 1 ******************************
//
// Do a iovec recvv - the client should send 255 bytes, which we
@@ -232,7 +232,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
}
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) ***** server TEST 2 ***** \n")));
+ ACE_TEXT("(%P) ***** server TEST 2 *****\n")));
//******************* TEST 2 ******************************
//
diff --git a/protocols/tests/HTBP/ping/run_test.pl b/protocols/tests/HTBP/ping/run_test.pl
index 7269c8fcbfc..d5592ee3f26 100755
--- a/protocols/tests/HTBP/ping/run_test.pl
+++ b/protocols/tests/HTBP/ping/run_test.pl
@@ -35,14 +35,14 @@ if ($target1->WaitForFileTimed ($synchbase,
$target1->DeleteFile ($synchbase);
-$client = $CL->SpawnWaitKill (300);
+$client = $CL->SpawnWaitKill ($target2->ProcessStartWaitInterval() + 285);
if ($client != 0) {
print STDERR "ERROR: client returned $client\n";
$status = 1;
}
-$server = $SV->WaitKill (10);
+$server = $SV->WaitKill ($target1->ProcessStopWaitInterval());
if ($server != 0) {
print STDERR "ERROR: server returned $server\n";
diff --git a/protocols/tests/RMCast/run_test.pl b/protocols/tests/RMCast/run_test.pl
index abee8b0594c..2e9d75142ad 100755
--- a/protocols/tests/RMCast/run_test.pl
+++ b/protocols/tests/RMCast/run_test.pl
@@ -24,7 +24,7 @@ sleep ($target1->ProcessStartWaitInterval());
$sender->Spawn ();
-$status = $receiver->WaitKill (40);
+$status = $receiver->WaitKill ($target2->ProcessStopWaitInterval() + 30);
if ($status != 0) {
print STDERR "ERROR: receiver returned $status\n";
diff --git a/rpmbuild/README b/rpmbuild/README
index 6f5cebf2f6e..9acf8cc13a1 100644
--- a/rpmbuild/README
+++ b/rpmbuild/README
@@ -36,9 +36,9 @@ the following contents should be enough:
cat > ~/.rpmmacros <<EOF
%_topdir %(echo ${HOME}/rpm)
%_tmppath %{_topdir}/tmp
-
+
%packager Firstname Lastname <your.address@here>
-
+
# Have built RPMs land in RPMS/ instead of RPMS/<arch>/
%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
EOF
@@ -52,7 +52,7 @@ There are some important details:
* The tarball name must have the ACE version in the name, for example:
- ACE+TAO+CIAO-5.6.6.tar.bz2
+ ACE+TAO+CIAO-src-5.6.6.tar.bz2
* The spec file inside the tarball
(ACE_wrappers/rpmbuild/ace-tao.spec) must have the correct version
@@ -68,7 +68,7 @@ There are some important details:
ACE_wrappers/ace/Version.h
ACE_wrappers/TAO/tao/Version.h
ACE_wrappers/TAO/CIAO/ciao/Version.h
-
+
Building the RPM
----------------------------------------------------------------
diff --git a/rpmbuild/ace-tao-ciao.txt b/rpmbuild/ace-tao-ciao.txt
deleted file mode 100644
index 5ee06c76a8e..00000000000
--- a/rpmbuild/ace-tao-ciao.txt
+++ /dev/null
@@ -1,2708 +0,0 @@
-# Set the version number here.
-%define ACEVER 5.6.8
-%define TAOVER 1.6.8
-%define CIAOVER 0.6.8
-# Set is_major_ver if the version is X.Y instead X.Y.Z
-
-# TODO
-# Test whether a TAO app with MPC can be build against MPC installed version
-
-# Conditional build
-# Default values are
-# --with rnq (ACE_HAS_REACTOR_NOTIFICATION_QUEUE)
-# --with ipv6 (IPv6 support)
-# --with opt (Optimized build)
-# --with zlib (Zlib compressor)
-# --with bzip2 (Bzip2 compressor)
-# --with autoconf (Use autoconf to build)
-# --with fltk (ftlk support)
-# --with tk (tk support)
-# --with xt (xt support)
-# --with fox (fox support)
-# --with qt (qt support)
-
-#
-# Read: If neither macro exists, then add the default definition.
-%{!?_with_rnq: %{!?_without_rnq: %define _with_rnq --with-rnq}}
-%{!?_with_ipv6: %{!?_without_ipv6: %define _with_ipv6 --with-ipv6}}
-%{!?_with_opt: %{!?_without_opt: %define _with_opt --with-opt}}
-%{!?_with_zlib: %{!?_without_zlib: %define _with_zlib --with-zlib}}
-%{!?_with_bzip2: %{!?_without_bzip2: %define _with_bzip2 --with-bzip2}}
-%{!?_with_autoconf: %{!?_without_autoconf: %define _without_autoconf --without-autoconf}}
-%{!?_with_ftlk: %{!?_without_ftlk: %define _without_ftlk --without-ftlk}}
-%{!?_with_tk: %{!?_without_tk: %define _without_tk --without-tk}}
-%{!?_with_xt: %{!?_without_xt: %define _without_xt --without-xt}}
-%{!?_with_fox: %{!?_without_fox: %define _without_fox --without-fox}}
-%{!?_with_qt: %{!?_without_qt: %define _without_qt --without-qt}}
-#
-# Read: It's an error if both or neither required options exist.
-%{?_with_rnq: %{?_without_rnq: %{error: both _with_rnq and _without_rnq}}}
-%{?_with_ipv6: %{?_without_ipv6: %{error: both _with_ipv6 and _without_ipv6}}}
-%{?_with_opt: %{?_without_opt: %{error: both _with_opt and _without_opt}}}
-%{?_with_zlib: %{?_without_zlib: %{error: both _with_zlib and _without_zlib}}}
-%{?_with_bzip2: %{?_without_bzip2: %{error: both _with_bzip2 and _without_bzip2}}}
-%{?_with_autoconf: %{?_without_autoconf: %{error: both _with_autoconf and _without_autoconf}}}
-%{?_with_fltk: %{?_without_fltk: %{error: both _with_fltk and _without_fltk}}}
-%{?_with_tk: %{?_without_tk: %{error: both _with_tk and _without_tk}}}
-%{?_with_xt: %{?_without_xt: %{error: both _with_xt and _without_xt}}}
-%{?_with_fox: %{?_without_fox: %{error: both _with_fox and _without_fox}}}
-%{?_with_qt: %{?_without_qt: %{error: both _with_qt and _without_qt}}}
-
-%{!?skip_make:%define skip_make 0}
-%{!?make_nosrc:%define make_nosrc 0}
-%{!?is_major_ver:%define is_major_ver 0}
-
-%define have_fox 0
-
-%if %{?_with_opt:0}%{!?_with_opt:1}
-%define OPTTAG .O0
-%endif
-
-Summary: The ADAPTIVE Communication Environment (ACE) and The ACE ORB (TAO)
-Name: ace-tao
-Version: %{ACEVER}
-Release: 1%{?OPTTAG}%{?dist}
-Group: Development/Libraries/C and C++
-URL: http://www.cs.wustl.edu/~schmidt/ACE.html
-License: DOC License
-Source0: http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-%{ACEVER}.tar.bz2
-Source1: ace-tao-rpmlintrc
-## Source1: ace-tao-etc.tar.gz
-## Source2: ace-tao-macros.patch
-## Patch0: ace-tao-config.patch
-## Patch5: ace-tao-orbsvcs-daemon.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-%if 0%{?centos_version}
-%define _extension .gz
-%endif
-
-%if 0%{?fedora_version}
-%define _extension .gz
-%endif
-
-%if 0%{?rhel_version}
-%define _extension .gz
-%endif
-
-%if 0%{?suse_version}
-%define _extension .gz
-%endif
-
-%if !0%{?suse_version}
-Requires(post): /sbin/install-info
-Requires(preun): /sbin/install-info
-Requires(postun): /sbin/ldconfig
-%else
-PreReq: %install_info_prereq %insserv_prereq %fillup_prereq
-PreReq: pwdutils
-%endif
-
-BuildRequires: openssl-devel
-BuildRequires: gcc-c++
-BuildRequires: libstdc++-devel
-BuildRequires: lsb
-
-%if %{?_with_zlib:1}%{!?_with_zlib:0}
-BuildRequires: zlib-devel
-%endif
-
-%if %{?_with_bzip2:1}%{!?_with_bzip2:0}
-BuildRequires: bzip2
-%endif
-
-%if 0%{?mandriva_version}
-BuildRequires: sendmail
-%endif
-
-BuildRequires: perl
-
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_fltk:1}%{!?_with_fltk:0}
-BuildRequires: fltk-devel
-%define fltk_pac ace-flreactor
-%endif
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-BuildRequires: tcl-devel
-BuildRequires: tk-devel
-BuildRequires: tk
-%define tk_pac ace-tkreactor
-%define tao_tk_pac tao-tkresource
-%endif
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%define qt_pack ace-qtreactor
-%define tao_qt_pac tao-qtresource
-
-# qt3 has a name change in F9
-%if 0%{?fedora_version} > 8
-%define qtpacname qt3
-%else
-%define qtpacname qt
-%endif
-
-%if 0%{?suse_version}
-%define qtpacname qt3
-%endif
-
-BuildRequires: %{qtpacname}-devel
-%endif
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?suse_version} == 1020
-BuildRequires: fox16-devel
-%endif
-%define fox_pac ace_foxreactor
-%endif
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-# The xorg package naming scheme changed, use specific files for now.
-# old -> BuildRequires: xorg-x11-devel
-# new -> BuildRequires: libX11-devel
-# BuildRequires: %{_libdir}/libX11.so
-# BuildRequires: %{_libdir}/libXt.so
-%define xt_pac ace-xtreactor
-%define tao_xt_pac tao-xtresource
-%endif
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%define tao_fl_pac tao-flresource
-%endif
-
-
-%if 0%{?suse_version}
-
-%define ace_packages ace ace-xml ace-gperf ace-kokyu
-%define tao_packages tao tao-utils tao tao-cosnaming tao-cosevent tao-cosnotification tao-costrading tao-rtevent tao-cosconcurrency
-%define all_ace_packages %{?ace_packages} %{?fltk_pac} %{?tk_pac} %{?qt_pac} %{?fox_pac} %{?xt_pac}
-%define all_tao_packages %{?tao_packages} %{?tao_fl_pac} %{?tao_qt_pac} %{?tao_xt_pac} %{?tao_tk_pac}
-
-%define debug_package_requires %{all_ace_packages} %{all_tao_packages}
-%endif
-
-%if %make_nosrc
-# Leave out the distro for now
-NoSource: 0
-%endif
-
-%description
-
-The ADAPTIVE Communication Environment (ACE) is a freely available,
-open-source object-oriented (OO) framework that implements many core
-patterns for concurrent communication software. ACE provides a rich
-set of reusable C++ wrapper facades and framework components that
-perform common communication software tasks across a range of OS
-platforms. The communication software tasks provided by ACE include
-event demultiplexing and event handler dispatching, signal handling,
-service initialization, interprocess communication, shared memory
-management, message routing, dynamic (re)configuration of distributed
-services, concurrent execution and synchronization.
-
-TAO is a real-time implementation of CORBA built using the framework
-components and patterns provided by ACE. TAO contains the network
-interface, OS, communication protocol, and CORBA middleware components
-and features. TAO is based on the standard OMG CORBA reference model,
-with the enhancements designed to overcome the shortcomings of
-conventional ORBs for high-performance and real-time applications.
-
-# ---------------- ace ----------------
-
-%package -n ace
-Summary: The ADAPTIVE Communication Environment (ACE)
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: openssl
-
-%description -n ace
-
-The ADAPTIVE Communication Environment (ACE) is a freely available,
-open-source object-oriented (OO) framework that implements many core
-patterns for concurrent communication software. ACE provides a rich
-set of reusable C++ wrapper facades and framework components that
-perform common communication software tasks across a range of OS
-platforms. The communication software tasks provided by ACE include
-event demultiplexing and event handler dispatching, signal handling,
-service initialization, interprocess communication, shared memory
-management, message routing, dynamic (re)configuration of distributed
-services, concurrent execution and synchronization.
-
-# ---------------- ace-devel ----------------
-
-%package -n ace-devel
-Summary: Header files and development components for ACE
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-Requires: openssl-devel
-%if !0%{?suse_version}
-Provides: perl(PerlACE::Run_Test) perl(Process) perl(VmsProcess) perl(Win32::Process)
-%endif
-
-%description -n ace-devel
-
-This package contains the components needed for developing programs
-using ACE.
-
-# ---------------- ace-xml ----------------
-
-%package -n ace-xml
-Summary: ACE XML Runtime Support
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-
-%description -n ace-xml
-
-ACE XML Parser interfaces follows the the design of SAX 2.0, which is
-a public domain specification for Java. The major difference between
-ACE XML Parser interfaces and SAX is that we added an reference of
-ACEXML_Env to every SAX method to accommodate platforms/compilers that
-don't support C++ exceptions. SAX is defined by David Megginson
-<david@megginson.com>
-
-# ---------------- ace-gperf ----------------
-
-%package -n ace-gperf
-Summary: ACE gperf
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-
-%description -n ace-gperf
-
-ACE gperf utility
-
-# ---------------- ace-xml-devel ----------------
-
-%package -n ace-xml-devel
-Summary: Header files and development components for ACE XML
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-xml = %{ACEVER}
-
-%description -n ace-xml-devel
-
-This package contains the components needed for developing programs
-using ACEXML.
-
-# ---------------- ace-kokyu ----------------
-
-%package -n ace-kokyu
-Summary: Kokyu scheduling framework for ACE
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-
-%description -n ace-kokyu
-
-Kokyu is a portable middleware scheduling framework designed to
-provide flexible scheduling and dispatching services within the
-context of higher-level middleware. Kokyu currently provides real-time
-scheduling and dispatching services for TAO's real-time Event Service
-which mediates supplier-consumer relationships between application
-operations. Kokyu also provides a scheduling and dispatching framework
-for threads. This is being used by the TAO RTCORBA 2.0 scheduler
-implementations.
-
-# ---------------- ace-kokyu-devel ----------------
-
-%package -n ace-kokyu-devel
-Summary: Header files and development components for the ACE Kokyu scheduler
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-kokyu = %{ACEVER}
-
-%description -n ace-kokyu-devel
-
-This package contains the components needed for developing programs
-using Kokyu.
-
-
-# ---------------- ace-foxreactor ----------------
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?have_fox} == 1
-%package -n ace-foxreactor
-Summary: ACE_FoxReactor for use with the FOX toolkit
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-Requires: fox16
-
-%description -n ace-foxreactor
-
-A Reactor implementation that uses the FOX toolkit for
-event demultiplexing. This will let us integrate the FOX toolkit with
-ACE and/or TAO.
-%endif
-%endif
-
-# ---------------- ace-foxreactor-devel ----------------
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?have_fox} == 1
-%package -n ace-foxreactor-devel
-Summary: Header files for development with ACE_FoxReactor
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-foxreactor = %{ACEVER}
-Requires: fox16-devel
-
-%description -n ace-foxreactor-devel
-
-This package contains the components needed for developing programs
-using the ACE_FoxReactor.
-%endif
-%endif
-
-# ---------------- ace-flreactor ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%package -n ace-flreactor
-Summary: ACE_FlReactor for use with the Fast-Light toolkit
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-Requires: fltk
-
-%description -n ace-flreactor
-
-A Reactor implementation that uses the Fast-Light (FL) toolkit for
-event demultiplexing. This will let us integrate the FL toolkit with
-ACE and/or TAO.
-%endif
-
-# ---------------- ace-flreactor-devel ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%package -n ace-flreactor-devel
-Summary: Header files for development with ACE_FlReactor
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-flreactor = %{ACEVER}
-Requires: fltk-devel
-
-%description -n ace-flreactor-devel
-
-This package contains the components needed for developing programs
-using the ACE_FlReactor.
-%endif
-
-# ---------------- ace-qtreactor ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%package -n ace-qtreactor
-Summary: ACE_QtReactor for use with Qt library
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-Requires: qt
-
-%description -n ace-qtreactor
-
-A Reactor implementation that uses the Qt toolkit for event
-demultiplexing. This will let us integrate the Qt toolkit with ACE
-and/or TAO.
-%endif
-
-# ---------------- ace-qtreactor-devel ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%package -n ace-qtreactor-devel
-Summary: Header files for development with ACE_QtReactor
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-qtreactor = %{ACEVER}
-Requires: qt-devel
-
-%description -n ace-qtreactor-devel
-
-This package contains the components needed for developing programs
-using the ACE_QtReactor.
-%endif
-
-# ---------------- ace-tkreactor ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%package -n ace-tkreactor
-Summary: ACE_TkReactor for use with Tk toolkit
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-Requires: tk
-
-%description -n ace-tkreactor
-
-A Reactor implementation that uses the Tk toolkit for event
-demultiplexing. This will let us integrate the Tk toolkit with ACE
-and/or TAO.
-%endif
-
-# ---------------- ace-tkreactor-devel ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%package -n ace-tkreactor-devel
-Summary: Header files for development with ACE_TkReactor
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-tkreactor = %{ACEVER}
-Requires: tk-devel
-
-%description -n ace-tkreactor-devel
-
-This package contains the components needed for developing programs
-using the ACE_TkReactor.
-%endif
-
-# ---------------- ace-xtreactor ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%package -n ace-xtreactor
-Summary: ACE_XtReactor for use with the X Toolkit
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-# The xorg packaging scheme changed, let autoreq to the job for now.
-# Requires: xorg-x11-libs
-
-%description -n ace-xtreactor
-
-A Reactor implementation that uses the X Toolkit for event
-demultiplexing. This will let us integrate the X Toolkit with ACE
-and/or TAO.
-%endif
-
-# ---------------- ace-xtreactor-devel ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%package -n ace-xtreactor-devel
-Summary: Header files for development with ACE_XtReactor
-Version: %{ACEVER}
-Group: Development/Libraries/C and C++
-Requires: ace-devel = %{ACEVER}
-Requires: ace-xtreactor = %{ACEVER}
-# The xorg package naming scheme changed, use specific files for now.
-# old -> Requires: xorg-x11-devel
-# new -> Requires: libX11-devel
-Requires: %{_libdir}/libX11.so
-Requires: %{_libdir}/libXt.so
-
-%description -n ace-xtreactor-devel
-
-This package contains the components needed for developing programs
-using the ACE_XtReactor.
-%endif
-
-# ---------------- MPC ----------------
-
-%package -n mpc
-Summary: Make Project Creator
-Version: %{ACEVER}
-Group: Development/Tools/Building
-
-%description -n mpc
-
-The Makefile, Project and Workspace Creator.
-Designed by Justin Michel (michel_j@ociweb.com) and Chad Elliott.
-Implemented by Chad Elliott (elliott_c@ociweb.com).
-
-A single tool (MPC) can be used to generate tool specific input (i.e.
-Makefile, dsp, vcproj, etc). The generator takes platform and building
-tool generic files (mpc files) as input which describe basic information
-needed to generate a "project" file for various build tools. These tools
-include Make, NMake, Visual C++ 6, Visual C++ 7, etc.
-
-# ---------------- tao ----------------
-
-%package -n tao
-Summary: The ACE ORB (TAO)
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace = %{ACEVER}
-
-%description -n tao
-
-TAO is a real-time implementation of CORBA built using the framework
-components and patterns provided by ACE. TAO contains the network
-interface, OS, communication protocol, and CORBA middleware components
-and features. TAO is based on the standard OMG CORBA reference model,
-with the enhancements designed to overcome the shortcomings of
-conventional ORBs for high-performance and real-time applications.
-
-# ---------------- tao-devel ----------------
-
-%package -n tao-devel
-Summary: Header files and development components for TAO
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: ace-devel = %{ACEVER}
-Requires: ace-gperf = %{ACEVER}
-
-%description -n tao-devel
-
-This package contains the components needed for developing programs
-using TAO.
-
-# ---------------- tao-utils ----------------
-
-%package -n tao-utils
-Summary: TAO naming service and IOR utilities
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-
-%description -n tao-utils
-
-This package includes programs to query or control a CORBA naming service,
-and to dump an IOR.
-
-The following programs are included:
-* tao-nslist, to list naming context and object bindings
-* tao-nsadd, to create bindings
-* tao-nsdel, to remove bindings
-* tao-catior, to dump the content of an Interoperable Object Reference
-
-# ---------------- tao-cosnaming ----------------
-
-%package -n tao-cosnaming
-Summary: The TAO CORBA Naming Service (CosNaming) and Interoperable Naming Service (INS)
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-cosnaming
-
-OMG defined CORBA Naming Service to provide a basic service location
-mechanism for CORBA systems. CosNaming manages a hierarchy of
-name-to-object-reference mappings. Anything, but typically the server
-process hosting an object, may bind an object reference with a name in
-the Naming Service by providing the name and object
-reference. Interested parties (typically clients) can then use the
-Naming Service to resolve a name to an object reference.
-
-More recently, CORBA Naming Service was subsumed/extended by the CORBA
-Interoperable Naming Service, a.k.a. INS. INS inherits all the
-functionality from the original Naming Service specification in
-addition to addressing some its shortcomings. In particular, INS
-defines a standard way for clients and servers to locate the Naming
-Service itself. It also allows the ORB to be administratively
-configured for bootstrapping to services not set up with the orb at
-install time.
-
-# ---------------- tao-cosevent ----------------
-
-%package -n tao-cosevent
-Summary: The TAO CORBA CosEvent Service
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-cosevent
-
-The CosEvent_Service is a COS compliant Event Service.
-
-The service is registered with the naming service with the name
-"CosEventService" . It exposes the <EventChannel> interface which can be
-used by suppliers and consumers to send and receive events.
-
-# ---------------- tao-cosnotification ----------------
-
-%package -n tao-cosnotification
-Summary: The TAO CORBA Notification Service
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-cosnotification
-
-The Notify_Service is a COS compliant Notification Service.
-
-The Notify_Service executable starts up a Notification Service factory
-and registers it with the Naming Service under the name
-"NotifyEventChannelFactory"
-
-# ---------------- tao-costrading ----------------
-
-%package -n tao-costrading
-Summary: The TAO CORBA Trading Service
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-costrading
-
-The Trading_Service is a COS compliant Trading Service.
-
-# ---------------- tao-rtevent ----------------
-
-%package -n tao-rtevent
-Summary: The TAO Real-time Event Service
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-rtevent
-
-The TAO Real-Time Event Service. This is a TAO specific service
-implementation
-
-# ---------------- tao-cosconcurrency ----------------
-
-%package -n tao-cosconcurrency
-Summary: The TAO CORBA Concurrency Service
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: tao = %{TAOVER}
-Requires: logrotate
-
-%description -n tao-cosconcurrency
-
-The CORBA Concurrency Service. One of the standard CORBA services.
-
-# ---------------- tao-flresource ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%package -n tao-flresource
-Summary: FlResource_Factory for creating FlReactor
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-flreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
-
-%description -n tao-flresource
-
-This factory is intended for creating FlReactor for ORB. This factory
-can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
-method which is usually done by TAO_FlResource_Loader.
-%endif
-
-# ---------------- tao-flresource-devel ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%package -n tao-flresource-devel
-Summary: Header files for development with FlResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-flreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-flresource = %{TAOVER}
-
-%description -n tao-flresource-devel
-
-This package contains the components needed for developing programs
-using the FlResource_Factory.
-%endif
-
-# ---------------- tao-qtresource ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%package -n tao-qtresource
-Summary: QtResource_Factory for creating QtReactor
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-qtreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
-
-%description -n tao-qtresource
-
-This factory is intended for creating QtReactor for ORB. This factory
-can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
-method which is usually done by TAO_QtResource_Loader.
-%endif
-
-# ---------------- tao-qtresource-devel ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%package -n tao-qtresource-devel
-Summary: Header files for development with QtResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-qtreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-qtresource = %{TAOVER}
-
-%description -n tao-qtresource-devel
-
-This package contains the components needed for developing programs
-using the QtResource_Factory.
-%endif
-
-# ---------------- tao-tkresource ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%package -n tao-tkresource
-Summary: TkResource_Factory for creating TkReactor
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-tkreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
-
-%description -n tao-tkresource
-
-This factory is intended for creating TkReactor for ORB. This factory
-can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
-method which is usually done by TAO_TkResource_Loader.
-%endif
-
-# ---------------- tao-tkresource-devel ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%package -n tao-tkresource-devel
-Summary: Header files for development with TkResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-tkreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-tkresource = %{TAOVER}
-
-%description -n tao-tkresource-devel
-
-This package contains the components needed for developing programs
-using the TkResource_Factory.
-%endif
-
-# ---------------- tao-xtresource ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%package -n tao-xtresource
-Summary: XtResource_Factory for creating XtReactor
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-xtreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
-
-%description -n tao-xtresource
-
-This factory is intended for creating XtReactor for ORB. This factory
-can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
-method which is usually done by TAO_XtResource_Loader.
-%endif
-
-# ---------------- tao-xtresource-devel ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%package -n tao-xtresource-devel
-Summary: Header files for development with XtResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries/C and C++
-Requires: ace-xtreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-xtresource = %{TAOVER}
-
-%description -n tao-xtresource-devel
-
-This package contains the components needed for developing programs
-using the XtResource_Factory.
-%endif
-
-# ================================================================
-# prep
-# ================================================================
-
-%prep
-%setup -q -n ACE_wrappers
-
-%if ! %skip_make
-
-export ACE_ROOT=`pwd`
-export TAO_ROOT=$ACE_ROOT/TAO
-export CIAO_ROOT=$TAO_ROOT/CIAO
-
-# patch0 and patch1 are applied a bit later
-
-#patch5 -p 1
-cat ${ACE_ROOT}/rpmbuild/ace-tao-orbsvcs-daemon.patch | patch -p 1
-
-# don't use patch8 until we verify wether needed
-
-%if %{?_with_autoconf:0}%{!?_with_autoconf:1}
-
-cat > $ACE_ROOT/ace/config.h << EOF
-EOF
-
-# If ipv6 support is indicated insert some lines into the config.h file
-#
-%if %{?_with_ipv6:1}%{!?_with_ipv6:0}
-cat >> $ACE_ROOT/ace/config.h << EOF
-#define ACE_HAS_IPV6
-#define ACE_USES_IPV4_IPV6_MIGRATION
-EOF
-%endif
-
-# If rnq support is indicated insert some lines into the config.h file
-%if %{?_with_rnq:1}%{!?_with_rnq:0}
-cat >> $ACE_ROOT/ace/config.h << EOF
-#define ACE_HAS_REACTOR_NOTIFICATION_QUEUE
-EOF
-%endif
-
-# Include platform include
-cat >> $ACE_ROOT/ace/config.h << EOF
-#include "ace/config-linux.h"
-EOF
-
-# platform_macros.GNU
-%if 0%{?suse_version}
-cat > $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-CCFLAGS += %optflags
-CFLAGS += %optflags
-EOF
-%endif
-
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-ssl = 1
-EOF
-
-%if 0%{?centos_version}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-gcc_template_instantiation_visibility = 1
-EOF
-%endif
-
-%if 0%{?fedora_version} >= 8
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-gcc_template_instantiation_visibility = 1
-EOF
-%endif
-
-%if 0%{?rhel_version} >= 500
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-gcc_template_instantiation_visibility = 1
-EOF
-%endif
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-xt = 1
-ace_xtreactor = 1
-x11 = 1
-tao_xtresource = 1
-EOF
-%endif
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-ace_tkreactor = 1
-tao_tkresource = 1
-tk = 1
-EOF
-%endif
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-fl = 1
-tao_flresource = 1
-ace_flreactor = 1
-EOF
-%endif
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-qt = 1
-gl = 1
-ace_qtreactor = 1
-tao_qtresource = 1
-EOF
-%endif
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?have_fox} == 1
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-fox = 1
-ace_foxreactor = 1
-tao_foxresource = 1
-%endif
-%endif
-
-# 64 bit machines need additional macro.
-%ifarch x86_64 ia64 ppc64 s390x
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-buildbits = 64
-EOF
-%endif
-
-%if %{?_with_opt:0}%{!?_with_opt:1}
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-optimize = 0
-EOF
-%else
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-optimize = 1
-EOF
-%endif
-
-cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
-EOF
-
-cat > $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
-ssl=1
-cidl=0
-EOF
-
-%if %{?_with_bzip2:1}%{!?_with_bzip2:0}
-cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
-bzip2 = 1
-EOF
-%endif
-
-%if %{?_with_zlib:1}%{!?_with_zlib:0}
-cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
-zlib = 1
-EOF
-%endif
-
-
-# We don't use default.features to enable ipv6 cause it conflicts w/
-# the config.h generated version. Config.h is superior because it is
-# shipped to the end-user machines and also defines
-# ACE_USES_IPV4_IPV6_MIGRATION which the default.features technique
-# does not seem to set.
-
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?have_fox} == 1
-cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
-fox=1
-EOF
-%endif
-%endif
-
-# Need to regenerate all of the GNUMakefiles ...
-(cd $ACE_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace TAO/TAO_ACE.mwc)
-
-%endif
-%endif
-
-# ================================================================
-# build
-# ================================================================
-
-%build
-
-export ACE_ROOT=`pwd`
-export TAO_ROOT=$ACE_ROOT/TAO
-export LD_LIBRARY_PATH=$ACE_ROOT/lib
-
-%if %skip_make
-cd .. && rm -rf ACE_wrappers && ln -s ACE_wrappers-BUILT ACE_wrappers
-%else
-%if %{?_with_autoconf:1}%{!?_with_autoconf:0}
-autoreconf -fi
-mkdir ../build
-cd ../build
-%if %{?_with_opt:0}%{!?_with_opt:1}
-%define my_optflags %{optflags} -O0
-%else
-%define my_optflags %{optflags}
-%endif
-
-export CXXFLAGS="%{my_optflags}"
-
-../ACE_wrappers/configure --prefix=/usr \
-%if %{?_with_ipv6:1}%{!?_with_ipv6:0}
- --enable-ipv4-ipv6 \
- --enable-ipv6 \
-%endif
-%if %{?_with_rnq:1}%{!?_with_rnq:0}
- --enable-ace-reactor-notification-queue \
-%endif
-%if %{?_with_qt:1}%{!?_with_qt:0}
- --enable-qt-reactor \
-%endif
-%if %{?_with_tk:1}%{!?_with_tk:0}
- --enable-tk-reactor \
-%endif
-%if %{?_with_xt:1}%{!?_with_xt:0}
- --enable-xt-reactor \
-%endif
-%if %{?_with_fl:1}%{!?_with_fl:0}
- --enable-fl-reactor \
-%endif
- --mandir=%{_mandir} \
- --libdir=%{_libdir}
-
-make %{?jobs:-j%jobs}
-%else
-
-MAKECMD="make %{?_smp_mflags}"
-
-# build ACE components
-for ace_comp in \
- ace \
- Kokyu \
- ACEXML \
- apps/gperf \
- protocols;
-do
- $MAKECMD -C $ACE_ROOT/$ace_comp;
-done
-
-# build TAO components
-$MAKECMD -C $TAO_ROOT/TAO_IDL
-$MAKECMD -C $TAO_ROOT/tao
-
-# Instead of "$MAKECMD -C $TAO_ROOT/orbsvcs" use the list from
-# $ACE_ROOT/orbsvcs/GNUmakefile less the performance-tests, tests and
-# examples.
-for orbsvcs_comp in \
- TAO_Service \
- orbsvcs \
- Trading_Service \
- Time_Service \
- Scheduling_Service \
- Notify_Service \
- Naming_Service \
- Logging_Service \
- LoadBalancer \
- LifeCycle_Service \
- ImplRepo_Service \
- IFR_Service \
- Fault_Notifier \
- Fault_Detector \
- FT_ReplicationManager \
- FTRT_Event_Service \
- Event_Service \
- Dump_Schedule \
- CosEvent_Service \
- Concurrency_Service;
-do
- $MAKECMD -C $TAO_ROOT/orbsvcs/$orbsvcs_comp;
-done
-
-$MAKECMD -C $TAO_ROOT/utils
-
-%endif
-%endif
-
-# ================================================================
-# install
-# ================================================================
-
-# For major releases the package version will be the shortened version
-# tuple and the shared-object version needs a placeholder '.0'
-%if %is_major_ver
-%define ACEVERSO %{ACEVER}.0
-%define TAOVERSO %{TAOVER}.0
-%define CIAOVERSO %{CIAOVER}.0
-%else
-%define ACEVERSO %{ACEVER}
-%define TAOVERSO %{TAOVER}
-%define CIAOVERSO %{CIAOVER}
-%endif
-
-%install
-
-export ACE_ROOT=`pwd`
-export TAO_ROOT=$ACE_ROOT/TAO
-
-%if ! %skip_make
-# cat %{SOURCE2} | patch -p 1
-# cat ${ACE_ROOT}/rpmbuild/ace-tao-macros.patch | patch -p 1
-%endif
-
-rm -rf %{buildroot}
-
-# make a new build root dir
-mkdir %{buildroot}
-
-# ---------------- Runtime Components ----------------
-
-# install shared libraries
-install -d %{buildroot}%{_libdir}
-
-# ACE + XML libraries
-INSTLIBS=`ls ${ACE_ROOT}/lib/libACE*.so.%{ACEVERSO}`
-install $INSTLIBS %{buildroot}%{_libdir}
-
-# ACE-Kokyu libraries
-INSTLIBS=`ls ${ACE_ROOT}/lib/libKokyu.so.%{ACEVERSO}`
-install $INSTLIBS %{buildroot}%{_libdir}
-
-# TAO libraries
-INSTLIBS=`ls ${ACE_ROOT}/lib/libTAO*.so.%{TAOVERSO}`
-install $INSTLIBS %{buildroot}%{_libdir}
-
-# Create un-versioned symbolic links for libraries
-(cd %{buildroot}%{_libdir} && \
- ls *.so.* | awk 'BEGIN{FS="."}{print "ln -sf " $0 " " $1 "." $2;}' | sh)
-
-# install binaries
-install -d %{buildroot}%{_sbindir}
-
-# Rename the service binaries:
-
-install ${ACE_ROOT}/TAO/orbsvcs/Naming_Service/Naming_Service \
- %{buildroot}%{_sbindir}/tao-cosnaming
-
-install ${ACE_ROOT}/TAO/orbsvcs/CosEvent_Service/CosEvent_Service \
- %{buildroot}%{_sbindir}/tao-cosevent
-
-install ${ACE_ROOT}/TAO/orbsvcs/Notify_Service/Notify_Service \
- %{buildroot}%{_sbindir}/tao-cosnotification
-
-install ${ACE_ROOT}/TAO/orbsvcs/Trading_Service/Trading_Service \
- %{buildroot}%{_sbindir}/tao-costrading
-
-install ${ACE_ROOT}/TAO/orbsvcs/Event_Service/Event_Service \
- %{buildroot}%{_sbindir}/tao-rtevent
-
-install ${ACE_ROOT}/TAO/orbsvcs/Concurrency_Service/Concurrency_Service \
- %{buildroot}%{_sbindir}/tao-cosconcurrency
-
-#Create directories
-for dir in cache log; do
- mkdir -p %{buildroot}%{_localstatedir}/${dir}/tao
-done
-
-# Create data files which will be ghosted.
-touch %{buildroot}%{_localstatedir}/cache/tao/tao-cosnaming.dat
-
-# Create data files which will be ghosted.
-for logfile in cosnaming cosconcurrency cosevent cosnotification costrading rtevent; do
- touch %{buildroot}%{_localstatedir}/log/tao/tao-${logfile}.log
-done
-
-# ---------------- Development Components ----------------
-
-# INSTHDR="cp --preserve=timestamps"
-INSTHDR="install -m 0644 -p"
-
-# install headers
-install -d %{buildroot}%{_includedir}
-( set +x
-echo "Building list of headers..."
-
-# Generate raw dependency output
-BASEHDR=`find \
- ace \
- ACEXML/common \
- ACEXML/parser/parser \
- Kokyu \
- TAO/tao \
- TAO/orbsvcs/orbsvcs \
- -name '*.h' -not -name 'config-*'`
-for j in $BASEHDR; do
- echo $j >> rawhdrs.log
- echo '#include <'$j'>' | \
- g++ -I . \
- -I protocols \
- -I TAO \
- -I TAO/orbsvcs \
- -I TAO/orbsvcs/orbsvcs \
- -x c++ - -MM -MF mmout 2>> rawhdrs.log && cat mmout || true;
-done > mmraw.list
-
-# Append IDL headers to the raw list.
-find \
- TAO/tao \
- TAO/orbsvcs/orbsvcs \
- -regex '.*\.p?idl$' >> mmraw.list
-
-# Cleanup dependency output:
-# remove '-:' sequences
-# change all sequences of whitespace into \n
-# remove leading './'
-# cannonicalize up to two levels of '/../../'
-# remove duplicates
-cat mmraw.list |\
- sed -e 's/^-://g' -e 's/\\//g' | \
- tr -s [:space:] "\n" | \
- sed -e 's#^./##g' | \
- sed -e 's#/[^/]\+/\.\./#/#g' -e 's#/[^/]\+/\.\./#/#g' | \
- sort -u > allhdrs.list
-
-# Add missing headers.
-echo ace/QtReactor/QtReactor.h >> allhdrs.list
-echo TAO/tao/QtResource/QtResource_Factory.h >> allhdrs.list
-echo TAO/tao/QtResource/QtResource_Loader.h >> allhdrs.list
-
-# Install headers and create header lists
-rm -f ace-headers.tmp
-rm -f acexml-headers.tmp
-rm -f kokyu-headers.tmp
-rm -f tao-headers.tmp
-
-for i in `cat allhdrs.list`; do
- case "$i" in
- protocols/ace/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/${i/protocols\/}`
- $INSTHDR $i %{buildroot}%{_includedir}/${i/protocols/}
- echo '%dir %{_includedir}/'`dirname ${i/protocols/}` >> ace-headers.tmp
- echo '%{_includedir}/'${i/protocols/} >> ace-headers.tmp
- ;;
- ace/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/$i`
- $INSTHDR $i %{buildroot}%{_includedir}/$i
- echo '%dir %{_includedir}/'`dirname $i` >> ace-headers.tmp
- echo '%{_includedir}/'$i >> ace-headers.tmp
- ;;
- ACEXML/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/$i`
- $INSTHDR $i %{buildroot}%{_includedir}/$i
- echo '%dir %{_includedir}/'`dirname $i` >> acexml-headers.tmp
- echo '%{_includedir}/'$i >> acexml-headers.tmp
- ;;
- Kokyu/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/$i`
- $INSTHDR $i %{buildroot}%{_includedir}/$i
- echo '%dir %{_includedir}/'`dirname $i` >> kokyu-headers.tmp
- echo '%{_includedir}/'$i >> kokyu-headers.tmp
- ;;
- TAO/tao/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/${i/TAO\/}`
- $INSTHDR $i %{buildroot}%{_includedir}/${i/TAO\/}
- echo '%dir %{_includedir}/'`dirname ${i/TAO\/}` >> tao-headers.tmp
- echo '%{_includedir}/'${i/TAO\/} >> tao-headers.tmp
- ;;
- TAO/orbsvcs/orbsvcs/*)
- mkdir -p `dirname %{buildroot}%{_includedir}/${i/TAO\/orbsvcs\/}`
- $INSTHDR $i %{buildroot}%{_includedir}/${i/TAO\/orbsvcs\/}
- echo '%dir %{_includedir}/'`dirname ${i/TAO\/orbsvcs\/}` >> tao-headers.tmp
- echo '%{_includedir}/'${i/TAO\/orbsvcs\/} >> tao-headers.tmp
- ;;
- *)
- # mkdir -p `dirname %{buildroot}%{_includedir}/$i`
- # $INSTHDR $i %{buildroot}%{_includedir}/$i
- echo $i
- ;;
- esac
-done
-
-echo '%defattr(-,root,root,-)' > ace-headers.list
-sort -u < ace-headers.tmp >> ace-headers.list
-rm -f ace-headers.tmp
-
-echo '%defattr(-,root,root,-)' > acexml-headers.list
-sort -u < acexml-headers.tmp >> acexml-headers.list
-rm -f acexml-headers.tmp
-
-echo '%defattr(-,root,root,-)' > kokyu-headers.list
-sort -u < kokyu-headers.tmp >> kokyu-headers.list
-rm -f kokyu-headers.tmp
-
-echo '%defattr(-,root,root,-)' > tao-headers.list
-sort -u < tao-headers.tmp >> tao-headers.list
-rm -f tao-headers.tmp
-)
-
-# install the TAO_IDL compiler
-install -d %{buildroot}%{_libdir}
-
-# NOTE - it appears that when TAO's build copies the files to the
-# ACE_ROOT/ace directory they get versioned with ACE's version number
-# rather then TAO's. Use the ACEVERSO macro for now ...
-install \
- ${ACE_ROOT}/lib/libTAO_IDL_BE.so.%{ACEVERSO} \
- ${ACE_ROOT}/lib/libTAO_IDL_FE.so.%{ACEVERSO} \
- %{buildroot}%{_libdir}
-
-(cd %{buildroot}%{_libdir} && ln -sf libTAO_IDL_BE.so.%{ACEVERSO} libTAO_IDL_BE.so)
-(cd %{buildroot}%{_libdir} && ln -sf libTAO_IDL_FE.so.%{ACEVERSO} libTAO_IDL_FE.so)
-
-install -d %{buildroot}%{_bindir}
-install ${ACE_ROOT}/bin/ace_gperf %{buildroot}%{_bindir}
-install ${ACE_ROOT}/bin/tao_idl %{buildroot}%{_bindir}
-install ${ACE_ROOT}/bin/tao_imr %{buildroot}%{_bindir}
-install ${ACE_ROOT}/bin/tao_ifr %{buildroot}%{_bindir}
-install ${ACE_ROOT}/bin/tao_catior %{buildroot}%{_bindir}/tao_catior
-install ${ACE_ROOT}/bin/tao_nsadd %{buildroot}%{_bindir}/tao_nsadd
-install ${ACE_ROOT}/bin/tao_nsdel %{buildroot}%{_bindir}/tao_nsdel
-install ${ACE_ROOT}/bin/tao_nslist %{buildroot}%{_bindir}/tao_nslist
-
-# ================================================================
-# Config & Options
-# ================================================================
-
-install -d %{buildroot}%{_sysconfdir}
-tar -jxvf ${ACE_ROOT}/rpmbuild/ace-tao-etc.tar.bz2 \
- -C %{buildroot}%{_sysconfdir}
-
-%if %{defined suse_version}
-tar -jxvf ${ACE_ROOT}/rpmbuild/ace-tao-init-suse.tar.bz2 \
- -C %{buildroot}%{_sysconfdir}
-mkdir -p %{buildroot}%{_localstatedir}/adm
-mv %{buildroot}%{_sysconfdir}/fillup-templates %{buildroot}%{_localstatedir}/adm/
-%else
-tar -jxvf ${ACE_ROOT}/rpmbuild/ace-tao-init-fedora.tar.bz2 \
- -C %{buildroot}%{_sysconfdir}
-%endif
-
-%if %{defined suse_version}
-pushd %{buildroot}%{_sysconfdir}/init.d
-for f in *; do
- ln -s /etc/init.d/$f %{buildroot}%{_sbindir}/rc${f}
-done
-popd
-%endif
-
-# ================================================================
-# Makefiles
-# ================================================================
-
-install -d %{buildroot}%{_datadir}
-install -d %{buildroot}%{_datadir}/ace
-install -d %{buildroot}%{_datadir}/ace/include
-install -d %{buildroot}%{_datadir}/ace/include/makeinclude
-install -d %{buildroot}%{_datadir}/mpc
-install -d %{buildroot}%{_datadir}/tao
-install -d %{buildroot}%{_datadir}/tao/orbsvcs
-install -d %{buildroot}%{_datadir}/tao/MPC
-
-for mk_macros in \
- all_in_one.GNU \
- component_check.GNU \
- macros.GNU \
- platform_g++_common.GNU \
- platform_linux.GNU \
- platform_linux_common.GNU \
- platform_macros.GNU \
- rules.bin.GNU \
- rules.common.GNU \
- rules.lib.GNU \
- rules.local.GNU \
- rules.nested.GNU \
- rules.nolocal.GNU \
- rules.nonested.GNU \
- wrapper_macros.GNU; do (
- install ${ACE_ROOT}/include/makeinclude/$mk_macros %{buildroot}%{_datadir}/ace/include/makeinclude)
-done
-
-install ${TAO_ROOT}/rules.tao.GNU %{buildroot}%{_datadir}/tao
-
-cp -a ${ACE_ROOT}/MPC/* %{buildroot}%{_datadir}/mpc
-
-install -d %{buildroot}%{_datadir}/ace/bin
-cp -a ${ACE_ROOT}/bin/DependencyGenerator %{buildroot}%{_datadir}/ace/bin
-cp -a ${ACE_ROOT}/bin/MakeProjectCreator %{buildroot}%{_datadir}/ace/bin
-install -d %{buildroot}%{_datadir}/ace/bin/PerlACE
-cp -a ${ACE_ROOT}/bin/PerlACE/* %{buildroot}%{_datadir}/ace/bin/PerlACE
-install ${ACE_ROOT}/bin/mpc.pl %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/mwc.pl %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/g++dep %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/depgen.pl %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/generate_export_file.pl %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/add_rel_link.sh %{buildroot}%{_datadir}/ace/bin
-install ${ACE_ROOT}/bin/{ACEutils,Uniqueid}.pm %{buildroot}%{_datadir}/ace/bin
-
-ln -sfn %{_includedir}/ace %{buildroot}%{_datadir}/ace
-ln -sfn %{_includedir}/tao %{buildroot}%{_datadir}/tao
-ln -sfn %{_includedir}/orbsvcs %{buildroot}%{_datadir}/tao/orbsvcs
-ln -sfn %{_libdir} %{buildroot}%{_datadir}/ace/lib
-
-cp -a ${TAO_ROOT}/MPC/* %{buildroot}%{_datadir}/tao/MPC
-
-# Set TAO_IDL setting for the user
-cat > %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp <<EOF
-TAO_IDL = %{_bindir}/tao_idl
-TAO_IDL_DEP = %{_bindir}/tao_idl
-EOF
-cat %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU >> %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp
-mv %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU
-
-
-install -d %{buildroot}%{_sysconfdir}/profile.d
-cat > %{buildroot}%{_sysconfdir}/profile.d/mpc.sh <<EOF
-MPC_ROOT=/usr/share/mpc
-export MPC_ROOT
-EOF
-cat > %{buildroot}%{_sysconfdir}/profile.d/ace-devel.sh <<EOF
-ACE_ROOT=/usr/share/ace
-export ACE_ROOT
-EOF
-cat > %{buildroot}%{_sysconfdir}/profile.d/tao-devel.sh <<EOF
-TAO_ROOT=/usr/share/tao
-export TAO_ROOT
-EOF
-
-# convenience symlinks
-ln -sfn %{_datadir}/ace/bin/mpc.pl %{buildroot}%{_bindir}/mpc.pl
-ln -sfn %{_datadir}/ace/bin/mwc.pl %{buildroot}%{_bindir}/mwc.pl
-
-# ================================================================
-# Manuals
-# ================================================================
-install -d %{buildroot}%{_mandir}
-install -d %{buildroot}%{_mandir}/man1
-install ${TAO_ROOT}/TAO_IDL/tao_idl.1 %{buildroot}%{_mandir}/man1
-install ${ACE_ROOT}/apps/gperf/ace_gperf.1 %{buildroot}%{_mandir}/man1
-install -d %{buildroot}%{_infodir}
-install ${ACE_ROOT}/apps/gperf/ace_gperf.info %{buildroot}%{_infodir}
-
-# ================================================================
-# Create lists of symlinked so's. We need two lists because we need
-# the unversioned symlinks in the runtime package for so's that can
-# be loaded in the svc.conf.
-# ================================================================
-
-# Make a list of all shared objects.
-(cd %{buildroot}/%{_libdir} && ls *.so | \
- awk '{ print "%{_libdir}/"$1; }' | \
- sort) > all-so.list
-
-# Make a list of likely svc.conf targets.
-(cd %{buildroot}/%{_libdir} && ls *.so | \
- nm --print-file-name *.so | \
- grep _make_ | \
- awk 'BEGIN { FS=":"} /^[^:]+:/ { print "%{_libdir}/"$1; }' | \
- sort -u) > rough-svc-so.list
-
-# Remove false positives (IMPORTANT keep this list sorted!)
-cat > falsepos-svc-so.list <<EOF
-%{_libdir}/libACE.so
-%{_libdir}/libTAO.so
-EOF
-comm -2 -3 rough-svc-so.list falsepos-svc-so.list > svc-so.list
-
-# Find the list of non-sv.conf target files.
-comm -2 -3 all-so.list svc-so.list > nonsvc-so.list
-
-# Generate file lists.
-grep libACE svc-so.list > ace-svc-so.list
-grep libACE nonsvc-so.list > ace-nonsvc-so.list
-grep libTAO svc-so.list > tao-svc-so.list
-grep libTAO nonsvc-so.list > tao-nonsvc-so.list
-
-# Concatenate file lists as neccessary
-cat tao-headers.list tao-nonsvc-so.list > tao-devel-files.list
-cat ace-headers.list ace-nonsvc-so.list > ace-devel-files.list
-
-# ================================================================
-# clean
-# ================================================================
-
-%clean
-rm -rf %{buildroot}
-
-# ================================================================
-# pre install
-# ================================================================
-
-# ---------------- tao-cosnaming ----------------
-
-%pre -n tao-cosnaming
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ---------------- tao-cosevent ----------------
-
-%pre -n tao-cosevent
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ---------------- tao-cosnotification ----------------
-
-%pre -n tao-cosnotification
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ---------------- tao-costrading ----------------
-
-%pre -n tao-costrading
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ---------------- tao-rtevent ----------------
-
-%pre -n tao-rtevent
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ---------------- tao-cosconcurrency ----------------
-
-%pre -n tao-cosconcurrency
-
-getent group tao >/dev/null || /usr/sbin/groupadd -r tao
-getent passwd tao >/dev/null || \
-/usr/sbin/useradd -r -g tao -d %{_sysconfdir}/tao -s /sbin/nologin \
- -c "TAO Services" tao
-exit 0
-
-# ================================================================
-# post install
-# ================================================================
-
-# ---------------- ace ----------------
-
-%post -n ace
-/sbin/ldconfig
-
-# ---------------- ace-devel ----------------
-
-%post -n ace-devel
-/sbin/ldconfig
-
-# ---------------- ace-xml ----------------
-
-%post -n ace-xml
-/sbin/ldconfig
-
-# ---------------- ace-gperf ----------------
-
-%post -n ace-gperf
-
-%if %{defined suse_version}
-%install_info --info-dir=%_infodir %_infodir/ace_gperf.info%{_extension}
-%else
-/sbin/install-info %{_infodir}/ace_gperf.info%{_extension} %{_infodir}/dir
-%endif
-
-# ---------------- ace-kokyu ----------------
-
-%post -n ace-kokyu
-/sbin/ldconfig
-
-# ---------------- ace-foxreactor ----------------
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if %{undefined suse_version} || 0%{?suse_version} = 1020
-%post -n ace-foxreactor
-/sbin/ldconfig
-%endif
-%endif
-
-# ---------------- ace-flreactor ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%post -n ace-flreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-qtreactor ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%post -n ace-qtreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-tkreactor ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%post -n ace-tkreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-xtreactor ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%post -n ace-xtreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- tao ----------------
-
-%post -n tao
-/sbin/ldconfig
-
-# ---------------- tao-devel ----------------
-
-%post -n tao-devel
-/sbin/ldconfig
-
-# ---------------- tao-utils ----------------
-
-%post -n tao-utils
-/sbin/ldconfig
-
-# ---------------- tao-cosnaming ----------------
-
-%post -n tao-cosnaming
-%if %{defined suse_version}
-%{fillup_and_insserv tao-cosnaming}
-%else
-/sbin/chkconfig --add tao-cosnaming
-%endif
-
-# ---------------- tao-cosevent ----------------
-
-%post -n tao-cosevent
-
-%if %{defined suse_version}
-%{fillup_and_insserv tao-cosevent}
-%else
-/sbin/chkconfig --add tao-cosevent
-%endif
-
-# ---------------- tao-cosnotification ----------------
-
-%post -n tao-cosnotification
-
-%if %{defined suse_version}
-%{fillup_and_insserv tao-cosnotification}
-%else
-/sbin/chkconfig --add tao-cosnotification
-%endif
-
-# ---------------- tao-costrading ----------------
-
-%post -n tao-costrading
-
-%if %{defined suse_version}
-%{fillup_and_insserv tao-costrading}
-%else
-/sbin/chkconfig --add tao-costrading
-%endif
-
-# ---------------- tao-rtevent ----------------
-
-%post -n tao-rtevent
-
-%if %{defined suse_version}
-%{fillup_and_insserv tao-rtevent}
-%else
-/sbin/chkconfig --add tao-rtevent
-%endif
-
-# ---------------- tao-cosconcurrency ----------------
-
-%post -n tao-cosconcurrency
-
-%if %{defined suse_version}
-%{fillup_and_insserv tao-cosconcurrency}
-%else
-/sbin/chkconfig --add tao-cosconcurrency
-%endif
-
-# ---------------- tao-flresource ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%post -n tao-flresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-qtresource ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%post -n tao-qtresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-tkresource ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%post -n tao-tkresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-xtresource ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%post -n tao-xtresource
-/sbin/ldconfig
-%endif
-
-# ================================================================
-# pre uninstall
-# ================================================================
-
-# ---------------- ace-gperf ----------------
-
-%preun -n ace-gperf
-
-if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_infodir}/ace_gperf.info%{_extension} %{_infodir}/dir
-fi
-
-# ---------------- tao-cosnaming ----------------
-
-%preun -n tao-cosnaming
-%if %{defined suse_version}
-%stop_on_removal tao-cosnaming
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-cosnaming stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-cosnaming
-fi
-%endif
-
-# ---------------- tao-cosevent ----------------
-
-%preun -n tao-cosevent
-
-%if %{defined suse_version}
-%stop_on_removal tao-cosevent
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-cosevent stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-cosevent
-fi
-%endif
-
-# ---------------- tao-cosnotification ----------------
-
-%preun -n tao-cosnotification
-
-%if %{defined suse_version}
-%stop_on_removal tao-cosnotification
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-cosnotification stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-cosnotification
-fi
-%endif
-
-# ---------------- tao-costrading ----------------
-
-%preun -n tao-costrading
-
-%if %{defined suse_version}
-%stop_on_removal tao-costrading
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-costrading stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-costrading
-fi
-%endif
-
-# ---------------- tao-rtevent ----------------
-
-%preun -n tao-rtevent
-
-%if %{defined suse_version}
-%stop_on_removal tao-rtevent
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-rtevent stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-rtevent
-fi
-%endif
-
-# ---------------- tao-cosconcurrency ----------------
-
-%preun -n tao-cosconcurrency
-
-%if %{defined suse_version}
-%stop_on_removal tao-cosconcurrency
-%else
-if [ $1 = 0 ]; then
- /sbin/service tao-cosconcurrency stop > /dev/null 2>&1
- /sbin/chkconfig --del tao-cosconcurrency
-fi
-%endif
-
-# ================================================================
-# post uninstall
-# ================================================================
-
-# ---------------- ace ----------------
-
-%postun -n ace
-/sbin/ldconfig
-
-# ---------------- ace-xml ----------------
-
-%postun -n ace-xml
-/sbin/ldconfig
-
-# ---------------- ace-kokyu ----------------
-
-%postun -n ace-kokyu
-/sbin/ldconfig
-
-# ---------------- ace-foxreactor ----------------
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%if 0%{?have_fox} == 1
-%postun -n ace-foxreactor
-/sbin/ldconfig
-%endif
-%endif
-
-# ---------------- ace-flreactor ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%postun -n ace-flreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-qtreactor ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%postun -n ace-qtreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-tkreactor ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%postun -n ace-tkreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- ace-xtreactor ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%postun -n ace-xtreactor
-/sbin/ldconfig
-%endif
-
-# ---------------- tao ----------------
-
-%postun -n tao
-/sbin/ldconfig
-
-# ---------------- tao-devel ----------------
-
-%postun -n tao-devel
-/sbin/ldconfig
-
-# ---------------- tao-utils ----------------
-
-%postun -n tao-utils
-/sbin/ldconfig
-
-# ---------------- tao-cosnaming ----------------
-
-%postun -n tao-cosnaming
-
-%if %{defined suse_version}
-%restart_on_update tao-cosnaming
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosnaming %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-cosevent ----------------
-
-%postun -n tao-cosevent
-
-%if %{defined suse_version}
-%restart_on_update tao-cosevent
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosevent %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-cosnotification ----------------
-
-%postun -n tao-cosnotification
-
-%if %{defined suse_version}
-%restart_on_update tao-cosnotification
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosnotification %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-costrading ----------------
-
-%postun -n tao-costrading
-
-%if %{defined suse_version}
-%restart_on_update tao-costrading
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-costrading %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-rtevent ----------------
-
-%postun -n tao-rtevent
-
-%if %{defined suse_version}
-%restart_on_update tao-rtevent
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-rtevent %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-cosconcurrency ----------------
-
-%postun -n tao-cosconcurrency
-
-%if %{defined suse_version}
-%restart_on_update tao-cosconcurrency
-%insserv_cleanup
-%else
-if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosconcurrency %{cond_restart} > /dev/null 2>&1
-fi
-%endif
-
-# ---------------- tao-flresource ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%postun -n tao-flresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-qtresource ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%postun -n tao-qtresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-tkresource ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%postun -n tao-tkresource
-/sbin/ldconfig
-%endif
-
-# ---------------- tao-xtresource ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%postun -n tao-xtresource
-/sbin/ldconfig
-%endif
-
-# ================================================================
-# files
-# ================================================================
-
-# ---------------- ace ----------------
-
-%files -n ace
-%defattr(-,root,root,-)
-%{_libdir}/libACE.so.%{ACEVERSO}
-%{_libdir}/libACE_ETCL_Parser.so.%{ACEVERSO}
-%{_libdir}/libACE_ETCL.so.%{ACEVERSO}
-%{_libdir}/libACE_HTBP.so.%{ACEVERSO}
-%{_libdir}/libACE_Monitor_Control.so.%{ACEVERSO}
-%{_libdir}/libACE_RMCast.so.%{ACEVERSO}
-%{_libdir}/libACE_TMCast.so.%{ACEVERSO}
-%{_libdir}/libACE_SSL.so.%{ACEVERSO}
-
-%doc ACE-INSTALL.html
-%doc AUTHORS
-%doc COPYING
-%doc FAQ
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc THANKS
-%doc VERSION
-
-# ---------------- ace-devel ----------------
-
-%files -n ace-devel -f ace-devel-files.list
-%defattr(-,root,root,-)
-%{_libdir}/libACE.so
-%{_libdir}/libACE_ETCL_Parser.so
-%{_libdir}/libACE_ETCL.so
-%{_libdir}/libACE_HTBP.so
-%{_libdir}/libACE_Monitor_Control.so
-%{_libdir}/libACE_RMCast.so
-%{_libdir}/libACE_TMCast.so
-%{_libdir}/libACE_SSL.so
-%dir %{_datadir}/ace
-%{_datadir}/ace/include
-%{_datadir}/ace/include/makeinclude
-%{_datadir}/ace/bin
-%{_datadir}/ace/ace
-%{_datadir}/ace/lib
-%config %{_sysconfdir}/profile.d/ace-devel.sh
-
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%exclude %{_includedir}/ace/FoxReactor/FoxReactor.h
-%exclude %{_includedir}/ace/FoxReactor/ACE_FoxReactor_export.h
-%endif
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%exclude %{_includedir}/ace/FlReactor/FlReactor.h
-%exclude %{_includedir}/ace/FlReactor/ACE_FlReactor_export.h
-%endif
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%exclude %{_includedir}/ace/QtReactor/QtReactor.h
-%exclude %{_includedir}/ace/QtReactor/ACE_QtReactor_export.h
-%endif
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%exclude %{_includedir}/ace/TkReactor/TkReactor.h
-%exclude %{_includedir}/ace/TkReactor/ACE_TkReactor_export.h
-%endif
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%exclude %{_includedir}/ace/XtReactor/XtReactor.h
-%exclude %{_includedir}/ace/XtReactor/ACE_XtReactor_export.h
-%endif
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-xml ----------------
-
-%files -n ace-xml
-%defattr(-,root,root,-)
-%{_libdir}/libACEXML*.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-gperf ----------------
-
-%files -n ace-gperf
-%defattr(-,root,root,-)
-%{_bindir}/ace_gperf
-%attr(0644,root,root) %{_mandir}/man1/ace_gperf.1%{_extension}
-%attr(0644,root,root) %{_infodir}/ace_gperf.info%{_extension}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-xml-devel ----------------
-
-%files -n ace-xml-devel -f acexml-headers.list
-%defattr(-,root,root,-)
-%{_libdir}/libACEXML*.so
-
-# These get missed by the automatic list generator because they
-# contain no immediate files.
-%dir %{_includedir}/ACEXML/parser
-%dir %{_includedir}/ACEXML
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-kokyu ----------------
-
-%files -n ace-kokyu
-%defattr(-,root,root,-)
-%{_libdir}/libKokyu.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-kokyu-devel ----------------
-
-%files -n ace-kokyu-devel -f kokyu-headers.list
-%defattr(-,root,root,-)
-%{_libdir}/libKokyu.so
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-# ---------------- ace-foxreactor ----------------
-
-%if 0%{?have_fox} == 1
-%if %{?_with_fox:1}%{!?_with_fox:0}
-%files -n ace-foxreactor
-%defattr(-,root,root,-)
-%{_libdir}/libACE_FoxReactor.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-%endif
-# ---------------- ace-flreactor ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-
-%files -n ace-flreactor
-%defattr(-,root,root,-)
-%{_libdir}/libACE_FlReactor.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-flreactor-devel ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-
-%files -n ace-flreactor-devel
-%defattr(-,root,root,-)
-%dir %{_includedir}/ace/FlReactor
-%{_libdir}/libACE_FlReactor.so
-%{_includedir}/ace/FlReactor/FlReactor.h
-%{_includedir}/ace/FlReactor/ACE_FlReactor_export.h
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-qtreactor ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-
-%files -n ace-qtreactor
-%defattr(-,root,root,-)
-%{_libdir}/libACE_QtReactor.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-qtreactor-devel ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-
-%files -n ace-qtreactor-devel
-%defattr(-,root,root,-)
-%{_libdir}/libACE_QtReactor.so
-%dir %{_includedir}/ace/QtReactor
-%{_includedir}/ace/QtReactor/QtReactor.h
-%{_includedir}/ace/QtReactor/ACE_QtReactor_export.h
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-tkreactor ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-
-%files -n ace-tkreactor
-%defattr(-,root,root,-)
-%{_libdir}/libACE_TkReactor.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-tkreactor-devel ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-
-%files -n ace-tkreactor-devel
-%defattr(-,root,root,-)
-%{_libdir}/libACE_TkReactor.so
-%dir %{_includedir}/ace/TkReactor
-%{_includedir}/ace/TkReactor/TkReactor.h
-%{_includedir}/ace/TkReactor/ACE_TkReactor_export.h
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-xtreactor ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-
-%files -n ace-xtreactor
-%defattr(-,root,root,-)
-%{_libdir}/libACE_XtReactor.so.%{ACEVERSO}
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- ace-xtreactor-devel ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-
-%files -n ace-xtreactor-devel
-%defattr(-,root,root,-)
-%{_libdir}/libACE_XtReactor.so
-%dir %{_includedir}/ace/XtReactor
-%{_includedir}/ace/XtReactor/XtReactor.h
-%{_includedir}/ace/XtReactor/ACE_XtReactor_export.h
-
-%doc AUTHORS
-%doc COPYING
-%doc PROBLEM-REPORT-FORM
-%doc README
-%doc VERSION
-
-%endif
-
-# ---------------- mpc ----------------
-
-%files -n mpc
-%defattr(-,root,root,-)
-%{_datadir}/mpc
-%config %{_sysconfdir}/profile.d/mpc.sh
-%{_bindir}/mpc.pl
-%{_bindir}/mwc.pl
-
-# ---------------- tao ----------------
-
-# NOTE - Some of the TAO service modules need to be found by dlopen at
-# runtime. Currently this means these specific .so files need to be
-# shipped in the runtime package instead of the devel package.
-
-%files -n tao -f tao-svc-so.list
-%defattr(-,root,root,-)
-%{_datadir}/tao
-
-%{_libdir}/libTAO*.so.%{TAOVERSO}
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%exclude %{_libdir}/libTAO_FlResource.so*
-%endif
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%exclude %{_libdir}/libTAO_QtResource.so*
-%endif
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%exclude %{_libdir}/libTAO_TkResource.so*
-%endif
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%exclude %{_libdir}/libTAO_XtResource.so*
-%endif
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/TAO-INSTALL.html
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-devel ----------------
-
-# NOTE - Some of the TAO service modules need to be found by dlopen at
-# runtime. Currently this means these specific .so files need to be
-# shipped in the runtime package instead of the devel package.
-
-%files -n tao-devel -f tao-devel-files.list
-%defattr(-,root,root,-)
-%config %{_sysconfdir}/profile.d/tao-devel.sh
-
-%{_libdir}/libTAO_IDL_FE.so.%{ACEVERSO}
-%{_libdir}/libTAO_IDL_BE.so.%{ACEVERSO}
-
-%{_bindir}/tao_imr
-%{_bindir}/tao_ifr
-%{_datadir}/tao/MPC
-%{_bindir}/tao_idl
-%attr(0644,root,root) %doc %{_mandir}/man1/tao_idl.1%{_extension}
-%{_datadir}/tao/tao
-%{_datadir}/tao/orbsvcs
-
-# These get missed by the automatic list generator because they
-# contain no immediate files.
-%dir %{_includedir}/orbsvcs/FtRtEvent
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-%exclude %{_includedir}/tao/FlResource/FlResource_Factory.h
-%exclude %{_includedir}/tao/FlResource/FlResource_Loader.h
-%exclude %{_includedir}/tao/FlResource/TAO_FlResource_Export.h
-%exclude %{_libdir}/libTAO_FlResource.so
-%endif
-%if %{?_with_qt:1}%{!?_with_qt:0}
-%exclude %{_includedir}/tao/QtResource/QtResource_Factory.h
-%exclude %{_includedir}/tao/QtResource/QtResource_Loader.h
-%exclude %{_includedir}/tao/QtResource/TAO_QtResource_Export.h
-%exclude %{_libdir}/libTAO_QtResource.so
-%endif
-%if %{?_with_tk:1}%{!?_with_tk:0}
-%exclude %{_includedir}/tao/TkResource/TkResource_Factory.h
-%exclude %{_includedir}/tao/TkResource/TkResource_Loader.h
-%exclude %{_includedir}/tao/TkResource/TAO_TkResource_Export.h
-%exclude %{_libdir}/libTAO_TkResource.so
-%endif
-%if %{?_with_xt:1}%{!?_with_xt:0}
-%exclude %{_includedir}/tao/XtResource/XtResource_Factory.h
-%exclude %{_includedir}/tao/XtResource/XtResource_Loader.h
-%exclude %{_includedir}/tao/XtResource/TAO_XtResource_Export.h
-%exclude %{_libdir}/libTAO_XtResource.so
-%endif
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-utils ----------------
-
-%files -n tao-utils
-%defattr(-,root,root,-)
-
-%{_bindir}/tao_catior
-%{_bindir}/tao_nsadd
-%{_bindir}/tao_nsdel
-%{_bindir}/tao_nslist
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-cosnaming ----------------
-
-%files -n tao-cosnaming
-%defattr(-,root,root,-)
-
-%dir %{_sysconfdir}/tao
-
-%{_sbindir}/tao-cosnaming
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-cosnaming
-%{_sbindir}/rctao-cosnaming
-%{_localstatedir}/adm/fillup-templates/tao-cosnaming
-%else
-%{_sysconfdir}/rc.d/init.d/tao-cosnaming
-%config(noreplace) %{_sysconfdir}/tao/tao-cosnaming.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-cosnaming.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosnaming
-%attr(-,tao,tao) %dir %{_localstatedir}/cache/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/cache/tao/tao-cosnaming.dat
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-cosnaming.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-cosevent ----------------
-
-%files -n tao-cosevent
-%defattr(-,root,root,-)
-
-%dir %{_sysconfdir}/tao
-%{_sbindir}/tao-cosevent
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-cosevent
-%{_sbindir}/rctao-cosevent
-%{_localstatedir}/adm/fillup-templates/tao-cosevent
-%else
-%{_sysconfdir}/rc.d/init.d/tao-cosevent
-%config(noreplace) %{_sysconfdir}/tao/tao-cosevent.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-cosevent.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosevent
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-cosevent.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-cosnotification ----------------
-
-%files -n tao-cosnotification
-%defattr(-,root,root,-)
-
-%{_sbindir}/tao-cosnotification
-%dir %{_sysconfdir}/tao
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-cosnotification
-%{_sbindir}/rctao-cosnotification
-%{_localstatedir}/adm/fillup-templates/tao-cosnotification
-%else
-%{_sysconfdir}/rc.d/init.d/tao-cosnotification
-%config(noreplace) %{_sysconfdir}/tao/tao-cosnotification.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-cosnotification.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosnotification
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-cosnotification.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-costrading ----------------
-
-%files -n tao-costrading
-%defattr(-,root,root,-)
-
-%dir %{_sysconfdir}/tao
-
-%{_sbindir}/tao-costrading
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-costrading
-%{_sbindir}/rctao-costrading
-%{_localstatedir}/adm/fillup-templates/tao-costrading
-%else
-%{_sysconfdir}/rc.d/init.d/tao-costrading
-%config(noreplace) %{_sysconfdir}/tao/tao-costrading.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-costrading.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-costrading
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-costrading.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-rtevent ----------------
-
-%files -n tao-rtevent
-%defattr(-,root,root,-)
-
-%dir %{_sysconfdir}/tao
-%{_sbindir}/tao-rtevent
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-rtevent
-%{_sbindir}/rctao-rtevent
-%{_localstatedir}/adm/fillup-templates/tao-rtevent
-%else
-%{_sysconfdir}/rc.d/init.d/tao-rtevent
-%config(noreplace) %{_sysconfdir}/tao/tao-rtevent.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-rtevent.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-rtevent
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-rtevent.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-cosconcurrency ----------------
-
-%files -n tao-cosconcurrency
-%defattr(-,root,root,-)
-
-%dir %{_sysconfdir}/tao
-%{_sbindir}/tao-cosconcurrency
-
-%if %{defined suse_version}
-%{_sysconfdir}/init.d/tao-cosconcurrency
-%{_sbindir}/rctao-cosconcurrency
-%{_localstatedir}/adm/fillup-templates/tao-cosconcurrency
-%else
-%{_sysconfdir}/rc.d/init.d/tao-cosconcurrency
-%config(noreplace) %{_sysconfdir}/tao/tao-cosconcurrency.opt
-%endif
-
-%config(noreplace) %{_sysconfdir}/tao/tao-cosconcurrency.conf
-%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosconcurrency
-%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
-%attr(0644,tao,tao) %ghost %{_localstatedir}/log/tao/tao-cosconcurrency.log
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-# ---------------- tao-flresource ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-
-%files -n tao-flresource
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_FlResource.so.%{TAOVERSO}
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-flresource-devel ----------------
-
-%if %{?_with_fl:1}%{!?_with_fl:0}
-
-%files -n tao-flresource-devel
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_FlResource.so
-%dir %{_includedir}/tao
-%{_includedir}/tao/FlResource/FlResource_Factory.h
-%{_includedir}/tao/FlResource/FlResource_Loader.h
-%{_includedir}/tao/FlResource/TAO_FlResource_Export.h
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-qtresource ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-
-%files -n tao-qtresource
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_QtResource.so.%{TAOVERSO}
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-qtresource-devel ----------------
-
-%if %{?_with_qt:1}%{!?_with_qt:0}
-
-%files -n tao-qtresource-devel
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_QtResource.so
-%dir %{_includedir}/tao
-%{_includedir}/tao/QtResource/QtResource_Factory.h
-%{_includedir}/tao/QtResource/QtResource_Loader.h
-%{_includedir}/tao/QtResource/TAO_QtResource_Export.h
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-tkresource ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-
-%files -n tao-tkresource
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_TkResource.so.%{TAOVERSO}
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-tkresource-devel ----------------
-
-%if %{?_with_tk:1}%{!?_with_tk:0}
-
-%files -n tao-tkresource-devel
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_TkResource.so
-%dir %{_includedir}/tao
-%{_includedir}/tao/TkResource/TkResource_Factory.h
-%{_includedir}/tao/TkResource/TkResource_Loader.h
-%{_includedir}/tao/TkResource/TAO_TkResource_Export.h
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-xtresource ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-
-%files -n tao-xtresource
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_XtResource.so.%{TAOVERSO}
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ---------------- tao-xtresource-devel ----------------
-
-%if %{?_with_xt:1}%{!?_with_xt:0}
-
-%files -n tao-xtresource-devel
-%defattr(-,root,root,-)
-%{_libdir}/libTAO_XtResource.so
-%dir %{_includedir}/tao
-%{_includedir}/tao/XtResource/XtResource_Factory.h
-%{_includedir}/tao/XtResource/XtResource_Loader.h
-%{_includedir}/tao/XtResource/TAO_XtResource_Export.h
-
-%doc TAO/COPYING
-%doc TAO/PROBLEM-REPORT-FORM
-%doc TAO/VERSION
-%doc TAO/README
-
-%endif
-
-# ================================================================
-# changelog
-# ================================================================
-
-%changelog
-* Fri Aug 22 2008 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.5-1
-- Initial version. Be aware that this is a subversion snapshot, almost
- 5.6.6
diff --git a/rpmbuild/ace-tao-config.patch b/rpmbuild/ace-tao-config.patch
deleted file mode 100644
index ad4cd5e4a3f..00000000000
--- a/rpmbuild/ace-tao-config.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ACE_wrappers/ace/config.h~ 2008-07-05 16:23:04.000000000 -0700
-+++ ACE_wrappers/ace/config.h 2008-07-05 16:29:10.000000000 -0700
-@@ -9,6 +9,8 @@
- #define ACE_CONFIG_LINUX_H
- #include /**/ "ace/pre.h"
-
-+#define TAO_IDL_INCLUDE_DIR "/usr/include/tao"
-+
- #define ACE_PLATFORM_CONFIG config-linux.h
-
- #include "ace/config-linux-common.h"
diff --git a/rpmbuild/ace-tao-etc.tar.bz2 b/rpmbuild/ace-tao-etc.tar.bz2
deleted file mode 100644
index 98d6018c23d..00000000000
--- a/rpmbuild/ace-tao-etc.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/rpmbuild/ace-tao-etc.tar.gz b/rpmbuild/ace-tao-etc.tar.gz
deleted file mode 100644
index add6e3f8f42..00000000000
--- a/rpmbuild/ace-tao-etc.tar.gz
+++ /dev/null
Binary files differ
diff --git a/rpmbuild/ace-tao-init-fedora.tar.bz2 b/rpmbuild/ace-tao-init-fedora.tar.bz2
deleted file mode 100644
index e058dcf837a..00000000000
--- a/rpmbuild/ace-tao-init-fedora.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency
new file mode 100755
index 00000000000..d1d84e8f8a4
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO Concurrency Service.
+# processname: tao-cosconcurrency
+# config: /etc/tao/tao-cosconcurrency.opt
+# config: /etc/tao/tao-cosconcurrency.conf
+# pidfile: /var/run/tao-cosconcurrency.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-cosconcurrency.opt
+
+RETVAL=0
+
+prog="tao-cosconcurrency"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent
new file mode 100755
index 00000000000..01d702abe3d
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO CosEvent Service.
+# processname: tao-cosevent
+# config: /etc/tao/tao-cosevent.opt
+# config: /etc/tao/tao-cosevent.conf
+# pidfile: /var/run/tao-cosevent.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-cosevent.opt
+
+RETVAL=0
+
+prog="tao-cosevent"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming
new file mode 100755
index 00000000000..2722d7a58ac
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 80 15
+# description: Starts and stops the TAO Naming Service.
+# processname: tao-cosnaming
+# config: /etc/tao/tao-cosnaming.opt
+# config: /etc/tao/tao-cosnaming.conf
+# pidfile: /var/run/tao-cosnaming.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-cosnaming.opt
+
+RETVAL=0
+
+prog="tao-cosnaming"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification
new file mode 100755
index 00000000000..c933fd8d66d
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO Notify Service.
+# processname: tao-cosnotification
+# config: /etc/tao/tao-cosnotification.opt
+# config: /etc/tao/tao-cosnotification.conf
+# pidfile: /var/run/tao-cosnotification.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-cosnotification.opt
+
+RETVAL=0
+
+prog="tao-cosnotification"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading
new file mode 100755
index 00000000000..d16146e19c1
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO Trading Service.
+# processname: tao-costrading
+# config: /etc/tao/tao-costrading.opt
+# config: /etc/tao/tao-costrading.conf
+# pidfile: /var/run/tao-costrading.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-costrading.opt
+
+RETVAL=0
+
+prog="tao-costrading"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent
new file mode 100755
index 00000000000..43d2e038ed7
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO Event Service.
+# processname: tao-rtevent
+# config: /etc/tao/tao-rtevent.opt
+# config: /etc/tao/tao-rtevent.conf
+# pidfile: /var/run/tao-rtevent.pid
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source configuration options
+. /etc/tao/tao-rtevent.opt
+
+RETVAL=0
+
+prog="tao-rtevent"
+progpath="/usr/sbin/$prog"
+svcconf="/etc/tao/${prog}.conf"
+lockpath="/var/lock/subsys/$prog"
+pidpath="/var/run/${prog}.pid"
+
+start()
+{
+ echo -n $"Starting $prog: "
+ daemon --user tao $progpath -p $pidpath $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $lockpath
+ echo
+}
+
+stop()
+{
+ echo -n $"Stopping $prog: "
+ killproc $progpath -TERM
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f $lockpath
+ rm -f $pidpath
+ fi
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $prog
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ condrestart)
+ if [ -f $lockpath ]; then
+ stop
+ start
+ RETVAL=$?
+ fi
+ ;;
+ reload)
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-cosconcurrency.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-cosconcurrency.opt
new file mode 100644
index 00000000000..3322b4e0976
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-cosconcurrency.opt
@@ -0,0 +1,11 @@
+# Specify desired default initial references arguments
+INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-d -ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-cosconcurrency.log"
+
+# Concatenate all options
+OPTIONS="$INITREF $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-cosevent.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-cosevent.opt
new file mode 100644
index 00000000000..b0eba7f99a6
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-cosevent.opt
@@ -0,0 +1,11 @@
+# Specify desired default initial references arguments
+INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-cosevent.log"
+
+# Concatenate all options
+OPTIONS="$INITREF $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-cosnaming.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-cosnaming.opt
new file mode 100644
index 00000000000..79b4dcec707
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-cosnaming.opt
@@ -0,0 +1,17 @@
+# Specify desired endpoint arguments
+ENDPOINT="-ORBListenEndpoints iiop://:2809"
+
+# Location of persistance data file, comment out to disable persistance.
+PERSISTFILE="-f /var/cache/tao/tao-cosnaming.dat"
+
+# Enable multicast discovery, comment out to disable.
+#MULTICAST="-m 1"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-cosnaming.log"
+
+# Concatenate all options
+OPTIONS="$ENDPOINT $PERSISTFILE $MULTICAST $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-cosnotification.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-cosnotification.opt
new file mode 100644
index 00000000000..d9294994039
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-cosnotification.opt
@@ -0,0 +1,11 @@
+# Specify desired default initial references arguments
+INITREF="-ORBDefaultInitRef corbaloc::localhost:2809 -NameSvc"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-cosnotification.log"
+
+# Concatenate all options
+OPTIONS="$INITREF $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-costrading.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-costrading.opt
new file mode 100644
index 00000000000..acd2b382f25
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-costrading.opt
@@ -0,0 +1,11 @@
+# Specify desired endpoint arguments
+INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-costrading.log"
+
+# Concatenate all options
+OPTIONS="$INITREF $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-fedora/tao/tao-rtevent.opt b/rpmbuild/ace-tao-init-fedora/tao/tao-rtevent.opt
new file mode 100644
index 00000000000..084c50c39b6
--- /dev/null
+++ b/rpmbuild/ace-tao-init-fedora/tao/tao-rtevent.opt
@@ -0,0 +1,11 @@
+# Specify desired default initial references arguments
+INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+# Enable debug logging, comment out to disable.
+#DEBUGLEVEL="-ORBDebugLevel 10"
+
+# Configure log file
+LOGFILE="-ORBLogFile /var/log/tao/tao-rtevent.log"
+
+# Concatenate all options
+OPTIONS="$INITREF $DEBUGLEVEL $LOGFILE"
diff --git a/rpmbuild/ace-tao-init-suse.tar.bz2 b/rpmbuild/ace-tao-init-suse.tar.bz2
deleted file mode 100644
index b47355194a5..00000000000
--- a/rpmbuild/ace-tao-init-suse.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency b/rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency
new file mode 100755
index 00000000000..d55c72b0558
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# /etc/init.d/tao-cosconcurrency
+# and its symbolic link
+# /(usr/)sbin/rctao-cosconcurrency
+#
+# system startup script for service/daemon tao-cosconcurrency
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: tao-cosconcurrency
+# Required-Start: $syslog $remote_fs tao-cosnaming
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs
+# Should-Stop: $time ypbind smtp tao-cosnaming
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO Concurrency Service.
+# Description: Start tao-cosconcurrency, the TAO Concurrency Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_COSCONCURRENCY_BIN=/usr/sbin/tao-cosconcurrency
+
+test -x $TAO_COSCONCURRENCY_BIN || { echo "$TAO_COSCONCURRENCY_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_COSCONCURRENCY_CONFIG=/etc/tao/tao-cosconcurrency
+
+test -r $TAO_COSCONCURRENCY_CONFIG || { echo "$TAO_COSCONCURRENCY_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_COSCONCURRENCY_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+prog=tao-cosconcurrency
+OPTIONS="$TAO_COSCONCUR_INITREF $TAO_COSCONCUR_DEBUGLEVEL $TAO_COSCONCUR_LOGFILE"
+svcconf="/etc/tao/${prog}.conf"
+svcname="TAO concurrency service"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_COSCONCURRENCY_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_COSCONCURRENCY_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reload $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_COSCONCURRENCY_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reload $svcname "
+ /sbin/killproc -HUP $TAO_COSCONCURRENCY_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_COSCONCURRENCY_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/tao-cosconcurrency.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-cosevent b/rpmbuild/ace-tao-init-suse/init.d/tao-cosevent
new file mode 100755
index 00000000000..fefdf0dad41
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-cosevent
@@ -0,0 +1,199 @@
+#!/bin/bash
+#
+# chkconfig: - 81 14
+# description: Starts and stops the TAO CosEvent Service.
+# processname: tao-cosevent
+# config: /etc/tao/tao-cosevent.opt
+# config: /etc/tao/tao-cosevent.conf
+# pidfile: /var/run/tao-cosevent.pid
+# /etc/init.d/TAO-cosevent
+# and its symbolic link
+# /(usr/)sbin/rcTAO-cosevent
+#
+# system startup script for service/daemon TAO-cosconcurrency
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: TAO-cosconcurrency
+# Required-Start: $syslog $remote_fs TAO-cosnaming
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs TAO-cosnaming
+# Should-Stop: $time ypbind smtp
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO CosEvent Service.
+# Description: Start tao-cosevent, the TAO CosEvent Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_COSEVENT_BIN=/usr/sbin/tao-cosevent
+
+test -x $TAO_COSEVENT_BIN || { echo "$TAO_COSEVENT_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_COSEVENT_CONFIG=/etc/tao/tao-cosevent
+
+test -r $TAO_COSEVENT_CONFIG || { echo "$TAO_COSEVENT_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_COSEVENT_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+# Source configuration options
+prog=tao-cosevent
+OPTIONS="$TAO_COSEVENT_INITREF $TAO_COSEVENT_DEBUGLEVEL $TAO_COSEVENT_LOGFILE"
+svcconf="/etc/tao/${prog}.conf"
+svcname="TAO event service"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_COSEVENT_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_COSEVENT_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reloading $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_COSEVENT_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reloading $svcname "
+ /sbin/killproc -HUP $TAO_COSEVENT_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_COSEVENT_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/TAO-cosevent.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming b/rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming
new file mode 100755
index 00000000000..90009676334
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# /etc/init.d/tao-cosnaming
+# and its symbolic link
+# /(usr/)sbin/rctao-cosnaming
+#
+# system startup script for service/daemon tao-cosnaming
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: tao-cosnaming
+# Required-Start: $syslog $remote_fs
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs
+# Should-Stop: $time ypbind smtp
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO Naming Service.
+# Description: Start tao-cosnaming, the TAO Naming Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_COSNAMING_BIN=/usr/sbin/tao-cosnaming
+
+test -x $TAO_COSNAMING_BIN || { echo "$TAO_COSNAMING_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_COSNAMING_CONFIG=/etc/tao/tao-cosnaming
+
+test -r $TAO_COSNAMING_CONFIG || { echo "$TAO_COSNAMING_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_COSNAMING_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+prog=tao-cosnaming
+svcname="TAO naming service"
+svcconf=/etc/tao/${prog}.conf
+OPTIONS="$TAO_COSNAMING_ENDPOINT $TAO_COSNAMING_PERSISTFILE $TAO_COSNAMING_MULTICAST $TAO_COSNAMING_DEBUG $TAO_COSNAMING_LOGFILE"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_COSNAMING_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_COSNAMING_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reloading $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_COSNAMING_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reloading $svcname "
+ /sbin/killproc -HUP $TAO_COSNAMING_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_COSNAMING_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/tao-cosnaming.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification b/rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification
new file mode 100755
index 00000000000..57fe9576b5f
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# /etc/init.d/tao-cosnotification
+# and its symbolic link
+# /(usr/)sbin/rctao-cosnotification
+#
+# system startup script for service/daemon tao-cosnotification
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: tao-cosnotification
+# Required-Start: $syslog $remote_fs tao-cosnaming
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs tao-cosnaming
+# Should-Stop: $time ypbind smtp
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO Notification Service.
+# Description: Start tao-cosnotification, the TAO Notification Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_COSNOTIFICATION_BIN=/usr/sbin/tao-cosnotification
+
+test -x $TAO_COSNOTIFICATION_BIN || { echo "$TAO_COSNOTIFICATION_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_COSNOTIFICATION_CONFIG=/etc/tao/tao-cosnotification
+
+test -r $TAO_COSNOTIFICATION_CONFIG || { echo "$TAO_COSNOTIFICATION_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_COSNOTIFICATION_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+svcname="TAO notification service"
+prog=TAO-cosnotification
+svcconf="/etc/tao/${prog}.conf"
+OPTIONS="$TAO_COSNOTE_INITREF $TAO_COSNOTE_DEBUGLEVEL $TAO_COSNOTE_LOGFILE"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_COSNOTIFICATION_BIN -ORBDaemon $OPTIONS -ORBSvcConf $svcconf
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_COSNOTIFICATION_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reloading $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_COSNOTIFICATION_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reloading $svcname "
+ /sbin/killproc -HUP $TAO_COSNOTIFICATION_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_COSNOTIFICATION_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/tao-cosnotification.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-costrading b/rpmbuild/ace-tao-init-suse/init.d/tao-costrading
new file mode 100755
index 00000000000..ccb2fee0909
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-costrading
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# /etc/init.d/tao-cosnotification
+# and its symbolic link
+# /(usr/)sbin/rctao-cosnotification
+#
+# system startup script for service/daemon TAO-cosnotification
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: tao-costrading
+# Required-Start: $syslog $remote_fs tao-cosnaming
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs tao-cosnaming
+# Should-Stop: $time ypbind smtp
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO Trading Service.
+# Description: Start tao-costrading, the TAO Trading Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_COSTRADING_BIN=/usr/sbin/tao-costrading
+
+test -x $TAO_COSTRADING_BIN || { echo "$TAO_COSTRADING_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_COSTRADING_CONFIG=/etc/tao/tao-costrading
+
+test -r $TAO_COSTRADING_CONFIG || { echo "$TAO_COSTRADING_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_COSTRADING_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+prog=tao-costrading
+svcname="TAO trading service"
+svcconf="/etc/tao/${prog}.conf"
+OPTIONS="$TAO_COSTRADING_INITREF $TAO_COSTRADING_DEBUGLEVEL $TAO_COSTRADING_LOGFILE"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_COSTRADING_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_COSTRADING_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reloading $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_COSTRADING_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reloading $svcname "
+ /sbin/killproc -HUP $TAO_COSTRADING_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_COSTRADING_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/tao-costrading.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent b/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent
new file mode 100755
index 00000000000..b3e7ca7a2cc
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# /etc/init.d/tao-rtevent
+# and its symbolic link
+# /(usr/)sbin/rctao-rtevent
+#
+# system startup script for service/daemon TAO-rtevent
+#
+# LSB compatible service control script; see http://www.linuxbase.org/spec/
+#
+### BEGIN INIT INFO
+# Provides: TAO-rtevent
+# Required-Start: $syslog $remote_fs tao-cosnaming
+# Should-Start: $time ypbind smtp
+# Required-Stop: $syslog $remote_fs tao-cosnaming
+# Should-Stop: $time ypbind smtp
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts and stops the TAO Trading Service.
+# Description: Start tao-costrading, the TAO Trading Service.
+### END INIT INFO
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+TAO_RTEVENT_BIN=/usr/sbin/tao-rtevent
+
+test -x $TAO_RTEVENT_BIN || { echo "$TAO_RTEVENT_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+TAO_RTEVENT_CONFIG=/etc/tao/tao-rtevent
+
+test -r $TAO_RTEVENT_CONFIG || { echo "$TAO_RTEVENT_CONFIG not existing";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 6; fi; }
+
+# Read config
+. $TAO_RTEVENT_CONFIG
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+prog=tao-rtevent
+svcname="TAO event service"
+svcconf=/etc/tao/${prog}.conf
+OPTIONS="$TAO_RTEVENT_INITREF $TAO_RTEVENT_DEBUGLEVEL $TAO_RTEVENT_LOGFILE"
+
+case "$1" in
+ start)
+ echo -n "Starting $svcname: "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc $TAO_RTEVENT_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down $svcname: "
+ ## Stop daemon with killproc(8) and if this fails
+ ## killproc sets the return value according to LSB.
+
+ /sbin/killproc -TERM $TAO_RTEVENT_BIN
+
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ force-reload)
+ ## Signal the daemon to reload its config. Most daemons
+ ## do this on signal 1 (SIGHUP).
+ ## If it does not support it, restart the service if it
+ ## is running.
+
+ echo -n "Reloading $svcname "
+ ## if it supports it:
+ /sbin/killproc -HUP $TAO_RTEVENT_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise:
+ #$0 try-restart
+ #rc_status
+ ;;
+ reload)
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+
+ # If it supports signaling:
+ echo -n "Reloading $svcname "
+ /sbin/killproc -HUP $TAO_RTEVENT_BIN
+ #touch /var/run/FOO.pid
+ rc_status -v
+
+ ## Otherwise if it does not support reload:
+ #rc_failed 3
+ #rc_status -v
+ ;;
+ status)
+ echo -n "Checking for $svcname "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ # Return value is slightly different for the status command:
+ # 0 - service up and running
+ # 1 - service dead, but /var/run/ pid file exists
+ # 2 - service dead, but /var/lock/ lock file exists
+ # 3 - service not running (unused)
+ # 4 - service status unknown :-(
+ # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
+
+ # NOTE: checkproc returns LSB compliant status values.
+ /sbin/checkproc $TAO_RTEVENT_BIN
+ # NOTE: rc_status knows that we called this init script with
+ # "status" option and adapts its messages accordingly.
+ rc_status -v
+ ;;
+ probe)
+ ## Optional: Probe for the necessity of a reload, print out the
+ ## argument to this init script which is required for a reload.
+ ## Note: probe is not (yet) part of LSB (as of 1.9)
+
+ test $svcconf -nt /var/run/tao-rtevent.pid && echo reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
+rc_exit
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency b/rpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency
new file mode 100755
index 00000000000..3db9ca68639
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-cosconcurrency
@@ -0,0 +1,23 @@
+## Path: Network/tao-cosconcurrency
+## Description: TAO Concurrency service settings
+#
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809"
+## ServiceRestart: tao-cosconcurrency
+#
+# Specify desired default initial references arguments
+TAO_COSCONCUR_INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+## Type string
+## Default: "-d -ORBDebugLevel 10"
+## ServiceRestart: tao-cosconcurrency
+#
+# Enable debug logging, set to "" to disable
+TAO_COSCONCUR_DEBUGLEVEL="-d -ORBDebugLevel 10"
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-cosconcurrency.log"
+## ServiceRestart: tao-cosconcurrency
+#
+# Configure log file
+TAO_COSCONCUR_LOGFILE="-ORBLogFile /var/log/tao/tao-cosconcurrency.log"
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-cosevent b/rpmbuild/ace-tao-init-suse/tao/tao-cosevent
new file mode 100755
index 00000000000..4920d28382e
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-cosevent
@@ -0,0 +1,23 @@
+## Path: Network/tao-cosevent
+## Description: TAO Event service settings
+#
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809"
+## ServiceRestart: tao-cosnaming
+#
+# Specify desired default initial references arguments
+TAO_COSEVENT_INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+## Type string
+## Default: ""
+## ServiceRestart: tao-cosnaming
+#
+# Enable debug logging, set to "-ORBDebugLevel 10" to enable.
+TAO_COSEVENT_DEBUGLEVEL=""
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-cosevent.log"
+## ServiceRestart: tao-cosnaming
+#
+# Configure log file
+TAO_COSEVENT_LOGFILE="-ORBLogFile /var/log/tao/tao-cosevent.log"
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-cosnaming b/rpmbuild/ace-tao-init-suse/tao/tao-cosnaming
new file mode 100755
index 00000000000..bf22c1974db
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-cosnaming
@@ -0,0 +1,37 @@
+## Path: Network/tao-cosnaming
+## Description: TAO Naming service settings
+#
+## Type string
+## Default: "-ORBListenEndpoints iiop://:2809"
+## ServiceRestart: tao-cosnaming
+#
+# Specify desired endpoint arguments
+TAO_COSNAMING_ENDPOINT="-ORBListenEndpoints iiop://:2809"
+
+## Type string
+## Default: "-f /var/cache/tao/tao-cosnaming.dat"
+## ServiceRestart: tao-cosnaming
+#
+# Location of persistance data file, comment out to disable persistance.
+TAO_COSNAMING_PERSISTFILE="-f /var/cache/tao/tao-cosnaming.dat"
+
+## Type string
+## Default: ""
+## ServiceRestart: tao-cosnaming
+#
+# Enable multicast discovery, set to "-m 1" to enable
+TAO_COSNAMING_MULTICAST=""
+
+## Type string
+## Default: ""
+## ServiceRestart: tao-cosnaming
+#
+# Enable debug logging, set to "-ORBDebugLevel 10" to enable.
+TAO_COSNAMING_DEBUG=""
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-cosnaming.log"
+## ServiceRestart: tao-cosnaming
+#
+# Configure log file
+TAO_COSNAMING_LOGFILE="-ORBLogFile /var/log/tao/tao-cosnaming.log"
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-cosnotification b/rpmbuild/ace-tao-init-suse/tao/tao-cosnotification
new file mode 100755
index 00000000000..3501d02a003
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-cosnotification
@@ -0,0 +1,23 @@
+## Path: Network/tao-cosnotification
+## Description: TAO Notification service settings
+#
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809 -NameSvc"
+## ServiceRestart: tao-cosnotification
+#
+# Specify desired default initial references arguments
+TAO_COSNOTE_INITREF="-ORBDefaultInitRef corbaloc::localhost:2809 -NameSvc"
+
+## Type string
+## Default: ""
+## ServiceRestart: tao-cosnotification
+#
+# Enable debug logging, set to "-ORBDebugLevel 10" to enable.
+TAO_COSNOTE_DEBUGLEVEL=""
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-cosnotification.log"
+## ServiceRestart: tao-cosnotification
+#
+# Configure log file
+TAO_COSNOTE_LOGFILE="-ORBLogFile /var/log/tao/tao-cosnotification.log"
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-costrading b/rpmbuild/ace-tao-init-suse/tao/tao-costrading
new file mode 100755
index 00000000000..edb136a7564
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-costrading
@@ -0,0 +1,23 @@
+## Path: Network/tao-costrading
+## Description: TAO Trading service settings
+#
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809"
+## ServiceRestart: tao-costrading
+#
+# Specify desired endpoint arguments
+TAO_COSTRADING_INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+## Type string
+## Default: ""
+## ServiceRestart: tao-costrading
+#
+# Debug logging, set to "-ORBDebugLevel 10" to enable.
+TAO_COSTRADING_DEBUGLEVEL=""
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-costrading.log"
+## ServiceRestart: tao-costrading
+#
+# Configure log file
+TAO_COSTRADING_LOGFILE="-ORBLogFile /var/log/tao/tao-costrading.log"
diff --git a/rpmbuild/ace-tao-init-suse/tao/tao-rtevent b/rpmbuild/ace-tao-init-suse/tao/tao-rtevent
new file mode 100755
index 00000000000..1939fb54500
--- /dev/null
+++ b/rpmbuild/ace-tao-init-suse/tao/tao-rtevent
@@ -0,0 +1,24 @@
+## Path: Network/tao-rtevent
+## Description: TAO Event service settings
+#
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809"
+## ServiceRestart: tao-rtevent
+#
+# Specify desired default initial references arguments
+TAO_RTEVENT_INITREF="-ORBDefaultInitRef corbaloc::localhost:2809"
+
+## Type string
+## Default: "-ORBDefaultInitRef corbaloc::localhost:2809"
+## ServiceRestart: tao-rtevent
+#
+# Enable debug logging, set to "-ORBDebugLevel 10" to enable.
+TAO_RTEVENT_DEBUGLEVEL=""
+
+## Type string
+## Default: "-ORBLogFile /var/log/tao/tao-rtevent.log"
+## ServiceRestart: tao-rtevent
+#
+# Configure log file
+TAO_RTEVENT_LOGFILE="-ORBLogFile /var/log/tao/tao-rtevent.log"
+
diff --git a/rpmbuild/ace-tao-orbsvcs-daemon.patch b/rpmbuild/ace-tao-orbsvcs-daemon.patch
deleted file mode 100644
index cd047a64aca..00000000000
--- a/rpmbuild/ace-tao-orbsvcs-daemon.patch
+++ /dev/null
@@ -1,421 +0,0 @@
---- ACE_wrappers/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp~ 2008-03-28 07:36:30.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/orbsvcs/Naming/Naming_Server.cpp 2008-05-31 16:30:08.000000000 -0700
-@@ -276,6 +276,7 @@
- ACE_TEXT ("-m <1=enable multicast, 0=disable multicast(default) ")
- ACE_TEXT ("%s")
- ACE_TEXT ("-z <relative round trip timeout> ")
-+ ACE_TEXT ("--daemon [run in background as daemon] ")
- ACE_TEXT ("\n"),
- argv [0], reqNonMinCorba),
- -1);
---- ACE_wrappers/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp~ 2008-07-05 14:39:32.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp 2008-07-05 15:46:01.000000000 -0700
-@@ -161,6 +161,7 @@
- ACE_TEXT ("-b [send callBacks on disconnect] ")
- ACE_TEXT ("-t [enable typed event channel]")
- ACE_TEXT ("-d [destroy typed event channelon shutdown] ")
-+ ACE_TEXT ("--daemon [run in background as daemon] ")
- ACE_TEXT ("\n"),
- argv[0]));
- #else
-@@ -172,6 +173,7 @@
- ACE_TEXT ("-x [disable naming service bind] ")
- ACE_TEXT ("-r [rebind, no AlreadyBound failures] ")
- ACE_TEXT ("-b [send callBacks on disconnect] ")
-+ ACE_TEXT ("--daemon [run in background as daemon] ")
- ACE_TEXT ("\n"),
- argv[0]));
- #endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
---- ACE_wrappers/TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.cpp~ 2008-06-03 09:45:24.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/orbsvcs/Trader/Trading_Loader.cpp 2008-07-05 15:46:01.000000000 -0700
-@@ -20,6 +20,7 @@
- #include "tao/default_ports.h"
- #include "tao/IORTable/IORTable.h"
-
-+#include "ace/Get_Opt.h"
- #include "ace/Dynamic_Service.h"
- #include "ace/Arg_Shifter.h"
- #include "ace/Argv_Type_Converter.h"
-@@ -28,6 +29,43 @@
-
- ACE_RCSID (Trader, Trading_Loader, "$Id$")
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- TAO_Trading_Loader::TAO_Trading_Loader (void)
- : federate_ (0),
- ior_output_file_ (0),
-@@ -85,6 +123,12 @@
- // Copy command line parameter.
- ACE_Argv_Type_Converter command_line(argc, argv);
-
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (command_line.get_argc(),
-+ command_line.get_TCHAR_argv());
-+
- // Initialize the ORB Manager
- this->orb_manager_.init (command_line.get_argc(),
- command_line.get_ASCII_argv());
---- ACE_wrappers/TAO/orbsvcs/Event_Service/Event_Service.cpp~ 2007-04-17 05:03:07.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/Event_Service/Event_Service.cpp 2008-05-31 16:37:24.000000000 -0700
-@@ -22,6 +22,43 @@
- Event_Service,
- "$Id$")
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- int ACE_TMAIN (int argc, ACE_TCHAR* argv[])
- {
- bool use_thread_per_consumer = false;
-@@ -69,6 +106,12 @@
- // Make a copy of command line parameter.
- ACE_Argv_Type_Converter command(argc, argv);
-
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (command.get_argc(),
-+ command.get_TCHAR_argv());
-+
- // Initialize ORB.
- this->orb_ =
- CORBA::ORB_init (command.get_argc(), command.get_ASCII_argv(), "");
-@@ -392,6 +435,7 @@
- ACE_TEXT("-q ec_object_id ")
- ACE_TEXT("-x [disable naming service bind] ")
- ACE_TEXT("-b [use bidir giop] ")
-+ ACE_TEXT("--daemon [run in background as daemon] ")
- ACE_TEXT("\n"),
- argv[0]));
- return -1;
---- ACE_wrappers/TAO/orbsvcs/Naming_Service/Naming_Service.cpp~ 2008-07-05 14:39:33.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/Naming_Service/Naming_Service.cpp 2008-07-05 15:56:58.000000000 -0700
-@@ -7,6 +7,43 @@
-
- ACE_RCSID(Naming_Service, Naming_Service, "$Id$")
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- // Default Constructor.
-
- TAO_Naming_Service::TAO_Naming_Service (void)
-@@ -30,6 +67,11 @@
-
- try
- {
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (argc, argv);
-+
- // Initialize the ORB
- this->orb_ =
- CORBA::ORB_init (argc, argv);
---- ACE_wrappers/TAO/orbsvcs/CosEvent_Service/CosEvent_Service.cpp~ 2007-01-25 10:04:11.000000000 -0800
-+++ ACE_wrappers/TAO/orbsvcs/CosEvent_Service/CosEvent_Service.cpp 2008-05-31 16:07:37.000000000 -0700
-@@ -12,6 +12,43 @@
- CosEvent_Service,
- "$Id$")
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- int
- ACE_TMAIN (int argc, ACE_TCHAR* argv[])
- {
-@@ -22,6 +59,12 @@
- // Copy command line parameter.
- ACE_Argv_Type_Converter command_line(argc, argv);
-
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (command_line.get_argc(),
-+ command_line.get_TCHAR_argv());
-+
- // Intialize the ORB
- CORBA::ORB_var orb =
- CORBA::ORB_init (command_line.get_argc(), command_line.get_ASCII_argv(), 0);
---- ACE_wrappers/TAO/orbsvcs/Concurrency_Service/Concurrency_Service.cpp~ 2008-07-05 14:39:38.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/Concurrency_Service/Concurrency_Service.cpp 2008-07-05 15:46:01.000000000 -0700
-@@ -15,6 +15,7 @@
-
- #include "Concurrency_Service.h"
-
-+#include "ace/Get_Opt.h"
- #include "ace/Argv_Type_Converter.h"
- #include "tao/debug.h"
- #include "ace/OS_main.h"
-@@ -25,6 +26,43 @@
- Concurrency_Service,
- "$Id$")
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- // Default Constructor.
-
- Concurrency_Service::Concurrency_Service (void)
-@@ -75,6 +113,7 @@
- ACE_TEXT("usage: %s")
- ACE_TEXT(" [-d]")
- ACE_TEXT(" [-o] <ior_output_file>")
-+ ACE_TEXT(" [--daemon]")
- ACE_TEXT("\n"),
- argv[0]),
- 1);
-@@ -95,6 +134,12 @@
- // Copy command line parameter.
- ACE_Argv_Type_Converter command_line(argc, argv);
-
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (command_line.get_argc(),
-+ command_line.get_TCHAR_argv());
-+
- if (this->orb_manager_.init_child_poa (command_line.get_argc(),
- command_line.get_ASCII_argv(),
- "child_poa") == -1)
---- ACE_wrappers/TAO/orbsvcs/Notify_Service/Notify_Service.cpp~ 2008-07-05 14:39:33.000000000 -0700
-+++ ACE_wrappers/TAO/orbsvcs/Notify_Service/Notify_Service.cpp 2008-07-05 15:58:45.000000000 -0700
-@@ -19,6 +19,43 @@
- #include "ace/Synch.h"
- #include "ace/Argv_Type_Converter.h"
-
-+// Check for "--daemon" option and daemonize if present.
-+namespace
-+{
-+ void check_for_daemon (int &argc, ACE_TCHAR* argv[])
-+ {
-+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("-"));
-+ get_opts.long_option("daemon");
-+ int c;
-+
-+ while ((c = get_opts ()) != -1)
-+ {
-+ switch (c)
-+ {
-+ case 0:
-+ {
-+ // Daemonize, parent exits, child returns here.
-+ ACE::daemonize();
-+
-+ // Remove the option from argv []
-+ // to avoid any confusion that might result.
-+ for (int i = get_opts.opt_ind (); i != argc; ++i)
-+ argv [i-1 ] = argv [i];
-+
-+ // Decrement the value of argc to reflect the removal
-+ // of the option.
-+ argc = argc - 1;
-+ break;
-+ }
-+ case '?':
-+ default:
-+ // Don't do anything ... much more parsing elsewhere.
-+ break;
-+ }
-+ }
-+ }
-+}
-+
- TAO_Notify_Service_Driver::TAO_Notify_Service_Driver (void)
- : notify_service_ (0)
- , bootstrap_ (false)
-@@ -46,6 +83,12 @@
- // Copy command line parameter.
- ACE_Argv_Type_Converter command_line(argc, argv);
-
-+ // Instead of using -ORBDaemon we check for a "--daemon" flag
-+ // explicitly. This allows us to daemonize early, before
-+ // calling ORB_init.
-+ check_for_daemon (command_line.get_argc(),
-+ command_line.get_TCHAR_argv());
-+
- this->orb_ = CORBA::ORB_init (command_line.get_argc(),
- command_line.get_ASCII_argv());
-
-@@ -460,6 +503,7 @@
- "-Boot -[No]NameSvc "
- "-IORoutput file_name "
- "-Channel -ChannelName channel_name "
-+ "--daemon "
- "-ORBRunThreads threads "
- "-Timeout <msec>\n"
- "default: %s -Factory NotifyEventChannelFactory "
diff --git a/rpmbuild/ace-tao-rpmlintrc.txt b/rpmbuild/ace-tao-rpmlintrc
index b9a2cd279c2..0c4de34e6c5 100644
--- a/rpmbuild/ace-tao-rpmlintrc.txt
+++ b/rpmbuild/ace-tao-rpmlintrc
@@ -1,5 +1,4 @@
-# This line is mandatory to access the configuration functions
-from Config import *
+# This line is mandatory to access the configuration functions from Config import *
addFilter("tao.* devel-file-in-non-devel-package")
addFilter("ace-kokyu.* shlib-policy-name-error")
diff --git a/rpmbuild/ace-tao.spec b/rpmbuild/ace-tao.spec
index 984e8e74fb2..1836874f435 100644
--- a/rpmbuild/ace-tao.spec
+++ b/rpmbuild/ace-tao.spec
@@ -1,79 +1,175 @@
# Set the version number here.
-%define ACEVER 5.6.8
-%define TAOVER 1.6.8
-%define CIAOVER 0.6.8
-# Set is_major_ver if the version is X.Y instead X.Y.Z
+%define ACEVER 5.7.8
+%define TAOVER 1.7.8
+%define CIAOVER 0.7.8
# Conditional build
-# Default values are --with guilibs (fltk, tk ,xt and qt support)
+# Default values are
# --with rnq (ACE_HAS_REACTOR_NOTIFICATION_QUEUE)
# --with ipv6 (IPv6 support)
# --with opt (Optimized build)
+# --with zlib (Zlib compressor)
+# --with bzip2 (Bzip2 compressor)
+# --with autoconf (Use autoconf to build)
+# --with fltk (ftlk support)
+# --with tk (tk support)
+# --with xt (xt support)
+# --with fox (fox support)
+# --with qt (qt support)
#
# Read: If neither macro exists, then add the default definition.
-%{!?_with_guilibs: %{!?_without_guilibs: %define _with_guilibs --with-guilibs}}
%{!?_with_rnq: %{!?_without_rnq: %define _with_rnq --with-rnq}}
%{!?_with_ipv6: %{!?_without_ipv6: %define _with_ipv6 --with-ipv6}}
%{!?_with_opt: %{!?_without_opt: %define _with_opt --with-opt}}
+%{!?_with_zlib: %{!?_without_zlib: %define _with_zlib --with-zlib}}
+%{!?_with_bzip2: %{!?_without_bzip2: %define _with_bzip2 --with-bzip2}}
+%{!?_with_autoconf: %{!?_without_autoconf: %define _without_autoconf --without-autoconf}}
+%{!?_with_ftlk: %{!?_without_ftlk: %define _without_ftlk --without-ftlk}}
+%{!?_with_tk: %{!?_without_tk: %define _without_tk --without-tk}}
+%{!?_with_xt: %{!?_without_xt: %define _without_xt --without-xt}}
+%{!?_with_fox: %{!?_without_fox: %define _without_fox --without-fox}}
+%{!?_with_qt: %{!?_without_qt: %define _without_qt --without-qt}}
#
# Read: It's an error if both or neither required options exist.
-%{?_with_guilibs: %{?_without_guilibs: %{error: both _with_guilibs and _without_guilibs}}}
%{?_with_rnq: %{?_without_rnq: %{error: both _with_rnq and _without_rnq}}}
%{?_with_ipv6: %{?_without_ipv6: %{error: both _with_ipv6 and _without_ipv6}}}
%{?_with_opt: %{?_without_opt: %{error: both _with_opt and _without_opt}}}
+%{?_with_zlib: %{?_without_zlib: %{error: both _with_zlib and _without_zlib}}}
+%{?_with_bzip2: %{?_without_bzip2: %{error: both _with_bzip2 and _without_bzip2}}}
+%{?_with_autoconf: %{?_without_autoconf: %{error: both _with_autoconf and _without_autoconf}}}
+%{?_with_fltk: %{?_without_fltk: %{error: both _with_fltk and _without_fltk}}}
+%{?_with_tk: %{?_without_tk: %{error: both _with_tk and _without_tk}}}
+%{?_with_xt: %{?_without_xt: %{error: both _with_xt and _without_xt}}}
+%{?_with_fox: %{?_without_fox: %{error: both _with_fox and _without_fox}}}
+%{?_with_qt: %{?_without_qt: %{error: both _with_qt and _without_qt}}}
%{!?skip_make:%define skip_make 0}
%{!?make_nosrc:%define make_nosrc 0}
-%{!?is_major_ver:%define is_major_ver 0}
-# I think Mandrake sets this to .bz2, but Fedora doesn't seem to set it
-%{!?_extension:%define _extension .gz}
+%define have_fox 0
%if %{?_with_opt:0}%{!?_with_opt:1}
%define OPTTAG .O0
%endif
-Summary: The ADAPTIVE Communication Environment (ACE) and The ACE ORB (TAO)
-Name: ace-tao
-Version: %{ACEVER}
-Release: 1%{?OPTTAG}%{?dist}
-Group: Development/Libraries
-URL: http://www.cs.wustl.edu/~schmidt/ACE.html
-License: DOC License
-Source0: http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-%{ACEVER}.tar.bz2
-## Source1: ace-tao-etc.tar.gz
-## Source2: ace-tao-macros.patch
-## Patch0: ace-tao-config.patch
-## Patch5: ace-tao-orbsvcs-daemon.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Requires(post): /sbin/install-info, /sbin/install-info
+Summary: The ADAPTIVE Communication Environment (ACE) and The ACE ORB (TAO)
+Name: ace-tao
+Version: %{ACEVER}
+Release: 1%{?OPTTAG}%{?dist}
+Group: Development/Libraries/C and C++
+URL: http://www.cs.wustl.edu/~schmidt/ACE.html
+License: DOC License
+Source0: http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-src-%{ACEVER}.tar.gz
+Source1: ace-tao-rpmlintrc
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+%if 0%{?centos_version}
+%define _extension .gz
+%endif
+
+%if 0%{?fedora_version}
+%define _extension .gz
+%endif
+
+%if 0%{?rhel_version}
+%define _extension .gz
+%endif
+
+%if 0%{?suse_version}
+%define _extension .gz
+%endif
+
+%if !0%{?suse_version}
+Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires(postun): /sbin/ldconfig
+%else
+PreReq: %install_info_prereq %insserv_prereq %fillup_prereq
+PreReq: pwdutils
+%endif
+
+BuildRequires: openssl-devel
+BuildRequires: gcc-c++
+BuildRequires: libstdc++-devel
+BuildRequires: lsb
+
+%if %{?_with_zlib:1}%{!?_with_zlib:0}
+BuildRequires: zlib-devel
+%endif
+
+%if %{?_with_bzip2:1}%{!?_with_bzip2:0}
+BuildRequires: bzip2
+%endif
-BuildRequires: openssl-devel
+%if 0%{?mandriva_version}
+BuildRequires: sendmail
+%endif
+
+BuildRequires: perl
# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
-BuildRequires: perl
-BuildRequires: fltk-devel
-BuildRequires: tcl-devel
-BuildRequires: tk-devel
-BuildRequires: tk
+%if %{?_with_fltk:1}%{!?_with_fltk:0}
+BuildRequires: fltk-devel
+%define fltk_pac ace-flreactor
+%endif
+
+%if %{?_with_tk:1}%{!?_with_tk:0}
+BuildRequires: tcl-devel
+BuildRequires: tk-devel
+BuildRequires: tk
+%define tk_pac ace-tkreactor
+%define tao_tk_pac tao-tkresource
+%endif
+
+%if %{?_with_qt:1}%{!?_with_qt:0}
+%define qt_pack ace-qtreactor
+%define tao_qt_pac tao-qtresource
# qt3 has a name change in F9
-%if 0%{?fedora} > 8
-BuildRequires: qt3-devel
+%if 0%{?fedora_version} > 8
+%define qtpacname qt3
%else
-BuildRequires: qt-devel
+%define qtpacname qt
+%endif
+
+%if 0%{?suse_version}
+%define qtpacname qt3
%endif
+BuildRequires: %{qtpacname}-devel
+%endif
+
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?suse_version} == 1020
+BuildRequires: fox16-devel
+%endif
+%define fox_pac ace_foxreactor
+%endif
+
+%if %{?_with_xt:1}%{!?_with_xt:0}
# The xorg package naming scheme changed, use specific files for now.
# old -> BuildRequires: xorg-x11-devel
# new -> BuildRequires: libX11-devel
# BuildRequires: %{_libdir}/libX11.so
# BuildRequires: %{_libdir}/libXt.so
+%define xt_pac ace-xtreactor
+%define tao_xt_pac tao-xtresource
+%endif
+
+%if %{?_with_fl:1}%{!?_with_fl:0}
+%define tao_fl_pac tao-flresource
+%endif
+
+
+%if 0%{?suse_version}
+
+%define ace_packages ace ace-xml ace-gperf ace-kokyu
+%define tao_packages tao tao-utils tao tao-cosnaming tao-cosevent tao-cosnotification tao-costrading tao-rtevent tao-cosconcurrency
+%define all_ace_packages %{?ace_packages} %{?fltk_pac} %{?tk_pac} %{?qt_pac} %{?fox_pac} %{?xt_pac}
+%define all_tao_packages %{?tao_packages} %{?tao_fl_pac} %{?tao_qt_pac} %{?tao_xt_pac} %{?tao_tk_pac}
+
+%define debug_package_requires %{all_ace_packages} %{all_tao_packages}
%endif
%if %make_nosrc
@@ -81,7 +177,7 @@ BuildRequires: qt-devel
NoSource: 0
%endif
-%description
+%description -n ace-tao
The ADAPTIVE Communication Environment (ACE) is a freely available,
open-source object-oriented (OO) framework that implements many core
@@ -103,11 +199,11 @@ conventional ORBs for high-performance and real-time applications.
# ---------------- ace ----------------
-%package -n ace
-Summary: The ADAPTIVE Communication Environment (ACE)
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: openssl
+%package -n ace
+Summary: The ADAPTIVE Communication Environment (ACE)
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: openssl
%description -n ace
@@ -124,12 +220,15 @@ services, concurrent execution and synchronization.
# ---------------- ace-devel ----------------
-%package -n ace-devel
-Summary: Header files and development components for ACE
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
-Requires: openssl-devel
+%package -n ace-devel
+Summary: Header files and development components for ACE
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+Requires: openssl-devel
+%if !0%{?suse_version}
+Provides: perl(PerlACE::Run_Test) perl(Process) perl(VmsProcess) perl(Win32::Process)
+%endif
%description -n ace-devel
@@ -138,11 +237,11 @@ using ACE.
# ---------------- ace-xml ----------------
-%package -n ace-xml
-Summary: ACE XML Runtime Support
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
+%package -n ace-xml
+Summary: ACE XML Runtime Support
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
%description -n ace-xml
@@ -153,14 +252,26 @@ ACEXML_Env to every SAX method to accommodate platforms/compilers that
don't support C++ exceptions. SAX is defined by David Megginson
<david@megginson.com>
+# ---------------- ace-gperf ----------------
+
+%package -n ace-gperf
+Summary: ACE gperf
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+
+%description -n ace-gperf
+
+ACE gperf utility
+
# ---------------- ace-xml-devel ----------------
-%package -n ace-xml-devel
-Summary: Header files and development components for ACE XML
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-xml = %{ACEVER}
+%package -n ace-xml-devel
+Summary: Header files and development components for ACE XML
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-xml = %{ACEVER}
%description -n ace-xml-devel
@@ -169,11 +280,11 @@ using ACEXML.
# ---------------- ace-kokyu ----------------
-%package -n ace-kokyu
-Summary: Kokyu scheduling framework for ACE
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
+%package -n ace-kokyu
+Summary: Kokyu scheduling framework for ACE
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
%description -n ace-kokyu
@@ -188,12 +299,12 @@ implementations.
# ---------------- ace-kokyu-devel ----------------
-%package -n ace-kokyu-devel
-Summary: Header files and development components for the ACE Kokyu scheduler
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-kokyu = %{ACEVER}
+%package -n ace-kokyu-devel
+Summary: Header files and development components for the ACE Kokyu scheduler
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-kokyu = %{ACEVER}
%description -n ace-kokyu-devel
@@ -201,105 +312,154 @@ This package contains the components needed for developing programs
using Kokyu.
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+# ---------------- ace-foxreactor ----------------
+
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?have_fox} == 1
+%package -n ace-foxreactor
+Summary: ACE_FoxReactor for use with the FOX toolkit
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+Requires: fox16
+
+%description -n ace-foxreactor
+
+A Reactor implementation that uses the FOX toolkit for
+event demultiplexing. This will let us integrate the FOX toolkit with
+ACE and/or TAO.
+%endif
+%endif
+
+# ---------------- ace-foxreactor-devel ----------------
+
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?have_fox} == 1
+%package -n ace-foxreactor-devel
+Summary: Header files for development with ACE_FoxReactor
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-foxreactor = %{ACEVER}
+Requires: fox16-devel
+
+%description -n ace-foxreactor-devel
+
+This package contains the components needed for developing programs
+using the ACE_FoxReactor.
+%endif
+%endif
+
# ---------------- ace-flreactor ----------------
-%package -n ace-flreactor
-Summary: ACE_FlReactor for use with the Fast-Light toolkit
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
-Requires: fltk
+%if %{?_with_fl:1}%{!?_with_fl:0}
+%package -n ace-flreactor
+Summary: ACE_FlReactor for use with the Fast-Light toolkit
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+Requires: fltk
%description -n ace-flreactor
A Reactor implementation that uses the Fast-Light (FL) toolkit for
event demultiplexing. This will let us integrate the FL toolkit with
ACE and/or TAO.
+%endif
# ---------------- ace-flreactor-devel ----------------
-%package -n ace-flreactor-devel
-Summary: Header files for development with ACE_FlReactor
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-flreactor = %{ACEVER}
-Requires: fltk-devel
+%if %{?_with_fl:1}%{!?_with_fl:0}
+%package -n ace-flreactor-devel
+Summary: Header files for development with ACE_FlReactor
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-flreactor = %{ACEVER}
+Requires: fltk-devel
%description -n ace-flreactor-devel
This package contains the components needed for developing programs
using the ACE_FlReactor.
+%endif
# ---------------- ace-qtreactor ----------------
-%package -n ace-qtreactor
-Summary: ACE_QtReactor for use with Qt library
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
-Requires: qt
+%if %{?_with_qt:1}%{!?_with_qt:0}
+%package -n ace-qtreactor
+Summary: ACE_QtReactor for use with Qt library
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+Requires: qt
%description -n ace-qtreactor
A Reactor implementation that uses the Qt toolkit for event
demultiplexing. This will let us integrate the Qt toolkit with ACE
and/or TAO.
+%endif
# ---------------- ace-qtreactor-devel ----------------
-%package -n ace-qtreactor-devel
-Summary: Header files for development with ACE_QtReactor
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-qtreactor = %{ACEVER}
-Requires: qt-devel
+%if %{?_with_qt:1}%{!?_with_qt:0}
+%package -n ace-qtreactor-devel
+Summary: Header files for development with ACE_QtReactor
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-qtreactor = %{ACEVER}
+Requires: qt-devel
%description -n ace-qtreactor-devel
This package contains the components needed for developing programs
using the ACE_QtReactor.
+%endif
# ---------------- ace-tkreactor ----------------
-%package -n ace-tkreactor
-Summary: ACE_TkReactor for use with Tk toolkit
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
-Requires: tk
+%if %{?_with_tk:1}%{!?_with_tk:0}
+%package -n ace-tkreactor
+Summary: ACE_TkReactor for use with Tk toolkit
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
+Requires: tk
%description -n ace-tkreactor
A Reactor implementation that uses the Tk toolkit for event
demultiplexing. This will let us integrate the Tk toolkit with ACE
and/or TAO.
+%endif
# ---------------- ace-tkreactor-devel ----------------
-%package -n ace-tkreactor-devel
-Summary: Header files for development with ACE_TkReactor
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-tkreactor = %{ACEVER}
-Requires: tk-devel
+%if %{?_with_tk:1}%{!?_with_tk:0}
+%package -n ace-tkreactor-devel
+Summary: Header files for development with ACE_TkReactor
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-tkreactor = %{ACEVER}
+Requires: tk-devel
%description -n ace-tkreactor-devel
This package contains the components needed for developing programs
using the ACE_TkReactor.
+%endif
# ---------------- ace-xtreactor ----------------
-%package -n ace-xtreactor
-Summary: ACE_XtReactor for use with the X Toolkit
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
+%if %{?_with_xt:1}%{!?_with_xt:0}
+%package -n ace-xtreactor
+Summary: ACE_XtReactor for use with the X Toolkit
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
# The xorg packaging scheme changed, let autoreq to the job for now.
# Requires: xorg-x11-libs
@@ -308,15 +468,17 @@ Requires: ace = %{ACEVER}
A Reactor implementation that uses the X Toolkit for event
demultiplexing. This will let us integrate the X Toolkit with ACE
and/or TAO.
+%endif
# ---------------- ace-xtreactor-devel ----------------
-%package -n ace-xtreactor-devel
-Summary: Header files for development with ACE_XtReactor
-Version: %{ACEVER}
-Group: Development/Libraries
-Requires: ace-devel = %{ACEVER}
-Requires: ace-xtreactor = %{ACEVER}
+%if %{?_with_xt:1}%{!?_with_xt:0}
+%package -n ace-xtreactor-devel
+Summary: Header files for development with ACE_XtReactor
+Version: %{ACEVER}
+Group: Development/Libraries/C and C++
+Requires: ace-devel = %{ACEVER}
+Requires: ace-xtreactor = %{ACEVER}
# The xorg package naming scheme changed, use specific files for now.
# old -> Requires: xorg-x11-devel
# new -> Requires: libX11-devel
@@ -329,36 +491,35 @@ This package contains the components needed for developing programs
using the ACE_XtReactor.
%endif
-## FIXME - namespace issues need to be resolved
-##
-## # ---------------- MPC ----------------
-##
-## %package -n ace-mpc
-## Summary: Make Project Creator
-## Version: %{ACEVER}
-## Group: Development/Libraries
-##
-## %description -n ace-mpc
-##
-## The Makefile, Project and Workspace Creator.
-## Designed by Justin Michel (michel_j@ociweb.com) and Chad Elliott.
-## Implemented by Chad Elliott (elliott_c@ociweb.com).
-##
-## A single tool (MPC) can be used to generate tool specific input (i.e.
-## Makefile, dsp, vcproj, etc). The generator takes platform and building
-## tool generic files (mpc files) as input which describe basic information
-## needed to generate a "project" file for various build tools. These tools
-## include Make, NMake, Visual C++ 6, Visual C++ 7, etc.
+# ---------------- MPC ----------------
+
+%package -n mpc
+Summary: Make Project Creator
+Version: %{ACEVER}
+Group: Development/Tools/Building
+%if !0%{?suse_version}
+Provides: perl(Driver) perl(MakeProjectBase) perl(ObjectGenerator) perl(ProjectCreator) perl(WorkspaceCreator) perl(WorkspaceHelper) perl(DependencyWriter) perl(WIXProjectCreator)
+%endif
+
+%description -n mpc
+
+The Makefile, Project and Workspace Creator.
+Designed by Justin Michel (michel_j@ociweb.com) and Chad Elliott.
+Implemented by Chad Elliott (elliott_c@ociweb.com).
+
+A single tool (MPC) can be used to generate tool specific input (i.e.
+Makefile, dsp, vcproj, etc). The generator takes platform and building
+tool generic files (mpc files) as input which describe basic information
+needed to generate a "project" file for various build tools. These tools
+include Make, NMake, Visual C++ 6, Visual C++ 7, etc.
# ---------------- tao ----------------
-%package -n tao
-Summary: The ACE ORB (TAO)
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace = %{ACEVER}
-Requires: ace-xml = %{ACEVER}
-Requires: ace-kokyu = %{ACEVER}
+%package -n tao
+Summary: The ACE ORB (TAO)
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace = %{ACEVER}
%description -n tao
@@ -371,27 +532,46 @@ conventional ORBs for high-performance and real-time applications.
# ---------------- tao-devel ----------------
-%package -n tao-devel
-Summary: Header files and development components for TAO
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
-Requires: ace-devel = %{ACEVER}
-Requires: ace-xml-devel = %{ACEVER}
-Requires: ace-kokyu-devel = %{ACEVER}
+%package -n tao-devel
+Summary: Header files and development components for TAO
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: ace-devel = %{ACEVER}
+Requires: ace-gperf = %{ACEVER}
%description -n tao-devel
This package contains the components needed for developing programs
using TAO.
+# ---------------- tao-utils ----------------
+
+%package -n tao-utils
+Summary: TAO naming service and IOR utilities
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+
+%description -n tao-utils
+
+This package includes programs to query or control a CORBA naming service,
+and to dump an IOR.
+
+The following programs are included:
+* tao-nslist, to list naming context and object bindings
+* tao-nsadd, to create bindings
+* tao-nsdel, to remove bindings
+* tao-catior, to dump the content of an Interoperable Object Reference
+
# ---------------- tao-cosnaming ----------------
-%package -n tao-cosnaming
-Summary: The TAO CORBA Naming Service (CosNaming) and Interoperable Naming Service (INS)
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-cosnaming
+Summary: The TAO CORBA Naming Service (CosNaming) and Interoperable Naming Service (INS)
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-cosnaming
@@ -414,15 +594,16 @@ install time.
# ---------------- tao-cosevent ----------------
-%package -n tao-cosevent
-Summary: The TAO CORBA CosEvent Service
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-cosevent
+Summary: The TAO CORBA CosEvent Service
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-cosevent
-The CosEvent_Service is a COS compilant Event Service.
+The CosEvent_Service is a COS compliant Event Service.
The service is registered with the naming service with the name
"CosEventService" . It exposes the <EventChannel> interface which can be
@@ -430,15 +611,16 @@ used by suppliers and consumers to send and receive events.
# ---------------- tao-cosnotification ----------------
-%package -n tao-cosnotification
-Summary: The TAO CORBA Notification Service
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-cosnotification
+Summary: The TAO CORBA Notification Service
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-cosnotification
-The Notify_Service is a COS compilant Notification Service.
+The Notify_Service is a COS compliant Notification Service.
The Notify_Service executable starts up a Notification Service factory
and registers it with the Naming Service under the name
@@ -446,157 +628,173 @@ and registers it with the Naming Service under the name
# ---------------- tao-costrading ----------------
-%package -n tao-costrading
-Summary: The TAO CORBA Trading Service
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-costrading
+Summary: The TAO CORBA Trading Service
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-costrading
-The Trading_Service is a COS compilant Trading Service.
+The Trading_Service is a COS compliant Trading Service.
# ---------------- tao-rtevent ----------------
-%package -n tao-rtevent
-Summary: The TAO Real-time Event Service
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-rtevent
+Summary: The TAO Real-time Event Service
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-rtevent
-The TAO Real-time Event Service.
+The TAO Real-Time Event Service. This is a TAO specific service
+implementation
# ---------------- tao-cosconcurrency ----------------
-%package -n tao-cosconcurrency
-Summary: The TAO CORBA Concurrency Service
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: tao = %{TAOVER}
+%package -n tao-cosconcurrency
+Summary: The TAO CORBA Concurrency Service
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: tao = %{TAOVER}
+Requires: logrotate
%description -n tao-cosconcurrency
-The CORBA Concurrency Service.
+The CORBA Concurrency Service. One of the standard CORBA services.
# ---------------- tao-flresource ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
-
-%package -n tao-flresource
-Summary: FlResource_Factory for creating FlReactor
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-flreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
+%if %{?_with_fl:1}%{!?_with_fl:0}
+%package -n tao-flresource
+Summary: FlResource_Factory for creating FlReactor
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-flreactor = %{ACEVER}
+Requires: tao = %{TAOVER}
%description -n tao-flresource
This factory is intended for creating FlReactor for ORB. This factory
can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
method which is usually done by TAO_FlResource_Loader.
+%endif
# ---------------- tao-flresource-devel ----------------
-%package -n tao-flresource-devel
-Summary: Header files for development with FlResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-flreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-flresource = %{TAOVER}
+%if %{?_with_fl:1}%{!?_with_fl:0}
+%package -n tao-flresource-devel
+Summary: Header files for development with FlResource_Factory
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-flreactor-devel = %{ACEVER}
+Requires: tao-devel = %{TAOVER}
+Requires: tao-flresource = %{TAOVER}
%description -n tao-flresource-devel
This package contains the components needed for developing programs
using the FlResource_Factory.
+%endif
# ---------------- tao-qtresource ----------------
-%package -n tao-qtresource
-Summary: QtResource_Factory for creating QtReactor
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-qtreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
+%if %{?_with_qt:1}%{!?_with_qt:0}
+%package -n tao-qtresource
+Summary: QtResource_Factory for creating QtReactor
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-qtreactor = %{ACEVER}
+Requires: tao = %{TAOVER}
%description -n tao-qtresource
This factory is intended for creating QtReactor for ORB. This factory
can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
method which is usually done by TAO_QtResource_Loader.
+%endif
# ---------------- tao-qtresource-devel ----------------
-%package -n tao-qtresource-devel
-Summary: Header files for development with QtResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-qtreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-qtresource = %{TAOVER}
+%if %{?_with_qt:1}%{!?_with_qt:0}
+%package -n tao-qtresource-devel
+Summary: Header files for development with QtResource_Factory
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-qtreactor-devel = %{ACEVER}
+Requires: tao-devel = %{TAOVER}
+Requires: tao-qtresource = %{TAOVER}
%description -n tao-qtresource-devel
This package contains the components needed for developing programs
using the QtResource_Factory.
+%endif
# ---------------- tao-tkresource ----------------
-%package -n tao-tkresource
-Summary: TkResource_Factory for creating TkReactor
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-tkreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
+%if %{?_with_tk:1}%{!?_with_tk:0}
+%package -n tao-tkresource
+Summary: TkResource_Factory for creating TkReactor
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-tkreactor = %{ACEVER}
+Requires: tao = %{TAOVER}
%description -n tao-tkresource
This factory is intended for creating TkReactor for ORB. This factory
can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
method which is usually done by TAO_TkResource_Loader.
+%endif
# ---------------- tao-tkresource-devel ----------------
-%package -n tao-tkresource-devel
-Summary: Header files for development with TkResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-tkreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-tkresource = %{TAOVER}
+%if %{?_with_tk:1}%{!?_with_tk:0}
+%package -n tao-tkresource-devel
+Summary: Header files for development with TkResource_Factory
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-tkreactor-devel = %{ACEVER}
+Requires: tao-devel = %{TAOVER}
+Requires: tao-tkresource = %{TAOVER}
%description -n tao-tkresource-devel
This package contains the components needed for developing programs
using the TkResource_Factory.
+%endif
# ---------------- tao-xtresource ----------------
-%package -n tao-xtresource
-Summary: XtResource_Factory for creating XtReactor
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-xtreactor = %{ACEVER}
-Requires: tao = %{TAOVER}
+%if %{?_with_xt:1}%{!?_with_xt:0}
+%package -n tao-xtresource
+Summary: XtResource_Factory for creating XtReactor
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-xtreactor = %{ACEVER}
+Requires: tao = %{TAOVER}
%description -n tao-xtresource
This factory is intended for creating XtReactor for ORB. This factory
can be feed into ORB using TAO_ORB_Core::set_gui_resource_factory
method which is usually done by TAO_XtResource_Loader.
+%endif
# ---------------- tao-xtresource-devel ----------------
-%package -n tao-xtresource-devel
-Summary: Header files for development with XtResource_Factory
-Version: %{TAOVER}
-Group: Development/Libraries
-Requires: ace-xtreactor-devel = %{ACEVER}
-Requires: tao-devel = %{TAOVER}
-Requires: tao-xtresource = %{TAOVER}
+%if %{?_with_xt:1}%{!?_with_xt:0}
+%package -n tao-xtresource-devel
+Summary: Header files for development with XtResource_Factory
+Version: %{TAOVER}
+Group: Development/Libraries/C and C++
+Requires: ace-xtreactor-devel = %{ACEVER}
+Requires: tao-devel = %{TAOVER}
+Requires: tao-xtresource = %{TAOVER}
%description -n tao-xtresource-devel
@@ -616,93 +814,93 @@ using the XtResource_Factory.
export ACE_ROOT=`pwd`
export TAO_ROOT=$ACE_ROOT/TAO
export CIAO_ROOT=$TAO_ROOT/CIAO
+export DANCE_ROOT=$CIAO_ROOT/DAnCE
# patch0 and patch1 are applied a bit later
-#patch5 -p 1
-cat ${ACE_ROOT}/rpmbuild/ace-tao-orbsvcs-daemon.patch | patch -p 1
-
# don't use patch8 until we verify wether needed
-# config.h
-( cd $ACE_ROOT/ace
-rm -f config.h
-cp config-linux.h config.h
-)
+%if %{?_with_autoconf:0}%{!?_with_autoconf:1}
-#patch0 -p 1
-cat ${ACE_ROOT}/rpmbuild/ace-tao-config.patch | patch -p 1
+cat > $ACE_ROOT/ace/config.h << EOF
+EOF
-# If ipv6 support is indicated insert some lines into the confi.h
-# file, right before the ace/post.h include.
+# If ipv6 support is indicated insert some lines into the config.h file
#
%if %{?_with_ipv6:1}%{!?_with_ipv6:0}
-rm -f $ACE_ROOT/ace/config.h.tmp
-awk 'BEGIN { FLG = 1 }; /ace\/post/ { FLG = 0 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-cat >> $ACE_ROOT/ace/config.h.tmp <<"EOF"
-#define ACE_HAS_IPV6 // Ken Sedgwick 2006-06-14
-#define ACE_USES_IPV4_IPV6_MIGRATION // Ken Sedgwick 2006-06-14
+cat >> $ACE_ROOT/ace/config.h << EOF
+#define ACE_HAS_IPV6
+#define ACE_USES_IPV4_IPV6_MIGRATION
EOF
-awk 'BEGIN { FLG = 0 }; /ace\/post/ { FLG = 1 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-mv $ACE_ROOT/ace/config.h.tmp $ACE_ROOT/ace/config.h
%endif
-# If rnq support is indicated insert some lines into the confi.h
-# file, right before the ace/post.h include.
-#
+# If rnq support is indicated insert some lines into the config.h file
%if %{?_with_rnq:1}%{!?_with_rnq:0}
-# Insert into the confi.h file, right before the ace/post.h include.
-rm -f $ACE_ROOT/ace/config.h.tmp
-awk 'BEGIN { FLG = 1 }; /ace\/post/ { FLG = 0 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-cat >> $ACE_ROOT/ace/config.h.tmp <<"EOF"
-#define ACE_HAS_REACTOR_NOTIFICATION_QUEUE // Ken Sedgwick 2006-04-19
+cat >> $ACE_ROOT/ace/config.h << EOF
+#define ACE_HAS_REACTOR_NOTIFICATION_QUEUE
EOF
-awk 'BEGIN { FLG = 0 }; /ace\/post/ { FLG = 1 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-mv $ACE_ROOT/ace/config.h.tmp $ACE_ROOT/ace/config.h
%endif
-# For template instantiation visibility and icmp support insert some
-# lines into the confi.h file, right before the ace/post.h include.
-#
-rm -f $ACE_ROOT/ace/config.h.tmp
-awk 'BEGIN { FLG = 1 }; /ace\/post/ { FLG = 0 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-cat >> $ACE_ROOT/ace/config.h.tmp <<"EOF"
-#define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1 // Ken Sedgwick 2007-05-05
+# Include platform include
+cat >> $ACE_ROOT/ace/config.h << EOF
+#include "ace/config-linux.h"
EOF
-awk 'BEGIN { FLG = 0 }; /ace\/post/ { FLG = 1 }; { if (FLG==1) print }' \
-$ACE_ROOT/ace/config.h >> $ACE_ROOT/ace/config.h.tmp
-mv $ACE_ROOT/ace/config.h.tmp $ACE_ROOT/ace/config.h
# platform_macros.GNU
+%if 0%{?suse_version}
cat > $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
+CCFLAGS += %optflags
+CFLAGS += %optflags
+EOF
+%endif
+
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
ssl = 1
-include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
EOF
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_xt:1}%{!?_with_xt:0}
cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-x11 = 1
xt = 1
+ace_xtreactor = 1
+x11 = 1
+tao_xtresource = 1
+EOF
+%endif
+
+%if %{?_with_tk:1}%{!?_with_tk:0}
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
+ace_tkreactor = 1
+tao_tkresource = 1
tk = 1
+EOF
+%endif
+
+%if %{?_with_fl:1}%{!?_with_fl:0}
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
fl = 1
+tao_flresource = 1
+ace_flreactor = 1
+EOF
+%endif
+
+%if %{?_with_qt:1}%{!?_with_qt:0}
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
qt = 1
gl = 1
ace_qtreactor = 1
-ace_xtreactor = 1
-ace_tkreactor = 1
-ace_flreactor = 1
tao_qtresource = 1
-tao_xtresource = 1
-tao_tkresource = 1
-tao_flresource = 1
EOF
%endif
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?have_fox} == 1
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
+fox = 1
+ace_foxreactor = 1
+tao_foxresource = 1
+%endif
+%endif
+
# 64 bit machines need additional macro.
%ifarch x86_64 ia64 ppc64 s390x
cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
@@ -712,26 +910,36 @@ EOF
%if %{?_with_opt:0}%{!?_with_opt:1}
cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-# Disable optimization
-OCFLAGS = -O0
-OCCFLAGS = -O0
+optimize = 0
EOF
%else
cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
-# Enable Fedora optimization
-OCFLAGS = %{optflags}
-OCCFLAGS = %{optflags}
+optimize = 1
EOF
%endif
+cat >> $ACE_ROOT/include/makeinclude/platform_macros.GNU <<EOF
+include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
+EOF
+
cat > $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
ssl=1
-qos=0
cidl=0
-rwho=0
-sctp=0
EOF
+%if %{?_with_bzip2:1}%{!?_with_bzip2:0}
+cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
+bzip2 = 1
+EOF
+%endif
+
+%if %{?_with_zlib:1}%{!?_with_zlib:0}
+cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
+zlib = 1
+EOF
+%endif
+
+
# We don't use default.features to enable ipv6 cause it conflicts w/
# the config.h generated version. Config.h is superior because it is
# shipped to the end-user machines and also defines
@@ -739,35 +947,19 @@ EOF
# does not seem to set.
# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?have_fox} == 1
cat >> $ACE_ROOT/bin/MakeProjectCreator/config/default.features <<EOF
-motif=1
-athena=1
-x11=1
-xt=1
-tk=1
-fl=1
-qt=1
-gl=1
-ace_qtreactor=1
-ace_xtreactor=1
-ace_tkreactor=1
-ace_flreactor=1
-tao_qtresource=1
-tao_xtresource=1
-tao_tkresource=1
-tao_flresource=1
+fox=1
EOF
%endif
+%endif
-# Need to regenerate all of the Makefiles ...
-(cd $ACE_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace)
-
-# Fix source file permissions
-find $TAO_ROOT/orbsvcs/FT_ReplicationManager -type f -exec chmod a-x {} \;
-find $TAO_ROOT/orbsvcs/orbsvcs/FaultTolerance -type f -exec chmod a-x {} \;
+# Need to regenerate all of the GNUMakefiles ...
+(cd $ACE_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace TAO/TAO_ACE.mwc)
%endif
+%endif
# ================================================================
# build
@@ -779,9 +971,51 @@ export ACE_ROOT=`pwd`
export TAO_ROOT=$ACE_ROOT/TAO
export LD_LIBRARY_PATH=$ACE_ROOT/lib
+# Dump the g++ versions, in case the g++ version is broken we can
+# easily see this in the build log
+g++ --version
+g++ -dumpversion
+
%if %skip_make
cd .. && rm -rf ACE_wrappers && ln -s ACE_wrappers-BUILT ACE_wrappers
%else
+%if %{?_with_autoconf:1}%{!?_with_autoconf:0}
+autoreconf -fi
+mkdir ../build
+cd ../build
+%if %{?_with_opt:0}%{!?_with_opt:1}
+%define my_optflags %{optflags} -O0
+%else
+%define my_optflags %{optflags}
+%endif
+
+export CXXFLAGS="%{my_optflags}"
+
+../ACE_wrappers/configure --prefix=/usr \
+%if %{?_with_ipv6:1}%{!?_with_ipv6:0}
+ --enable-ipv4-ipv6 \
+ --enable-ipv6 \
+%endif
+%if %{?_with_rnq:1}%{!?_with_rnq:0}
+ --enable-ace-reactor-notification-queue \
+%endif
+%if %{?_with_qt:1}%{!?_with_qt:0}
+ --enable-qt-reactor \
+%endif
+%if %{?_with_tk:1}%{!?_with_tk:0}
+ --enable-tk-reactor \
+%endif
+%if %{?_with_xt:1}%{!?_with_xt:0}
+ --enable-xt-reactor \
+%endif
+%if %{?_with_fl:1}%{!?_with_fl:0}
+ --enable-fl-reactor \
+%endif
+ --mandir=%{_mandir} \
+ --libdir=%{_libdir}
+
+make %{?jobs:-j%jobs}
+%else
MAKECMD="make %{?_smp_mflags}"
@@ -791,8 +1025,7 @@ for ace_comp in \
Kokyu \
ACEXML \
apps/gperf \
- protocols \
- websvcs;
+ protocols;
do
$MAKECMD -C $ACE_ROOT/$ace_comp;
done
@@ -832,22 +1065,15 @@ done
$MAKECMD -C $TAO_ROOT/utils
%endif
+%endif
# ================================================================
# install
# ================================================================
-# For major releases the package version will be the shortened version
-# tuple and the shared-object version needs a placeholder '.0'
-%if %is_major_ver
-%define ACEVERSO %{ACEVER}.0
-%define TAOVERSO %{TAOVER}.0
-%define CIAOVERSO %{CIAOVER}.0
-%else
%define ACEVERSO %{ACEVER}
%define TAOVERSO %{TAOVER}
%define CIAOVERSO %{CIAOVER}
-%endif
%install
@@ -856,74 +1082,70 @@ export TAO_ROOT=$ACE_ROOT/TAO
%if ! %skip_make
# cat %{SOURCE2} | patch -p 1
-cat ${ACE_ROOT}/rpmbuild/ace-tao-macros.patch | patch -p 1
+# cat ${ACE_ROOT}/rpmbuild/ace-tao-macros.patch | patch -p 1
%endif
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
# make a new build root dir
-mkdir -p $RPM_BUILD_ROOT
+mkdir %{buildroot}
# ---------------- Runtime Components ----------------
# install shared libraries
-install -d $RPM_BUILD_ROOT%{_libdir}
+install -d %{buildroot}%{_libdir}
# ACE + XML libraries
INSTLIBS=`ls ${ACE_ROOT}/lib/libACE*.so.%{ACEVERSO}`
-install $INSTLIBS $RPM_BUILD_ROOT%{_libdir}
+install $INSTLIBS %{buildroot}%{_libdir}
# ACE-Kokyu libraries
INSTLIBS=`ls ${ACE_ROOT}/lib/libKokyu.so.%{ACEVERSO}`
-install $INSTLIBS $RPM_BUILD_ROOT%{_libdir}
+install $INSTLIBS %{buildroot}%{_libdir}
# TAO libraries
INSTLIBS=`ls ${ACE_ROOT}/lib/libTAO*.so.%{TAOVERSO}`
-install $INSTLIBS $RPM_BUILD_ROOT%{_libdir}
+install $INSTLIBS %{buildroot}%{_libdir}
# Create un-versioned symbolic links for libraries
-(cd $RPM_BUILD_ROOT%{_libdir} && \
+(cd %{buildroot}%{_libdir} && \
ls *.so.* | awk 'BEGIN{FS="."}{print "ln -sf " $0 " " $1 "." $2;}' | sh)
# install binaries
-install -d $RPM_BUILD_ROOT%{_sbindir}
+install -d %{buildroot}%{_sbindir}
# Rename the service binaries:
install ${ACE_ROOT}/TAO/orbsvcs/Naming_Service/Naming_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-cosnaming
+ %{buildroot}%{_sbindir}/tao-cosnaming
install ${ACE_ROOT}/TAO/orbsvcs/CosEvent_Service/CosEvent_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-cosevent
+ %{buildroot}%{_sbindir}/tao-cosevent
install ${ACE_ROOT}/TAO/orbsvcs/Notify_Service/Notify_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-cosnotification
+ %{buildroot}%{_sbindir}/tao-cosnotification
install ${ACE_ROOT}/TAO/orbsvcs/Trading_Service/Trading_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-costrading
+ %{buildroot}%{_sbindir}/tao-costrading
install ${ACE_ROOT}/TAO/orbsvcs/Event_Service/Event_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-rtevent
+ %{buildroot}%{_sbindir}/tao-rtevent
install ${ACE_ROOT}/TAO/orbsvcs/Concurrency_Service/Concurrency_Service \
- $RPM_BUILD_ROOT%{_sbindir}/tao-cosconcurrency
+ %{buildroot}%{_sbindir}/tao-cosconcurrency
-# Create the tao cache directory.
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/tao
+#Create directories
+for dir in cache log; do
+ mkdir -p %{buildroot}%{_localstatedir}/${dir}/tao
+done
# Create data files which will be ghosted.
-touch $RPM_BUILD_ROOT%{_localstatedir}/cache/tao/tao-cosnaming.dat
-
-# Create the tao log directory.
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/tao
+touch %{buildroot}%{_localstatedir}/cache/tao/tao-cosnaming.dat
# Create data files which will be ghosted.
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-cosnaming.log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-cosconcurrency.log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-cosevent.log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-cosnotification.log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-costrading.log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-rtevent.log
+for logfile in cosnaming cosconcurrency cosevent cosnotification costrading rtevent; do
+ touch %{buildroot}%{_localstatedir}/log/tao/tao-${logfile}.log
+done
# ---------------- Development Components ----------------
@@ -931,7 +1153,7 @@ touch $RPM_BUILD_ROOT%{_localstatedir}/log/tao/tao-rtevent.log
INSTHDR="install -m 0644 -p"
# install headers
-install -d $RPM_BUILD_ROOT%{_includedir}
+install -d %{buildroot}%{_includedir}
( set +x
echo "Building list of headers..."
@@ -988,44 +1210,44 @@ rm -f tao-headers.tmp
for i in `cat allhdrs.list`; do
case "$i" in
protocols/ace/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/${i/protocols\/}`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/${i/protocols/}
+ mkdir -p `dirname %{buildroot}%{_includedir}/${i/protocols\/}`
+ $INSTHDR $i %{buildroot}%{_includedir}/${i/protocols/}
echo '%dir %{_includedir}/'`dirname ${i/protocols/}` >> ace-headers.tmp
echo '%{_includedir}/'${i/protocols/} >> ace-headers.tmp
;;
ace/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/$i`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/$i
+ mkdir -p `dirname %{buildroot}%{_includedir}/$i`
+ $INSTHDR $i %{buildroot}%{_includedir}/$i
echo '%dir %{_includedir}/'`dirname $i` >> ace-headers.tmp
echo '%{_includedir}/'$i >> ace-headers.tmp
;;
ACEXML/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/$i`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/$i
+ mkdir -p `dirname %{buildroot}%{_includedir}/$i`
+ $INSTHDR $i %{buildroot}%{_includedir}/$i
echo '%dir %{_includedir}/'`dirname $i` >> acexml-headers.tmp
echo '%{_includedir}/'$i >> acexml-headers.tmp
;;
Kokyu/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/$i`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/$i
+ mkdir -p `dirname %{buildroot}%{_includedir}/$i`
+ $INSTHDR $i %{buildroot}%{_includedir}/$i
echo '%dir %{_includedir}/'`dirname $i` >> kokyu-headers.tmp
echo '%{_includedir}/'$i >> kokyu-headers.tmp
;;
TAO/tao/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/${i/TAO\/}`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/${i/TAO\/}
+ mkdir -p `dirname %{buildroot}%{_includedir}/${i/TAO\/}`
+ $INSTHDR $i %{buildroot}%{_includedir}/${i/TAO\/}
echo '%dir %{_includedir}/'`dirname ${i/TAO\/}` >> tao-headers.tmp
echo '%{_includedir}/'${i/TAO\/} >> tao-headers.tmp
;;
TAO/orbsvcs/orbsvcs/*)
- mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/${i/TAO\/orbsvcs\/}`
- $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/${i/TAO\/orbsvcs\/}
+ mkdir -p `dirname %{buildroot}%{_includedir}/${i/TAO\/orbsvcs\/}`
+ $INSTHDR $i %{buildroot}%{_includedir}/${i/TAO\/orbsvcs\/}
echo '%dir %{_includedir}/'`dirname ${i/TAO\/orbsvcs\/}` >> tao-headers.tmp
echo '%{_includedir}/'${i/TAO\/orbsvcs\/} >> tao-headers.tmp
;;
*)
- # mkdir -p `dirname $RPM_BUILD_ROOT%{_includedir}/$i`
- # $INSTHDR $i $RPM_BUILD_ROOT%{_includedir}/$i
+ # mkdir -p `dirname %{buildroot}%{_includedir}/$i`
+ # $INSTHDR $i %{buildroot}%{_includedir}/$i
echo $i
;;
esac
@@ -1049,93 +1271,139 @@ rm -f tao-headers.tmp
)
# install the TAO_IDL compiler
-install -d $RPM_BUILD_ROOT%{_libdir}
-
-# NOTE - it appears that when TAO's build copies the files to the
-# ACE_ROOT/ace directory they get versioned with ACE's version number
-# rather then TAO's. Use the ACEVERSO macro for now ...
-install \
- ${ACE_ROOT}/lib/libTAO_IDL_BE.so.%{ACEVERSO} \
- ${ACE_ROOT}/lib/libTAO_IDL_FE.so.%{ACEVERSO} \
- $RPM_BUILD_ROOT%{_libdir}
-
-(cd $RPM_BUILD_ROOT%{_libdir} && ln -sf libTAO_IDL_BE.so.%{ACEVERSO} libTAO_IDL_BE.so)
-(cd $RPM_BUILD_ROOT%{_libdir} && ln -sf libTAO_IDL_FE.so.%{ACEVERSO} libTAO_IDL_FE.so)
-
-install -d $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/ace_gperf $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_idl $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_imr $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_ifr $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_catior $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_nsadd $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_nsdel $RPM_BUILD_ROOT%{_bindir}
-install ${ACE_ROOT}/bin/tao_nslist $RPM_BUILD_ROOT%{_bindir}
+install -d %{buildroot}%{_libdir}
+
+install -d %{buildroot}%{_bindir}
+install ${ACE_ROOT}/bin/ace_gperf %{buildroot}%{_bindir}
+install ${ACE_ROOT}/bin/tao_idl %{buildroot}%{_bindir}
+install ${ACE_ROOT}/bin/tao_imr %{buildroot}%{_bindir}
+install ${ACE_ROOT}/bin/tao_ifr %{buildroot}%{_bindir}
+install ${ACE_ROOT}/bin/tao_catior %{buildroot}%{_bindir}/tao_catior
+install ${ACE_ROOT}/bin/tao_nsadd %{buildroot}%{_bindir}/tao_nsadd
+install ${ACE_ROOT}/bin/tao_nsdel %{buildroot}%{_bindir}/tao_nsdel
+install ${ACE_ROOT}/bin/tao_nslist %{buildroot}%{_bindir}/tao_nslist
# ================================================================
# Config & Options
# ================================================================
-install -d $RPM_BUILD_ROOT%{_sysconfdir}
-tar -xzvf ${ACE_ROOT}/rpmbuild/ace-tao-etc.tar.gz \
- -C $RPM_BUILD_ROOT%{_sysconfdir}
-
-## # FIXME - namespace issues need to be resolved
-##
-## # ================================================================
-## # Makefiles
-## # ================================================================
-##
-## install -d $RPM_BUILD_ROOT%{_includedir}/makeinclude
-##
-## for mk_macros in \
-## all_in_one.GNU \
-## component_check.GNU \
-## macros.GNU \
-## platform_g++_common.GNU \
-## platform_linux.GNU \
-## platform_macros.GNU \
-## rules.bin.GNU \
-## rules.common.GNU \
-## rules.lib.GNU \
-## rules.local.GNU \
-## rules.nested.GNU \
-## rules.nolocal.GNU \
-## rules.nonested.GNU \
-## wrapper_macros.GNU; do (
-## install ${ACE_ROOT}/include/makeinclude/$mk_macros $RPM_BUILD_ROOT%{_includedir}/makeinclude
-## ); done
-##
-## install ${TAO_ROOT}/rules.tao.GNU $RPM_BUILD_ROOT%{_includedir}/makeinclude
-##
-## install -d $RPM_BUILD_ROOT%{_datadir}
-## install -d $RPM_BUILD_ROOT%{_datadir}/ace
-## install -d $RPM_BUILD_ROOT%{_datadir}/ace/MPC
-## cp -a ${ACE_ROOT}/MPC $RPM_BUILD_ROOT%{_datadir}/ace/
-##
-## install -d $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## cp -a ${ACE_ROOT}/bin/DependencyGenerator $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## cp -a ${ACE_ROOT}/bin/MakeProjectCreator $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install -d $RPM_BUILD_ROOT%{_datadir}/ace/bin/PerlACE
-## install ${ACE_ROOT}/bin/PerlACE/{ConfigList,Process,Process_Unix}.pm $RPM_BUILD_ROOT%{_datadir}/ace/bin/PerlACE
-## install ${ACE_ROOT}/bin/mpc.pl $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install ${ACE_ROOT}/bin/mwc.pl $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install ${ACE_ROOT}/bin/g++dep $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install ${ACE_ROOT}/bin/depgen.pl $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install ${ACE_ROOT}/bin/generate_export_file.pl $RPM_BUILD_ROOT%{_datadir}/ace/bin
-## install ${ACE_ROOT}/bin/{ACEutils,Process,Process_Unix,Uniqueid}.pm $RPM_BUILD_ROOT%{_datadir}/ace/bin
-
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
+install -d %{buildroot}%{_sysconfdir}
+mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
+mkdir -p %{buildroot}%{_sysconfdir}/tao
+cp -R ${ACE_ROOT}/rpmbuild/etc/logrotate.d/* %{buildroot}%{_sysconfdir}/logrotate.d/
+cp -R ${ACE_ROOT}/rpmbuild/etc/tao/* %{buildroot}%{_sysconfdir}/tao/
+
+%if %{defined suse_version}
+mkdir -p %{buildroot}%{_sysconfdir}/init.d
+mkdir -p %{buildroot}%{_localstatedir}/adm
+cp -R ${ACE_ROOT}/rpmbuild/ace-tao-init-suse/init.d/* %{buildroot}%{_sysconfdir}/init.d/
+cp -R ${ACE_ROOT}/rpmbuild/ace-tao-init-suse/tao/* %{buildroot}%{_sysconfdir}/tao/
+%else
+mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d
+cp -R ${ACE_ROOT}/rpmbuild/ace-tao-init-fedora/rc.d/init.d/* %{buildroot}%{_sysconfdir}/rc.d/init.d/
+cp -R ${ACE_ROOT}/rpmbuild/ace-tao-init-fedora/tao/* %{buildroot}%{_sysconfdir}/tao/
+%endif
+
+%if %{defined suse_version}
+pushd %{buildroot}%{_sysconfdir}/init.d
+for f in *; do
+ ln -s /etc/init.d/$f %{buildroot}%{_sbindir}/rc${f}
+done
+popd
+%endif
+
+# ================================================================
+# Makefiles
+# ================================================================
+
+install -d %{buildroot}%{_datadir}
+install -d %{buildroot}%{_datadir}/ace
+install -d %{buildroot}%{_datadir}/ace/include
+install -d %{buildroot}%{_datadir}/ace/include/makeinclude
+install -d %{buildroot}%{_datadir}/mpc
+install -d %{buildroot}%{_datadir}/tao
+install -d %{buildroot}%{_datadir}/tao/orbsvcs
+install -d %{buildroot}%{_datadir}/tao/MPC
+
+for mk_macros in \
+ all_in_one.GNU \
+ component_check.GNU \
+ macros.GNU \
+ platform_g++_common.GNU \
+ platform_linux.GNU \
+ platform_linux_common.GNU \
+ platform_macros.GNU \
+ rules.bin.GNU \
+ rules.common.GNU \
+ rules.lib.GNU \
+ rules.local.GNU \
+ rules.nested.GNU \
+ rules.nolocal.GNU \
+ rules.nonested.GNU \
+ wrapper_macros.GNU; do (
+ install ${ACE_ROOT}/include/makeinclude/$mk_macros %{buildroot}%{_datadir}/ace/include/makeinclude)
+done
+
+install ${TAO_ROOT}/rules.tao.GNU %{buildroot}%{_datadir}/tao
+
+cp -a ${ACE_ROOT}/MPC/* %{buildroot}%{_datadir}/mpc
+
+install -d %{buildroot}%{_datadir}/ace/bin
+cp -a ${ACE_ROOT}/bin/DependencyGenerator %{buildroot}%{_datadir}/ace/bin
+cp -a ${ACE_ROOT}/bin/MakeProjectCreator %{buildroot}%{_datadir}/ace/bin
+install -d %{buildroot}%{_datadir}/ace/bin/PerlACE
+cp -a ${ACE_ROOT}/bin/PerlACE/* %{buildroot}%{_datadir}/ace/bin/PerlACE
+install ${ACE_ROOT}/bin/mpc.pl %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/mwc.pl %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/g++dep %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/depgen.pl %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/generate_export_file.pl %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/add_rel_link.sh %{buildroot}%{_datadir}/ace/bin
+install ${ACE_ROOT}/bin/{ACEutils,Uniqueid}.pm %{buildroot}%{_datadir}/ace/bin
+
+ln -sfn %{_includedir}/ace %{buildroot}%{_datadir}/ace
+ln -sfn %{_includedir}/tao %{buildroot}%{_datadir}/tao
+ln -sfn %{_includedir}/orbsvcs %{buildroot}%{_datadir}/tao/orbsvcs
+ln -sfn %{_libdir} %{buildroot}%{_datadir}/ace/lib
+
+cp -a ${TAO_ROOT}/MPC/* %{buildroot}%{_datadir}/tao/MPC
+
+# Set TAO_IDL setting for the user
+cat > %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp <<EOF
+TAO_IDL = %{_bindir}/tao_idl
+TAO_IDL_DEP = %{_bindir}/tao_idl
+EOF
+cat %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU >> %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp
+mv %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU.tmp %{buildroot}%{_datadir}/ace/include/makeinclude/platform_macros.GNU
+
+
+install -d %{buildroot}%{_sysconfdir}/profile.d
+cat > %{buildroot}%{_sysconfdir}/profile.d/mpc.sh <<EOF
+MPC_ROOT=/usr/share/mpc
+export MPC_ROOT
+EOF
+cat > %{buildroot}%{_sysconfdir}/profile.d/ace-devel.sh <<EOF
+ACE_ROOT=/usr/share/ace
+export ACE_ROOT
+EOF
+cat > %{buildroot}%{_sysconfdir}/profile.d/tao-devel.sh <<EOF
+TAO_ROOT=/usr/share/tao
+export TAO_ROOT
+EOF
+
+# convenience symlinks
+ln -sfn %{_datadir}/ace/bin/mpc.pl %{buildroot}%{_bindir}/mpc.pl
+ln -sfn %{_datadir}/ace/bin/mwc.pl %{buildroot}%{_bindir}/mwc.pl
# ================================================================
# Manuals
# ================================================================
-install -d $RPM_BUILD_ROOT%{_mandir}
-install -d $RPM_BUILD_ROOT%{_mandir}/man1
-install ${TAO_ROOT}/TAO_IDL/tao_idl.1 $RPM_BUILD_ROOT%{_mandir}/man1
-install ${ACE_ROOT}/apps/gperf/ace_gperf.1 $RPM_BUILD_ROOT%{_mandir}/man1
-install -d $RPM_BUILD_ROOT%{_infodir}
-install ${ACE_ROOT}/apps/gperf/ace_gperf.info $RPM_BUILD_ROOT%{_infodir}
+install -d %{buildroot}%{_mandir}
+install -d %{buildroot}%{_mandir}/man1
+install ${TAO_ROOT}/TAO_IDL/tao_idl.1 %{buildroot}%{_mandir}/man1
+install ${ACE_ROOT}/apps/gperf/ace_gperf.1 %{buildroot}%{_mandir}/man1
+install -d %{buildroot}%{_infodir}
+install ${ACE_ROOT}/apps/gperf/ace_gperf.info %{buildroot}%{_infodir}
# ================================================================
# Create lists of symlinked so's. We need two lists because we need
@@ -1144,12 +1412,12 @@ install ${ACE_ROOT}/apps/gperf/ace_gperf.info $RPM_BUILD_ROOT%{_infodir}
# ================================================================
# Make a list of all shared objects.
-(cd $RPM_BUILD_ROOT/%{_libdir} && ls *.so | \
+(cd %{buildroot}/%{_libdir} && ls *.so | \
awk '{ print "%{_libdir}/"$1; }' | \
sort) > all-so.list
# Make a list of likely svc.conf targets.
-(cd $RPM_BUILD_ROOT/%{_libdir} && ls *.so | \
+(cd %{buildroot}/%{_libdir} && ls *.so | \
nm --print-file-name *.so | \
grep _make_ | \
awk 'BEGIN { FS=":"} /^[^:]+:/ { print "%{_libdir}/"$1; }' | \
@@ -1173,13 +1441,14 @@ grep libTAO nonsvc-so.list > tao-nonsvc-so.list
# Concatenate file lists as neccessary
cat tao-headers.list tao-nonsvc-so.list > tao-devel-files.list
+cat ace-headers.list ace-nonsvc-so.list > ace-devel-files.list
# ================================================================
# clean
# ================================================================
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
# ================================================================
# pre install
@@ -1252,126 +1521,169 @@ exit 0
# ---------------- ace ----------------
%post -n ace
-
/sbin/ldconfig
# ---------------- ace-devel ----------------
%post -n ace-devel
-
-/sbin/install-info %{_infodir}/ace_gperf.info%{_extension} %{_infodir}/dir
+/sbin/ldconfig
# ---------------- ace-xml ----------------
%post -n ace-xml
-
/sbin/ldconfig
+# ---------------- ace-gperf ----------------
+
+%post -n ace-gperf
+
+%if %{defined suse_version}
+%install_info --info-dir=%_infodir %_infodir/ace_gperf.info%{_extension}
+%else
+/sbin/install-info %{_infodir}/ace_gperf.info%{_extension} %{_infodir}/dir
+%endif
+
# ---------------- ace-kokyu ----------------
%post -n ace-kokyu
+/sbin/ldconfig
+
+# ---------------- ace-foxreactor ----------------
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if %{undefined suse_version} || 0%{?suse_version} = 1020
+%post -n ace-foxreactor
/sbin/ldconfig
+%endif
+%endif
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
# ---------------- ace-flreactor ----------------
+%if %{?_with_fl:1}%{!?_with_fl:0}
%post -n ace-flreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-qtreactor ----------------
+%if %{?_with_qt:1}%{!?_with_qt:0}
%post -n ace-qtreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-tkreactor ----------------
+%if %{?_with_tk:1}%{!?_with_tk:0}
%post -n ace-tkreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-xtreactor ----------------
+%if %{?_with_xt:1}%{!?_with_xt:0}
%post -n ace-xtreactor
-
/sbin/ldconfig
%endif
# ---------------- tao ----------------
%post -n tao
-
/sbin/ldconfig
# ---------------- tao-devel ----------------
%post -n tao-devel
+/sbin/ldconfig
+
+# ---------------- tao-utils ----------------
+%post -n tao-utils
/sbin/ldconfig
# ---------------- tao-cosnaming ----------------
%post -n tao-cosnaming
-
+%if %{defined suse_version}
+%{fillup_and_insserv tao-cosnaming}
+%else
/sbin/chkconfig --add tao-cosnaming
+%endif
# ---------------- tao-cosevent ----------------
%post -n tao-cosevent
+%if %{defined suse_version}
+%{fillup_and_insserv tao-cosevent}
+%else
/sbin/chkconfig --add tao-cosevent
+%endif
# ---------------- tao-cosnotification ----------------
%post -n tao-cosnotification
+%if %{defined suse_version}
+%{fillup_and_insserv tao-cosnotification}
+%else
/sbin/chkconfig --add tao-cosnotification
+%endif
# ---------------- tao-costrading ----------------
%post -n tao-costrading
+%if %{defined suse_version}
+%{fillup_and_insserv tao-costrading}
+%else
/sbin/chkconfig --add tao-costrading
+%endif
# ---------------- tao-rtevent ----------------
%post -n tao-rtevent
+%if %{defined suse_version}
+%{fillup_and_insserv tao-rtevent}
+%else
/sbin/chkconfig --add tao-rtevent
+%endif
# ---------------- tao-cosconcurrency ----------------
%post -n tao-cosconcurrency
+%if %{defined suse_version}
+%{fillup_and_insserv tao-cosconcurrency}
+%else
/sbin/chkconfig --add tao-cosconcurrency
+%endif
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
# ---------------- tao-flresource ----------------
+%if %{?_with_fl:1}%{!?_with_fl:0}
%post -n tao-flresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-qtresource ----------------
+%if %{?_with_qt:1}%{!?_with_qt:0}
%post -n tao-qtresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-tkresource ----------------
+%if %{?_with_tk:1}%{!?_with_tk:0}
%post -n tao-tkresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-xtresource ----------------
+%if %{?_with_xt:1}%{!?_with_xt:0}
%post -n tao-xtresource
-
/sbin/ldconfig
%endif
@@ -1379,67 +1691,90 @@ exit 0
# pre uninstall
# ================================================================
-# ---------------- ace-devel ----------------
+# ---------------- ace-gperf ----------------
-%preun -n ace-devel
+%preun -n ace-gperf
if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_infodir}/ace_gperf.info.gz %{_infodir}/dir
+ /sbin/install-info --delete %{_infodir}/ace_gperf.info%{_extension} %{_infodir}/dir
fi
# ---------------- tao-cosnaming ----------------
%preun -n tao-cosnaming
-
+%if %{defined suse_version}
+%stop_on_removal tao-cosnaming
+%else
if [ $1 = 0 ]; then
/sbin/service tao-cosnaming stop > /dev/null 2>&1
/sbin/chkconfig --del tao-cosnaming
fi
+%endif
# ---------------- tao-cosevent ----------------
%preun -n tao-cosevent
+%if %{defined suse_version}
+%stop_on_removal tao-cosevent
+%else
if [ $1 = 0 ]; then
/sbin/service tao-cosevent stop > /dev/null 2>&1
/sbin/chkconfig --del tao-cosevent
fi
+%endif
# ---------------- tao-cosnotification ----------------
%preun -n tao-cosnotification
+%if %{defined suse_version}
+%stop_on_removal tao-cosnotification
+%else
if [ $1 = 0 ]; then
/sbin/service tao-cosnotification stop > /dev/null 2>&1
/sbin/chkconfig --del tao-cosnotification
fi
+%endif
# ---------------- tao-costrading ----------------
%preun -n tao-costrading
+%if %{defined suse_version}
+%stop_on_removal tao-costrading
+%else
if [ $1 = 0 ]; then
/sbin/service tao-costrading stop > /dev/null 2>&1
/sbin/chkconfig --del tao-costrading
fi
+%endif
# ---------------- tao-rtevent ----------------
%preun -n tao-rtevent
+%if %{defined suse_version}
+%stop_on_removal tao-rtevent
+%else
if [ $1 = 0 ]; then
/sbin/service tao-rtevent stop > /dev/null 2>&1
/sbin/chkconfig --del tao-rtevent
fi
+%endif
# ---------------- tao-cosconcurrency ----------------
%preun -n tao-cosconcurrency
+%if %{defined suse_version}
+%stop_on_removal tao-cosconcurrency
+%else
if [ $1 = 0 ]; then
/sbin/service tao-cosconcurrency stop > /dev/null 2>&1
/sbin/chkconfig --del tao-cosconcurrency
fi
+%endif
# ================================================================
# post uninstall
@@ -1448,132 +1783,173 @@ fi
# ---------------- ace ----------------
%postun -n ace
-
/sbin/ldconfig
# ---------------- ace-xml ----------------
%postun -n ace-xml
-
/sbin/ldconfig
# ---------------- ace-kokyu ----------------
%postun -n ace-kokyu
+/sbin/ldconfig
+# ---------------- ace-foxreactor ----------------
+
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%if 0%{?have_fox} == 1
+%postun -n ace-foxreactor
/sbin/ldconfig
+%endif
+%endif
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
# ---------------- ace-flreactor ----------------
+%if %{?_with_fl:1}%{!?_with_fl:0}
%postun -n ace-flreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-qtreactor ----------------
+%if %{?_with_qt:1}%{!?_with_qt:0}
%postun -n ace-qtreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-tkreactor ----------------
+%if %{?_with_tk:1}%{!?_with_tk:0}
%postun -n ace-tkreactor
-
/sbin/ldconfig
+%endif
# ---------------- ace-xtreactor ----------------
+%if %{?_with_xt:1}%{!?_with_xt:0}
%postun -n ace-xtreactor
-
/sbin/ldconfig
%endif
# ---------------- tao ----------------
%postun -n tao
-
/sbin/ldconfig
# ---------------- tao-devel ----------------
%postun -n tao-devel
+/sbin/ldconfig
+
+# ---------------- tao-utils ----------------
+%postun -n tao-utils
/sbin/ldconfig
# ---------------- tao-cosnaming ----------------
%postun -n tao-cosnaming
+%if %{defined suse_version}
+%restart_on_update tao-cosnaming
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosnaming condrestart > /dev/null 2>&1
+ /sbin/service tao-cosnaming %{cond_restart} > /dev/null 2>&1
fi
+%endif
# ---------------- tao-cosevent ----------------
%postun -n tao-cosevent
+%if %{defined suse_version}
+%restart_on_update tao-cosevent
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosevent condrestart > /dev/null 2>&1
+ /sbin/service tao-cosevent %{cond_restart} > /dev/null 2>&1
fi
+%endif
# ---------------- tao-cosnotification ----------------
%postun -n tao-cosnotification
+%if %{defined suse_version}
+%restart_on_update tao-cosnotification
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosnotification condrestart > /dev/null 2>&1
+ /sbin/service tao-cosnotification %{cond_restart} > /dev/null 2>&1
fi
+%endif
# ---------------- tao-costrading ----------------
%postun -n tao-costrading
+%if %{defined suse_version}
+%restart_on_update tao-costrading
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-costrading condrestart > /dev/null 2>&1
+ /sbin/service tao-costrading %{cond_restart} > /dev/null 2>&1
fi
+%endif
# ---------------- tao-rtevent ----------------
%postun -n tao-rtevent
+%if %{defined suse_version}
+%restart_on_update tao-rtevent
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-rtevent condrestart > /dev/null 2>&1
+ /sbin/service tao-rtevent %{cond_restart} > /dev/null 2>&1
fi
+%endif
# ---------------- tao-cosconcurrency ----------------
%postun -n tao-cosconcurrency
+%if %{defined suse_version}
+%restart_on_update tao-cosconcurrency
+%insserv_cleanup
+%else
if [ "$1" -ge "1" ]; then
- /sbin/service tao-cosconcurrency condrestart > /dev/null 2>&1
+ /sbin/service tao-cosconcurrency %{cond_restart} > /dev/null 2>&1
fi
+%endif
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
# ---------------- tao-flresource ----------------
+%if %{?_with_fl:1}%{!?_with_fl:0}
%postun -n tao-flresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-qtresource ----------------
+%if %{?_with_qt:1}%{!?_with_qt:0}
%postun -n tao-qtresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-tkresource ----------------
+%if %{?_with_tk:1}%{!?_with_tk:0}
%postun -n tao-tkresource
-
/sbin/ldconfig
+%endif
# ---------------- tao-xtresource ----------------
+%if %{?_with_xt:1}%{!?_with_xt:0}
%postun -n tao-xtresource
-
/sbin/ldconfig
%endif
@@ -1591,8 +1967,8 @@ fi
%{_libdir}/libACE_HTBP.so.%{ACEVERSO}
%{_libdir}/libACE_Monitor_Control.so.%{ACEVERSO}
%{_libdir}/libACE_RMCast.so.%{ACEVERSO}
-%{_libdir}/libACE_SSL.so.%{ACEVERSO}
%{_libdir}/libACE_TMCast.so.%{ACEVERSO}
+%{_libdir}/libACE_SSL.so.%{ACEVERSO}
%doc ACE-INSTALL.html
%doc AUTHORS
@@ -1605,27 +1981,41 @@ fi
# ---------------- ace-devel ----------------
-%files -n ace-devel -f ace-headers.list
+%files -n ace-devel -f ace-devel-files.list
%defattr(-,root,root,-)
-%{_bindir}/ace_gperf
%{_libdir}/libACE.so
%{_libdir}/libACE_ETCL_Parser.so
%{_libdir}/libACE_ETCL.so
%{_libdir}/libACE_HTBP.so
%{_libdir}/libACE_Monitor_Control.so
%{_libdir}/libACE_RMCast.so
-%{_libdir}/libACE_SSL.so
%{_libdir}/libACE_TMCast.so
-%attr(0644,root,root) %{_mandir}/man1/ace_gperf.1%{_extension}
-%attr(0644,root,root) %{_infodir}/ace_gperf.info%{_extension}
-
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%{_libdir}/libACE_SSL.so
+%dir %{_datadir}/ace
+%{_datadir}/ace/include
+%{_datadir}/ace/include/makeinclude
+%{_datadir}/ace/bin
+%{_datadir}/ace/ace
+%{_datadir}/ace/lib
+%config %{_sysconfdir}/profile.d/ace-devel.sh
+
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%exclude %{_includedir}/ace/FoxReactor/FoxReactor.h
+%exclude %{_includedir}/ace/FoxReactor/ACE_FoxReactor_export.h
+%endif
+%if %{?_with_fl:1}%{!?_with_fl:0}
%exclude %{_includedir}/ace/FlReactor/FlReactor.h
%exclude %{_includedir}/ace/FlReactor/ACE_FlReactor_export.h
+%endif
+%if %{?_with_qt:1}%{!?_with_qt:0}
%exclude %{_includedir}/ace/QtReactor/QtReactor.h
%exclude %{_includedir}/ace/QtReactor/ACE_QtReactor_export.h
+%endif
+%if %{?_with_tk:1}%{!?_with_tk:0}
%exclude %{_includedir}/ace/TkReactor/TkReactor.h
%exclude %{_includedir}/ace/TkReactor/ACE_TkReactor_export.h
+%endif
+%if %{?_with_xt:1}%{!?_with_xt:0}
%exclude %{_includedir}/ace/XtReactor/XtReactor.h
%exclude %{_includedir}/ace/XtReactor/ACE_XtReactor_export.h
%endif
@@ -1648,6 +2038,21 @@ fi
%doc README
%doc VERSION
+# ---------------- ace-gperf ----------------
+
+%files -n ace-gperf
+%defattr(-,root,root,-)
+%{_bindir}/ace_gperf
+%{_libdir}/libACE_gperf_lib.so.%{ACEVERSO}
+%attr(0644,root,root) %{_mandir}/man1/ace_gperf.1%{_extension}
+%attr(0644,root,root) %{_infodir}/ace_gperf.info%{_extension}
+
+%doc AUTHORS
+%doc COPYING
+%doc PROBLEM-REPORT-FORM
+%doc README
+%doc VERSION
+
# ---------------- ace-xml-devel ----------------
%files -n ace-xml-devel -f acexml-headers.list
@@ -1689,10 +2094,25 @@ fi
%doc README
%doc VERSION
+# ---------------- ace-foxreactor ----------------
+
+%if 0%{?have_fox} == 1
+%if %{?_with_fox:1}%{!?_with_fox:0}
+%files -n ace-foxreactor
+%defattr(-,root,root,-)
+%{_libdir}/libACE_FoxReactor.so.%{ACEVERSO}
+
+%doc AUTHORS
+%doc COPYING
+%doc PROBLEM-REPORT-FORM
+%doc README
+%doc VERSION
+
+%endif
+%endif
# ---------------- ace-flreactor ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%files -n ace-flreactor
%defattr(-,root,root,-)
@@ -1708,8 +2128,7 @@ fi
# ---------------- ace-flreactor-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%files -n ace-flreactor-devel
%defattr(-,root,root,-)
@@ -1728,8 +2147,7 @@ fi
# ---------------- ace-qtreactor ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_qt:1}%{!?_with_qt:0}
%files -n ace-qtreactor
%defattr(-,root,root,-)
@@ -1745,8 +2163,7 @@ fi
# ---------------- ace-qtreactor-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_qt:1}%{!?_with_qt:0}
%files -n ace-qtreactor-devel
%defattr(-,root,root,-)
@@ -1765,8 +2182,7 @@ fi
# ---------------- ace-tkreactor ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_tk:1}%{!?_with_tk:0}
%files -n ace-tkreactor
%defattr(-,root,root,-)
@@ -1782,8 +2198,7 @@ fi
# ---------------- ace-tkreactor-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_tk:1}%{!?_with_tk:0}
%files -n ace-tkreactor-devel
%defattr(-,root,root,-)
@@ -1802,8 +2217,7 @@ fi
# ---------------- ace-xtreactor ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_xt:1}%{!?_with_xt:0}
%files -n ace-xtreactor
%defattr(-,root,root,-)
@@ -1819,8 +2233,7 @@ fi
# ---------------- ace-xtreactor-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_xt:1}%{!?_with_xt:0}
%files -n ace-xtreactor-devel
%defattr(-,root,root,-)
@@ -1837,6 +2250,15 @@ fi
%endif
+# ---------------- mpc ----------------
+
+%files -n mpc
+%defattr(-,root,root,-)
+%{_datadir}/mpc
+%config %{_sysconfdir}/profile.d/mpc.sh
+%{_bindir}/mpc.pl
+%{_bindir}/mwc.pl
+
# ---------------- tao ----------------
# NOTE - Some of the TAO service modules need to be found by dlopen at
@@ -1845,18 +2267,20 @@ fi
%files -n tao -f tao-svc-so.list
%defattr(-,root,root,-)
+%{_datadir}/tao
%{_libdir}/libTAO*.so.%{TAOVERSO}
-# The libTAO_IFR_BE needs the IDL front-end
-%{_libdir}/libTAO_IDL_FE.so.%{ACEVERSO}
-
-%exclude %{_libdir}/libTAO_IDL_BE*
-
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%exclude %{_libdir}/libTAO_FlResource.so*
+%endif
+%if %{?_with_qt:1}%{!?_with_qt:0}
%exclude %{_libdir}/libTAO_QtResource.so*
+%endif
+%if %{?_with_tk:1}%{!?_with_tk:0}
%exclude %{_libdir}/libTAO_TkResource.so*
+%endif
+%if %{?_with_xt:1}%{!?_with_xt:0}
%exclude %{_libdir}/libTAO_XtResource.so*
%endif
@@ -1874,38 +2298,42 @@ fi
%files -n tao-devel -f tao-devel-files.list
%defattr(-,root,root,-)
+%config %{_sysconfdir}/profile.d/tao-devel.sh
-%{_libdir}/libTAO_IDL_BE.so.%{ACEVERSO}
-
-%{_bindir}/tao_idl
%{_bindir}/tao_imr
%{_bindir}/tao_ifr
-%{_bindir}/tao_catior
-%{_bindir}/tao_nsadd
-%{_bindir}/tao_nsdel
-%{_bindir}/tao_nslist
-%attr(0644,root,root) %{_mandir}/man1/tao_idl.1%{_extension}
+%{_datadir}/tao/MPC
+%{_bindir}/tao_idl
+%attr(0644,root,root) %doc %{_mandir}/man1/tao_idl.1%{_extension}
+%{_datadir}/tao/tao
+%{_datadir}/tao/orbsvcs
# These get missed by the automatic list generator because they
# contain no immediate files.
%dir %{_includedir}/orbsvcs/FtRtEvent
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%exclude %{_includedir}/tao/FlResource/FlResource_Factory.h
%exclude %{_includedir}/tao/FlResource/FlResource_Loader.h
%exclude %{_includedir}/tao/FlResource/TAO_FlResource_Export.h
+%exclude %{_libdir}/libTAO_FlResource.so
+%endif
+%if %{?_with_qt:1}%{!?_with_qt:0}
%exclude %{_includedir}/tao/QtResource/QtResource_Factory.h
%exclude %{_includedir}/tao/QtResource/QtResource_Loader.h
%exclude %{_includedir}/tao/QtResource/TAO_QtResource_Export.h
+%exclude %{_libdir}/libTAO_QtResource.so
+%endif
+%if %{?_with_tk:1}%{!?_with_tk:0}
%exclude %{_includedir}/tao/TkResource/TkResource_Factory.h
%exclude %{_includedir}/tao/TkResource/TkResource_Loader.h
%exclude %{_includedir}/tao/TkResource/TAO_TkResource_Export.h
+%exclude %{_libdir}/libTAO_TkResource.so
+%endif
+%if %{?_with_xt:1}%{!?_with_xt:0}
%exclude %{_includedir}/tao/XtResource/XtResource_Factory.h
%exclude %{_includedir}/tao/XtResource/XtResource_Loader.h
%exclude %{_includedir}/tao/XtResource/TAO_XtResource_Export.h
-%exclude %{_libdir}/libTAO_FlResource.so
-%exclude %{_libdir}/libTAO_QtResource.so
-%exclude %{_libdir}/libTAO_TkResource.so
%exclude %{_libdir}/libTAO_XtResource.so
%endif
@@ -1914,15 +2342,41 @@ fi
%doc TAO/VERSION
%doc TAO/README
+# ---------------- tao-utils ----------------
+
+%files -n tao-utils
+%defattr(-,root,root,-)
+
+%{_bindir}/tao_catior
+%{_bindir}/tao_nsadd
+%{_bindir}/tao_nsdel
+%{_bindir}/tao_nslist
+
+%doc TAO/COPYING
+%doc TAO/PROBLEM-REPORT-FORM
+%doc TAO/VERSION
+%doc TAO/README
+%doc TAO/utils/catior/README.catior
+%doc TAO/utils/nslist/README.nslist
+
# ---------------- tao-cosnaming ----------------
%files -n tao-cosnaming
%defattr(-,root,root,-)
+%dir %{_sysconfdir}/tao
+
%{_sbindir}/tao-cosnaming
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-cosnaming
+%{_sbindir}/rctao-cosnaming
+%{_sysconfdir}/tao/tao-cosnaming
+%else
%{_sysconfdir}/rc.d/init.d/tao-cosnaming
-%dir %{_sysconfdir}/tao
%config(noreplace) %{_sysconfdir}/tao/tao-cosnaming.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-cosnaming.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosnaming
%attr(-,tao,tao) %dir %{_localstatedir}/cache/tao
@@ -1940,10 +2394,18 @@ fi
%files -n tao-cosevent
%defattr(-,root,root,-)
+%dir %{_sysconfdir}/tao
%{_sbindir}/tao-cosevent
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-cosevent
+%{_sbindir}/rctao-cosevent
+%{_sysconfdir}/tao/tao-cosevent
+%else
%{_sysconfdir}/rc.d/init.d/tao-cosevent
-%dir %{_sysconfdir}/tao
%config(noreplace) %{_sysconfdir}/tao/tao-cosevent.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-cosevent.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosevent
%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
@@ -1960,9 +2422,17 @@ fi
%defattr(-,root,root,-)
%{_sbindir}/tao-cosnotification
-%{_sysconfdir}/rc.d/init.d/tao-cosnotification
%dir %{_sysconfdir}/tao
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-cosnotification
+%{_sbindir}/rctao-cosnotification
+%{_sysconfdir}/tao/tao-cosnotification
+%else
+%{_sysconfdir}/rc.d/init.d/tao-cosnotification
%config(noreplace) %{_sysconfdir}/tao/tao-cosnotification.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-cosnotification.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosnotification
%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
@@ -1978,10 +2448,19 @@ fi
%files -n tao-costrading
%defattr(-,root,root,-)
+%dir %{_sysconfdir}/tao
+
%{_sbindir}/tao-costrading
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-costrading
+%{_sbindir}/rctao-costrading
+%{_sysconfdir}/tao/tao-costrading
+%else
%{_sysconfdir}/rc.d/init.d/tao-costrading
-%dir %{_sysconfdir}/tao
%config(noreplace) %{_sysconfdir}/tao/tao-costrading.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-costrading.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-costrading
%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
@@ -1997,10 +2476,18 @@ fi
%files -n tao-rtevent
%defattr(-,root,root,-)
+%dir %{_sysconfdir}/tao
%{_sbindir}/tao-rtevent
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-rtevent
+%{_sbindir}/rctao-rtevent
+%{_sysconfdir}/tao/tao-rtevent
+%else
%{_sysconfdir}/rc.d/init.d/tao-rtevent
-%dir %{_sysconfdir}/tao
%config(noreplace) %{_sysconfdir}/tao/tao-rtevent.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-rtevent.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-rtevent
%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
@@ -2016,10 +2503,18 @@ fi
%files -n tao-cosconcurrency
%defattr(-,root,root,-)
+%dir %{_sysconfdir}/tao
%{_sbindir}/tao-cosconcurrency
+
+%if %{defined suse_version}
+%{_sysconfdir}/init.d/tao-cosconcurrency
+%{_sbindir}/rctao-cosconcurrency
+%{_sysconfdir}/tao/tao-cosconcurrency
+%else
%{_sysconfdir}/rc.d/init.d/tao-cosconcurrency
-%dir %{_sysconfdir}/tao
%config(noreplace) %{_sysconfdir}/tao/tao-cosconcurrency.opt
+%endif
+
%config(noreplace) %{_sysconfdir}/tao/tao-cosconcurrency.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/tao-cosconcurrency
%attr(-,tao,tao) %dir %{_localstatedir}/log/tao
@@ -2032,8 +2527,7 @@ fi
# ---------------- tao-flresource ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%files -n tao-flresource
%defattr(-,root,root,-)
@@ -2048,8 +2542,7 @@ fi
# ---------------- tao-flresource-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_fl:1}%{!?_with_fl:0}
%files -n tao-flresource-devel
%defattr(-,root,root,-)
@@ -2068,8 +2561,7 @@ fi
# ---------------- tao-qtresource ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_qt:1}%{!?_with_qt:0}
%files -n tao-qtresource
%defattr(-,root,root,-)
@@ -2084,8 +2576,7 @@ fi
# ---------------- tao-qtresource-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_qt:1}%{!?_with_qt:0}
%files -n tao-qtresource-devel
%defattr(-,root,root,-)
@@ -2104,8 +2595,7 @@ fi
# ---------------- tao-tkresource ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_tk:1}%{!?_with_tk:0}
%files -n tao-tkresource
%defattr(-,root,root,-)
@@ -2120,8 +2610,7 @@ fi
# ---------------- tao-tkresource-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_tk:1}%{!?_with_tk:0}
%files -n tao-tkresource-devel
%defattr(-,root,root,-)
@@ -2140,8 +2629,7 @@ fi
# ---------------- tao-xtresource ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_xt:1}%{!?_with_xt:0}
%files -n tao-xtresource
%defattr(-,root,root,-)
@@ -2156,8 +2644,7 @@ fi
# ---------------- tao-xtresource-devel ----------------
-# Read: true if _with_guilibs is defined, false if not defined.
-%if %{?_with_guilibs:1}%{!?_with_guilibs:0}
+%if %{?_with_xt:1}%{!?_with_xt:0}
%files -n tao-xtresource-devel
%defattr(-,root,root,-)
@@ -2179,250 +2666,18 @@ fi
# ================================================================
%changelog
-* Sun Nov 23 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.7-1
-- Updated for tao_ prefixed catior, nsadd, nsdel and nslist.
-
-* Thu Jul 31 2008 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.6-2
-- Removed ace-tao-unusedarg.patch (related to bug #3270).
-
-* Sat Jul 5 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.6-1
-- Updated for latest DOC Group release (x.6.6).
-- Tracked libACE_Monitor_Control name change.
-- Added idl and pidl include files to tao-devel package.
-
-* Wed Jun 25 2008 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.5-6
-- Removed gperf to gperf_ace rename, ACE ships now ace_gperf by default
-- Removed ace-tao-strrecvfd.patch
-- Removed gperf macro from ace-tao-config.patch
-- Removed gperf.info patch
-
-* Mon Jun 2 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.5-5
-- Added ace-tao-strrecvfd.patch (related to bug #3291).
-- Changed make loop construct to abort when subcomponent fails.
-- Removed PSS from TAO build list.
-- Added ace-tao-unusedarg.patch (related to bug #3270).
-- Made qt3 BuildRequires conditional on Fedora version.
-
-* Wed May 28 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.5-4
-- Added ace-tao-orbsvcs-daemon.patch.
-- Fixed tao-cosconcurrency command line arguments.
-
-* Sat May 24 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.5-3
-- Removed obstack patch, no longer needed.
-- Converted ace-tao-config-ipv6.patch into conditional rpm script.
-- Converted ace-tao-rnq.patch into conditional rpm script.
-- Converted ace-tao-config-tmplvis.patch and ace-tao-hasicmp.patch
- into rpm script.
-
-* Thu May 22 2008 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.5-3
-- Removed codeset patch, merged into the distribution
-
-* Wed May 21 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.5-2
-- Fixed without opt processing.
-
-* Mon May 19 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.5-1
-- Updated to latest DOC Group release (x.6.5).
-- Updated ace-tao-codeset.patch.
-- Removed ace-tao-x86_64.patch (fixed in repository.)
-- Added libACE_ETCL, libACE_ETCL_Parser and libACE_MonitorControl.
-
-* Sun May 18 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.4-4
-- Fixed tao-cosnaming.dat path bug.
-
-* Sun May 18 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.4-3
-- Improved to use _localstatedir where appropriate.
-- Made adjustments to file/dir permissions for services.
-- Added service logrotate scripts.
-
-* Wed May 14 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.4-2
-- Renamed tao services again per Fedora service spec.
-
-* Thu May 1 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.4-1
-- Updated to latest DOC Group release (x.6.4).
-
-* Thu May 1 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.3-3
-- Install service binaries in /usr/sbin instead of /usr/bin.
-
-* Sun Mar 30 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.3-2
-- Added dist macro to Release tag.
-- Miscellaneous rpmlint fixes.
-- Renamed service executables.
-
-* Sat Feb 23 2008 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.3-1
-- Updated to latest DOC group release (x.6.3).
-- Removed ace-tao-conf-epoll patch, no longer needed.
-
-* Sat Dec 15 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.2-1
-- Updated to latest DOC group release (x.6.2).
-
-* Sat Dec 15 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.1-3
-- Added service modules back into runtime packages.
-
-* Mon Dec 3 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.1-2
-- Added QtResource_Loader to explicit headers.
-
-* Sun Oct 28 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.1-2
-- Applied Tom Callaway's Fedora fixes.
-
-* Sat Sep 22 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6.1-1
-- Updated to latest DOC group release (x.6.1).
-
-* Mon Sep 3 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.6-1
-- Updated to latest DOC group release (x.6).
-- Combined 64bit patches into ace-tao-x86_64.patch.
-
-* Wed Aug 1 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.10-1
-- Updated to latest DOC group release (x.5.10).
-
-* Sun Jul 1 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.9-1
-- Updated to latest DOC group release (x.5.9).
-
-* Sat May 5 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.8-1
-- Updated to latest DOC group release (x.5.8).
-- Added ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS.
-
-* Sat Mar 24 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.7-1
-- Updated to latest DOC group release (x.5.7).
-
-* Mon Feb 19 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.6-2
-- Added SSLIOP refcount patch (DOC BUG 1506).
-
-* Fri Feb 2 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.6-1
-- Updated to latest DOC group release (x.5.6).
-
-* Thu Jan 25 2007 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.5-1
-- Updated to latest DOC group release (x.5.5).
-- Adjusted paths to {Fl,Qt,Tk,Xt}Reactor headers.
-
-* Sat Dec 16 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.4-2
-- Defined ACE_HAS_EVENT_POLL config parameter.
-
-* Wed Nov 29 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.4-1
-- Updated to latest DOC group release (x.5.4).
-
-* Mon Nov 20 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.3-3
-- Improved obstack patch per Johnny Willemsen.
-
-* Sat Nov 18 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.3-2
-- Added obstack workaround for FC6 builds.
-- Fixed IPV6 configuration patch.
-
-* Tue Oct 10 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.3-1
-- Updated to latest DOC group release (x.5.3).
-
-* Tue Sep 5 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.2-2
-- Added ACE_HAS_ICMP_SUPPORT to config.h
-- Added patch to re-enable setting ssl verify mode.
-
-* Wed Jul 12 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.2-1
-- Updated to latest DOC group release (x.5.2).
-
-* Sat Jun 24 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.1-4
-- Added IPv6 support by default.
-
-* Wed Jun 14 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.1-3
-- Added x86_64 patch back in (required for GUI builds).
-
-* Sun May 21 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.1-2
-- Added aio64 patch for librt.so detection.
-
-* Wed Apr 19 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5.1-1
-- Updated to latest DOC group release (x.5.1).
-- Added conditional (on by default) addition of
- ACE_HAS_REACTOR_NOTIFICATION_QUEUE to config.h.
-
-* Sat Mar 25 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5-2
-- Added Doug Schmidt's patches for gcc 4.1.0 type-punned warnings.
-- Removed X11 build dependencies due to xorg package renaming.
-
-* Tue Mar 7 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.5-1
-- Updated to latest DOC group release (x.5)
-
-* Wed Feb 22 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.10-1
-- Updated to latest DOC group release (x.4.10)
-
-* Sat Feb 11 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.9-2
-- Created unversioned symlinks for svc.conf loadable shared objects
- in runtime packages.
-- Now run mwc during rpmbuild even if _with_guilibs is not defined.
-- Removed patch for fixed namespace bugs.
-
-* Thu Feb 9 2006 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.9-1
-- Updated to latest DOC group release (x.4.9)
-
-* Fri Dec 23 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.8-1
-- Added ace-tao-idl-preproc patch for IDL include path bug.
-
-* Thu Dec 22 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.8-0
-- Updated to the latest DOC group release (5.4.8)
-
-* Fri Dec 9 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.7-1
-- Added buildbits=64 macro for 64 bit archs.
-
-* Mon Aug 8 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.7-0
-- Updated to latest DOC group release (5.4.7)
-
-* Fri Jun 10 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.6-0
-- Updated to latest DOC group release (5.4.6)
-
-* Sun May 15 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.5-0
-- Updated to latest DOC group release (5.4.5)
-- Removed TSS Cleanup patch (bug fixed in release).
-
-* Sat Mar 5 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-5
-- Fixed include directory uninstall cleanup for GUI reactor packages.
-- Fixed installation to preserve header timestamps.
-
-* Wed Mar 2 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-4
-- Integrated Marek Brudka's GUI library additions.
-
-* Thu Feb 24 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-3
-- Changed name of spec, source rpm and patches to remove '+'.
-
-* Sat Feb 19 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-2
-- Fixed installed doc, header and debug source file permissions.
-
-* Fri Feb 18 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-2
-- Updated spec tags per Fedora PackagingHints wiki document.
-
-* Thu Feb 17 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-1
-- Added patch to rename gperf info menu entry to gperf-ace.
-- Replaced TSS-Cleanup patch with candidate fixes from Dale Wilson.
-
-* Wed Feb 16 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-1
-- Macroed some absolute paths in the files section.
-- Added post and preun calls to install-info.
-
-* Mon Feb 14 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-1
-- Fixed BuildRequires entries.
-
-* Sun Feb 13 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-1
-- Added Giovanni Ferro's _extension macro for info and man pages.
-
-* Thu Feb 10 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.4-0
-- Updated to latest DOC group release (5.4.4).
-- Removed idl-rootinc patch (fixed in distro).
-- Removed orbdaemon patch (fixed in distro).
-- Added libTAO_TMCast.so to ace package.
-
-* Mon Feb 7 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.3-5
-- Added /usr/include/ACEXML to explicit directory list.
-
-* Sun Feb 6 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.3-4
-- Fixed unfulfilled dependency in tao package for libTAO_IDL_FE.so
-- Removed bidir-noassert patch, not needed.
-
-* Mon Jan 31 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.3-4
-- Added TSS Cleanup fixes patch (DOC bugzilla #2044)
+* Thu Jul 23 2009 Johnny Willemsen <jwillemsen@remedy.nl> - 5.7.2-0
+- New micro release
-* Mon Jan 17 2005 Andrew L. Shwaika <als@solvo.ru> - 5.4.3-3
-- Add CORBA services
+* Mon Jul 13 2009 Phil Mesnier <mesnier_p@ociweb.com> - 5.7.1-0
+- New micro release
-* Sat Jan 15 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.3-2
-- Used ACE_GPERF to change name of installed gperf to gperf-ace.
+* Wed Jun 24 2009 Johnny Willemsen <jwillemsen@remedy.nl> - 5.7.0-0
+- New minor release
-* Mon Jan 10 2005 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.3-1
-- Added bidir-noassert2 patch.
+* Fri Mar 13 2009 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.8-2
+- Removed specific OS checks
-* Sat Dec 18 2004 Ken Sedgwick <ken+5a4@bonsai.com> - 5.4.2-0
-- Initial build.
+* Fri Aug 22 2008 Johnny Willemsen <jwillemsen@remedy.nl> - 5.6.5-1
+- Initial version. Be aware that this is a subversion snapshot, almost
+ 5.6.6
diff --git a/rpmbuild/etc/logrotate.d/tao-cosconcurrency b/rpmbuild/etc/logrotate.d/tao-cosconcurrency
new file mode 100644
index 00000000000..d256e1a8331
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-cosconcurrency
@@ -0,0 +1,6 @@
+/var/log/tao/tao-cosconcurrency.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/logrotate.d/tao-cosevent b/rpmbuild/etc/logrotate.d/tao-cosevent
new file mode 100644
index 00000000000..f49bbd21995
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-cosevent
@@ -0,0 +1,6 @@
+/var/log/tao/tao-cosevent.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/logrotate.d/tao-cosnaming b/rpmbuild/etc/logrotate.d/tao-cosnaming
new file mode 100644
index 00000000000..c9458cd01bb
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-cosnaming
@@ -0,0 +1,6 @@
+/var/log/tao/tao-cosnaming.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/logrotate.d/tao-cosnotification b/rpmbuild/etc/logrotate.d/tao-cosnotification
new file mode 100644
index 00000000000..bccc92eef2c
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-cosnotification
@@ -0,0 +1,6 @@
+/var/log/tao/tao-cosnotification.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/logrotate.d/tao-costrading b/rpmbuild/etc/logrotate.d/tao-costrading
new file mode 100644
index 00000000000..6eb6b78c695
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-costrading
@@ -0,0 +1,6 @@
+/var/log/tao/tao-costrading.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/logrotate.d/tao-rtevent b/rpmbuild/etc/logrotate.d/tao-rtevent
new file mode 100644
index 00000000000..80d2e7b6736
--- /dev/null
+++ b/rpmbuild/etc/logrotate.d/tao-rtevent
@@ -0,0 +1,6 @@
+/var/log/tao/tao-rtevent.log {
+ copytruncate
+ missingok
+ size 1M
+ endscript
+}
diff --git a/rpmbuild/etc/tao/tao-cosconcurrency.conf b/rpmbuild/etc/tao/tao-cosconcurrency.conf
new file mode 100644
index 00000000000..1123ad5fa6a
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-cosconcurrency.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-cosconcurrency.
+#
diff --git a/rpmbuild/etc/tao/tao-cosevent.conf b/rpmbuild/etc/tao/tao-cosevent.conf
new file mode 100644
index 00000000000..9a678b5e043
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-cosevent.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-cosevent.
+#
diff --git a/rpmbuild/etc/tao/tao-cosnaming.conf b/rpmbuild/etc/tao/tao-cosnaming.conf
new file mode 100644
index 00000000000..d35fc531867
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-cosnaming.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-cosnaming.
+#
diff --git a/rpmbuild/etc/tao/tao-cosnotification.conf b/rpmbuild/etc/tao/tao-cosnotification.conf
new file mode 100644
index 00000000000..4851348eca4
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-cosnotification.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-cosnotification.
+#
diff --git a/rpmbuild/etc/tao/tao-costrading.conf b/rpmbuild/etc/tao/tao-costrading.conf
new file mode 100644
index 00000000000..88a9e38bcf1
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-costrading.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-costrading.
+#
diff --git a/rpmbuild/etc/tao/tao-rtevent.conf b/rpmbuild/etc/tao/tao-rtevent.conf
new file mode 100644
index 00000000000..4690a83235d
--- /dev/null
+++ b/rpmbuild/etc/tao/tao-rtevent.conf
@@ -0,0 +1,3 @@
+#
+# Service Configuration for tao-rtevent.
+#
diff --git a/tests/ACE_Init_Test.cpp b/tests/ACE_Init_Test.cpp
index 89373bc32ba..355b70b5349 100644
--- a/tests/ACE_Init_Test.cpp
+++ b/tests/ACE_Init_Test.cpp
@@ -25,7 +25,7 @@ run_main (int, ACE_TCHAR *[])
{
ACE_START_TEST (ACE_TEXT ("ACE_Init_Test"));
ACE_ERROR ((LM_INFO,
- ACE_TEXT ("This is not a Win32 platform, test skipped\n")));
+ ACE_TEXT ("This is not a Win32 platform with MFC support, test skipped\n")));
ACE_END_TEST;
return 0;
}
diff --git a/tests/ARGV_Test.cpp b/tests/ARGV_Test.cpp
index 75e3d3a879d..eabb48960df 100644
--- a/tests/ARGV_Test.cpp
+++ b/tests/ARGV_Test.cpp
@@ -182,11 +182,17 @@ test_argv_buf (void)
static int
test_argv_quotes (void)
{
- const ACE_TCHAR *argv[] = { ACE_TEXT ("first without quotes"),
- ACE_TEXT ("'second in single quotes'"),
- ACE_TEXT ("\"third in double quotes\""),
- 0
- };
+ const ACE_TCHAR *argv_const[] = { ACE_TEXT ("first without quotes"),
+ ACE_TEXT ("'second in single quotes'"),
+ ACE_TEXT ("\"third in double quotes\""),
+ 0
+ };
+ ACE_TCHAR **argv = const_cast<ACE_TCHAR **> (argv_const);
+ // The convoluted argv definition is to silence warnings from gcc 4.3, which
+ // warns if the string-literals are not assigned to const char* and also
+ // warns if the const char*[] is passed to the ACE_ARGV constructor as in
+ // "args3" below.
+
int argc = 3;
// (argc, argv)
diff --git a/tests/Atomic_Op_Test.cpp b/tests/Atomic_Op_Test.cpp
index d807b287684..fe6cdad42e3 100644
--- a/tests/Atomic_Op_Test.cpp
+++ b/tests/Atomic_Op_Test.cpp
@@ -25,19 +25,20 @@ ACE_RCSID(tests, Atomic_Op_Test, "$Id$")
#include "ace/Atomic_Op.h"
#include "ace/Synch_Traits.h"
+#include "ace/Time_Value.h"
+#include "ace/OS_NS_sys_time.h"
-enum { TEST_ITERATIONS = 1000000 };
-
-int
-run_main (int, ACE_TCHAR *[])
+template <typename TYPE, typename dummy>
+int test (const ACE_TCHAR* type, int iterations)
{
- ACE_START_TEST (ACE_TEXT ("Atomic_Op_Test"));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Measuring %d iterations for %s\n"), iterations, type));
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, long> foo (5);
+ int retval = 0;
+ ACE_Atomic_Op <ACE_SYNCH_MUTEX, TYPE> foo (5);
ACE_ASSERT (foo == 5);
- long result = ++foo;
+ TYPE result = ++foo;
ACE_ASSERT (foo == 6);
ACE_ASSERT (result == 6);
@@ -64,322 +65,204 @@ run_main (int, ACE_TCHAR *[])
foo = 7;
ACE_ASSERT (foo == 7);
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, long> foo2 (5);
+ ACE_Atomic_Op <ACE_SYNCH_MUTEX, TYPE> foo2 (5);
foo2 = foo;
ACE_ASSERT (foo == 7);
ACE_ASSERT (foo2 == 7);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <long> assignment %D\n")));
+ ACE_UINT64 usec;
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> assignment %D\n"), type));
+ ACE_Time_Value diff = ACE_OS::gettimeofday ();
int i;
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ for (i = 0; i < iterations; ++i)
{
foo = 1;
foo = 2;
foo = 3;
foo = 4;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <long> assignment %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> assignment %D, took %Q\n"), type, usec));
+
+ foo = 0;
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <long> increment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> prefix increment %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
++foo;
++foo;
++foo;
++foo;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <long> increment %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> prefix increment %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <long> decrement %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != iterations * 4)
{
- --foo;
- --foo;
- --foo;
- --foo;
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Prefix increment failed\n")));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <long> decrement %D\n")));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <long> addition %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> prefix decrement %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- foo += 5;
- foo += 5;
- foo += 5;
- foo += 5;
+ foo--;
+ foo--;
+ foo--;
+ foo--;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <long> addition %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> prefix decrement %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <long> subtraction %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != 0)
{
- foo -= 5;
- foo -= 5;
- foo -= 5;
- foo -= 5;
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Prefix decrement failed\n")));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <long> subtraction %D\n")));
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, unsigned long> foo_unsigned (5);
-
- ACE_ASSERT (foo_unsigned == 5);
-
- unsigned long ul_result = ++foo_unsigned;
- ACE_ASSERT (foo_unsigned == 6);
- ACE_ASSERT (ul_result == 6);
-
- ul_result = --foo_unsigned;
- ACE_ASSERT (foo_unsigned == 5);
- ACE_ASSERT (ul_result == 5);
- ul_result = foo_unsigned++;
- ACE_ASSERT (foo_unsigned == 6);
- ACE_ASSERT (ul_result == 5);
-
- ul_result = foo_unsigned--;
- ACE_ASSERT (foo_unsigned == 5);
- ACE_ASSERT (ul_result == 6);
-
- ul_result = foo_unsigned += 10;
- ACE_ASSERT (foo_unsigned == 15);
- ACE_ASSERT (ul_result == 15);
-
- ul_result = foo_unsigned -= 10;
- ACE_ASSERT (foo_unsigned == 5);
- ACE_ASSERT (ul_result == 5);
-
- foo_unsigned = 7;
- ACE_ASSERT (foo_unsigned == 7);
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, unsigned long> foo_unsigned2 (5);
- foo_unsigned2 = foo_unsigned;
- ACE_ASSERT (foo_unsigned == 7);
- ACE_ASSERT (foo_unsigned2 == 7);
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned long> assignment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> postfix increment %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- foo_unsigned = 1;
- foo_unsigned = 2;
- foo_unsigned = 3;
- foo_unsigned = 4;
+ foo++;
+ foo++;
+ foo++;
+ foo++;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned long> assignment %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> postfix increment %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned long> increment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != iterations * 4)
{
- ++foo_unsigned;
- ++foo_unsigned;
- ++foo_unsigned;
- ++foo_unsigned;
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Postfix increment failed\n")));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned long> increment %D\n")));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned long> decrement %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> postfix decrement %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- --foo_unsigned;
- --foo_unsigned;
- --foo_unsigned;
- --foo_unsigned;
+ --foo;
+ --foo;
+ --foo;
+ --foo;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned long> decrement %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> postfix decrement %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned long> addition %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != 0)
{
- foo_unsigned += 5;
- foo_unsigned += 5;
- foo_unsigned += 5;
- foo_unsigned += 5;
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Postfix decrement failed\n")));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned long> addition %D\n")));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned long> subtraction %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> addition %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- foo_unsigned -= 5;
- foo_unsigned -= 5;
- foo_unsigned -= 5;
- foo_unsigned -= 5;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned long> subtraction %D\n")));
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, int> bar (5);
-
- ACE_ASSERT (bar == 5);
-
- result = ++bar;
- ACE_ASSERT (bar == 6);
- ACE_ASSERT (result == 6);
-
- result = --bar;
- ACE_ASSERT (bar == 5);
- ACE_ASSERT (result == 5);
-
- result = bar++;
- ACE_ASSERT (bar == 6);
- ACE_ASSERT (result == 5);
-
- result = bar--;
- ACE_ASSERT (bar == 5);
- ACE_ASSERT (result == 6);
-
- result = bar += 10;
- ACE_ASSERT (bar == 15);
- ACE_ASSERT (result == 15);
-
- result = bar -= 10;
- ACE_ASSERT (bar == 5);
- ACE_ASSERT (result == 5);
-
- bar = 7L;
- ACE_ASSERT (bar == 7);
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, int> bar2 (5L);
- bar2 = bar;
- ACE_ASSERT (bar == 7);
- ACE_ASSERT (bar2 == 7);
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <int> assignment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
- {
- bar = 1;
- bar = 2;
- bar = 3;
- bar = 4;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <int> assignment %D\n")));
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <int> increment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
- {
- ++bar;
- ++bar;
- ++bar;
- ++bar;
+ foo += 5;
+ foo += 5;
+ foo += 5;
+ foo += 5;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <int> increment %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> addition %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <int> decrement %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != iterations * 4 * 5)
{
- --bar;
- --bar;
- --bar;
- --bar;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <int> decrement %D\n")));
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Addition failed\n")));
+ }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <int> addition %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> subtraction %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- bar += 5;
- bar += 5;
- bar += 5;
- bar += 5;
+ foo -= 5;
+ foo -= 5;
+ foo -= 5;
+ foo -= 5;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <int> addition %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> subtraction %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <int> subtraction %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ if (foo != 0)
{
- bar -= 5;
- bar -= 5;
- bar -= 5;
- bar -= 5;
+ ++retval;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Error: Substraction failed\n")));
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <int> subtraction %D\n")));
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, unsigned int> unsigned_bar (5);
- ACE_ASSERT (unsigned_bar == 5);
-
- unsigned int ui_result = ++unsigned_bar;
- ACE_ASSERT (unsigned_bar == 6);
- ACE_ASSERT (ui_result == 6);
-
- ui_result = --unsigned_bar;
- ACE_ASSERT (unsigned_bar == 5);
- ACE_ASSERT (ui_result == 5);
-
- ui_result = unsigned_bar++;
- ACE_ASSERT (unsigned_bar == 6);
- ACE_ASSERT (ui_result == 5);
-
- ui_result = unsigned_bar--;
- ACE_ASSERT (unsigned_bar == 5);
- ACE_ASSERT (ui_result == 6);
-
- ui_result = unsigned_bar += 10;
- ACE_ASSERT (unsigned_bar == 15);
- ACE_ASSERT (ui_result == 15);
-
- ui_result = unsigned_bar -= 10;
- ACE_ASSERT (unsigned_bar == 5);
- ACE_ASSERT (ui_result == 5);
-
- unsigned_bar = 7L;
- ACE_ASSERT (unsigned_bar == 7);
+ return retval;
+}
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, unsigned int> unsigned_bar2 (5L);
- unsigned_bar2 = unsigned_bar;
- ACE_ASSERT (unsigned_bar == 7);
- ACE_ASSERT (unsigned_bar2 == 7);
+template <typename TYPE>
+int test (const ACE_TCHAR* type, int iterations)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Measuring %d iterations for %s\n"), iterations, type));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned int> assignment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
- {
- unsigned_bar = 1;
- unsigned_bar = 2;
- unsigned_bar = 3;
- unsigned_bar = 4;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned int> assignment %D\n")));
+ ACE_UINT64 usec;
+ int retval = 0;
+ ACE_Atomic_Op <ACE_SYNCH_MUTEX, TYPE> foo (true);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned int> increment %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> assignment %D\n"), type));
+ ACE_Time_Value diff = ACE_OS::gettimeofday ();
+ int i;
+ for (i = 0; i < iterations; ++i)
{
- ++unsigned_bar;
- ++unsigned_bar;
- ++unsigned_bar;
- ++unsigned_bar;
+ foo = true;
+ foo = true;
+ foo = true;
+ foo = true;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned int> increment %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> assignment %D, took %Q\n"), type, usec));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned int> decrement %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <%s> comparison %D\n"), type));
+ diff = ACE_OS::gettimeofday ();
+ for (i = 0; i < iterations; ++i)
{
- --unsigned_bar;
- --unsigned_bar;
- --unsigned_bar;
- --unsigned_bar;
+ if (foo != true) ++retval;
+ if (foo == false) ++retval;
+ if (foo != true) ++retval;
+ if (foo == false) ++retval;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned int> decrement %D\n")));
+ diff = ACE_OS::gettimeofday () - diff;
+ diff.to_usec (usec);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <%s> comparison %D, took %Q\n"), type, usec));
+
+ return retval;
+}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned int> addition %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
- {
- unsigned_bar += 5;
- unsigned_bar += 5;
- unsigned_bar += 5;
- unsigned_bar += 5;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned int> addition %D\n")));
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Atomic_Op_Test"));
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting <unsigned int> subtraction %D\n")));
- for (i = 0; i < TEST_ITERATIONS; ++i)
- {
- unsigned_bar -= 5;
- unsigned_bar -= 5;
- unsigned_bar -= 5;
- unsigned_bar -= 5;
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Ending <unsigned int> subtraction %D\n")));
+ int retval = 0;
+ retval += test <int, int> (ACE_TEXT("int"), 1000000);
+ retval += test <long, int> (ACE_TEXT("long"), 1000000);
+ retval += test <unsigned int, int> (ACE_TEXT("unsigned int"), 1000000);
+ retval += test <unsigned long, int> (ACE_TEXT("unsigned long"), 1000000);
+ retval += test <short, int> (ACE_TEXT("short"), 10000);
+ retval += test <unsigned short, int> (ACE_TEXT("unsigned short"), 10000);
+ retval += test <bool> (ACE_TEXT("bool"), 1000000);
+#if !defined (ACE_LACKS_LONGLONG_T)
+ retval += test <long long, int> (ACE_TEXT("long long"), 1000000);
+#endif
ACE_END_TEST;
- return 0;
+ return retval;
}
diff --git a/tests/Based_Pointer_Test.cpp b/tests/Based_Pointer_Test.cpp
index 046cb38770f..90f72f4d3db 100644
--- a/tests/Based_Pointer_Test.cpp
+++ b/tests/Based_Pointer_Test.cpp
@@ -137,7 +137,7 @@ int singleton_test (void)
{
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("ACE_Based_Pointer_Repository is not a ")
- ACE_TEXT ("singleton in DLL %@ %@\n"),
+ ACE_TEXT ("singleton in DLL <%@> <%@>\n"),
baddr_dll,
baddr1),
-1);
diff --git a/tests/Basic_Types_Test.cpp b/tests/Basic_Types_Test.cpp
index 7a864720841..2372defb539 100644
--- a/tests/Basic_Types_Test.cpp
+++ b/tests/Basic_Types_Test.cpp
@@ -290,10 +290,19 @@ run_main (int, ACE_TCHAR *[])
++errors;
}
+ ACE_UINT16 test_val = 123;
#if defined (ACE_LITTLE_ENDIAN)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("little endian\n")));
+ if (ACE_HTONS (test_val) == test_val)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Endian test: %d == %d but should be different\n"),
+ ACE_HTONS (test_val), test_val));
#elif defined (ACE_BIG_ENDIAN)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("big endian\n")));
+ if (ACE_HTONS (test_val) != test_val)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Endian test: %d != %d but should be equal\n"),
+ ACE_HTONS (test_val), test_val));
#else
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("assertion failed: no ACE_*_ENDIAN definition!\n")));
diff --git a/tests/Bug_1890_Regression_Test.cpp b/tests/Bug_1890_Regression_Test.cpp
index 3f489c5bad2..2d2cf98a3c8 100644
--- a/tests/Bug_1890_Regression_Test.cpp
+++ b/tests/Bug_1890_Regression_Test.cpp
@@ -16,6 +16,7 @@
#include "ace/Event_Handler.h"
#include "ace/Reactor.h"
#include "ace/Select_Reactor.h"
+#include "ace/Auto_Ptr.h"
ACE_RCSID (tests,
Bug_1890_Regression_Test,
@@ -105,8 +106,11 @@ run_main (int, ACE_TCHAR *[])
// Bug 1890 is all about ACE_Select_Reactor, so run it on that reactor
// regardless of platform.
- ACE_Select_Reactor select_reactor;
- ACE_Reactor reactor (&select_reactor);
+ ACE_Select_Reactor *impl_ptr = 0;
+ ACE_NEW_RETURN (impl_ptr, ACE_Select_Reactor, -1);
+ auto_ptr<ACE_Select_Reactor> auto_impl (impl_ptr);
+
+ ACE_Reactor reactor (impl_ptr);
// Create the timer, this is the main driver for the test
Timer * timer = new Timer;
diff --git a/tests/Bug_2434_Regression_Test.cpp b/tests/Bug_2434_Regression_Test.cpp
new file mode 100644
index 00000000000..d3d6ce324fc
--- /dev/null
+++ b/tests/Bug_2434_Regression_Test.cpp
@@ -0,0 +1,68 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Bug_2434_Regression_Test.cpp
+//
+// = DESCRIPTION
+// This is a simple test of ACE_Time_Value. No command line arguments
+// are needed to run the test. It also tests the ACE_U_LongLong class.
+// Because ACE_U_LongLong is used for ACE_hrtime_t on some platforms,
+// this seems like a reasonable place to test it.
+//
+// = AUTHOR
+// Prashant Jain <pjain@cs.wustl.edu> and David Levine <levine@cs.wustl.edu>
+//
+// ============================================================================
+
+// Note, for this test the config.h file *must* come first!
+#include "ace/config-all.h"
+
+ACE_RCSID(tests, Bug_2434_Regression_Test, "$Id$")
+
+#include "test_config.h"
+#include "ace/ACE.h"
+#include "ace/Time_Value.h"
+#include "ace/Numeric_Limits.h"
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ int ret = 0;
+
+ ACE_START_TEST (ACE_TEXT ("Bug_2434_Regression_Test"));
+
+ ACE_Time_Value tv1;
+ ACE_Time_Value tv2;
+
+ const time_t max_time_t = ACE_Numeric_Limits<time_t>::max ();
+ const time_t min_time_t = ACE_Numeric_Limits<time_t>::min ();
+
+ // test saturated result
+ tv1.set (max_time_t - 1, 499999);
+ tv2.set (max_time_t, 999999); // ACE_Time_Value::max_time
+ tv1 *= 10.0;
+ ACE_ASSERT (tv1 == tv2);
+ tv1.set (max_time_t - 1, 499999);
+ tv2.set (min_time_t, -999999);
+ tv1 *= -10.0;
+ ACE_ASSERT (tv1 == tv2);
+
+ // test results near limits
+ tv1.set ((max_time_t >> 1), 499999);
+ tv2.set ((-(max_time_t >> 1) << 1), -999998);
+ tv1 *= -2.0;
+ ACE_ASSERT (tv1 == tv2);
+ tv1.set (max_time_t >> 1, 499999);
+ tv2.set (((max_time_t >> 1) << 1), 999998);
+ tv1 *= 2.0;
+ ACE_ASSERT (tv1 == tv2);
+
+ ACE_END_TEST;
+
+ return ret;
+}
diff --git a/tests/Bug_2540_Regression_Test.cpp b/tests/Bug_2540_Regression_Test.cpp
index 66f1f4f4ddb..2a05b97cb6d 100644
--- a/tests/Bug_2540_Regression_Test.cpp
+++ b/tests/Bug_2540_Regression_Test.cpp
@@ -16,6 +16,7 @@
#include "ace/Event_Handler.h"
#include "ace/Reactor.h"
#include "ace/Select_Reactor.h"
+#include "ace/Auto_Ptr.h"
ACE_RCSID (tests,
Bug_2540_Regression_Test,
@@ -70,7 +71,7 @@ private:
* in a repeating interval. On the first @c initial_iterations the Timer
* writes data through all of its handlers. On iteration @c initial_iteration
* it triggers bug 2540 by removing two handlers from the reactor.
- *
+ *
*/
class Timer : public ACE_Event_Handler
{
@@ -109,8 +110,11 @@ run_main (int, ACE_TCHAR *[])
// regardless of platform. In particular, this test relies on a handler
// that doesn't consume ready-to-read data being called back - this won't
// happen with ACE_WFMO_Reactor.
- ACE_Select_Reactor select_reactor;
- ACE_Reactor reactor (&select_reactor);
+ ACE_Select_Reactor *impl_ptr = 0;
+ ACE_NEW_RETURN (impl_ptr, ACE_Select_Reactor, -1);
+ auto_ptr<ACE_Select_Reactor> auto_impl (impl_ptr);
+
+ ACE_Reactor reactor (impl_ptr);
// Create the timer, this is the main driver for the test
Timer * timer = new Timer;
diff --git a/tests/Bug_2609_Regression_Test.cpp b/tests/Bug_2609_Regression_Test.cpp
index 734ba205acd..475ef6aeb81 100644
--- a/tests/Bug_2609_Regression_Test.cpp
+++ b/tests/Bug_2609_Regression_Test.cpp
@@ -55,22 +55,24 @@ public:
int open (void* pv)
{
TEST_TRACE ("open");
- g_semaphore.release(); // signal open completed
+ g_semaphore.release (); // signal open completed
+ // super::open() will register_handler for input. The default
+ // handle_input() from ACE_Event_Handler will return -1, triggering
+ // handler removal from the reactor.
return super::open (pv);
}
//FUZZ: enable check_for_lack_ACE_OS
- int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask mask)
+ int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
{
TEST_TRACE ("handle_close");
- super::handle_close (fd, mask);
if (g_handler_deleted)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("Handler deleted in base class' handle_close()\n")));
- }
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Handler deleted in base handle_close()\n")));
+ }
// signal handle_close() completed
- g_semaphore.release();
+ g_semaphore.release ();
return 0;
}
};
@@ -80,12 +82,15 @@ struct My_Task : public ACE_Task_Base
int svc()
{
TEST_TRACE ("My_Task::svc");
- ACE_Reactor::instance()->owner(ACE_OS::thr_self());
- int rv = ACE_Reactor::instance()->run_reactor_event_loop();
+ ACE_Reactor *r = ACE_Reactor::instance ();
+ r->owner (ACE_OS::thr_self ());
+ int rv = r->run_reactor_event_loop ();
if (rv < 0)
- {
- ACE_ERROR ((LM_ERROR, ACE_TEXT("Cannot run reactor event loop\n")));
- }
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Cannot run %p\n"),
+ ACE_TEXT ("reactor event loop")));
+ }
return 0;
}
};
@@ -95,7 +100,7 @@ struct Timer_Handler : public ACE_Event_Handler
{
int handle_timeout (const ACE_Time_Value&, const void*)
{
- g_semaphore.release(); // signal reactor started
+ g_semaphore.release (); // signal reactor started
return 0;
}
};
@@ -109,40 +114,66 @@ run_main (int, ACE_TCHAR *[])
{
ACE_START_TEST (ACE_TEXT ("Bug_2609_Regression_Test"));
+ int status = 0;
+
#if defined (ACE_HAS_THREADS)
- My_Acceptor acceptor (ACE_INET_Addr(9876));
+ My_Acceptor acceptor;
+ if (-1 == acceptor.open (ACE_sap_any_cast (const ACE_INET_Addr &)))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("acceptor open")),
+ 1);
+ ACE_INET_Addr listen_addr;
+ acceptor.acceptor ().get_local_addr (listen_addr);
+#if defined (ACE_HAS_IPV6)
+ const ACE_TCHAR *me =
+ listen_addr.get_type () == PF_INET ? ACE_LOCALHOST : ACE_IPV6_LOCALHOST;
+#else
+ const ACE_TCHAR *me = ACE_LOCALHOST;
+#endif /* ACE_HAS_IPV6 */
+ ACE_INET_Addr connect_addr (listen_addr.get_port_number (),
+ me,
+ listen_addr.get_type ());
+
Timer_Handler timer_handler;
- ACE_Reactor::instance()->schedule_timer(
- &timer_handler, 0, ACE_Time_Value(0));
+ ACE_Reactor::instance()->schedule_timer (&timer_handler,
+ 0,
+ ACE_Time_Value(0));
My_Task task;
- int activated = task.activate();
+ int activated = task.activate ();
if (activated < 0)
- {
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Could not activate task\n")));
- }
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Error activating task")),
+ 1);
+ }
- g_semaphore.acquire();// wait for reactor to start
+ g_semaphore.acquire (); // wait for reactor to start
{
ACE_SOCK_Connector c1;
ACE_SOCK_Stream s1;
- ACE_INET_Addr a1(9876, "localhost");
- if (-1 == c1.connect (s1, a1))
- {
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("Could not connect\n")), -1);
- }
- g_semaphore.acquire(); // wait for open to complete
- s1.close();
- g_semaphore.acquire(); // wait for handle_close to complete
+ if (-1 == c1.connect (s1, connect_addr))
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT("connect")));
+ status = 1;
+ }
+ else
+ {
+ g_semaphore.acquire (); // wait for open to complete
+ s1.close (); // will trip handle_input()
+ g_semaphore.acquire (); // wait for handle_close to complete
+ }
}
- ACE_Reactor::end_event_loop();
- task.wait();
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+ task.wait ();
#else
ACE_ERROR ((LM_INFO,
ACE_TEXT ("threads not supported on this platform\n")));
#endif
ACE_END_TEST;
- return 0;
+ return status;
}
diff --git a/tests/Bug_2653_Regression_Test.cpp b/tests/Bug_2653_Regression_Test.cpp
index 6a86198f6f2..488da5f0fcd 100644
--- a/tests/Bug_2653_Regression_Test.cpp
+++ b/tests/Bug_2653_Regression_Test.cpp
@@ -117,13 +117,13 @@ Handler::handle_output (ACE_HANDLE)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Handler::handle_output\n")));
-#if defined (__OpenBSD__) || defined (ACE_VXWORKS) || defined (__Lynx__)
+#if defined (__OpenBSD__) || defined (ACE_VXWORKS)
// All that we need written has been written, so don't
// call handle_output again.
this->reactor ()->mask_ops (this->pipe_.read_handle (),
ACE_Event_Handler::WRITE_MASK,
ACE_Reactor::CLR_MASK);
-#endif /* __OpenBSD__ || ACE_VXWORKS || __Lynx__ */
+#endif /* __OpenBSD__ || ACE_VXWORKS */
return 0;
}
diff --git a/tests/Bug_2740_Regression_Test.cpp b/tests/Bug_2740_Regression_Test.cpp
new file mode 100644
index 00000000000..8c31bfda748
--- /dev/null
+++ b/tests/Bug_2740_Regression_Test.cpp
@@ -0,0 +1,364 @@
+/**
+ * @file Bug_2740_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 2740
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2740
+ *
+ * @author paolo.volpi@tvblob.com
+ */
+
+#include "test_config.h"
+
+ACE_RCSID (tests,
+ Bug_2740_Regression_Test,
+ "$Id$")
+
+#if defined (ACE_HAS_DEV_POLL) || defined (ACE_HAS_EVENT_POLL)
+
+#include "ace/Atomic_Op.h"
+#include "ace/Reactor.h"
+#include "ace/Dev_Poll_Reactor.h"
+#include "ace/Connector.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Acceptor.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Svc_Handler.h"
+#include "ace/Signal.h"
+#include "ace/Time_Value.h"
+#include "ace/OS_NS_string.h"
+
+const ACE_Time_Value MAX_CLIENT_TIMEOUT(30); // 30 secs
+
+// The number of clients we'll run. When the ClientsLeft gets back to 0 (it's
+// decremented when a ClientSvcHandler is deleted) the event loop can stop.
+const long NrClients = 10;
+static ACE_Atomic_Op<ACE_Thread_Mutex, long> ClientsLeft (10);
+
+
+class ClientSvcHandler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ // Default ctor needed to satisfy ACE_Connector template, but not used.
+ ClientSvcHandler ()
+ { ACE_ERROR((LM_ERROR, ACE_TEXT ("%t: Wrong ClientSvcHandler ctor!!\n"))); }
+
+ // Each client will send/recv 'echo_cnt' times, close/reopen the socket,
+ // then echo, etc. for ACE_MAX_ITERATIONS times.
+ ClientSvcHandler (const ACE_INET_Addr &addr, int echo_cnt);
+ ~ClientSvcHandler ();
+
+ int open (void* factory);
+ int handle_input (ACE_HANDLE handle = ACE_INVALID_HANDLE);
+ int handle_timeout (const ACE_Time_Value &now, const void *act = 0);
+ int handle_close (ACE_HANDLE handle = ACE_INVALID_HANDLE,
+ ACE_Reactor_Mask mask = 0);
+
+protected:
+ static const char *send_str;
+
+ ACE_INET_Addr server_addr_;
+ // Know when we've received 'echo_cnt' echoes of the data. Don't want to
+ // get into record-marking, short-reads/writes, etc. so just count the number
+ // of bytes it takes to echo the data. Don't care about verifying the
+ // content - this is mostly a stress test for multithreaded reactor.
+ size_t echo_cnt_;
+ size_t iter_;
+ unsigned long timer_;
+};
+
+const char *ClientSvcHandler::send_str =
+ "1234567890123456789012345678901234567890";
+
+class ServerSvcHandler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ int open (void* factory);
+ int handle_input (ACE_HANDLE handle = ACE_INVALID_HANDLE);
+ int handle_close (ACE_HANDLE handle = ACE_INVALID_HANDLE,
+ ACE_Reactor_Mask mask = 0);
+};
+
+
+ClientSvcHandler::ClientSvcHandler (const ACE_INET_Addr &addr, int echo_cnt)
+ : ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>(),
+ server_addr_ (addr),
+ echo_cnt_ (ACE_OS::strlen (ClientSvcHandler::send_str) * echo_cnt),
+ iter_ (0)
+{
+}
+
+ClientSvcHandler::~ClientSvcHandler ()
+{
+ if (--ClientsLeft == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: No more clients; ending reactor loop\n")));
+ this->reactor ()->end_reactor_event_loop ();
+ }
+}
+
+int
+ClientSvcHandler::open (void* factory)
+{
+ ++iter_;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: client h %d, open for iteration %B\n"),
+ this->peer ().get_handle (), this->iter_));
+
+ if (ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::open (factory) == 0)
+ {
+ this->timer_ = this->reactor ()->schedule_timer (this,
+ 0,
+ MAX_CLIENT_TIMEOUT);
+
+ size_t send_len = ACE_OS::strlen (ClientSvcHandler::send_str);
+ if (-1 == this->peer().send_n (ClientSvcHandler::send_str, send_len))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: client h %d, %p\n"),
+ this->peer ().get_handle(),
+ ACE_TEXT ("send")),
+ -1);
+ return 0;
+ }
+
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: %p\n"),
+ ACE_TEXT ("Client open")),
+ -1);
+}
+
+int
+ClientSvcHandler::handle_input (ACE_HANDLE handle)
+{
+ // Get socket data
+ char buffer[ACE_DEFAULT_MAX_SOCKET_BUFSIZ];
+ ssize_t bc;
+ bc = this->peer ().recv (buffer, sizeof (buffer));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: client h %d recv %b bytes\n"),
+ handle,
+ bc));
+ if (bc > 0)
+ {
+ // Reset Client timeout timer
+ this->reactor ()->cancel_timer (this->timer_);
+
+ // Reduce the echo count by what was received; if not there, send
+ // more data and await more echo.
+ size_t ubc = (size_t)bc;
+ if (ubc <= this->echo_cnt_)
+ this->echo_cnt_ -= ubc;
+ if (this->echo_cnt_ == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: client h %d end of echo\n"),
+ handle));
+ return -1;
+ }
+
+ // Not done yet; send more data and resched timer.
+ size_t send_len = ACE_OS::strlen (ClientSvcHandler::send_str);
+ if (-1 == this->peer().send_n (ClientSvcHandler::send_str, send_len))
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%t: client h %d: %p\n"),
+ ACE_TEXT ("resending")),
+ -1);
+ this->timer_ = reactor ()->schedule_timer (this, 0, MAX_CLIENT_TIMEOUT);
+ }
+ else if (bc == 0) // Socket was closed by server
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: client h %d: closed by server\n"),
+ handle),
+ -1);
+ }
+ else if (errno == EWOULDBLOCK) // no data ready on socket
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("%t: client h %d: recv no data\n"),
+ handle),
+ 0);
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: client h %d: %p\n"),
+ handle,
+ ACE_TEXT ("send")),
+ -1);
+
+ return 0;
+}
+
+int
+ClientSvcHandler::handle_timeout (const ACE_Time_Value &, const void*)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: client h %d: timeout\n"),
+ this->peer ().get_handle ()));
+ reactor()->remove_handler (this, ACE_Event_Handler::ALL_EVENTS_MASK);
+ return 0;
+}
+
+int
+ClientSvcHandler::handle_close (ACE_HANDLE handle, ACE_Reactor_Mask mask)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: client h %d handle_close\n"),
+ handle));
+
+ // If not done iterating, just close the socket and reopen the connection.
+ // Else shut down and delete.
+ if (this->iter_ >= ACE_MAX_ITERATIONS)
+ return ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::handle_close(handle,
+ mask);
+ this->shutdown ();
+ ClientSvcHandler *p = const_cast<ClientSvcHandler *>(this);
+ ACE_Connector<ClientSvcHandler, ACE_SOCK_CONNECTOR>
+ connector (this->reactor (), ACE_NONBLOCK);
+ connector.connect (p, this->server_addr_);
+ return 0;
+}
+
+int
+ServerSvcHandler::open (void* factory)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: server h %d open\n"),
+ this->peer ().get_handle ()));
+
+ return ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::open (factory);
+}
+
+int
+ServerSvcHandler::handle_input (ACE_HANDLE handle)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: server h %d input\n"), handle));
+
+ // Receive whatever is here and send it back.
+ char buffer[ACE_DEFAULT_MAX_SOCKET_BUFSIZ];
+ ssize_t bc;
+ bc = this->peer ().recv (buffer, sizeof (buffer));
+ if (bc > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: server h %d recv %b bytes\n"),
+ handle,
+ bc));
+ if (-1 == this->peer ().send_n (buffer, bc))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: server h %d: %p\n"),
+ handle, ACE_TEXT ("send")),
+ -1);
+ }
+ else if (bc == 0 || errno == ECONNRESET) // Socket was closed by client
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ ACE_TEXT ("%t: server h %d: closed by client\n"),
+ handle),
+ -1);
+ }
+ else if (errno == EWOULDBLOCK) // no data ready on socket
+ {
+ // The reactor shouldn't call back for input if there's no data, so
+ // log an error, but keep running.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%t: server h %d: recv no data\n"),
+ handle),
+ 0);
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%t: server h %d: %p\n"),
+ handle,
+ ACE_TEXT ("recv")),
+ -1);
+
+ return 0;
+}
+
+int
+ServerSvcHandler::handle_close(ACE_HANDLE handle, ACE_Reactor_Mask mask)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: server h %d: handle_close\n"), handle));
+ return ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::handle_close (handle,
+ mask);
+}
+
+
+ACE_THR_FUNC_RETURN
+event_loop(void *arg)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: Starting reactor event loop\n")));
+
+ ACE_Reactor *reactor = static_cast<ACE_Reactor*>(arg);
+ int s = reactor->run_reactor_event_loop();
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: reactor loop done; status %d\n"), s));
+ return 0;
+}
+
+
+int run_main(int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_2740_Regression_Test"));
+
+ // Make sure we ignore SIGPIPE
+ sigset_t sigsetNew[1];
+ sigset_t sigsetOld[1];
+ ACE_OS::sigemptyset (sigsetNew);
+ ACE_OS::sigaddset (sigsetNew, SIGPIPE);
+ ACE_OS::sigprocmask (SIG_BLOCK, sigsetNew, sigsetOld);
+
+ ACE_Dev_Poll_Reactor dp_reactor;
+ dp_reactor.restart (1); // Restart on EINTR
+ ACE_Reactor reactor (&dp_reactor);
+
+ // Bind acceptor to any port and then find out what the port was.
+ ACE_Acceptor<ServerSvcHandler, ACE_SOCK_Acceptor> acceptor (&reactor,
+ ACE_NONBLOCK);
+ ACE_SOCK_Acceptor::PEER_ADDR server_addr;
+ if (acceptor.open (ACE_sap_any_cast (const ACE_INET_Addr &), &reactor) == -1
+ || acceptor.acceptor ().get_local_addr (server_addr) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("acceptor open")),
+ 1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) starting server at port %d\n"),
+ server_addr.get_port_number ()));
+
+ ACE_Thread_Manager::instance ()->spawn_n (ACE_MAX_THREADS,
+ event_loop,
+ &reactor);
+
+ ACE_Connector<ClientSvcHandler, ACE_SOCK_CONNECTOR> connector (&reactor,
+ ACE_NONBLOCK);
+ // Spin up clients to connect and iterate
+ long i;
+ for (i = 0; i < NrClients; ++i)
+ {
+ ClientSvcHandler *c = new ClientSvcHandler (server_addr, i % 4);
+ connector.connect(c, server_addr);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d clients connected\n"), (int)i));
+ ACE_Thread_Manager::instance ()->wait ();
+ ACE_END_TEST;
+ return 0;
+}
+
+#else
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_2740_Regression_Test"));
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("Dev Poll and Event Poll are not supported ")
+ ACE_TEXT ("on this platform\n")));
+ ACE_END_TEST;
+ return 0;
+}
+
+#endif /* ACE_HAS_DEV_POLL || ACE_HAS_EVENT_POLL */
diff --git a/tests/Bug_2980_Regression_Test.cpp b/tests/Bug_2980_Regression_Test.cpp
index c8cf34e84fe..c38593d9b10 100644
--- a/tests/Bug_2980_Regression_Test.cpp
+++ b/tests/Bug_2980_Regression_Test.cpp
@@ -4,6 +4,7 @@
#include <iostream>
#include <assert.h>
#include <stdio.h>
+#include <string.h>
#include "ace/config-lite.h"
diff --git a/tests/Bug_3334_Regression_Test.conf b/tests/Bug_3334_Regression_Test.conf
new file mode 100644
index 00000000000..1e863ef9fe9
--- /dev/null
+++ b/tests/Bug_3334_Regression_Test.conf
@@ -0,0 +1,7 @@
+stream dynamic Svc_Conf_Stream STREAM *Service_Config_Stream_DLL:make_stream() active
+{
+ dynamic Device_Adapter Module *Service_Config_Stream_DLL:make_da()
+ dynamic Event_Analyzer Module *Service_Config_Stream_DLL:make_ea()
+ dynamic Multicast_Router Module *Service_Config_Stream_DLL:make_mr()
+}
+
diff --git a/tests/Bug_3334_Regression_Test.cpp b/tests/Bug_3334_Regression_Test.cpp
new file mode 100644
index 00000000000..f3e0ff4c815
--- /dev/null
+++ b/tests/Bug_3334_Regression_Test.cpp
@@ -0,0 +1,46 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This test exercises ACE_Service_Config SEGV during shutdown when
+// Modules get double deleted. Once by Stream parent,
+// once by ACE_Service_Repository
+//
+// = AUTHOR
+// Chad Beaulac <chad@objectivesolutions.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Log_Msg.h"
+#include "ace/Service_Config.h"
+
+ACE_RCSID(tests, Bug_3334_Regression_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3334_Regression_Test"));
+
+ ACE_TCHAR *_argv[3] = { argv[0],
+ const_cast<ACE_TCHAR*> (ACE_TEXT ("-f")),
+ const_cast<ACE_TCHAR*>
+ (ACE_TEXT ("Bug_3334_Regression_Test.conf")) };
+ int status;
+ if ((status = ACE_Service_Config::open (3,
+ _argv,
+ ACE_DEFAULT_LOGGER_KEY,
+ true,
+ true /*ignore def svc.conf*/)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("open"),
+ 1));
+
+ ACE_END_TEST;
+ return status;
+}
diff --git a/tests/Bug_3500_Regression_Test.cpp b/tests/Bug_3500_Regression_Test.cpp
new file mode 100644
index 00000000000..4c0204fbffd
--- /dev/null
+++ b/tests/Bug_3500_Regression_Test.cpp
@@ -0,0 +1,58 @@
+/**
+ * @file Bug_3500_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3500:
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3500
+ *
+ * @author Bill Rizzi <rizzi@softserv.com>
+ */
+
+#include "ace/OS_NS_sys_mman.h"
+#include "ace/SString.h"
+#include "tests/test_config.h"
+
+ACE_RCSID (tests,
+ Bug_3500_Regression_Test,
+ "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3500_Regression_Test"));
+
+ int ret = 0;
+
+#if defined(ACE_WIN32) && !defined (ACE_LACKS_MMAP)
+ ACE_HANDLE handle = ACE_INVALID_HANDLE;
+ ACE_TString name(ACE_TEXT ("Bug3500"));
+
+ void *mmap =
+ ACE_OS::mmap(0, // addr
+ 28, // len
+ PAGE_READWRITE, // prot
+ MAP_SHARED, // flags
+ ACE_INVALID_HANDLE, // file_handle
+ 0, // off
+ &handle, // file_mapping
+ 0, // sa
+ name.c_str()); // shared memory name
+
+ if (mmap == MAP_FAILED)
+ {
+ ret = -1;
+ }
+#endif
+
+ if (0 != ret)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_OS::mmap() %p\n"),
+ ACE_TEXT ("failed")));
+ }
+
+ ACE_END_TEST;
+
+ return 0;
+}
diff --git a/tests/Bug_3532_Regression_Test.cpp b/tests/Bug_3532_Regression_Test.cpp
new file mode 100644
index 00000000000..0de011c6406
--- /dev/null
+++ b/tests/Bug_3532_Regression_Test.cpp
@@ -0,0 +1,59 @@
+/**
+ * @file Bug_3532_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3532
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3532
+ *
+ * @author Martin Gaus <Gaus at gmx dot de>
+ */
+
+#include "test_config.h"
+#include "ace/ACE.h"
+
+ACE_RCSID (tests,
+ Bug_3532_Regression_Test,
+ "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3532_Regression_Test"));
+
+ char Buffer[10];
+ int result = 0;
+
+ // Write a ASCII file with one byte (no BOM)
+ Buffer[0] = 'T';
+ FILE* pFile = ACE_OS::fopen(ACE_TEXT("OneByteFile"), ACE_TEXT("wb"));
+ ACE_OS::fwrite(&Buffer, 1, 1, pFile);
+ ACE_OS::fclose(pFile);
+
+ // Reopen the file and read the byte
+ Buffer[0] = '-';
+ pFile = ACE_OS::fopen(ACE_TEXT("OneByteFile"), ACE_TEXT("rb"));
+ size_t BytesRead = ACE_OS::fread(&Buffer, 1, 1, pFile);
+ if(BytesRead == 1)
+ {
+ if(Buffer[0] != 'T')
+ {
+ ++result;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: 'T' expected!!!\n")));
+ }
+ }
+ else
+ {
+ ++result;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: One byte should be read!!!\n")));
+ }
+
+ ACE_OS::fclose(pFile);
+
+ ACE_END_TEST;
+
+ return result;
+}
+
diff --git a/tests/Bug_3541_Regression_Test.cpp b/tests/Bug_3541_Regression_Test.cpp
new file mode 100644
index 00000000000..cbd0b28c791
--- /dev/null
+++ b/tests/Bug_3541_Regression_Test.cpp
@@ -0,0 +1,164 @@
+/**
+ * @file Bug_3541_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3541:
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3541
+ *
+ * @author Bill Rizzi <rizzi@softserv.com>
+ */
+
+#include "ace/Event.h"
+#include "ace/Mutex.h"
+#include "ace/Semaphore.h"
+#include "ace/OS_NS_errno.h"
+#include "ace/SString.h"
+#include "tests/test_config.h"
+
+
+ACE_RCSID (tests,
+ Bug_3541_Regression_Test,
+ "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3541_Regression_Test"));
+
+ int ret = 0;
+
+#if defined(ACE_WIN32) && !defined (ACE_USES_WINCE_SEMA_SIMULATION)
+ int lastError;
+
+ // ACE_OS::event_init()
+
+ const ACE_TCHAR *eventName = ACE_TEXT ("Bug3541_Event");
+
+ ACE_Event event0(0, // int manual_reset = 0
+ 0, // int initial_state = 0
+ USYNC_PROCESS, // int type = USYNC_THREAD
+ eventName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ ACE_event_t eventHandle = event0.handle();
+
+ if ((eventHandle == ACE_INVALID_HANDLE) ||
+ (lastError != 0))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Event(%s) failed - handle %d lastError %d\n"),
+ eventName, eventHandle, lastError));
+ }
+ else
+ {
+ ACE_Event event1(0, // int manual_reset = 0
+ 0, // int initial_state = 0
+ USYNC_PROCESS, // int type = USYNC_THREAD
+ eventName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ eventHandle = event1.handle();
+
+ if ((eventHandle == ACE_INVALID_HANDLE) ||
+ (lastError != ERROR_ALREADY_EXISTS))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Event(%s) failed - handle %d lastError %d\n"),
+ eventName, eventHandle, lastError));
+ }
+ }
+
+ // ACE_OS::sema_init
+
+ const ACE_TCHAR *semaphoreName = ACE_TEXT ("Bug3541_Semaphore");
+
+ ACE_Semaphore semaphore0(1, // int count = 1
+ USYNC_PROCESS, // int type = USYNC_THREAD
+ semaphoreName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ const ACE_sema_t &semaphoreLock = semaphore0.lock();
+ if ((semaphoreLock == ACE_INVALID_HANDLE) ||
+ (lastError != 0))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Semaphore(%s) failed - lock %d lastError %d\n"),
+ semaphoreName, semaphoreLock, lastError));
+ }
+ else
+ {
+ ACE_Semaphore semaphore1(1, // int count = 1
+ USYNC_PROCESS, // int type = USYNC_THREAD
+ semaphoreName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ const ACE_sema_t &semaphoreLock = semaphore1.lock();
+
+ if ((semaphoreLock == ACE_INVALID_HANDLE) ||
+ (lastError != ERROR_ALREADY_EXISTS))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Semaphore(%s) failed - lock %d lastError %d\n"),
+ semaphoreName, semaphoreLock, lastError));
+ }
+ }
+
+ // ACE_OS::mutex_init()
+
+ const ACE_TCHAR *mutexName = ACE_TEXT ("Bug3541_Mutex");
+
+ ACE_Mutex mutex0(USYNC_PROCESS, // int type = USYNC_THREAD
+ mutexName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ const ACE_mutex_t &mutexLock = mutex0.lock();
+
+ if ((mutexLock.proc_mutex_ == ACE_INVALID_HANDLE) ||
+ (lastError != 0))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Mutex(%s) failed - lock %d lastError %d\n"),
+ mutexName, mutexLock, lastError));
+ }
+ else
+ {
+ ACE_Mutex mutex1(USYNC_PROCESS, // int type = USYNC_THREAD
+ mutexName); // const ACE_TCHAR *name = 0
+
+ lastError = ACE_OS::last_error();
+
+ const ACE_mutex_t &mutexLock = mutex1.lock();
+
+ if ((mutexLock.proc_mutex_ == ACE_INVALID_HANDLE) ||
+ (lastError != ERROR_ALREADY_EXISTS))
+ {
+ ret = -1;
+
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_Mutex(%s) failed - lock %d lastError %d\n"),
+ mutexName, mutexLock, lastError));
+ }
+ }
+
+ #endif
+
+ ACE_END_TEST;
+
+ return ret;
+}
diff --git a/tests/Bug_3673_Regression_Test.cpp b/tests/Bug_3673_Regression_Test.cpp
new file mode 100644
index 00000000000..c074edbd1c9
--- /dev/null
+++ b/tests/Bug_3673_Regression_Test.cpp
@@ -0,0 +1,97 @@
+/**
+ * @file Bug_3673_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3673
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3673
+ */
+
+#include "test_config.h"
+#include "ace/ACE.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID (tests,
+ Bug_3673_Regression_Test,
+ "$Id$")
+
+#if defined (ACE_HAS_EXCEPTIONS)
+static bool construct_alpha = false;
+static bool destruct_alpha = false;
+static bool construct_beta = false;
+static bool destruct_beta = false;
+
+template <typename T>
+struct Alpha
+{
+ Alpha() { ACE_DEBUG ((LM_DEBUG, ACE_TEXT("construct alpha\n"))); construct_alpha = true;}
+ ~Alpha() { ACE_DEBUG ((LM_DEBUG, ACE_TEXT("destruct alpha\n"))); destruct_alpha = true;}
+};
+
+struct Beta
+{
+ Beta() { ACE_DEBUG ((LM_DEBUG, ACE_TEXT("construct beta\n"))); construct_beta = true;}
+ ~Beta() { ACE_DEBUG ((LM_DEBUG, ACE_TEXT("destruct bepha\n"))); destruct_beta = true;}
+};
+
+struct Test
+{
+ Alpha<int> a;
+ Beta b;
+
+ Test() { ACE_DEBUG ((LM_DEBUG, ACE_TEXT("throw oops\n"))); throw "oops"; }
+};
+#endif
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3673_Regression_Test"));
+ int result = 0;
+
+#if defined (ACE_HAS_EXCEPTIONS)
+ bool caught_excep = false;
+ try
+ {
+ Test test;
+ }
+ catch (...)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Caugt exception!\n")));
+ caught_excep = true;
+ }
+
+ if (!caught_excep)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Not caugt exception\n")));
+ ++result;
+ }
+ if (!construct_alpha)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Constructor alpha not called\n")));
+ ++result;
+ }
+ if (!construct_beta)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Constructor beta not called\n")));
+ ++result;
+ }
+ if (!destruct_alpha)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Destructor alpha not called\n")));
+ ++result;
+ }
+ if (!destruct_beta)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Destructor beta not called\n")));
+ ++result;
+ }
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("C++ exception support not enabled on this platform\n")));
+#endif /* ACE_HAS_EXCEPTIONS */
+
+ ACE_END_TEST;
+
+ return result;
+}
diff --git a/tests/Bug_3709_Regression_Test.cpp b/tests/Bug_3709_Regression_Test.cpp
new file mode 100644
index 00000000000..5fc6f8646c8
--- /dev/null
+++ b/tests/Bug_3709_Regression_Test.cpp
@@ -0,0 +1,48 @@
+/**
+ * @file Bug_3709_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3709
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3709
+ */
+
+#include "test_config.h"
+#include "ace/ACE.h"
+#include "ace/OS_NS_stdio.h"
+#include <vector>
+
+using namespace std;
+
+ACE_RCSID (tests,
+ Bug_3709_Regression_Test,
+ "$Id$")
+
+#if defined(_MSC_VER) && _MSC_VER < 1400
+#define MSVC_71_OR_OLDER
+#endif
+
+#ifndef MSVC_71_OR_OLDER
+template<template<typename U, typename = std::allocator<U> > class container, typename DT>
+container<DT> initializer(const DT &d)
+{
+ container<DT> t ;
+ t.insert(t.end(), d);
+ return t;
+}
+#endif
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3709_Regression_Test"));
+
+#ifndef MSVC_71_OR_OLDER
+ vector<int> v = initializer<vector>(5);
+ v.clear ();
+#endif
+
+ ACE_END_TEST;
+
+ return 0;
+}
diff --git a/tests/Bug_3710_Regression_Test.cpp b/tests/Bug_3710_Regression_Test.cpp
new file mode 100644
index 00000000000..148daef07d8
--- /dev/null
+++ b/tests/Bug_3710_Regression_Test.cpp
@@ -0,0 +1,35 @@
+/**
+ * @file Bug_3710_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3710
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3710
+ */
+
+#include "test_config.h"
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/OS_Memory.h"
+
+ACE_RCSID(tests, Bug_3710_Regression, "$Id$")
+
+// Main function.
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3710_Regression_Test"));
+
+ ACE_TCHAR out_string[64*1024+1];
+
+ ACE_OS::memset(out_string,ACE_TEXT('@'),sizeof(out_string));
+ //I only use ACE_MAXLOGMSGLEN char .
+ out_string[ACE_MAXLOGMSGLEN] = ACE_TEXT('\0');
+ ACE_DEBUG((LM_ALERT, ACE_TEXT("%s out_string: I love beijing."),out_string));
+
+ ACE_END_TEST;
+ return 0;
+}
+
diff --git a/tests/Bug_3729_Regression_Test.cpp b/tests/Bug_3729_Regression_Test.cpp
new file mode 100644
index 00000000000..05d6f5ef7f4
--- /dev/null
+++ b/tests/Bug_3729_Regression_Test.cpp
@@ -0,0 +1,59 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Bug_3729_Regression_Test.cpp
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_string.h"
+#include "ace/INET_Addr.h"
+#include "ace/Log_Msg.h"
+
+struct Multicast_Address
+{
+ const char *addr_;
+ bool is_multicast_;
+};
+
+int run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3729_Regression_Test"));
+
+ int status = 0; // Innocent until proven guilty
+
+ // Test is_multicast()
+ Multicast_Address mcast_addresses[] =
+ {
+ { "223.0.0.5:23006", false },
+ { "224.0.0.0:23006", true },
+ { "224.0.0.1:23006", true },
+ { "239.255.255.255:23006", true },
+ { "240.0.0.0:23006", false },
+ { "2.0.0.224", false },
+ { 0, false }
+ };
+
+ for (int i = 0; mcast_addresses[i].addr_; ++i)
+ {
+ ACE_INET_Addr addr (mcast_addresses[i].addr_);
+
+ if (addr.is_multicast () != mcast_addresses[i].is_multicast_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_INET_Addr::is_multicast() for ")
+ ACE_TEXT ("\"%C\" incorrectly returned %d\n"),
+ mcast_addresses[i].addr_,
+ (int)addr.is_multicast ()));
+ status = 1;
+ }
+ }
+
+ ACE_END_TEST;
+
+ return status;
+}
diff --git a/tests/Bug_3744_Regression_Test.cpp b/tests/Bug_3744_Regression_Test.cpp
new file mode 100644
index 00000000000..7dd790f5226
--- /dev/null
+++ b/tests/Bug_3744_Regression_Test.cpp
@@ -0,0 +1,61 @@
+// $Id$
+
+#include "test_config.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_netdb.h"
+
+ACE_RCSID(tests, OS_Test, "$Id$")
+
+#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL
+#define THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL(X) \
+ ((X) \
+ ? static_cast<void>(0) \
+ : ACE_VERSIONED_NAMESPACE_NAME::__ace_assert(__FILE__, __LINE__, ACE_TEXT_CHAR_TO_TCHAR (#X)))
+
+int
+getmacaddress_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Testing getmacaddress\n")));
+
+#if defined (ACE_LACKS_NETWORKING)
+ return 0;
+#else /* ACE_LACKS_NETWORKING */
+ struct ACE_OS::macaddr_node_t node;
+
+ ACE_OS::memset (&node, 0x0, sizeof (node));
+ int retval = ACE_OS::getmacaddress (&node);
+ if (retval == 0)
+ {
+ if (node.node[0] == 0x0 && node.node[1] == 0x0 && node.node[2] == 0x0 &&
+ node.node[3] == 0x0 && node.node[4] == 0x0 && node.node[5] == 0x0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_OS::getmacaddress() failed to get MAC address\n")));
+ ++retval;
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_OS::getmacaddress() returned %d, should be 0\n"),
+ retval));
+ }
+ return retval;
+#endif /* ACE_LACKS_NETWORKING */
+}
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3744_Regression_Test"));
+
+ int status = 0;
+ int result;
+
+ if ((result = getmacaddress_test ()) != 0)
+ status = result;
+
+ ACE_END_TEST;
+ return status;
+}
+#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL
diff --git a/tests/Bug_3758_Regression_Test.cpp b/tests/Bug_3758_Regression_Test.cpp
new file mode 100644
index 00000000000..fb90033e386
--- /dev/null
+++ b/tests/Bug_3758_Regression_Test.cpp
@@ -0,0 +1,112 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This simple test exercises ACE_OS::fileno.
+//
+// = AUTHOR
+// Olli Savia <ops@iki.fi>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_unistd.h"
+
+ACE_RCSID(tests, OS_Test, "$Id$")
+
+#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL
+#define THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL(X) \
+ ((X) \
+ ? static_cast<void>(0) \
+ : ACE_VERSIONED_NAMESPACE_NAME::__ace_assert(__FILE__, __LINE__, ACE_TEXT_CHAR_TO_TCHAR (#X)))
+
+// Test ACE_OS::fileno()
+int
+fileno_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing fileno method\n")));
+
+ int test_status = 0;
+
+ ACE_HANDLE fn;
+
+ fn = ACE_OS::fileno (stdin);
+ if (fn == ACE_INVALID_HANDLE)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("fileno(stdin) returned ACE_INVALID_HANDLE.\n")));
+ test_status = -1;
+ }
+ else if (fn != ACE_STDIN)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("stdin test failed.\n")));
+ test_status = -1;
+ }
+
+ fn = ACE_OS::fileno (stdout);
+ if (fn == ACE_INVALID_HANDLE)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("fileno(stdout) returned ACE_INVALID_HANDLE.\n")));
+ test_status = -1;
+ }
+ else
+#if defined (ACE_WIN32)
+ // Check if stdout is not associated with an output stream.
+ // This is not an error.
+ if (fn == reinterpret_cast<ACE_HANDLE>(-2))
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("fileno(stdout) returned -2.\n")));
+ }
+ else
+#endif
+ if (fn != ACE_STDOUT)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("stdout test failed.\n")));
+ test_status = -1;
+ }
+
+ fn = ACE_OS::fileno (stderr);
+ if (fn == ACE_INVALID_HANDLE)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("fileno(stderr) returned ACE_INVALID_HANDLE.\n")));
+ test_status = -1;
+ }
+ else
+#if defined (ACE_WIN32)
+ // Check if stderr is not associated with an output stream.
+ // This is not an error.
+ if (fn == reinterpret_cast<ACE_HANDLE>(-2))
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("fileno(stderr) returned -2.\n")));
+ }
+ else
+#endif
+ if (fn != ACE_STDERR)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("stderr test failed.\n")));
+ test_status = -1;
+ }
+
+ return test_status;
+}
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3758_Regression_Test"));
+
+ int status = 0;
+ int result;
+
+ if ((result = fileno_test ()) != 0)
+ status = -1;
+
+ ACE_END_TEST;
+ return status;
+}
+#undef THIS_IS_NOT_AN_ASSERT_IT_IS_A_NON_DEBUG_TEST_AS_WELL
diff --git a/tests/CDR_Array_Test.cpp b/tests/CDR_Array_Test.cpp
index f6aa7d02e0e..835bef0355d 100644
--- a/tests/CDR_Array_Test.cpp
+++ b/tests/CDR_Array_Test.cpp
@@ -544,7 +544,7 @@ CDR_Test<T, H>::do_test (int total, int niter, int use_array,
if (is.good_bit () != 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Test for good bit failed in %s Array_test \n"),
+ ACE_TEXT ("Test for good bit failed in %s Array_test\n"),
H::name ()));
}
}
diff --git a/tests/CDR_Test.cpp b/tests/CDR_Test.cpp
index 49bfde79de3..75b5f24c1d5 100644
--- a/tests/CDR_Test.cpp
+++ b/tests/CDR_Test.cpp
@@ -585,12 +585,12 @@ run_main (int argc, ACE_TCHAR *argv[])
if (debug > 0)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Output CDR: \n")));
+ ACE_TEXT ("Output CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Input CDR: \n")));
+ ACE_TEXT ("Input CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
@@ -616,12 +616,12 @@ run_main (int argc, ACE_TCHAR *argv[])
if (debug > 0)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Output CDR: \n")));
+ ACE_TEXT ("Output CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Input CDR: \n")));
+ ACE_TEXT ("Input CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
@@ -654,12 +654,12 @@ run_main (int argc, ACE_TCHAR *argv[])
if (debug > 0)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Output CDR: \n")));
+ ACE_TEXT ("Output CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Input CDR: \n")));
+ ACE_TEXT ("Input CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
@@ -680,12 +680,12 @@ run_main (int argc, ACE_TCHAR *argv[])
if (debug > 0)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Output CDR: \n")));
+ ACE_TEXT ("Output CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Input CDR: \n")));
+ ACE_TEXT ("Input CDR:\n")));
ACE_HEX_DUMP ((LM_DEBUG,
input.rd_ptr(),
64));
diff --git a/tests/Cache_Map_Manager_Test.cpp b/tests/Cache_Map_Manager_Test.cpp
index 400235216e0..2b0fe6cce52 100644
--- a/tests/Cache_Map_Manager_Test.cpp
+++ b/tests/Cache_Map_Manager_Test.cpp
@@ -517,7 +517,7 @@ parse_args (int argc, ACE_TCHAR *argv[])
ACE_TEXT ("[-i (iterations)] ")
ACE_TEXT ("[-d (debug, i.e., addition printouts)] ")
ACE_TEXT ("[-p (purge percent)] ")
- ACE_TEXT ("[-f (number of lookups)] \n"),
+ ACE_TEXT ("[-f (number of lookups)]\n"),
ACE_TEXT ("Cache_Map_Manager_Test")));
return -1;
}
diff --git a/tests/Cached_Conn_Test.cpp b/tests/Cached_Conn_Test.cpp
index 3c6c553d942..1447c3ed762 100644
--- a/tests/Cached_Conn_Test.cpp
+++ b/tests/Cached_Conn_Test.cpp
@@ -153,8 +153,6 @@ static CACHED_CONNECT_STRATEGY *connect_strategy = 0;
// more iterations to get to the handle limit.
#if defined (ACE_WIN32)
static int iterations = 2000;
-#elif defined (__Lynx__)
-static int iterations = 134;
#else
static int iterations = 200;
#endif /* ACE_WIN32 */
diff --git a/tests/Compiler_Features_01_Test.cpp b/tests/Compiler_Features_01_Test.cpp
new file mode 100644
index 00000000000..5e1943b314a
--- /dev/null
+++ b/tests/Compiler_Features_01_Test.cpp
@@ -0,0 +1,65 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::list container. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <list>
+
+ACE_RCSID(tests, Compiler_Features_01_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_01_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::list<int> collection;
+ collection c;
+
+ // ... insert some elements ...
+ c.push_back(5);
+ c.push_back(4);
+ c.push_back(3);
+ c.push_back(2);
+ c.push_back(1);
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ for(collection::iterator i = c.begin(), end = c.end();
+ i != end;
+ ++i)
+ {
+ sum += *i;
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_02_Test.cpp b/tests/Compiler_Features_02_Test.cpp
new file mode 100644
index 00000000000..7faf1a883cf
--- /dev/null
+++ b/tests/Compiler_Features_02_Test.cpp
@@ -0,0 +1,83 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::map container. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <map>
+
+ACE_RCSID(tests, Compiler_Features_02_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_02_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::map<int,int> collection;
+ collection c;
+
+ // ... insert some elements ...
+ c[1] = 5;
+ c[2] = 4;
+ c[3] = 3;
+ c[4] = 2;
+ c.insert(collection::value_type(5, 1));
+
+ // ... inserting twice returns a pair ...
+ std::pair<collection::iterator,bool> r =
+ c.insert(collection::value_type(5, 0));
+
+ // ... the iterator points to the element ...
+ if (r.first->first != 5 || r.first->second != 1)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to find (5,1) already in map")));
+ }
+
+ // ... and the booleans says that it is already in the map ...
+ if (r.second == true)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected duplicate insert to fail")));
+ }
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ for(collection::iterator i = c.begin(), end = c.end();
+ i != end;
+ ++i)
+ {
+ sum += i->second;
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_03_Test.cpp b/tests/Compiler_Features_03_Test.cpp
new file mode 100644
index 00000000000..59cba0840bb
--- /dev/null
+++ b/tests/Compiler_Features_03_Test.cpp
@@ -0,0 +1,65 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::vector container. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <vector>
+
+ACE_RCSID(tests, Compiler_Features_03_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_03_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::vector<int> collection;
+ collection c;
+
+ // ... insert some elements ...
+ c.push_back(5);
+ c.push_back(4);
+ c.push_back(3);
+ c.push_back(2);
+ c.push_back(1);
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ for(collection::iterator i = c.begin(), end = c.end();
+ i != end;
+ ++i)
+ {
+ sum += *i;
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_04_Test.cpp b/tests/Compiler_Features_04_Test.cpp
new file mode 100644
index 00000000000..4538c784c16
--- /dev/null
+++ b/tests/Compiler_Features_04_Test.cpp
@@ -0,0 +1,83 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::set container. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <set>
+
+ACE_RCSID(tests, Compiler_Features_04_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_04_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::set<int> collection;
+ collection c;
+
+ // ... insert some elements ...
+ c.insert(5);
+ c.insert(4);
+ c.insert(3);
+ c.insert(2);
+ c.insert(1);
+
+ // ... inserting twice returns a pair ...
+ std::pair<collection::iterator,bool> r =
+ c.insert(collection::value_type(5));
+
+ // ... the iterator points to the element ...
+ if (*r.first != 5)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to find 5 already in set")));
+ }
+
+ // ... and the booleans says that it is already in the set ...
+ if (r.second == true)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected duplicate insert to fail")));
+ }
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ for(collection::iterator i = c.begin(), end = c.end();
+ i != end;
+ ++i)
+ {
+ sum += *i;
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_05_Test.cpp b/tests/Compiler_Features_05_Test.cpp
new file mode 100644
index 00000000000..0186efbf89b
--- /dev/null
+++ b/tests/Compiler_Features_05_Test.cpp
@@ -0,0 +1,68 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::queue container. The motivation for this test was a discussion
+ * on the development mailing queue, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <queue>
+
+ACE_RCSID(tests, Compiler_Features_05_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_05_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple queue ...
+ typedef std::queue<int> collection;
+ // ... if the previous line compiles, the default template
+ // parameters work. The declaration of queue<> is something like:
+ // template<typename T, typename Sequence = deque<T> >
+ // notice that this is not a template template parameter...
+ collection c;
+
+ // ... insert some elements ...
+ c.push(5);
+ c.push(4);
+ c.push(3);
+ c.push(2);
+ c.push(1);
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ while (! c.empty())
+ {
+ sum += c.front();
+ c.pop();
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_06_Test.cpp b/tests/Compiler_Features_06_Test.cpp
new file mode 100644
index 00000000000..329e89551d3
--- /dev/null
+++ b/tests/Compiler_Features_06_Test.cpp
@@ -0,0 +1,95 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports alternative
+ * sorting functions in the std::set container. The motivation for
+ * this test was a discussion on the development mailing list, and the
+ * documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <set>
+
+// We are going to use std::greater<>, the spec requires us to include this
+// header. Only a few platforms enforce this though...
+#include <functional>
+
+ACE_RCSID(tests, Compiler_Features_06_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_06_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::set<int,std::greater<int> > collection;
+ collection c;
+
+ // ... insert some elements ...
+ c.insert(5);
+ c.insert(4);
+ c.insert(3);
+ c.insert(2);
+ c.insert(1);
+
+ // ... inserting twice returns a pair ...
+ std::pair<collection::iterator,bool> r =
+ c.insert(collection::value_type(5));
+
+ // ... the iterator points to the element ...
+ if (*r.first != 5)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to find 5 already in set")));
+ }
+
+ // ... and the booleans says that it is already in the set ...
+ if (r.second == true)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected duplicate insert to fail")));
+ }
+
+ // ... make sure the first element is the biggest one ...
+ if (5 != *c.begin())
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected largest element (5) at the front")));
+ }
+
+ // ... add all the numbers to validate that they are there ...
+ int sum = 0;
+ for(collection::iterator i = c.begin(), end = c.end();
+ i != end;
+ ++i)
+ {
+ sum += *i;
+ }
+
+ // ... remember Euler ...
+ int const expected = 5*(5+1)/2;
+ if (sum != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ expected, sum));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_07_Test.cpp b/tests/Compiler_Features_07_Test.cpp
new file mode 100644
index 00000000000..332f1e0894f
--- /dev/null
+++ b/tests/Compiler_Features_07_Test.cpp
@@ -0,0 +1,83 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::set container. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <set>
+#include <string>
+
+ACE_RCSID(tests, Compiler_Features_07_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_07_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Create a simple list ...
+ typedef std::set<std::string> collection;
+ collection c;
+
+ // ... insert some elements ...
+ c.insert("5");
+ c.insert("4");
+ c.insert("3");
+ c.insert("2");
+ c.insert(std::string("1"));
+
+ // ... inserting twice returns a pair ...
+ std::pair<collection::iterator,bool> r =
+ c.insert(collection::value_type("5"));
+
+ // ... the iterator points to the element ...
+ if (*r.first != std::string("5"))
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to find 5 already in set")));
+ }
+
+ // ... and the booleans says that it is already in the set ...
+ if (r.second == true)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected duplicate insert to fail")));
+ }
+
+ // ... find an element and erase it ...
+ collection::iterator i;
+
+ i = c.find(std::string("4"));
+ if (i == c.end())
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR, ACE_TEXT("Element not found")));
+ }
+ else
+ {
+ // ... this demonstrates a standard STL technique, you can
+ // optimize lookups by using the iterators returned in search
+ // functions ...
+ c.erase(i);
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_09_Test.cpp b/tests/Compiler_Features_09_Test.cpp
new file mode 100644
index 00000000000..98b7a79938a
--- /dev/null
+++ b/tests/Compiler_Features_09_Test.cpp
@@ -0,0 +1,114 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * std::auto_ptr<> correctly. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <memory>
+
+// For extra challenge, we use the anonymous namespace
+namespace
+{
+/**
+ * @class Base
+ */
+class Base
+{
+public:
+ Base()
+ {
+ constructors++;
+ }
+ Base(Base const & )
+ {
+ constructors++;
+ }
+ ~Base()
+ {
+ destructors++;
+ }
+
+ static int constructors;
+ static int destructors;
+};
+
+int Base::constructors = 0;
+int Base::destructors = 0;
+
+class Derived : public Base
+{
+public:
+ Derived()
+ : Base()
+ {}
+};
+}
+
+ACE_RCSID(tests, Compiler_Features_09_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_09_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // ... this works with the ACE version of auto_ptr (well, the
+ // namespace is broken, but you get the idea) ...
+ std::auto_ptr<Base> x(new Base);
+ std::auto_ptr<Derived> y(new Derived);
+
+ // ... with a compliant implementation of std::auto_ptr<> you should be
+ // able to write:
+ // x = y;
+ // but the Solaris compiler was broken as of August, 2009!! So you have
+ // to work around in the following way. This compiler is important
+ // enough for the ACE community, so we have to support this broken
+ // configuration ...
+ x.reset(y.release());
+
+ // ... there should be just one destruction so far ...
+ if (Base::destructors != 1)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("Destructor count off, expected 1, found %d\n"),
+ Base::destructors));
+ }
+
+ std::auto_ptr<Base> z;
+ z = x;
+ if (Base::destructors != 1)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("Destructor count off, expected 1, found %d\n"),
+ Base::destructors));
+ }
+ if (x.get())
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("x contents should have been transferred\n")
+ ));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_10_Test.cpp b/tests/Compiler_Features_10_Test.cpp
new file mode 100644
index 00000000000..e21e6b1c647
--- /dev/null
+++ b/tests/Compiler_Features_10_Test.cpp
@@ -0,0 +1,287 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports exceptions,
+ * in particular, if raising exceptions in constructors work. The
+ * motivation for this test was a discussion on the development
+ * mailing list, and the documentation was captured in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <memory>
+
+// ... using exceptions with C++ also implies using the standard
+// exceptions ...
+#include <stdexcept>
+
+// For extra challenge, we use the anonymous namespace
+namespace
+{
+ int constructors = 0;
+ int destructors = 0;
+ int allocs = 0;
+ int deallocs = 0;
+ bool had_failure = false;
+
+ void check_constructor_count(int expected,
+ char const * filename,
+ int lineno);
+ void check_destructor_count(int expected,
+ char const * filename,
+ int lineno);
+ void check_alloc_count(int expected,
+ char const * filename,
+ int lineno);
+ void reset_counts();
+ void never_reached(char const * filename,
+ int lineno);
+ int status();
+
+ /**
+ * @class Base
+ */
+ class Base
+ {
+ public:
+ Base()
+ {
+ ++constructors;
+ }
+ Base(Base const & )
+ {
+ ++constructors;
+ }
+ ~Base()
+ {
+ ++destructors;
+ }
+
+ void * operator new(size_t n)
+ {
+ ++allocs;
+ return ::operator new(n);
+ }
+ void operator delete(void * x)
+ {
+ ++deallocs;
+ return ::operator delete(x);
+ }
+ };
+
+ /**
+ * @class May_Pop
+ *
+ * Create a class that can raise exceptions in its constructor
+ *
+ */
+ class May_Pop : public Base
+ {
+ public:
+ explicit May_Pop(bool do_raise)
+ // Even if an exception is raised, the base object is fully
+ // constructed and must be fully destructed ...
+ : Base()
+ {
+ if (do_raise)
+ {
+ throw std::runtime_error("requested exception");
+ }
+ // ... if an exception is raised this object is never
+ // initialized and no constructor / destructor calls should take
+ // place ...
+ Base tmp;
+ }
+ };
+
+ /**
+ * @class Aggregate
+ */
+ class Aggregate : public Base
+ {
+ private:
+ May_Pop m1;
+ May_Pop m2;
+ May_Pop m3;
+
+ public:
+ /**
+ * Constructor. Element m1 is fully initialized, its constructors
+ * and destructors should run, m2 is partially initialized, its
+ * destructor never runs, m3 is never initialized, neither its
+ * constructor nor destructor runs.
+ */
+ Aggregate()
+ : Base()
+ , m1(false)
+ , m2(true)
+ , m3(false)
+ {}
+ };
+}
+
+ACE_RCSID(tests, Compiler_Features_10_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_10_Test"));
+
+ {
+ // ... start the test fresh ...
+ reset_counts();
+ // Let's try to build a simple object and destroy it, without any
+ // exceptions raised ...
+ May_Pop m1(false);
+ // ... two instances of the base class should be created ...
+ check_constructor_count(2, __FILE__, __LINE__);
+ // ... but only one instance is destroyed at this point ...
+ check_destructor_count(1, __FILE__, __LINE__);
+ }
+ // ... now both instances are gone ...
+ check_destructor_count(2, __FILE__, __LINE__);
+
+ try
+ {
+ // ... start the test fresh ...
+ reset_counts();
+ // ... now raise an exception ...
+ May_Pop m1(true);
+ never_reached(__FILE__, __LINE__);
+ }
+ catch(...)
+ {
+ // ... only one instance gets created ...
+ check_constructor_count(1, __FILE__, __LINE__);
+ // ... and it is gone ...
+ check_destructor_count(1, __FILE__, __LINE__);
+ }
+
+ try
+ {
+ // ... start the test fresh ...
+ reset_counts();
+ // ... now build a complex object with a failure in the middle ...
+ Aggregate a;
+ never_reached(__FILE__, __LINE__);
+ }
+ catch(...)
+ {
+ // ... check the expectations ...
+ check_constructor_count(4, __FILE__, __LINE__);
+ check_destructor_count(4, __FILE__, __LINE__);
+ }
+
+ try
+ {
+ // ... start the test fresh ...
+ reset_counts();
+ std::auto_ptr<Aggregate> b(new Aggregate);
+ never_reached(__FILE__, __LINE__);
+ }
+ catch(...)
+ {
+ // ... check the expectations ...
+ check_constructor_count(4, __FILE__, __LINE__);
+ check_destructor_count(4, __FILE__, __LINE__);
+ check_alloc_count(1, __FILE__, __LINE__);
+ }
+
+ ACE_END_TEST;
+ return status();
+}
+
+namespace
+{
+
+void
+check_constructor_count(int expected,
+ char const * filename,
+ int lineno)
+{
+ if (constructors == expected)
+ {
+ return;
+ }
+ had_failure = true;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("Expected %d constructor calls, had %d -- (%s:%d)\n"),
+ expected, constructors, filename, lineno));
+}
+
+void
+check_destructor_count(int expected,
+ char const * filename,
+ int lineno)
+{
+ if (destructors == expected)
+ {
+ return;
+ }
+ had_failure = true;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("Expected %d destructor calls, had %d -- (%s:%d)\n"),
+ expected, destructors, filename, lineno));
+}
+
+void
+check_alloc_count(int expected,
+ char const * filename,
+ int lineno)
+{
+ if (allocs == expected && deallocs == expected)
+ {
+ return;
+ }
+ had_failure = true;
+ if (allocs != expected)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("Expected %d alloc calls, had %d -- (%s:%d)\n"),
+ expected, allocs, filename, lineno));
+ }
+ if (deallocs != expected)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("Expected %d dealloc calls, had %d -- (%s:%d)\n"),
+ expected, deallocs, filename, lineno));
+ }
+}
+
+void
+never_reached(char const * filename,
+ int lineno)
+{
+ had_failure = true;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT("Code should not have reached (%s:%d)\n"),
+ filename, lineno));
+}
+
+void
+reset_counts()
+{
+ constructors = 0;
+ destructors = 0;
+ allocs = 0;
+ deallocs = 0;
+}
+
+int
+status()
+{
+ if (had_failure)
+ {
+ return 1;
+ }
+ return 0;
+}
+
+}
diff --git a/tests/Compiler_Features_11_Test.cpp b/tests/Compiler_Features_11_Test.cpp
new file mode 100644
index 00000000000..9471ed5f0ff
--- /dev/null
+++ b/tests/Compiler_Features_11_Test.cpp
@@ -0,0 +1,66 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * string steams. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+// The first part of the test is to compile this line. If the program
+// does not compile the platform is just too broken.
+#include <sstream>
+
+ACE_RCSID(tests, Compiler_Features_11_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_11_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ // Test creation of a output stream ...
+ std::ostringstream os;
+
+ // ... add some strings and numbers to it ...
+ os << "1" << 2 << 3 << "45";
+
+ // ... verify the right thing comes out ...
+ std::string const expected("12345");
+ if (os.str() != expected)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %s got %s\n"),
+ expected.c_str(), os.str().c_str()));
+ }
+
+ // ... create an input stream from the result ...
+ std::istringstream is(os.str());
+
+ // ... extract as a number ...
+ int v;
+ is >> v;
+
+ // ... verify the right thing comes out ...
+ if (v != 12345)
+ {
+ status = 1;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected %d got %d\n"),
+ 12345, v));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Compiler_Features_12_Test.cpp b/tests/Compiler_Features_12_Test.cpp
new file mode 100644
index 00000000000..39c3c224a6a
--- /dev/null
+++ b/tests/Compiler_Features_12_Test.cpp
@@ -0,0 +1,57 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports template
+ * template parameters. The motivation for this test was a discussion
+ * on the development mailing list, and the documentation was captured
+ * in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+ACE_RCSID(tests, Compiler_Features_12_Test, "$Id$")
+
+template<typename T>
+struct Pair
+{
+ T x1;
+ T x2;
+};
+
+template<typename T>
+struct Triple
+{
+ T t1;
+ T t2;
+ T t3;
+};
+
+template<typename T, template <typename> class Tuple>
+struct Array
+{
+ Tuple<T> array[5];
+};
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_12_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ Array<int, Pair> pairs;
+ pairs.array[0].x1 = 0;
+
+ Array<int, Triple> triples;
+ triples.array[1].t3 = 0;
+
+ ACE_END_TEST;
+ return status;
+}
diff --git a/tests/Compiler_Features_13_Test.cpp b/tests/Compiler_Features_13_Test.cpp
new file mode 100644
index 00000000000..58f271d6872
--- /dev/null
+++ b/tests/Compiler_Features_13_Test.cpp
@@ -0,0 +1,145 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports the
+ * standard cast operators template parameters. The motivation for
+ * this test was a discussion on the development mailing list, and the
+ * documentation was captured in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+#include <stdexcept>
+
+ACE_RCSID(tests, Compiler_Features_13_Test, "$Id$")
+
+namespace
+{
+ /**
+ * Helper class for test
+ */
+ struct Base
+ {
+ virtual ~Base()
+ {}
+ };
+
+ /**
+ * Helper class for test
+ */
+ struct Derived : public Base
+ {
+ int value;
+ };
+
+ /**
+ * Helper class for test
+ */
+ struct Another : public Base
+ {
+ int x;
+ int y;
+ };
+}
+
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_13_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ {
+ // Make sure const cast works. Compilation is interesting, the
+ // functionality test here is just to make sure the compiler does
+ // not optimize things away ...
+ int x = 5;
+ int const & y = x;
+ const_cast<int&>(y) = 3;
+
+ if (x != 3)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("Wrong value after const_cast,")
+ ACE_TEXT(" expected %d, got %d\n"),
+ 3, x));
+ }
+ }
+
+ // Make sure dynamic cast through pointers work ...
+ Derived d;
+ d.value = 24;
+ Base * b1 = &d;
+ Derived * d1 = dynamic_cast<Derived*>(b1);
+ if (d1 == 0)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("dynamic_cast returns null, expected value\n")));
+ }
+ d1->value = 42;
+ if (d.value != 42)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("Wrong value after dynamic_cast, expected %d, got %d\n"),
+ 42, d.value));
+ }
+
+ // Make sure dynamic cast detects invalid casts
+ Another a;
+ Base * b2 = &a;
+ Derived * d2 = dynamic_cast<Derived*>(b2);
+ if (d2 != 0)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("dynamic_cast should return null\n")));
+ }
+
+ // Make sure dynamic cast raises an exception
+ Base & b3 = a;
+ try
+ {
+ (void) dynamic_cast<Derived&>(b3);
+
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("dynamic_cast should have raised exception\n")));
+ }
+ catch(std::exception const &)
+ {
+ }
+ catch(...)
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("dynamic_cast should have raised std::exception\n")));
+ }
+
+ {
+ // Just test these compile ...
+ double x = 42.0;
+ int y = static_cast<int>(x);
+ void * z = reinterpret_cast<void*>(y);
+
+ if (z == 0)
+ {
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("My hack to make sure the code is not ")
+ ACE_TEXT("optimized away backfired!\n")));
+ }
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
diff --git a/tests/Compiler_Features_14_Test.cpp b/tests/Compiler_Features_14_Test.cpp
new file mode 100644
index 00000000000..ab9355422a9
--- /dev/null
+++ b/tests/Compiler_Features_14_Test.cpp
@@ -0,0 +1,114 @@
+// $Id$
+
+/**
+ * @file
+ *
+ * This program checks if the compiler / platform supports partial
+ * template specialization. The motivation for this test was a
+ * discussion on the development mailing list, and the documentation
+ * was captured in:
+ *
+ * http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=3715
+ *
+ */
+
+#include "test_config.h"
+
+ACE_RCSID(tests, Compiler_Features_14_Test, "$Id$")
+
+// We are going to test if partial template specializations work by
+// demonstrating a standard technique in generic programming, i.e.,
+// using the specialization to detect if a type is a pointer.
+//
+// My implementation here is not very elegant, I would even say
+// ackward, and should not be taken as representative of good generic
+// programming techniques. I just wanted to through something
+// together.
+//
+
+// First some helper types in the anonymous namespace
+struct true_type {};
+struct false_type {};
+
+// Now a generic function to convert the types to booleans, moving
+// from generic type-based programming to classical value-based
+// programming.
+template<class T>
+bool to_boolean(T const&);
+
+template<>
+bool to_boolean(true_type const &)
+{
+ return true;
+}
+
+template<>
+bool to_boolean(false_type const &)
+{
+ return false;
+}
+
+// Here is the template, by default return false for all types.
+// Notice that this is a type *function*, it takes a type and returns
+// another type.
+template<typename T>
+struct is_pointer_function
+{
+ false_type result;
+};
+
+// Here is the specialization, for a class of types it results
+// something different. Effectively this is an implicit if() test on
+// the types.
+template<typename T>
+struct is_pointer_function<T*>
+{
+ true_type result;
+};
+
+// And here is a helper to convert back to values...
+struct test
+{
+ template<typename T>
+ static bool is_pointer()
+ {
+ is_pointer_function<T> v;
+ return to_boolean(v.result);
+ }
+};
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_14_Test"));
+
+ // As usual, the exit status from the test is 0 on success, 1 on
+ // failure
+ int status = 0;
+
+ if (test::is_pointer<int>())
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("int should not be a pointer\n")));
+ }
+
+ if (! test::is_pointer<int*>())
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("int* should be a pointer\n")));
+ }
+
+ if (test::is_pointer<int&>())
+ {
+ status = 1;
+ ACE_ERROR((LM_ERROR,
+ ACE_TEXT("int& should not be a pointer\n")));
+ }
+
+ ACE_END_TEST;
+ return status;
+}
+
+
diff --git a/tests/Config_Test.cpp b/tests/Config_Test.cpp
index b2cfdc760f8..30960c971c7 100644
--- a/tests/Config_Test.cpp
+++ b/tests/Config_Test.cpp
@@ -560,7 +560,7 @@ run_tests (void)
ACE_Configuration_Win32Registry RegConfig (root);
{
- int result = test (&RegConfig);
+ int const result = test (&RegConfig);
if (result)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Win32 registry test root failed (%d)\n"),
@@ -573,8 +573,25 @@ run_tests (void)
// Test Heap version
ACE_Configuration_Heap heap_config;
- if (heap_config.open ())
- return 0;
+ if (heap_config.open () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Cannot open %p\n"),
+ ACE_TEXT ("local-heap config")),
+ -1);
+ if (heap_config.open () == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open heap allowed; bugzilla 3724\n")),
+ -1);
+ }
+ else if (errno != EBUSY)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open heap expected EBUSY (%d), ")
+ ACE_TEXT ("got %d: bugzilla 3724\n"),
+ EBUSY, ACE_ERRNO_GET),
+ -1);
+ }
{
int result = test_subkey_path (&heap_config);
if (result)
@@ -600,8 +617,37 @@ run_tests (void)
if (pers_config.open (ACE_TEXT ("test.reg")))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Cannot open test.reg\n")),
+ ACE_TEXT ("Cannot open %p\n"),
+ ACE_TEXT ("test.reg")),
-1);
+ if (pers_config.open (ACE_TEXT ("test.reg")) == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open(mmap) allowed; bugzilla 3724\n")),
+ -1);
+ }
+ else if (errno != EBUSY)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open(mmap) expected EBUSY (%d), ")
+ ACE_TEXT ("got %d: bugzilla 3724\n"),
+ EBUSY, ACE_ERRNO_GET),
+ -1);
+ }
+ if (pers_config.open () == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open(new) allowed; bugzilla 3724\n")),
+ -1);
+ }
+ else if (errno != EBUSY)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Re-open(new) expected EBUSY (%d), ")
+ ACE_TEXT ("got %d: bugzilla 3724\n"),
+ EBUSY, ACE_ERRNO_GET),
+ -1);
+ }
{
int result = test (&pers_config);
@@ -1086,7 +1132,7 @@ iniCompare (ACE_Configuration_Heap& fromFile, ACE_Configuration_Heap& original)
sectionName.c_str (),
0); // do not remove subsections.
- sectionIndex++;
+ ++sectionIndex;
}// end section while loop
@@ -1096,7 +1142,7 @@ iniCompare (ACE_Configuration_Heap& fromFile, ACE_Configuration_Heap& original)
(!original.enumerate_sections (originalRoot,
sectionIndex,
sectionName)))
- sectionIndex++;
+ ++sectionIndex;
rc = sectionIndex == 0;
diff --git a/tests/DLL_Test.cpp b/tests/DLL_Test.cpp
index ccca35e9416..4729dbb7d38 100644
--- a/tests/DLL_Test.cpp
+++ b/tests/DLL_Test.cpp
@@ -71,7 +71,8 @@ int basic_test (ACE_DLL &dll)
{
ACE_TCHAR *dll_error = dll.error ();
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Error in DLL Open: %s\n"),
+ ACE_TEXT ("Error in DLL Open of <%s>: %s\n"),
+ OBJ_PREFIX ACE_TEXT ("DLL_Test_Lib") OBJ_SUFFIX,
dll_error ? dll_error : ACE_TEXT ("unknown error")),
-1);
}
@@ -79,9 +80,7 @@ int basic_test (ACE_DLL &dll)
// Just because the ANSI C++ spec says you can no longer cast a
// void* to a function pointer. Doesn't allow:
// TC f = (Hello_Factory) dll.symbol ("get_hello");
- void *foo;
-
- foo = dll.symbol (ACE_TEXT ("get_hello"));
+ void *foo = dll.symbol (ACE_TEXT ("get_hello"));
// Cast the void* to long first.
ptrdiff_t tmp = reinterpret_cast<ptrdiff_t> (foo);
diff --git a/tests/DLList_Test.cpp b/tests/DLList_Test.cpp
index 57155d177ab..8dc77be3422 100644
--- a/tests/DLList_Test.cpp
+++ b/tests/DLList_Test.cpp
@@ -84,13 +84,13 @@ run_test (void)
if (ACE_EVEN (i)
&& list.insert_tail ((ACE_STRING *) &string_table[i]) == 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p failed for %s \n"),
+ ACE_TEXT ("%p failed for %s\n"),
ACE_TEXT ("insert"),
string_table[i]),
-1);
else if (list.insert_head ((ACE_STRING *) &string_table[i]) == 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p failed for %s \n"),
+ ACE_TEXT ("%p failed for %s\n"),
ACE_TEXT ("insert"),
string_table[i]),
-1);
diff --git a/tests/Dirent_Test.cpp b/tests/Dirent_Test.cpp
index df756c8d4c2..4e6d871f34f 100644
--- a/tests/Dirent_Test.cpp
+++ b/tests/Dirent_Test.cpp
@@ -180,7 +180,7 @@ dirent_test (void)
ACE_ERROR_RETURN
((LM_ERROR, ACE_TEXT ("open of dir %s failed\n"), TestDir.c_str()), -1);
- for (ACE_DIRENT *directory;
+ for (ACE_DIRENT *directory = 0;
(directory = dir.read ()) != 0;
entrycount++)
{
@@ -249,6 +249,8 @@ dirent_count (const ACE_TCHAR *dir_path,
dir_path),
-1);
# endif
+#else
+ ACE_UNUSED_ARG (dir_path);
#endif /* !ACE_LACKS_CHDIR */
ACE_Dirent dir;
diff --git a/tests/FlReactor_Test.cpp b/tests/FlReactor_Test.cpp
index 9532b6e0a85..1bc32627bd2 100644
--- a/tests/FlReactor_Test.cpp
+++ b/tests/FlReactor_Test.cpp
@@ -35,13 +35,13 @@ ACE_RCSID(tests, FlReactor_Test, "$Id$")
#include "ace/Service_Config.h"
#include "ace/Thread_Manager.h"
-#include /**/ <FL/Fl.h>
-#include /**/ <FL/Fl_Window.h>
-#include /**/ <FL/Fl_Hor_Slider.h>
-#include /**/ <FL/Fl_Box.h>
+#include /**/ <FL/Fl.H>
+#include /**/ <FL/Fl_Window.H>
+#include /**/ <FL/Fl_Hor_Slider.H>
+#include /**/ <FL/Fl_Box.H>
#include /**/ <FL/math.h>
#include /**/ <FL/gl.h>
-#include /**/ <FL/Fl_Gl_Window.h>
+#include /**/ <FL/Fl_Gl_Window.H>
class Test_Window : public Fl_Gl_Window
{
diff --git a/tests/Future_Set_Test.cpp b/tests/Future_Set_Test.cpp
index 8f2eb9306ef..f27282809d9 100644
--- a/tests/Future_Set_Test.cpp
+++ b/tests/Future_Set_Test.cpp
@@ -11,7 +11,7 @@
// = DESCRIPTION
// This example tests the ACE Future Set and illustrates an
// implementation of the Active Object pattern, which is available
-// at <http://www.cs.wustl.edu/~schmidt/Act-Obj.ps.gz>. The
+// at <http://www.cs.wustl.edu/~schmidt/PDF/Act-Obj.pdf>. The
// Active Object itself is very simple -- it determines if numbers
// are prime.
//
diff --git a/tests/Get_Opt_Test.cpp b/tests/Get_Opt_Test.cpp
index 5f9ca406fde..8acabb3a131 100644
--- a/tests/Get_Opt_Test.cpp
+++ b/tests/Get_Opt_Test.cpp
@@ -77,37 +77,37 @@ parse_args (int test_number,
'f',
ACE_Get_Opt::NO_ARG) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" Unable to add long option 'f' \n")), 1);
+ ACE_TEXT (" Unable to add long option 'f'\n")), 1);
if (get_opt.long_option (ACE_TEXT ("requires_arg"),
'r',
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" Unable to add long option 'r' \n")), 1);
+ ACE_TEXT (" Unable to add long option 'r'\n")), 1);
if (get_opt.long_option (ACE_TEXT ("optional_arg"),
'o',
ACE_Get_Opt::ARG_OPTIONAL) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" Unable to add long option 'o' \n")), 1);
+ ACE_TEXT (" Unable to add long option 'o'\n")), 1);
if (get_opt.long_option (ACE_TEXT ("long_option"),
'l',
ACE_Get_Opt::ARG_OPTIONAL) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" Unable to add long option 'l' \n")), 1);
+ ACE_TEXT (" Unable to add long option 'l'\n")), 1);
if (get_opt.long_option (ACE_TEXT ("long_only"),
-11,
ACE_Get_Opt::ARG_REQUIRED) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add long option ")
- ACE_TEXT ("\"long_only\" \n")), 1);
+ ACE_TEXT ("\"long_only\"\n")), 1);
if (get_opt.long_option (ACE_TEXT ("long_no_arg")) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add long option ")
- ACE_TEXT ("\"long_no_arg\" \n")), 1);
+ ACE_TEXT ("\"long_no_arg\"\n")), 1);
// This is the special case of providing a non-alpha numeric corresponding
// short option. This lets you use the corresponding short option in a
@@ -118,7 +118,7 @@ parse_args (int test_number,
ACE_Get_Opt::ARG_OPTIONAL) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT (" Unable to add long option ")
- ACE_TEXT ("\"non_alpha_short\" \n")), 1);
+ ACE_TEXT ("\"non_alpha_short\"\n")), 1);
// We print out the optstring here because adding long_options that
// have corresponding short options that aren't yet present, are added.
diff --git a/tests/Hash_Map_Manager_Test.cpp b/tests/Hash_Map_Manager_Test.cpp
index e960e127f8c..9776b7104d3 100644
--- a/tests/Hash_Map_Manager_Test.cpp
+++ b/tests/Hash_Map_Manager_Test.cpp
@@ -198,7 +198,7 @@ run_test (void)
if (hash.bind (string_table[i].key_,
string_table[i].value_) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p failed for %s \n"),
+ ACE_TEXT ("%p failed for %s\n"),
ACE_TEXT ("bind"),
string_table[i].key_), -1);
@@ -313,7 +313,7 @@ run_test (void)
if (hash.bind (string_table[i].key_,
string_table[i].value_) != 0)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p failed for %s \n"),
+ ACE_TEXT ("%p failed for %s\n"),
ACE_TEXT ("bind"),
string_table[i].key_), -1);
diff --git a/tests/Hash_Multi_Map_Manager_Test.cpp b/tests/Hash_Multi_Map_Manager_Test.cpp
index 2e883a71152..03946f8b0d0 100644
--- a/tests/Hash_Multi_Map_Manager_Test.cpp
+++ b/tests/Hash_Multi_Map_Manager_Test.cpp
@@ -55,7 +55,7 @@ run_test (void)
warm_colors[i]) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("bind failed for %s in %s\n"),
- warm_colors[i],
+ warm_colors[i],
color_sorts[0]),
-1);
}
@@ -68,11 +68,11 @@ run_test (void)
entry) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("bind failed for %s in %s\n"),
- cold_colors[i],
+ cold_colors[i],
color_sorts[1]),
-1);
}
-
+
HASH_STRING_VALUE_SET value_set;
entry = 0;
for (i = 0; neutral_colors[i] != 0; i++)
@@ -258,11 +258,11 @@ run_test (void)
iter++)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("%s \n"),
+ ACE_TEXT ("%s \n"),
*iter));
}
}
-
+
// Check the unbind operation.
if (colors.unbind (color_sorts[0]) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
@@ -275,7 +275,7 @@ run_test (void)
warm_colors[i]) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("bind failed for %s in %s\n"),
- warm_colors[i],
+ warm_colors[i],
color_sorts[0]),
-1);
}
@@ -292,7 +292,7 @@ run_test (void)
warm_colors[i]) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("bind failed for %s in %s\n"),
- warm_colors[i],
+ warm_colors[i],
color_sorts[0]),
-1);
}
@@ -303,7 +303,7 @@ run_test (void)
warm_colors[i]) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("unbind failed for %s in %s\n"),
- warm_colors[i],
+ warm_colors[i],
color_sorts[0]),
-1);
}
@@ -326,7 +326,7 @@ run_test (void)
iter++)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("%s \n"),
+ ACE_TEXT ("%s \n"),
*iter));
}
}
@@ -357,7 +357,7 @@ run_test (void)
iter++)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("%s \n"),
+ ACE_TEXT ("%s \n"),
*iter));
}
}
diff --git a/tests/High_Res_Timer_Test.cpp b/tests/High_Res_Timer_Test.cpp
index 5bfcb7ca573..52968fc5309 100644
--- a/tests/High_Res_Timer_Test.cpp
+++ b/tests/High_Res_Timer_Test.cpp
@@ -59,12 +59,16 @@ check_micro_nano (ACE_hrtime_t microinterval, ACE_hrtime_t nanointerval)
? (microinterval - nanointerval)
: (nanointerval - microinterval));
if (nanointerval == 0)
- nanointerval = 1; // Prevent divide-by-zero
+ {
+ nanointerval = 1; // Prevent divide-by-zero
+ }
ACE_hrtime_t const promille_difference =
difference * 1000 / nanointerval;
if ((promille_difference < threshold) || (difference < 1500))
- return 0;
+ {
+ return 0;
+ }
else
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("The microseconds * 1000 of %Q ")
@@ -113,16 +117,13 @@ run_main (int argc, ACE_TCHAR *argv[])
u_int iterations = 1;
- //FUZZ: disable check_for_lack_ACE_OS
- ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("i:"));
- for (int c; (c = getopt ()) != -1; )
+ ACE_Get_Opt getoptarg (argc, argv, ACE_TEXT ("i:"));
+ for (int c; (c = getoptarg ()) != -1; )
{
- //FUZZ: enable check_for_lack_ACE_OS
-
switch (c)
{
case 'i':
- iterations = ACE_OS::atoi (getopt.opt_arg ());
+ iterations = ACE_OS::atoi (getoptarg.opt_arg ());
break;
}
}
@@ -135,10 +136,10 @@ run_main (int argc, ACE_TCHAR *argv[])
{
for (u_int j = 0; j < iterations; ++j)
{
- const ACE_Time_Value interval (0, intervals[i]);
+ ACE_Time_Value const interval (0, intervals[i]);
ACE_hrtime_t nanoseconds;
ACE_hrtime_t microseconds;
- const ACE_Time_Value measured = time_interval (interval,
+ ACE_Time_Value const measured = time_interval (interval,
nanoseconds,
microseconds);
time_t const interval_usec =
diff --git a/tests/INET_Addr_Test.cpp b/tests/INET_Addr_Test.cpp
index 3ffd482451e..36e2e4c27a5 100644
--- a/tests/INET_Addr_Test.cpp
+++ b/tests/INET_Addr_Test.cpp
@@ -60,11 +60,8 @@ struct Address {
bool loopback;
};
-int run_main (int argc, ACE_TCHAR *argv[])
+int run_main (int, ACE_TCHAR *[])
{
- ACE_UNUSED_ARG (argc);
- ACE_UNUSED_ARG (argv);
-
ACE_START_TEST (ACE_TEXT ("INET_Addr_Test"));
int status = 0; // Innocent until proven guilty
@@ -97,7 +94,7 @@ int run_main (int argc, ACE_TCHAR *argv[])
if (addr.get_ip_address () != ACE_HTONL (addr32))
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: %s failed get_ip_address() check\n")
+ ACE_TEXT ("Error: %C failed get_ip_address() check\n")
ACE_TEXT ("0x%x != 0x%x\n"),
ipv4_addresses[i],
addr.get_ip_address (),
@@ -109,8 +106,8 @@ int run_main (int argc, ACE_TCHAR *argv[])
ACE_OS::strcmp (addr.get_host_addr(), ipv4_addresses[i]) != 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed get_host_addr() check\n")
- ACE_TEXT ("%s != %s\n"),
+ ACE_TEXT ("%C failed get_host_addr() check\n")
+ ACE_TEXT ("%C != %C\n"),
ipv4_addresses[i],
addr.get_host_addr (),
ipv4_addresses[i]));
@@ -123,8 +120,8 @@ int run_main (int argc, ACE_TCHAR *argv[])
ACE_OS::strcmp (&hostaddr[0], haddr) != 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed get_host_addr(char* buf,int) check\n")
- ACE_TEXT ("buf ['%s'] != return value ['%s']\n"),
+ ACE_TEXT ("%C failed get_host_addr(char* buf,int) check\n")
+ ACE_TEXT ("buf ['%C'] != return value ['%C']\n"),
ipv4_addresses[i],
&hostaddr[0],
haddr));
@@ -133,8 +130,8 @@ int run_main (int argc, ACE_TCHAR *argv[])
if (ACE_OS::strcmp (&hostaddr[0], ipv4_addresses[i]) != 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed get_host_addr(char*,int) check\n")
- ACE_TEXT ("buf ['%s'] != expected value ['%s']\n"),
+ ACE_TEXT ("%C failed get_host_addr(char*,int) check\n")
+ ACE_TEXT ("buf ['%C'] != expected value ['%C']\n"),
ipv4_addresses[i],
&hostaddr[0],
ipv4_addresses[i]));
@@ -159,8 +156,8 @@ int run_main (int argc, ACE_TCHAR *argv[])
ACE_OS::strcmp (addr.get_host_addr (), ipv4_addresses[i]) != 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%s failed second get_host_addr() check\n")
- ACE_TEXT ("return value ['%s'] != expected value ['%s']\n"),
+ ACE_TEXT ("%C failed second get_host_addr() check\n")
+ ACE_TEXT ("return value ['%C'] != expected value ['%C']\n"),
ipv4_addresses[i],
addr.get_host_addr (),
ipv4_addresses[i]));
@@ -214,7 +211,7 @@ int run_main (int argc, ACE_TCHAR *argv[])
if (0 != ACE_OS::strcmp (addr.get_host_addr (), ipv6_addresses[i]))
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("IPv6 get_host_addr failed: %s != %s\n"),
+ ACE_TEXT ("IPv6 get_host_addr failed: %C != %C\n"),
addr.get_host_addr (),
ipv6_addresses[i]));
status = 1;
@@ -245,7 +242,7 @@ int run_main (int argc, ACE_TCHAR *argv[])
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("ACE_INET_Addr::is_loopback() ")
- ACE_TEXT ("failed to distinguish loopback address. %s\n")
+ ACE_TEXT ("failed to distinguish loopback address. %C\n")
, loopback_addresses[i].name));
status = 1;
}
diff --git a/tests/INET_Addr_Test_IPV6.cpp b/tests/INET_Addr_Test_IPV6.cpp
index 0290edfd837..64292a9189f 100644
--- a/tests/INET_Addr_Test_IPV6.cpp
+++ b/tests/INET_Addr_Test_IPV6.cpp
@@ -54,11 +54,8 @@ int check_type_consistency (const ACE_INET_Addr &addr)
}
-int run_main (int argc, ACE_TCHAR *argv[])
+int run_main (int, ACE_TCHAR *[])
{
- ACE_UNUSED_ARG (argc);
- ACE_UNUSED_ARG (argv);
-
ACE_START_TEST (ACE_TEXT ("INET_Addr_Test_IPV6"));
int status = 0; // Innocent until proven guilty
diff --git a/tests/IOStream_Test.cpp b/tests/IOStream_Test.cpp
index 263cbb53d43..f4275c3ecba 100644
--- a/tests/IOStream_Test.cpp
+++ b/tests/IOStream_Test.cpp
@@ -375,7 +375,7 @@ server (void *arg = 0)
ACE_OS::sleep (5);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT (" (%P|%t) Server Sending: 1 .12342134 666555444 23.45 -46.5e9 \n")));
+ ACE_TEXT (" (%P|%t) Server Sending: 1 .12342134 666555444 23.45 -46.5e9\n")));
client_handler << 1 << " ";
client_handler << .12342134 << " ";
client_handler << 666555444 << " ";
diff --git a/tests/Log_Msg_Backend_Test.cpp b/tests/Log_Msg_Backend_Test.cpp
index 709978e8ef9..4ac933af92e 100644
--- a/tests/Log_Msg_Backend_Test.cpp
+++ b/tests/Log_Msg_Backend_Test.cpp
@@ -37,7 +37,7 @@ public:
//FUZZ: enable check_for_lack_ACE_OS
virtual int reset (void);
-
+
//FUZZ: disable check_for_lack_ACE_OS
virtual int close (void);
//FUZZ: enable check_for_lack_ACE_OS
@@ -105,8 +105,7 @@ run_main (int, ACE_TCHAR *[])
// Set up the backend prior to ACE_START_TEST so the initialization can
// call the back end's reset().
Backend b;
- ACE_Log_Msg_Backend *old_b;
- old_b = ACE_Log_Msg::msg_backend (&b);
+ ACE_Log_Msg_Backend *old_b = ACE_Log_Msg::msg_backend (&b);
ACE_START_TEST (ACE_TEXT ("Log_Msg_Backend_Test"));
@@ -120,7 +119,7 @@ run_main (int, ACE_TCHAR *[])
++status;
}
- // Reopen to get the backend established.
+ // Reopen to get the backend established.
u_long flags = ACE_LOG_MSG->flags ();
flags |= ACE_Log_Msg::CUSTOM;
if (-1 == ACE_LOG_MSG->open (ACE_TEXT ("Log_Msg_Backend_Test"), flags))
diff --git a/tests/Log_Msg_Test.cpp b/tests/Log_Msg_Test.cpp
index 972c3d541fa..1134496cdb5 100644
--- a/tests/Log_Msg_Test.cpp
+++ b/tests/Log_Msg_Test.cpp
@@ -33,6 +33,9 @@
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_unistd.h"
#include "ace/OS_Memory.h"
+#include "ace/OS_NS_sys_time.h"
+#include "ace/OS_NS_time.h"
+#include "ace/Time_Value.h"
ACE_RCSID(tests, Log_Msg_Test, "$Id$")
@@ -398,7 +401,7 @@ test_ostream (void)
1);
}
-#if !defined (ACE_VXWORKS) && !defined (ACE_HAS_PHARLAP) || (defined(ACE_VXWORKS) && (ACE_VXWORKS > 0x660))
+#if !defined (ACE_VXWORKS) && !defined (ACE_HAS_PHARLAP) || (defined(ACE_VXWORKS) && (ACE_VXWORKS > 0x680))
# define TEST_CAN_UNLINK_IN_ADVANCE
#endif
@@ -543,6 +546,26 @@ Log_Spec_Verify::log (ACE_Log_Record &log_record)
++this->fail_;
}
}
+ else if (ACE_OS::strncmp (b, ACE_TEXT ("l5:"), 3) == 0)
+ {
+ b += 3;
+ switch (log_record.type())
+ {
+ case (LM_SHUTDOWN): expect = ACE_TEXT("S"); break;
+ case (LM_TRACE): expect = ACE_TEXT("T"); break;
+ case (LM_DEBUG): expect = ACE_TEXT("D"); break;
+ case (LM_INFO): expect = ACE_TEXT("I"); break;
+ case (LM_NOTICE): expect = ACE_TEXT("N"); break;
+ case (LM_WARNING): expect = ACE_TEXT("W"); break;
+ case (LM_STARTUP): expect = ACE_TEXT("U"); break;
+ case (LM_ERROR): expect = ACE_TEXT("E"); break;
+ case (LM_CRITICAL): expect = ACE_TEXT("C"); break;
+ case (LM_ALERT): expect = ACE_TEXT("A"); break;
+ case (LM_EMERGENCY): expect = ACE_TEXT("!"); break;
+ default: expect = ACE_TEXT("?"); break;
+ }
+
+ }
else
{
ACE_ERROR ((LM_ERROR,
@@ -573,9 +596,9 @@ Log_Spec_Verify::result (void)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("%d logging specifier tests failed!\n"),
this->fail_));
- if (this->tests_ != 4)
+ if (this->tests_ != 15)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Exexpected number of %d tests run!\n"),
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Expected number of tests run is %d, not 15!\n"),
this->tests_));
++this->fail_;
}
@@ -597,9 +620,21 @@ test_format_specs (void)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%}%IENDINDENTING\n")));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%W\n"), ACE_TEXT_WIDE ("My string test\n")));
ACE_TCHAR* nill_string = 0;
+ char* char_nill_string = 0;
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%W\n"), nill_string));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%s\n"), nill_string));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%C\n"), char_nill_string));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%m %p\n"), nill_string));
errno = ENOENT;
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%m %p\n"), ACE_TEXT("perror")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%S\n"), SIGINT));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%S\n"), ACE_NSIG));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%D\n")));
+ ACE_Time_Value tv = ACE_OS::gettimeofday ();
+ tv += ACE_Time_Value (25*60*60); // + 25 hours
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%#D\n"), &tv));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T\n")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%#T\n"), &tv));
Log_Spec_Verify verifier;
@@ -612,7 +647,32 @@ test_format_specs (void)
ACE_LOG_MSG->log (LM_DEBUG, ACE_TEXT ("l1:%l"));
ACE_LOG_MSG->log (LM_DEBUG, ACE_TEXT ("l2:%5l"));
ACE_LOG_MSG->log (LM_DEBUG, ACE_TEXT ("l3N1:%0*l,%.7N"), 4);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("l4:%T")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("l4:%T")));
+
+ ACE_LOG_MSG->priority_mask (LM_SHUTDOWN |
+ LM_TRACE |
+ LM_DEBUG |
+ LM_INFO |
+ LM_NOTICE |
+ LM_WARNING |
+ LM_STARTUP |
+ LM_ERROR |
+ LM_CRITICAL |
+ LM_ALERT |
+ LM_EMERGENCY,
+ ACE_Log_Msg::PROCESS);
+ ACE_DEBUG ((LM_SHUTDOWN, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_TRACE, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_INFO, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_NOTICE, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_WARNING, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_STARTUP, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_ERROR, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_CRITICAL, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_ALERT, ACE_TEXT ("l5:%.1M")));
+ ACE_DEBUG ((LM_EMERGENCY, ACE_TEXT ("l5:%.1M")));
+
ACE_LOG_MSG->msg_ostream (ace_file_stream::instance ()->output_file ());
ACE_LOG_MSG->msg_callback (0);
ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM);
diff --git a/tests/Log_Thread_Inheritance_Test.cpp b/tests/Log_Thread_Inheritance_Test.cpp
index f049081325d..6d4726102ad 100644
--- a/tests/Log_Thread_Inheritance_Test.cpp
+++ b/tests/Log_Thread_Inheritance_Test.cpp
@@ -5,6 +5,10 @@
#include "ace/Task.h"
#include <fstream>
+#ifdef ACE_HAS_PTHREADS
+# include <pthread.h>
+#endif /* ACE_HAS_PTHREADS */
+
ACE_RCSID (tests, Log_Thread_Inheritance_Test, "$Id$")
#if !defined (ACE_HAS_THREADS) || defined (ACE_LACKS_IOSTREAM_TOTALLY)
@@ -14,6 +18,48 @@ int run_main (int, ACE_TCHAR *[])
}
#else
+#ifdef ACE_HAS_PTHREADS
+struct Inheritor : ACE_Task_Base
+{
+ int svc ()
+ {
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - this test might crash ACE if it does not "
+ "have the fix for the second bug in #3480.\n"));
+ return 0;
+ }
+};
+
+extern "C"
+void* spawn_ace_task (void*)
+{
+ Inheritor inheritor;
+
+ inheritor.activate ();
+ inheritor.wait ();
+
+ return 0;
+}
+
+bool test_inherited_attributes ()
+{
+ // This test verifies ACE_OS_Log_Msg_Attributes correctly initializes
+ // when an ACE thread is created from a non-ACE thread (i.e. pthreads)
+ // and is then used for logging.
+ //
+ // This test will cause occasional SEGVs on failure.
+ // stallions 2009/02/05
+ pthread_t parent;
+
+ if (pthread_create (&parent, 0, spawn_ace_task, 0) != 0)
+ {
+ return false;
+ }
+ pthread_join (parent, 0);
+
+ return true;
+}
+#endif /* ACE_HAS_PTHREADS */
+
struct MyThread : ACE_Task_Base
{
@@ -72,6 +118,9 @@ int run_main (int, ACE_TCHAR *[])
mt.wait ();
MyThread::childthread_.wait ();
ACE_LOG_MSG->msg_ostream (initial_stream, 0);
+#ifdef ACE_HAS_PTHREADS
+ if (!test_inherited_attributes ()) return -1;
+#endif /* ACE_HAS_PTHREADS */
ACE_DEBUG ((LM_DEBUG, "(%P|%t) - Test passed.\n"));
ACE_END_TEST;
return 0;
diff --git a/tests/Logging_Strategy_Test.cpp b/tests/Logging_Strategy_Test.cpp
index 42aa3561046..31b8b610399 100644
--- a/tests/Logging_Strategy_Test.cpp
+++ b/tests/Logging_Strategy_Test.cpp
@@ -108,7 +108,7 @@ static
void print_till_death (void)
{
ACE_DEBUG ((LM_DEBUG,
- "\n-> start generating messages... \n"));
+ "\n-> start generating messages...\n"));
for (int i = 0; i < 1000; i++)
{
@@ -191,7 +191,7 @@ count_files (void)
num_files));
ACE_DEBUG ((LM_DEBUG,
- "\n-< counting finished... \n"));
+ "\n-< counting finished...\n"));
}
// get the file statistics
@@ -200,7 +200,7 @@ static time_t
get_statistics (ACE_TCHAR *f_name)
{
ACE_stat buf;
-
+
// Get data associated with "file_name":
int result = ACE_OS::stat (f_name, &buf);
@@ -230,7 +230,7 @@ static void
order (void)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\n-> start testing order... \n")));
+ ACE_TEXT ("\n-> start testing order...\n")));
if (num_files <= 2)
{
@@ -467,10 +467,10 @@ int run_main (int argc, ACE_TCHAR *argv [])
#else // Platform doesn't support DLLs, or configured to link
// statically
ACE_Logging_Strategy logging_strategy;
- char ls_argc = argc - 1;
+ unsigned char ls_argc = argc - 1;
ACE_Auto_Basic_Ptr<ACE_TCHAR *> ls_argv (new ACE_TCHAR *[ls_argc]);
- for (char c = 0; c < ls_argc; c++)
+ for (unsigned char c = 0; c < ls_argc; c++)
(ls_argv.get ())[c] = argv[c+1];
if (logging_strategy.init (ls_argc, ls_argv.get ()) == -1)
diff --git a/tests/MT_NonBlocking_Connect_Test.cpp b/tests/MT_NonBlocking_Connect_Test.cpp
new file mode 100644
index 00000000000..2d94aa29707
--- /dev/null
+++ b/tests/MT_NonBlocking_Connect_Test.cpp
@@ -0,0 +1,409 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// MT_NonBlocking_Connect_Test.cpp
+//
+// = DESCRIPTION
+//
+// This test makes non-blocking connects from multiple threads. Things are
+// complicated by the fact that after the connection is attempted reactor's
+// handle_events() is called and this leads to possible connection
+// completion in the other thread. This is similar to what TAO does for
+// oneway with SYNC_NONE sync scope policy.
+// The following reactors are tested: Select, TP, WFMO, and Dev Poll
+// (if enabled).
+//
+// = AUTHOR
+// Vladimir Zykov <vladimir.zykov@prismtech.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/TP_Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Dev_Poll_Reactor.h"
+#include "ace/Svc_Handler.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/Get_Opt.h"
+#include "ace/Task.h"
+#include "ace/Connector.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Thread_Mutex.h"
+
+ACE_RCSID(tests,
+ MT_NonBlocking_Connect_Test,
+ "$Id$")
+
+#if defined (ACE_HAS_THREADS)
+
+static int test_select_reactor = 1;
+static int test_tp_reactor = 1;
+static int test_wfmo_reactor = 1;
+static int test_dev_poll_reactor = 1;
+static int number_of_threads = 10;
+static int debug = 0;
+static int result = 0;
+
+static const ACE_TCHAR* hosts[] = {
+ ACE_TEXT ("www.russiantvguide.com:80"),
+ ACE_TEXT ("news.bbc.co.uk:80"),
+ ACE_TEXT ("www.cnn.com:80"),
+ ACE_TEXT ("www.waca.com.au:80"),
+ ACE_TEXT ("www.uganda.co.ug:80"),
+ ACE_TEXT ("www.cs.wustl.edu:80"),
+ ACE_TEXT ("www.dre.vanderbilt.edu:80"),
+ ACE_TEXT ("www.dhm.gov.np:80"),
+ ACE_TEXT ("www.msn.com:80"),
+ ACE_TEXT ("www.presidencymaldives.gov.mv:80")
+};
+
+class Svc_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ Svc_Handler (void)
+ {
+ ACE_TEST_ASSERT (0);
+ }
+
+ Svc_Handler (ACE_Thread_Manager *);
+
+ int open (void *);
+
+ int close (u_long flags);
+
+ bool connected_;
+};
+
+Svc_Handler::Svc_Handler (ACE_Thread_Manager *)
+ : connected_ (false)
+{
+ this->reference_counting_policy ().value (
+ ACE_Event_Handler::Reference_Counting_Policy::ENABLED);
+}
+
+int
+Svc_Handler::open (void *)
+{
+ this->connected_ = true;
+ return 0;
+}
+
+int
+Svc_Handler::close (u_long)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "%t close connection on handle %d.\n",
+ this->get_handle ()));
+ return 0;
+}
+
+template<class SVC_HANDLER>
+class Concurrency_Strategy :
+ public ACE_Concurrency_Strategy<SVC_HANDLER>
+{
+public:
+ virtual int activate_svc_handler (SVC_HANDLER *svc_handler, void *arg);
+};
+
+template<class SVC_HANDLER> int
+Concurrency_Strategy<SVC_HANDLER>::
+ activate_svc_handler (SVC_HANDLER *svc_handler, void *arg)
+{
+ // Every fourth connection fails.
+ static long count = 0;
+ if (++count % 4 == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "%t connection on handle %d has artificially failed.\n",
+ svc_handler->get_handle ()));
+ return -1;
+ }
+ else
+ {
+ return ACE_Concurrency_Strategy<SVC_HANDLER>::activate_svc_handler (
+ svc_handler, arg);
+ }
+}
+
+typedef ACE_Creation_Strategy<Svc_Handler> CREATION_STRATEGY;
+typedef ACE_Connect_Strategy<Svc_Handler,
+ ACE_SOCK_CONNECTOR> CONNECT_STRATEGY;
+typedef Concurrency_Strategy<Svc_Handler> CONCURRENCY_STRATEGY;
+typedef ACE_Strategy_Connector<Svc_Handler,
+ ACE_SOCK_CONNECTOR> BASE_CONNECTOR;
+
+class Connect_Thread : public ACE_Task_Base
+{
+public:
+ Connect_Thread (ACE_Thread_Manager &thread_manager,
+ ACE_Reactor &reactor,
+ ACE_Thread_Mutex &reactor_lock)
+ : ACE_Task_Base (&thread_manager)
+ , reactor_ (reactor)
+ , reactor_lock_ (reactor_lock)
+ , threads_ (number_of_threads)
+ {
+ // Open the connector.
+ this->base_connector_.open (&this->reactor_,
+ &this->cns_, &this->cts_, &this->cys_);
+ }
+
+ int svc (void);
+
+private:
+ ACE_Reactor &reactor_;
+ ACE_Thread_Mutex &reactor_lock_;
+
+ CREATION_STRATEGY cns_;
+ CONNECT_STRATEGY cts_;
+ CONCURRENCY_STRATEGY cys_;
+ BASE_CONNECTOR base_connector_;
+
+ ACE_Atomic_Op<ACE_Thread_Mutex, long> threads_;
+};
+
+int
+Connect_Thread::svc (void)
+{
+ size_t const nr_names = sizeof hosts / sizeof (char *);
+ ACE_INET_Addr *addresses = new ACE_INET_Addr[nr_names];
+
+ for (size_t i = 0; i < nr_names; ++i)
+ {
+ if (addresses[i].set (hosts[i]) != 0)
+ {
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("%p\n"),
+ hosts[i]));
+ }
+ }
+
+ ACE_INET_Addr local_addr;
+ ACE_Synch_Options synch_options (ACE_Synch_Options::USE_REACTOR);
+
+ for (size_t i = 0; i < nr_names; ++i)
+ {
+ ACE_INET_Addr &remote_addr = addresses[i];
+
+ ACE_DEBUG ((LM_DEBUG,
+ "%t connecting to %s...\n",
+ hosts[i]));
+
+ // Create a new handler. It's what begin_connection() in TAO does.
+ Svc_Handler *svc_handler = 0;
+ result = this->base_connector_.connect (svc_handler,
+ remote_addr,
+ synch_options,
+ local_addr);
+ ACE_Event_Handler_var release_guard (svc_handler);
+
+ // Complete connection. It's what complete_connection() in TAO does.
+ // Not exactly but for the test it's enough.
+ int run_for_wfmo = 5;
+ while (this->reactor_.work_pending () && run_for_wfmo)
+ {
+ ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon,
+ this->reactor_lock_, -1);
+
+ if (this->reactor_.work_pending () && run_for_wfmo)
+ {
+ --run_for_wfmo;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "%t waiting for connection to %s...\n",
+ hosts[i]));
+
+ this->reactor_.owner (ACE_Thread::self ());
+
+ this->reactor_.handle_events ();
+ }
+ }
+
+ if (svc_handler->connected_)
+ {
+ this->reactor_.register_handler (svc_handler,
+ ACE_Event_Handler::READ_MASK);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "%t connection for %s completed on handle %d.\n",
+ hosts[i],
+ svc_handler->get_handle ()));
+ // We are connected successfully. Close the connection.
+ this->reactor_.remove_handler (svc_handler->get_handle (),
+ ACE_Event_Handler::ALL_EVENTS_MASK |
+ ACE_Event_Handler::DONT_CALL);
+ }
+ else
+ {
+ // Connection didn't succeed. svc_handler will be deleted when
+ // we go out of the scope of this loop.
+ ACE_DEBUG ((LM_DEBUG,
+ "%t connection for %s did not complete.\n",
+ hosts[i]));
+ }
+ }
+
+ if (--this->threads_ == 0)
+ {
+ // Close the connector.
+ this->base_connector_.close ();
+ }
+
+ delete[] addresses;
+
+ return 0;
+}
+
+void
+test (ACE_Reactor_Impl *reactor_impl)
+{
+ ACE_Reactor reactor (reactor_impl, true);
+
+ ACE_Thread_Mutex reactor_lock;
+ ACE_Thread_Manager thread_manager;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Starting %d connection threads...\n",
+ number_of_threads));
+
+ Connect_Thread connect_thread (thread_manager, reactor, reactor_lock);
+ result = connect_thread.activate (THR_NEW_LWP|THR_JOINABLE,
+ number_of_threads);
+ ACE_TEST_ASSERT (result == 0);
+
+ // Wait for threads to exit.
+ result = thread_manager.wait ();
+ ACE_TEST_ASSERT (result == 0);
+}
+
+static int
+parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("a:b:c:d:f:g:k:lm:n:o:uz:"));
+
+ int cc;
+ while ((cc = get_opt ()) != -1)
+ {
+ switch (cc)
+ {
+ case 'a':
+ test_select_reactor = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'b':
+ test_tp_reactor = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'c':
+ test_wfmo_reactor = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'd':
+ test_dev_poll_reactor = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'f':
+ number_of_threads = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'z':
+ debug = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'u':
+ default:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("\nusage: %s \n\n")
+ ACE_TEXT ("\t[-a test Select Reactor] (defaults to %d)\n")
+ ACE_TEXT ("\t[-b test TP Reactor] (defaults to %d)\n")
+ ACE_TEXT ("\t[-c test WFMO Reactor] (defaults to %d)\n")
+ ACE_TEXT ("\t[-d test Dev Poll Reactor] (defaults to %d)\n")
+ ACE_TEXT ("\t[-f number of threads] (defaults to %d)\n")
+ ACE_TEXT ("\t[-z debug] (defaults to %d)\n")
+ ACE_TEXT ("\n"),
+ argv[0],
+ test_select_reactor,
+ test_tp_reactor,
+ test_wfmo_reactor,
+ test_dev_poll_reactor,
+ number_of_threads,
+ debug));
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("MT_NonBlocking_Connect_Test"));
+
+ // Validate options.
+ result = parse_args (argc, argv);
+ if (result != 0)
+ return result;
+
+ if (test_select_reactor)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n\n(%t) Testing Select Reactor....\n\n")));
+
+ test (new ACE_Select_Reactor);
+ }
+
+ if (test_tp_reactor)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n\n(%t) Testing TP Reactor....\n\n")));
+
+ test (new ACE_TP_Reactor);
+ }
+
+#if defined (ACE_HAS_EVENT_POLL)
+
+ if (test_dev_poll_reactor)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n\n(%t) Testing Dev Poll Reactor....\n\n")));
+
+ test (new ACE_Dev_Poll_Reactor);
+ }
+
+#endif
+
+#if defined (ACE_WIN32)
+
+ if (test_wfmo_reactor)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("\n\n(%t) Testing WFMO Reactor....\n\n")));
+
+ test (new ACE_WFMO_Reactor);
+ }
+
+#endif /* ACE_WIN32 */
+
+ ACE_END_TEST;
+
+ return result;
+}
+
+#else /* ACE_HAS_THREADS */
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("MT_NonBlocking_Connect_Test"));
+
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("threads not supported on this platform\n")));
+
+ ACE_END_TEST;
+
+ return 0;
+}
+
+#endif /* ACE_HAS_THREADS */
diff --git a/tests/MT_Reactor_Timer_Test.cpp b/tests/MT_Reactor_Timer_Test.cpp
index 5a714be719b..da2f07d4d0a 100644
--- a/tests/MT_Reactor_Timer_Test.cpp
+++ b/tests/MT_Reactor_Timer_Test.cpp
@@ -356,7 +356,7 @@ run_main (int, ACE_TCHAR *[])
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("%p, errno is %d\n"),
"wait ()",
- errno));
+ ACE_ERRNO_GET));
ACE_ASSERT (status != -1);
}
diff --git a/tests/MT_Reactor_Upcall_Test.cpp b/tests/MT_Reactor_Upcall_Test.cpp
index e446707dbdc..f5d15c24458 100644
--- a/tests/MT_Reactor_Upcall_Test.cpp
+++ b/tests/MT_Reactor_Upcall_Test.cpp
@@ -352,6 +352,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Testing Dev Poll Reactor\n")));
ACE_Dev_Poll_Reactor dev_poll_reactor_impl;
+ dev_poll_reactor_impl.restart (true);
ACE_Reactor dev_poll_reactor (&dev_poll_reactor_impl);
test_reactor_upcall (dev_poll_reactor);
diff --git a/tests/MT_Reference_Counted_Event_Handler_Test.cpp b/tests/MT_Reference_Counted_Event_Handler_Test.cpp
index 45bd1924a92..3cc4b712184 100644
--- a/tests/MT_Reference_Counted_Event_Handler_Test.cpp
+++ b/tests/MT_Reference_Counted_Event_Handler_Test.cpp
@@ -1141,7 +1141,7 @@ testing (ACE_Reactor *reactor,
int nested_upcalls)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\n(%t) Configuration: \n")
+ ACE_TEXT ("\n(%t) Configuration:\n")
ACE_TEXT ("\tInvocation thread = %d\n")
ACE_TEXT ("\tEvent Loop thread = %d\n")
ACE_TEXT ("\tPurger thread = %d\n")
diff --git a/tests/MT_SOCK_Test.cpp b/tests/MT_SOCK_Test.cpp
index 2b2b72b77b2..ea12c5f310b 100644
--- a/tests/MT_SOCK_Test.cpp
+++ b/tests/MT_SOCK_Test.cpp
@@ -115,7 +115,7 @@ client (void *arg)
}
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) (errno %d) %p\n"), errno,
+ ACE_TEXT ("(%P|%t) (errno %d) %p\n"), ACE_ERRNO_GET,
ACE_TEXT ("client: send_n")));
ACE_ERROR ((LM_ERROR, "client: Closing stream.\n"));
cli_stream.close();
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 737f93582d7..d7e41648e32 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -643,6 +643,266 @@ Collection_Test_LDADD = \
libTest_Output.la \
$(ACE_BUILDDIR)/ace/libACE.la
+## Makefile.Compiler_Features_01_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_01_Test
+
+Compiler_Features_01_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_01_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_01_Test.cpp
+
+Compiler_Features_01_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_02_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_02_Test
+
+Compiler_Features_02_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_02_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_02_Test.cpp
+
+Compiler_Features_02_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_03_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_03_Test
+
+Compiler_Features_03_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_03_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_03_Test.cpp
+
+Compiler_Features_03_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_04_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_04_Test
+
+Compiler_Features_04_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_04_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_04_Test.cpp
+
+Compiler_Features_04_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_05_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_05_Test
+
+Compiler_Features_05_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_05_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_05_Test.cpp
+
+Compiler_Features_05_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_06_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_06_Test
+
+Compiler_Features_06_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_06_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_06_Test.cpp
+
+Compiler_Features_06_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_07_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_07_Test
+
+Compiler_Features_07_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_07_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_07_Test.cpp
+
+Compiler_Features_07_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_09_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_09_Test
+
+Compiler_Features_09_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_09_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_09_Test.cpp
+
+Compiler_Features_09_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_10_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_10_Test
+
+Compiler_Features_10_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_10_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_10_Test.cpp
+
+Compiler_Features_10_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_11_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_11_Test
+
+Compiler_Features_11_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_11_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_11_Test.cpp
+
+Compiler_Features_11_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_12_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_12_Test
+
+Compiler_Features_12_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_12_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_12_Test.cpp
+
+Compiler_Features_12_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_13_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_13_Test
+
+Compiler_Features_13_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_13_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_13_Test.cpp
+
+Compiler_Features_13_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
+## Makefile.Compiler_Features_14_Test.am
+
+if !BUILD_ACE_FOR_TAO
+
+noinst_PROGRAMS += Compiler_Features_14_Test
+
+Compiler_Features_14_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Compiler_Features_14_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Compiler_Features_14_Test.cpp
+
+Compiler_Features_14_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_ACE_FOR_TAO
+
## Makefile.Config_Test.am
if !BUILD_ACE_FOR_TAO
@@ -2220,6 +2480,20 @@ Reactor_Exceptions_Test_LDADD = \
libTest_Output.la \
$(ACE_BUILDDIR)/ace/libACE.la
+noinst_PROGRAMS += Reactor_Fairness_Test
+
+Reactor_Fairness_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Reactor_Fairness_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Reactor_Fairness_Test.cpp
+
+Reactor_Fairness_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
## Makefile.Reactor_Notification_Queue_Test.am
noinst_PROGRAMS += Reactor_Notification_Queue_Test
@@ -2896,6 +3170,22 @@ Task_Test_LDADD = \
libTest_Output.la \
$(ACE_BUILDDIR)/ace/libACE.la
+## Makefile.Thread_Attrs_Test.am
+
+noinst_PROGRAMS += Thread_Attrs_Test
+
+Thread_Attrs_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR)
+
+Thread_Attrs_Test_SOURCES = \
+ $(ACE_ROOT)/tests/Main.cpp \
+ Thread_Attrs_Test.cpp
+
+Thread_Attrs_Test_LDADD = \
+ libTest_Output.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
## Makefile.Thread_Manager_Test.am
noinst_PROGRAMS += Thread_Manager_Test
diff --git a/tests/Malloc_Test.cpp b/tests/Malloc_Test.cpp
index 1e26005590c..5ab9edcadc3 100644
--- a/tests/Malloc_Test.cpp
+++ b/tests/Malloc_Test.cpp
@@ -100,6 +100,7 @@ myallocator (const void *base_addr = 0)
#if defined (ACE_HAS_WINCE) || defined (ACE_OPENVMS)
// WinCE cannot do fixed base, ever.
+ ACE_UNUSED_ARG (base_addr);
ACE_MMAP_Memory_Pool_Options options
(0,
ACE_MMAP_Memory_Pool_Options::NEVER_FIXED);
@@ -126,6 +127,7 @@ init_test (const void *base_addr = 0)
// file from the previous crash.
#if defined (ACE_HAS_WINCE) || defined (ACE_OPENVMS)
// WinCE cannot do fixed base, ever.
+ ACE_UNUSED_ARG (base_addr);
ACE_MMAP_Memory_Pool_Options options
(0,
ACE_MMAP_Memory_Pool_Options::NEVER_FIXED);
@@ -234,7 +236,7 @@ print (const char *process_name,
for (Test_Data *t = data; t != 0; t = t->next_)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("<<<< (%P) %s\ni1_ = %d, i2_ = %d, i3_ = %d, d1_ = %f\n"),
+ ACE_TEXT ("<<<< (%P) %C\ni1_ = %d, i2_ = %d, i3_ = %d, d1_ = %f\n"),
process_name,
t->i1_,
t->i2_,
diff --git a/tests/Map_Manager_Test.cpp b/tests/Map_Manager_Test.cpp
index c220e285a06..27e222beb02 100644
--- a/tests/Map_Manager_Test.cpp
+++ b/tests/Map_Manager_Test.cpp
@@ -77,7 +77,7 @@ typedef ACE_Cache_Map_Manager<TYPE, TYPE, CACHE_MAP_IMPL, CACHE_ITER_IMPL, CACHE
typedef ACE_Hash_Cache_Map_Manager<TYPE, TYPE, HASH_KEY, COMPARE_KEYS, NULL_CACHING_STRATEGY, ATTR>
HASH_CACHE_MAP_MANAGER;
-static void
+static int
test_cache_map_manager (size_t table_size,
size_t iterations,
int test_iterators)
@@ -90,7 +90,7 @@ test_cache_map_manager (size_t table_size,
ssize_t k;
for (i = 0; i < iterations; i++)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
if (test_iterators)
{
@@ -113,7 +113,7 @@ test_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
@@ -136,7 +136,7 @@ test_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
@@ -159,7 +159,7 @@ test_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
@@ -182,7 +182,7 @@ test_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
@@ -190,21 +190,22 @@ test_cache_map_manager (size_t table_size,
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.find (i, j) != -1);
- ACE_ASSERT (i == j);
+ ACE_TEST_ASSERT (map.find (i, j) != -1);
+ ACE_TEST_ASSERT (i == j);
}
size_t remaining_entries = iterations;
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.unbind (i) != -1);
+ ACE_TEST_ASSERT (map.unbind (i) != -1);
--remaining_entries;
- ACE_ASSERT (map.current_size () == remaining_entries);
+ ACE_TEST_ASSERT (map.current_size () == remaining_entries);
}
+ return 0;
}
-static void
+static int
test_hash_cache_map_manager (size_t table_size,
size_t iterations,
int test_iterators)
@@ -217,7 +218,7 @@ test_hash_cache_map_manager (size_t table_size,
ssize_t k;
for (i = 0; i < iterations; i++)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
if (test_iterators)
{
@@ -240,7 +241,7 @@ test_hash_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
@@ -263,7 +264,7 @@ test_hash_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
@@ -286,7 +287,7 @@ test_hash_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
@@ -309,7 +310,7 @@ test_hash_cache_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
@@ -317,21 +318,22 @@ test_hash_cache_map_manager (size_t table_size,
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.find (i, j) != -1);
- ACE_ASSERT (i == j);
+ ACE_TEST_ASSERT (map.find (i, j) != -1);
+ ACE_TEST_ASSERT (i == j);
}
size_t remaining_entries = iterations;
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.unbind (i) != -1);
+ ACE_TEST_ASSERT (map.unbind (i) != -1);
--remaining_entries;
- ACE_ASSERT (map.current_size () == remaining_entries);
+ ACE_TEST_ASSERT (map.current_size () == remaining_entries);
}
+ return 0;
}
-static void
+static int
test_active_map_manager (size_t table_size,
size_t iterations,
int test_iterators)
@@ -343,13 +345,14 @@ test_active_map_manager (size_t table_size,
ACTIVE_MAP_MANAGER::key_type *active_keys;
- ACE_NEW (active_keys,
- ACTIVE_MAP_MANAGER::key_type[iterations]);
+ ACE_NEW_RETURN (active_keys,
+ ACTIVE_MAP_MANAGER::key_type[iterations],
+ 1);
for (i = 0;
i < iterations;
i++)
- ACE_ASSERT (map.bind (i, active_keys[i]) != -1);
+ ACE_TEST_ASSERT (map.bind (i, active_keys[i]) != -1);
if (test_iterators)
{
@@ -374,7 +377,7 @@ test_active_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -399,28 +402,30 @@ test_active_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
}
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.find (active_keys[i], j) != -1);
- ACE_ASSERT (i == j);
+ ACE_TEST_ASSERT (map.find (active_keys[i], j) != -1);
+ ACE_TEST_ASSERT (i == j);
}
size_t remaining_entries = iterations;
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.unbind (active_keys[i]) != -1);
+ ACE_TEST_ASSERT (map.unbind (active_keys[i]) != -1);
--remaining_entries;
- ACE_ASSERT (map.current_size () == remaining_entries);
+ ACE_TEST_ASSERT (map.current_size () == remaining_entries);
}
delete [] active_keys;
+
+ return 0;
}
-static void
+static int
test_hash_map_manager (size_t table_size,
size_t iterations,
int test_iterators)
@@ -431,7 +436,7 @@ test_hash_map_manager (size_t table_size,
ssize_t k;
for (i = 0; i < iterations; i++)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
if (test_iterators)
{
@@ -454,7 +459,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -475,7 +480,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -497,7 +502,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -518,7 +523,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -540,7 +545,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -561,7 +566,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -583,7 +588,7 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -604,26 +609,28 @@ test_hash_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
}
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.find (i, j) != -1);
- ACE_ASSERT (i == j);
+ ACE_TEST_ASSERT (map.find (i, j) != -1);
+ ACE_TEST_ASSERT (i == j);
}
size_t remaining_entries = iterations;
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.unbind (i) != -1);
+ ACE_TEST_ASSERT (map.unbind (i) != -1);
--remaining_entries;
- ACE_ASSERT (map.current_size () == remaining_entries);
+ ACE_TEST_ASSERT (map.current_size () == remaining_entries);
}
+
+ return 0;
}
-static void
+static int
test_map_manager (size_t table_size,
size_t iterations,
int test_iterators)
@@ -634,7 +641,7 @@ test_map_manager (size_t table_size,
ssize_t k;
for (i = 0; i < iterations; ++i)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
if (test_iterators)
{
@@ -657,7 +664,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -678,7 +685,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -700,7 +707,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -721,7 +728,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -743,7 +750,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -764,7 +771,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (i == iterations);
+ ACE_TEST_ASSERT (i == iterations);
}
{
@@ -786,7 +793,7 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
{
@@ -807,36 +814,36 @@ test_map_manager (size_t table_size,
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")));
- ACE_ASSERT (k == -1);
+ ACE_TEST_ASSERT (k == -1);
}
}
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.find (i, j) != -1);
- ACE_ASSERT (i == j);
+ ACE_TEST_ASSERT (map.find (i, j) != -1);
+ ACE_TEST_ASSERT (i == j);
}
size_t remaining_entries = iterations;
for (i = 0; i < iterations; ++i)
{
- ACE_ASSERT (map.unbind (i) != -1);
+ ACE_TEST_ASSERT (map.unbind (i) != -1);
--remaining_entries;
- ACE_ASSERT (map.current_size () == remaining_entries);
+ ACE_TEST_ASSERT (map.current_size () == remaining_entries);
}
//
// This is extra for the map manager.
//
for (i = 0; i < iterations; ++i)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
// Unbind in one swoop.
map.unbind_all ();
- ACE_ASSERT (map.current_size () == 0);
+ ACE_TEST_ASSERT (map.current_size () == 0);
for (i = 0; i < iterations; ++i)
- ACE_ASSERT (map.bind (i, i) != -1);
+ ACE_TEST_ASSERT (map.bind (i, i) != -1);
// Unbind one at a time.
MAP_MANAGER::iterator end = map.end ();
@@ -845,14 +852,16 @@ test_map_manager (size_t table_size,
MAP_MANAGER::iterator iter = map.begin ();
if (iter == end)
break;
- ACE_ASSERT (map.unbind ((*iter).ext_id_) != -1);
+ ACE_TEST_ASSERT (map.unbind ((*iter).ext_id_) != -1);
}
- ACE_ASSERT (map.current_size () == 0);
+ ACE_TEST_ASSERT (map.current_size () == 0);
+
+ return 0;
}
-static void
-run_test (void (*ptf) (size_t, size_t, int),
+static int
+run_test (int (*ptf) (size_t, size_t, int),
size_t table_size,
size_t iterations,
int test_iterators,
@@ -894,6 +903,8 @@ run_test (void (*ptf) (size_t, size_t, int),
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("time per call = %f usecs\n"),
(et.real_time / ACE_timer_t (iterations)) * 1000000));
+
+ return 0;
}
int
@@ -901,7 +912,7 @@ run_main (int argc, ACE_TCHAR *argv[])
{
ACE_START_TEST (ACE_TEXT ("Map_Manager_Test"));
ACE_LOG_MSG->clr_flags (ACE_Log_Msg::VERBOSE_LITE);
-
+ int result = 0;
size_t table_size = ACE_MAX_ITERATIONS / 2;
size_t iterations = ACE_MAX_ITERATIONS;
int test_iterators = 1;
@@ -915,42 +926,50 @@ run_main (int argc, ACE_TCHAR *argv[])
if (argc > 3)
test_iterators = ACE_OS::atoi (argv[3]);
- // Test the <ACE_Map_Manager>.
- run_test (&test_map_manager,
- table_size,
- iterations,
- test_iterators,
- ACE_TEXT ("Map_Manager"));
-
- // Test the <ACE_Hash_Map_Manager>.
- run_test (&test_hash_map_manager,
- table_size,
- iterations,
- test_iterators,
- ACE_TEXT ("Hash_Map_Manager"));
-
- // Test the <ACE_Hash_Map_Manager>.
- run_test (&test_active_map_manager,
- table_size,
- iterations,
- test_iterators,
- ACE_TEXT ("Active_Map_Manager"));
-
- // Test the <ACE_Cache_Map_Manager>.
- run_test (&test_cache_map_manager,
- table_size,
- iterations,
- test_iterators,
- ACE_TEXT ("Cache_Map_Manager"));
-
- // Test the <ACE_Hash_Cache_Map_Manager>.
- run_test (&test_hash_cache_map_manager,
- table_size,
- iterations,
- test_iterators,
- ACE_TEXT ("Hash_Cache_Map_Manager"));
+ if (table_size == 0)
+ {
+ ACE_ERROR ((LM_ERROR, "LM_ERROR@Table size is 0\n"));
+ ++result;
+ }
+ else
+ {
+ // Test the <ACE_Map_Manager>.
+ result += run_test (&test_map_manager,
+ table_size,
+ iterations,
+ test_iterators,
+ ACE_TEXT ("Map_Manager"));
+
+ // Test the <ACE_Hash_Map_Manager>.
+ result += run_test (&test_hash_map_manager,
+ table_size,
+ iterations,
+ test_iterators,
+ ACE_TEXT ("Hash_Map_Manager"));
+
+ // Test the <ACE_Hash_Map_Manager>.
+ result += run_test (&test_active_map_manager,
+ table_size,
+ iterations,
+ test_iterators,
+ ACE_TEXT ("Active_Map_Manager"));
+
+ // Test the <ACE_Cache_Map_Manager>.
+ result += run_test (&test_cache_map_manager,
+ table_size,
+ iterations,
+ test_iterators,
+ ACE_TEXT ("Cache_Map_Manager"));
+
+ // Test the <ACE_Hash_Cache_Map_Manager>.
+ result += run_test (&test_hash_cache_map_manager,
+ table_size,
+ iterations,
+ test_iterators,
+ ACE_TEXT ("Hash_Cache_Map_Manager"));
+ }
ACE_LOG_MSG->set_flags (ACE_Log_Msg::VERBOSE_LITE);
ACE_END_TEST;
- return 0;
+ return result;
}
diff --git a/tests/Max_Default_Port_Test.cpp b/tests/Max_Default_Port_Test.cpp
index 6b4fc0bb5a5..3c9f30cbf91 100644
--- a/tests/Max_Default_Port_Test.cpp
+++ b/tests/Max_Default_Port_Test.cpp
@@ -87,7 +87,7 @@ My_Accept_Handler::handle_input (ACE_HANDLE)
}
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("My_Accept_Handler::handle_input \n")));
+ ACE_TEXT ("My_Accept_Handler::handle_input\n")));
// Close the opened stream, else it'll leak a handle. Don't close
// the acceptor here, though, because get_handle() needs it to
@@ -186,7 +186,7 @@ run_main (int argc, ACE_TCHAR *argv[])
#else
const u_short ports_to_test = 300;
#endif
-
+
//Ports beyond 65279 were said to bad on NT sp 3.
for (u_short idx = USHRT_MAX; idx != USHRT_MAX - ports_to_test; --idx)
{
diff --git a/tests/Max_Default_Port_Test_IPV6.cpp b/tests/Max_Default_Port_Test_IPV6.cpp
index bc0e9809ee0..29a5c29dc5b 100644
--- a/tests/Max_Default_Port_Test_IPV6.cpp
+++ b/tests/Max_Default_Port_Test_IPV6.cpp
@@ -75,7 +75,7 @@ My_Accept_Handler::handle_input (ACE_HANDLE)
}
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("My_Accept_Handler::handle_input \n")));
+ ACE_TEXT ("My_Accept_Handler::handle_input\n")));
// Close the opened stream, else it'll leak a handle. Don't close
// the acceptor here, though, because get_handle() needs it to
diff --git a/tests/Mem_Map_Test.cpp b/tests/Mem_Map_Test.cpp
index 207f5a1eb15..31afdb02152 100644
--- a/tests/Mem_Map_Test.cpp
+++ b/tests/Mem_Map_Test.cpp
@@ -71,7 +71,7 @@ create_test_file (ACE_TCHAR *filename, int line_length, int num_lines)
ACE_NEW_RETURN (mybuf, char[line_length + 1], -1);
const char *c = ACE_ALPHABET;
const char *d = c;
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
// For NTO has to applied to open the file, as Mem_Map can map only shared memory
ACE_Mem_Map mmap_4_open;
mmap_4_open.open (filename, O_RDWR | O_CREAT | O_TRUNC, ACE_DEFAULT_FILE_PERMS);
@@ -108,7 +108,7 @@ create_test_file (ACE_TCHAR *filename, int line_length, int num_lines)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%p (%d) <%s>\n"),
ACE_TEXT ("Write to file failed:"),
- errno,
+ ACE_ERRNO_GET,
filename),
-1);
}
@@ -122,7 +122,7 @@ create_test_file (ACE_TCHAR *filename, int line_length, int num_lines)
-1);
}
}
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
mmap_4_open.close();
#else
ACE_OS::close (file_handle);
@@ -141,7 +141,7 @@ run_main (int, ACE_TCHAR *[])
#if !defined (ACE_LACKS_MMAP)
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
ACE_ERROR ((LM_INFO,
ACE_TEXT ("mmap on QNX Neutrino/VxWorks can map only shared memory files\n")));
#endif
@@ -187,7 +187,7 @@ run_main (int, ACE_TCHAR *[])
-1);
// Now create a temporary file for intermediate processing
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
ACE_Mem_Map mmap_4_open;
mmap_4_open.open(temp_file1,
O_RDWR | O_TRUNC | O_CREAT,
@@ -209,7 +209,7 @@ run_main (int, ACE_TCHAR *[])
reverse_file (temp_file_handle,
(char *) mmap.addr (),
mmap.size ());
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
mmap_4_open.close();
#else
ACE_OS::close (temp_file_handle);
@@ -224,7 +224,7 @@ run_main (int, ACE_TCHAR *[])
ACE_TEXT ("mmap"),
temp_file1),
-1);
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
mmap_4_open.open(temp_file2,
O_RDWR | O_TRUNC | O_CREAT,
ACE_DEFAULT_FILE_PERMS);
@@ -243,7 +243,7 @@ run_main (int, ACE_TCHAR *[])
reverse_file (temp_file_handle,
(char *) temp_mmap.addr (),
temp_mmap.size ());
-#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x640))
+#if defined (__QNXNTO__) || (defined (ACE_VXWORKS) && (ACE_VXWORKS <= 0x670))
mmap_4_open.close();
#else
ACE_OS::close (temp_file_handle);
diff --git a/tests/Message_Block_Test.cpp b/tests/Message_Block_Test.cpp
index fa14d46ab2f..54a0d782b5f 100644
--- a/tests/Message_Block_Test.cpp
+++ b/tests/Message_Block_Test.cpp
@@ -208,11 +208,11 @@ Worker_Task::svc (void)
}
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) in iteration %d, length = %d, prio = %d, text = \"%*s\"\n"),
+ ACE_TEXT ("(%t) in iteration %d, length = %B, prio = %d, text = \"%*s\"\n"),
count,
length,
mb->msg_priority (),
- length - 2, // remove the trailing "\n\0"
+ (int)(length - 2), // remove the trailing "\n\0"
mb->rd_ptr ()));
}
@@ -223,7 +223,7 @@ Worker_Task::svc (void)
{
//FUZZ: disable check_for_NULL
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) in iteration %d, queue len = %d, got NULL message, exiting\n"),
+ ACE_TEXT ("(%t) in iteration %d, queue len = %B, got NULL message, exiting\n"),
count, this->msg_queue ()->message_count ()));
//FUZZ: enable check_for_NULL
break;
diff --git a/tests/Message_Queue_Notifications_Test.cpp b/tests/Message_Queue_Notifications_Test.cpp
index 51fe8c261b3..8b2ce103d6a 100644
--- a/tests/Message_Queue_Notifications_Test.cpp
+++ b/tests/Message_Queue_Notifications_Test.cpp
@@ -155,7 +155,7 @@ Message_Handler::handle_exception (ACE_HANDLE fd)
int
Message_Handler::process_message (void)
{
- ACE_Message_Block *mb;
+ ACE_Message_Block *mb = 0;
if (this->getq (mb,
(ACE_Time_Value *) &ACE_Time_Value::zero) == -1)
@@ -180,7 +180,7 @@ Message_Handler::make_message (void)
{
if (--iterations > 0)
{
- ACE_Message_Block *mb;
+ ACE_Message_Block *mb = 0;
ACE_NEW (mb,
ACE_Message_Block ((char *) ACE_TEXT ("hello")));
@@ -223,7 +223,7 @@ Watermark_Test::producer (void)
}
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) Producer: High water mark hit ---- \n")));
+ ACE_TEXT ("(%P|%t) Producer: High water mark hit ----\n")));
ACE_MT (this->mq_full_.wait ());
@@ -265,7 +265,7 @@ Watermark_Test::consumer (void)
int
Watermark_Test::get_message (void)
{
- ACE_Message_Block *mb;
+ ACE_Message_Block *mb = 0;
if (this->getq (mb) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
@@ -288,7 +288,7 @@ Watermark_Test::get_message (void)
int
Watermark_Test::put_message (ACE_Time_Value *timeout)
{
- ACE_Message_Block *mb;
+ ACE_Message_Block *mb = 0;
ACE_NEW_RETURN (mb,
ACE_Message_Block (default_message,
diff --git a/tests/Message_Queue_Test.cpp b/tests/Message_Queue_Test.cpp
index 14f5e3e1d42..fbf029bc5eb 100644
--- a/tests/Message_Queue_Test.cpp
+++ b/tests/Message_Queue_Test.cpp
@@ -51,6 +51,11 @@ typedef ACE_Message_Queue<ACE_NULL_SYNCH> QUEUE;
typedef ACE_Message_Queue_Iterator<ACE_NULL_SYNCH> ITERATOR;
typedef ACE_Message_Queue_Reverse_Iterator<ACE_NULL_SYNCH> REVERSE_ITERATOR;
+#if defined (ACE_HAS_WINCE)
+static const int MESSAGE_FACTOR = 10000;
+#else
+static const int MESSAGE_FACTOR = 100000;
+#endif
static const int MAX_MESSAGES = 10000;
static const int MAX_MESSAGE_SIZE = 32;
static const char test_message[] = "ACE_Message_Queue Test Message";
@@ -118,13 +123,13 @@ Counting_Test_Producer::svc (void)
// correct.
// Also, to be sure there's not just 1 producer and 1 consumer pinging
// back and forth, make the producers randomly delay between blocks.
- ACE_OS::srand ((u_int)ACE_Thread::self ());
+ ACE_OS::srand (static_cast<ACE_RANDR_TYPE> (ACE_OS::time ()));
int multiple = ACE_OS::rand () % 10;
int delay_ms = (ACE_OS::rand () % 10) / 2;
// The delay usually causes the test to time out in the automated
// regression testing. I just left it here in case it's needed someday.
delay_ms = 0;
- long count = 100000 * (multiple ? multiple : 1);
+ long count = MESSAGE_FACTOR * (multiple ? multiple : 1);
long produced = 0;
// Some of the threads enqueue single blocks, others sequences.
long lsequence = ++(this->sequence_);
@@ -136,7 +141,7 @@ Counting_Test_Producer::svc (void)
seq,
delay_ms));
- ACE_Message_Block *first, *prev, *b;
+ ACE_Message_Block *first = 0, *prev = 0, *b = 0;
ACE_Time_Value delay (0, delay_ms);
ACE_Time_Value timeout (10);
while (produced < count)
@@ -208,13 +213,14 @@ Counting_Test_Consumer::svc (void)
// a calculated number of blocks then stop; the test checker will determine
// if the number consumed plus the number remaining is correct for the
// number produced.
- ACE_OS::srand ((u_int)ACE_Thread::self ());
- int multiple = ACE_OS::rand () % 10;
- int delay_ms = ACE_OS::rand () % 10;
+ ACE_RANDR_TYPE seed = static_cast<ACE_RANDR_TYPE> (ACE_OS::time ());
+
+ int multiple = ACE_OS::rand_r (seed) % 10;
+ int delay_ms = ACE_OS::rand_r (seed) % 10;
// The delay usually causes the test to time out in the automated
// regression testing. I just left it here in case it's needed someday.
delay_ms = 0;
- long count = 100000 * (multiple ? multiple : 1);
+ long count = MESSAGE_FACTOR * (multiple ? multiple : 1);
long consumed = 0;
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%t) Consumer will dequeue %B blocks, ")
@@ -313,7 +319,6 @@ counting_test (void)
#endif /* ACE_HAS_THREADS */
-#if !defined (VXWORKS)
static int
iterator_test (void)
{
@@ -338,7 +343,7 @@ iterator_test (void)
ACE_TEXT ("%d"),
i + 1);
- ACE_Message_Block *entry;
+ ACE_Message_Block *entry = 0;
ACE_NEW_RETURN (entry,
ACE_Message_Block ((char *) buffer[i],
sizeof buffer[i]),
@@ -410,7 +415,6 @@ iterator_test (void)
return 0;
}
-#endif /* ! VXWORKS */
#if defined (ACE_HAS_THREADS)
@@ -522,7 +526,7 @@ single_thread_performance_test (int queue_type = 0)
ACE_NEW_RETURN (msgq,
QUEUE,
-1);
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
else
{
ACE_NEW_RETURN (msgq,
@@ -539,7 +543,7 @@ single_thread_performance_test (int queue_type = 0)
-1);
message = ACE_TEXT ("ACE_Message_Queue_NT, single thread test");
}
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
// Create the messages. Allocate off the heap in case messages
// is large relative to the amount of stack space available.
@@ -559,11 +563,11 @@ single_thread_performance_test (int queue_type = 0)
ACE_Message_Block *[max_messages],
-1);
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
// Set up blocks to receive the messages. Allocate these off the
// heap in case messages is large relative to the amount of
// stack space available.
- ACE_Message_Block *receive_block;
+ ACE_Message_Block *receive_block = 0;
ACE_NEW_RETURN (receive_block,
ACE_Message_Block[max_messages],
-1);
@@ -576,7 +580,7 @@ single_thread_performance_test (int queue_type = 0)
// assigned. It will be used by dequeue_head ().
receive_block_p[i] = &receive_block[i];
}
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
timer->start ();
@@ -609,9 +613,9 @@ single_thread_performance_test (int queue_type = 0)
timer->reset ();
delete [] receive_block_p;
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
delete [] receive_block;
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
for (i = 0; i < max_messages; ++i)
delete send_block[i];
@@ -633,7 +637,7 @@ receiver (void *arg)
ACE_Message_Block *[max_messages],
(void *) -1);
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
// Set up blocks to receive the messages. Allocate these off the
// heap in case messages is large relative to the amount of stack
// space available.
@@ -650,7 +654,7 @@ receiver (void *arg)
// assigned. It will be used by <dequeue_head>.
receive_block_p[i] = &receive_block[i];
}
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
for (i = 0; i < max_messages; ++i)
if (queue_wrapper->q_->dequeue_head (receive_block_p[i]) == -1)
@@ -661,9 +665,9 @@ receiver (void *arg)
timer->stop ();
delete [] receive_block_p;
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
delete [] receive_block;
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
return 0;
}
@@ -718,7 +722,7 @@ performance_test (int queue_type = 0)
ACE_NEW_RETURN (queue_wrapper.q_,
SYNCH_QUEUE,
-1);
-#if defined (VXWORKS)
+#if defined (ACE_VXWORKS)
else
{
ACE_NEW_RETURN (queue_wrapper.q_,
@@ -735,7 +739,7 @@ performance_test (int queue_type = 0)
-1);
message = ACE_TEXT ("ACE_Message_Queue_NT");
}
-#endif /* VXWORKS */
+#endif /* ACE_VXWORKS */
if (ACE_Thread_Manager::instance ()->spawn ((ACE_THR_FUNC) sender,
&queue_wrapper,
@@ -855,6 +859,48 @@ prio_test (void)
return status;
}
+static int
+close_test (void)
+{
+ int status = 0;
+
+ int flushed_messages;
+
+ QUEUE mq1;
+ flushed_messages = mq1.close ();
+
+ if (flushed_messages != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Closing queue should flush 0 messages, close() reports - %d\n"),
+ flushed_messages ));
+ status = 1;
+ return status;
+ }
+
+ // There was a bug that return previous queue state instead of
+ // number of flushed messages. Thus, insert 2 messages != ACTIVATE
+ // queue state
+ ACE_Message_Block *pMB1;
+ ACE_Message_Block *pMB2;
+ ACE_NEW_NORETURN (pMB1, ACE_Message_Block (1));
+ ACE_NEW_NORETURN (pMB2, ACE_Message_Block (1));
+ QUEUE mq2;
+ mq2.enqueue_head (pMB1);
+ mq2.enqueue_head (pMB2);
+ flushed_messages = mq2.close ();
+
+ if (flushed_messages != 2)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Closing queue should flush 2 messages, close() reports - %d\n"),
+ flushed_messages ));
+ status = 1;
+ return status;
+ }
+ return status;
+}
+
int
run_main (int argc, ACE_TCHAR *argv[])
{
@@ -876,17 +922,18 @@ run_main (int argc, ACE_TCHAR *argv[])
int status = prio_test ();
-#if !defined (VXWORKS)
// The iterator test occasionally causes a page fault or a hang on
// VxWorks.
if (status == 0)
status = iterator_test ();
-#endif /* ! VXWORKS */
ACE_NEW_RETURN (timer,
ACE_High_Res_Timer,
-1);
+ if (status == 0)
+ status = close_test ();
+
#if defined (ACE_HAS_THREADS)
if (status == 0)
status = timeout_test ();
@@ -897,20 +944,20 @@ run_main (int argc, ACE_TCHAR *argv[])
if (status == 0)
status = single_thread_performance_test ();
-# if defined (VXWORKS) || defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+# if defined (ACE_VXWORKS) || defined (ACE_HAS_WIN32_OVERLAPPED_IO)
// Test ACE_Message_Queue_Vx. or ACE_Message_Queue_NT
if (status == 0)
status = single_thread_performance_test (1);
-# endif /* VXWORKS */
+# endif /* ACE_VXWORKS */
if (status == 0)
status = performance_test ();
-# if defined (VXWORKS) || defined (ACE_HAS_WIN32_OVERLAPPED_IO)
+# if defined (ACE_VXWORKS) || defined (ACE_HAS_WIN32_OVERLAPPED_IO)
// Test ACE_Message_Queue_Vx or ACE_Message_Queue_NT
if (status == 0)
status = performance_test (1);
-# endif /* VXWORKS */
+# endif /* ACE_VXWORKS */
if (counting_test () != 0)
status = -1;
@@ -923,6 +970,8 @@ run_main (int argc, ACE_TCHAR *argv[])
delete timer;
timer = 0;
+
+
ACE_END_TEST;
return status;
}
diff --git a/tests/Multicast_Test.cpp b/tests/Multicast_Test.cpp
index 53015f1895b..6fa18ca5a65 100644
--- a/tests/Multicast_Test.cpp
+++ b/tests/Multicast_Test.cpp
@@ -448,11 +448,19 @@ public:
= ACE_SOCK_Dgram_Mcast::DEFOPTS);
virtual ~MCT_Event_Handler (void);
+#if defined (__linux__)
+ int join (const ACE_INET_Addr &mcast_addr,
+ int reuse_addr = 1,
+ const ACE_TCHAR *net_if = ACE_TEXT ("lo"));
+ int leave (const ACE_INET_Addr &mcast_addr,
+ const ACE_TCHAR *net_if = ACE_TEXT ("lo"));
+#else
int join (const ACE_INET_Addr &mcast_addr,
int reuse_addr = 1,
const ACE_TCHAR *net_if = 0);
int leave (const ACE_INET_Addr &mcast_addr,
const ACE_TCHAR *net_if = 0);
+#endif
// = Event Handler hooks.
virtual int handle_input (ACE_HANDLE handle);
@@ -506,8 +514,8 @@ MCT_Event_Handler::mcast (void)
int
MCT_Event_Handler::find (const char *buf)
{
- size_t size = this->address_vec_.size ();
- size_t i;
+ size_t const size = this->address_vec_.size ();
+ size_t i = 0;
for (i = 0; i < size; ++i)
{
if (ACE_OS::strcasecmp (buf, this->address_vec_[i]->c_str ()) == 0)
@@ -548,7 +556,7 @@ MCT_Event_Handler::join (const ACE_INET_Addr &mcast_addr,
-1);
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Joined %C\n"), buf));
- ACE_CString *str;
+ ACE_CString *str = 0;
ACE_NEW_RETURN (str, ACE_CString (buf), -1);
this->address_vec_.push_back (str);
return 0;
@@ -602,7 +610,7 @@ MCT_Event_Handler::handle_input (ACE_HANDLE /*handle*/)
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("MCT_Event_Handler::handle_input - ")
ACE_TEXT ("Received dgram for a group we didn't join ")
- ACE_TEXT ("(%s) \n"),
+ ACE_TEXT ("(%s)\n"),
buf));
}
return 0;
@@ -672,7 +680,7 @@ MCT_Task::~MCT_Task (void)
int
MCT_Task::open (void *)
{
- MCT_Event_Handler *handler;
+ MCT_Event_Handler *handler = 0;
ACE_INET_Addr addr = this->config_.group_start ();
int groups = this->config_.groups ();
@@ -762,7 +770,7 @@ int send_dgram (ACE_SOCK_Dgram &socket, ACE_INET_Addr addr, int done = 0)
ACE_OS::sprintf (buf, "%s/%d", address, port);
if (socket.send (buf, ACE_OS::strlen (buf),addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Send to %s, %p\n"),
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Send to %C, %p\n"),
address,
ACE_TEXT ("send_dgram - error calling send on ")
ACE_TEXT ("ACE_SOCK_Dgram.")), -1);
@@ -779,7 +787,9 @@ int producer (MCT_Config &config)
ACE_DEBUG ((LM_INFO, ACE_TEXT ("Starting producer...\n")));
ACE_SOCK_Dgram socket (ACE_sap_any_cast (ACE_INET_Addr &), PF_INET);
//FUZZ: enable check_for_lack_ACE_OS
-
+#if defined (__linux__)
+ socket.set_nic (ACE_TEXT("lo"));
+#endif
// Note that is is IPv4 specific and needs to be changed once
//
if (config.ttl () > 1)
diff --git a/tests/Multicast_Test_IPV6.cpp b/tests/Multicast_Test_IPV6.cpp
index 337d3a43b5c..854d1713cad 100644
--- a/tests/Multicast_Test_IPV6.cpp
+++ b/tests/Multicast_Test_IPV6.cpp
@@ -614,7 +614,7 @@ MCT_Event_Handler::handle_input (ACE_HANDLE /*handle*/)
ACE_DEBUG ((LM_ERROR,
ACE_TEXT ("MCT_Event_Handler::handle_input - ")
ACE_TEXT ("Received dgram for a group we didn't join ")
- ACE_TEXT ("(%s) \n"),
+ ACE_TEXT ("(%s)\n"),
buf));
}
return 0;
diff --git a/tests/NDDS_Timer_Test.cpp b/tests/NDDS_Timer_Test.cpp
new file mode 100644
index 00000000000..b56471cb708
--- /dev/null
+++ b/tests/NDDS_Timer_Test.cpp
@@ -0,0 +1,184 @@
+// $Id$
+//============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// NDDS_Timer_Test.cpp
+//
+// = DESCRIPTION
+// Simple test of NDDS_Timer. Copied from NDDS_Timer_Test.
+//
+// = AUTHOR
+// Marcel Smit <msmit@remedy.nl>
+//
+//============================================================================
+
+#include "test_config.h"
+#include "ace/Log_Msg.h"
+#include "ace/Sched_Params.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_unistd.h"
+
+#include <ndds/ndds_cpp.h>
+#include <ndds/clock/clock_highResolution.h>
+
+ACE_RCSID(tests, NDDS_Timer_Test, "$Id$")
+
+static
+u_int
+check (const time_t interval, const time_t measured)
+{
+ time_t const threshold = 25 /* percent */;
+
+ time_t const difference =
+ interval > measured ? interval - measured : measured - interval;
+
+ time_t const percentage_difference = difference * 100 / interval;
+
+ if (percentage_difference < threshold)
+ return 0;
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("The measured time of %Q differs from ")
+ ACE_TEXT ("the interval of %Q by %Q percent.\n"),
+ measured,
+ interval,
+ percentage_difference),
+ 1);
+}
+
+// Does a sanity check of the microseconds vs nanoseconds. They're supposed
+// to represent the same interval.
+static u_int
+check_micro_nano (unsigned long long microinterval, unsigned long long nanointerval)
+{
+ unsigned long long const threshold = 8 /* promille */;
+
+ microinterval *= 1000u;
+ unsigned long long const difference = (microinterval > nanointerval
+ ? (microinterval - nanointerval)
+ : (nanointerval - microinterval));
+ if (nanointerval == 0)
+ {
+ nanointerval = 1; // Prevent divide-by-zero
+ }
+ unsigned long long const promille_difference =
+ difference * 1000 / nanointerval;
+
+ if ((promille_difference < threshold) || (difference < 1500))
+ {
+ return 0;
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("The microseconds * 1000 of %Q ")
+ ACE_TEXT ("differs from the nanoseconds of %Q ")
+ ACE_TEXT (" by %Q promille\n"),
+ microinterval,
+ nanointerval,
+ promille_difference),
+ 1);
+}
+
+static
+void
+time_interval (RTIClock *timer,
+ const ACE_Time_Value & interval,
+ RTINtpTime& duration)
+{
+ struct RTINtpTime start_time;
+ struct RTINtpTime finish_time;
+
+ RTINtpTime_setZero(&start_time);
+ RTINtpTime_setZero(&finish_time);
+
+ // Initialize
+ timer->reset(timer);
+
+ // Run the test
+ timer->getTime(timer, &start_time);
+ ACE_OS::sleep (interval);
+ timer->getTime(timer, &finish_time);
+
+ // Measure.
+ RTINtpTime_subtract(duration, finish_time, start_time);
+}
+
+
+static u_int const intervals[] =
+ {0, 1, 10, 100, 1000, 10000, 100000, 1000000, 4000000}; /*usec*/
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("NDDS_Timer_Test"));
+
+ RTIClock *timer = RTIHighResolutionClock_new();
+
+ u_int errors = 0;
+
+ u_int iterations = 1;
+
+ ACE_Get_Opt getoptarg (argc, argv, ACE_TEXT ("i:"));
+ for (int c; (c = getoptarg ()) != -1; )
+ {
+ switch (c)
+ {
+ case 'i':
+ iterations = ACE_OS::atoi (getoptarg.opt_arg ());
+ break;
+ }
+ }
+
+ // We don't check for errors if the interval is shorter than this
+ // value because the OS has a finite resolution anyway.
+ static u_int const TIMER_RESOLUTION = 10000;
+
+ for (u_int i = 0; i < sizeof intervals / sizeof (u_int); ++i)
+ {
+ for (u_int j = 0; j < iterations; ++j)
+ {
+ ACE_Time_Value const interval (0, intervals[i]);
+
+ RTINtpTime duration;
+ time_interval (timer, interval, duration);
+
+ unsigned long long microseconds, nanoseconds;
+ int sec;
+ RTINtpTime_unpackToMicrosec (sec, microseconds, duration);
+ RTINtpTime_unpackToNanosec (sec, nanoseconds, duration);
+
+ time_t const interval_usec =
+ interval.sec () * ACE_ONE_SECOND_IN_USECS + interval.usec ();
+ time_t const measured_usec =
+ sec * ACE_ONE_SECOND_IN_USECS + microseconds;
+
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("interval: %: usec, measured: %: usec %s\n"),
+ interval_usec,
+ measured_usec,
+ (intervals[i] <= TIMER_RESOLUTION
+ ? ACE_TEXT (" (interval and measured may differ)")
+ : ACE_TEXT (""))));
+
+ if (intervals[i] > TIMER_RESOLUTION)
+ {
+ errors += check (interval.sec () * ACE_ONE_SECOND_IN_USECS
+ + interval.usec (),
+ sec * ACE_ONE_SECOND_IN_USECS + microseconds);
+ // Don't check for error for intervals below 10 msec.
+ }
+ errors += check_micro_nano (microseconds, nanoseconds);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("NDDS_Timer usec: %Q, nsec: %Q\n"),
+ microseconds,
+ nanoseconds));
+ }
+ }
+
+ ACE_END_TEST;
+ return errors == 0 ? 0 : 1;
+}
diff --git a/tests/Naming_Test.cpp b/tests/Naming_Test.cpp
index 89322d86f26..f4f624a8c63 100644
--- a/tests/Naming_Test.cpp
+++ b/tests/Naming_Test.cpp
@@ -49,7 +49,7 @@ print_time (ACE_Profile_Timer &timer,
timer.stop ();
timer.elapsed_time (et);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" ***** %C ***** \n"), test));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" ***** %C ***** \n"), test));
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("real time = %f secs, user time = %f secs, system time = %f secs\n"),
et.real_time, et.user_time, et.system_time));
diff --git a/tests/Network_Adapters_Test.cpp b/tests/Network_Adapters_Test.cpp
index ea976199864..d58f93b9abe 100644
--- a/tests/Network_Adapters_Test.cpp
+++ b/tests/Network_Adapters_Test.cpp
@@ -144,12 +144,12 @@ Echo_Handler::open (ACE_Reactor * const reactor,
if (this->reactor ())
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) Echo_Handler::open - failed: ")
- ACE_TEXT ("reactor is already set. \n")),
+ ACE_TEXT ("reactor is already set.\n")),
-1);
if (!reactor)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) Echo_Handler::open - failed : ")
- ACE_TEXT ("NULL pointer to reactor provided. \n")),
+ ACE_TEXT ("NULL pointer to reactor provided.\n")),
-1);
this->reactor (reactor);
@@ -564,25 +564,29 @@ int
Stop_Handler::open (void)
{
// Register the signal handler object to catch the signals.
+#if (SIGINT != 0)
if (this->reactor ()->register_handler (SIGINT, this) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Stop_Handler::open: %p\n"),
- ACE_TEXT ("register_handler for SIGINT")),
+ ACE_TEXT ("(%P|%t) Stop_Handler::open: %p <%d>\n"),
+ ACE_TEXT ("register_handler for SIGINT"), SIGINT),
-1);
+#endif /* SIGINT != 0 */
+#if (SIGTERM != 0)
if (this->reactor ()->register_handler (SIGTERM, this) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Stop_Handler::open: %p\n"),
- ACE_TEXT ("register_handler for SIGTERM")),
+ ACE_TEXT ("(%P|%t) Stop_Handler::open: %p <%d>\n"),
+ ACE_TEXT ("register_handler for SIGTERM"), SIGTERM),
-1);
+#endif /* SIGTERM != 0 */
-#if ! defined (ACE_WIN32)
+#if (SIGQUIT != 0)
if (this->reactor ()->register_handler (SIGQUIT, this) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Stop_Handler::open: %p\n"),
- ACE_TEXT ("register_handler for SIGQUIT")),
+ ACE_TEXT ("(%P|%t) Stop_Handler::open: %p <%d>\n"),
+ ACE_TEXT ("register_handler for SIGQUIT"), SIGQUIT),
-1);
-#endif /* #if ! defined (ACE_WIN32) */
+#endif /* SIGQUIT != 0 */
return 0;
}
diff --git a/tests/Network_Adapters_Test.h b/tests/Network_Adapters_Test.h
index 0d9c03b7430..a726b1212b6 100644
--- a/tests/Network_Adapters_Test.h
+++ b/tests/Network_Adapters_Test.h
@@ -171,7 +171,11 @@ private:
class Stop_Handler : public ACE_Event_Handler
{
public:
+#ifdef ACE_HAS_THREADS
typedef ACE_Atomic_Op<ACE_Mutex, long> counter_sig;
+#else
+ typedef long counter_sig;
+#endif
// Constructor.
Stop_Handler (ACE_Reactor * const reactor = ACE_Reactor::instance ());
diff --git a/tests/New_Fail_Test.cpp b/tests/New_Fail_Test.cpp
index 8b8581dd136..b57f2c02cc6 100644
--- a/tests/New_Fail_Test.cpp
+++ b/tests/New_Fail_Test.cpp
@@ -128,7 +128,7 @@ run_main (int, ACE_TCHAR *[])
ACE_TEXT ("expected ENOMEM, %p (%d)\n"),
i,
ACE_TEXT ("got"),
- errno));
+ ACE_ERRNO_GET));
}
// Free the memory to try ACE_NEW_RETURN
@@ -163,7 +163,7 @@ run_main (int, ACE_TCHAR *[])
ACE_TEXT ("expected ENOMEM, %p (%d)\n"),
i,
ACE_TEXT ("got"),
- errno));
+ ACE_ERRNO_GET));
}
while (i >= 0)
delete [] blocks[i--];
@@ -196,7 +196,7 @@ run_main (int, ACE_TCHAR *[])
ACE_TEXT ("expected ENOMEM, %p (%d)\n"),
i,
ACE_TEXT ("got"),
- errno));
+ ACE_ERRNO_GET));
}
while (i >= 0)
delete [] blocks[i--];
diff --git a/tests/NonBlocking_Conn_Test.cpp b/tests/NonBlocking_Conn_Test.cpp
index 80e25c63cfb..95db73ebc90 100644
--- a/tests/NonBlocking_Conn_Test.cpp
+++ b/tests/NonBlocking_Conn_Test.cpp
@@ -30,14 +30,22 @@
#include "ace/WFMO_Reactor.h"
#include "ace/Get_Opt.h"
-static int test_select_reactor = 1;
-static int test_tp_reactor = 1;
-static int test_wfmo_reactor = 1;
+static bool test_select_reactor = true;
+static bool test_tp_reactor = true;
+static bool test_wfmo_reactor = true;
+static int result = 0;
-Svc_Handler::Svc_Handler (void)
+Svc_Handler::Svc_Handler (bool is_ref_counted)
: status_ (0),
- completion_counter_ (0)
+ completion_counter_ (0),
+ is_ref_counted_ (is_ref_counted)
{
+ if (this->is_ref_counted_)
+ {
+ // Enable reference counting on the event handler.
+ this->reference_counting_policy ().value (
+ ACE_Event_Handler::Reference_Counting_Policy::ENABLED);
+ }
}
void
@@ -51,30 +59,44 @@ Svc_Handler::connection_status (Connection_Status &status,
int
Svc_Handler::open (void *)
{
- *this->status_ = SUCCEEDED;
+ *this->status_ = Svc_Handler::Conn_SUCCEEDED;
(*this->completion_counter_)++;
+ ACE_TCHAR buf[BUFSIZ];
+ ACE_INET_Addr raddr;
+ this->peer ().get_remote_addr (raddr);
+ raddr.addr_to_string (buf, sizeof buf);
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Connection to %s is opened\n"),
+ buf));
+
return 0;
}
int
-Svc_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask mask)
+Svc_Handler::handle_close (ACE_HANDLE handle, ACE_Reactor_Mask mask)
{
- *this->status_ = FAILED;
+ *this->status_ = Svc_Handler::Conn_FAILED;
(*this->completion_counter_)++;
- return ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::handle_close (handle,
- mask);
+ // Only if there is no reference counting can call parent's
+ // handle_close() as it does plain 'delete this'.
+ if (!this->is_ref_counted_)
+ {
+ typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> super;
+
+ return super::handle_close (handle, mask);
+ }
+
+ return 0;
}
-typedef ACE_Connector<Svc_Handler,
- ACE_SOCK_CONNECTOR>
- CONNECTOR;
+typedef ACE_Connector<Svc_Handler, ACE_SOCK_CONNECTOR> CONNECTOR;
static const char* hosts[] = {
"www.russiantvguide.com:80",
- "www.pakarmy.gov.pk:80",
+ "news.bbc.co.uk:80",
"www.cnn.com:80",
"www.waca.com.au:80",
"www.uganda.co.ug:80",
@@ -82,15 +104,17 @@ static const char* hosts[] = {
"www.dre.vanderbilt.edu:80",
"www.dhm.gov.np:80",
"www.msn.com:80",
- "www.presidencymaldives.gov.mv:80" };
+ "www.presidencymaldives.gov.mv:80"
+};
static int number_of_connections = 0;
+static bool with_ref_counting = false;
void
test_connect (ACE_Reactor &reactor,
ACE_INET_Addr *addresses,
ACE_Synch_Options &synch_options,
- int complete_nonblocking_connections)
+ Svc_Handler::Completion_Status complete_nonblocking_connections)
{
CONNECTOR connector (&reactor);
@@ -106,7 +130,7 @@ test_connect (ACE_Reactor &reactor,
for (i = 0; i < number_of_connections; ++i)
{
svc_handlers[i] =
- new Svc_Handler;
+ new Svc_Handler (with_ref_counting);
svc_handlers[i]->connection_status (connection_status[i],
completion_counter);
@@ -121,7 +145,7 @@ test_connect (ACE_Reactor &reactor,
if (!synch_options[ACE_Synch_Options::USE_REACTOR])
ACE_ASSERT (completion_counter == number_of_connections);
- if (complete_nonblocking_connections)
+ if (complete_nonblocking_connections != Svc_Handler::Comp_NO)
{
while (completion_counter != number_of_connections)
{
@@ -139,12 +163,18 @@ test_connect (ACE_Reactor &reactor,
1);
ACE_DEBUG ((LM_DEBUG,
- "Connection to %s %s\n",
+ ACE_TEXT ("Connection to %s %s\n"),
buffer,
- connection_status[i] == Svc_Handler::SUCCEEDED ?
- "succeeded" : "failed"));
+ connection_status[i] == Svc_Handler::Conn_SUCCEEDED ?
+ ACE_TEXT("succeeded") : ACE_TEXT("failed")));
- if (connection_status[i] == Svc_Handler::SUCCEEDED)
+ ACE_Event_Handler_var release_guard;
+ if (with_ref_counting)
+ {
+ release_guard.reset (svc_handlers[i]);
+ }
+
+ if (connection_status[i] == Svc_Handler::Conn_SUCCEEDED)
{
svc_handlers[i]->close ();
}
@@ -157,11 +187,11 @@ test_connect (ACE_Reactor &reactor,
void
test (ACE_Reactor_Impl *impl)
{
- size_t nr_names = sizeof hosts / sizeof (char *);
- ACE_INET_Addr *addresses =
- new ACE_INET_Addr[nr_names];
+ size_t const nr_names = sizeof hosts / sizeof (char *);
+ ACE_INET_Addr *addresses = new ACE_INET_Addr[nr_names];
+ number_of_connections = 0;
- for (size_t i = 0, number_of_connections = 0; i < nr_names; ++i)
+ for (size_t i = 0; i < nr_names; ++i)
{
if (addresses[number_of_connections].set (hosts[i]) == 0)
++number_of_connections;
@@ -171,65 +201,60 @@ test (ACE_Reactor_Impl *impl)
ACE_TEXT_CHAR_TO_TCHAR (hosts[i])));
}
- ACE_Reactor reactor (impl,
- 1);
-
- int complete_nonblocking_connections = 1;
- int dont_wait_for_nonblocking_connections = 0;
- int ignored = 99;
+ ACE_Reactor reactor (impl, 1);
ACE_Synch_Options blocking_connect =
ACE_Synch_Options::defaults;
ACE_DEBUG ((LM_DEBUG,
- "\nBlocking connections...\n\n"));
+ "Blocking connections...\n"));
test_connect (reactor,
addresses,
blocking_connect,
- ignored);
+ Svc_Handler::Comp_IGNORE);
blocking_connect.set (ACE_Synch_Options::USE_TIMEOUT,
ACE_Time_Value (0, 50 * 1000));
ACE_DEBUG ((LM_DEBUG,
- "\nBlocking connections (with timeouts)...\n\n"));
+ "Blocking connections (with timeouts)...\n"));
test_connect (reactor,
addresses,
blocking_connect,
- ignored);
+ Svc_Handler::Comp_IGNORE);
ACE_Synch_Options nonblocking_connect
(ACE_Synch_Options::USE_REACTOR);
ACE_DEBUG ((LM_DEBUG,
- "\nNon-blocking connections...\n\n"));
+ "Non-blocking connections...\n"));
test_connect (reactor,
addresses,
nonblocking_connect,
- complete_nonblocking_connections);
+ Svc_Handler::Comp_YES);
ACE_DEBUG ((LM_DEBUG,
- "\nNon-blocking connections (without waiting for completions)...\n\n"));
+ "Non-blocking connections (without waiting for completions)...\n"));
test_connect (reactor,
addresses,
nonblocking_connect,
- dont_wait_for_nonblocking_connections);
+ Svc_Handler::Comp_NO);
nonblocking_connect.set (ACE_Synch_Options::USE_REACTOR |
ACE_Synch_Options::USE_TIMEOUT,
ACE_Time_Value (0, 500 * 1000));
ACE_DEBUG ((LM_DEBUG,
- "\nNon-blocking connections (with timeouts)...\n\n"));
+ "Non-blocking connections (with timeouts)...\n"));
test_connect (reactor,
addresses,
nonblocking_connect,
- complete_nonblocking_connections);
+ Svc_Handler::Comp_YES);
delete[] addresses;
}
@@ -279,24 +304,37 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_START_TEST (ACE_TEXT ("NonBlocking_Conn_Test"));
// Validate options.
- int result =
- parse_args (argc, argv);
+ result = parse_args (argc, argv);
if (result != 0)
return result;
if (test_select_reactor)
{
ACE_DEBUG ((LM_DEBUG,
- "\n\nTesting Select Reactor....\n\n"));
+ "Testing Select Reactor....\n"));
+ with_ref_counting = false;
+ test (new ACE_Select_Reactor);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Testing Select Reactor (ref counted)....\n"));
+
+ with_ref_counting = true;
test (new ACE_Select_Reactor);
}
if (test_tp_reactor)
{
ACE_DEBUG ((LM_DEBUG,
- "\n\nTesting TP Reactor....\n\n"));
+ "Testing TP Reactor....\n"));
+
+ with_ref_counting = false;
+ test (new ACE_TP_Reactor);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Testing TP Reactor (ref counted)....\n"));
+ with_ref_counting = true;
test (new ACE_TP_Reactor);
}
@@ -305,8 +343,15 @@ run_main (int argc, ACE_TCHAR *argv[])
if (test_wfmo_reactor)
{
ACE_DEBUG ((LM_DEBUG,
- "\n\nTesting WFMO Reactor....\n\n"));
+ "Testing WFMO Reactor....\n"));
+ with_ref_counting = false;
+ test (new ACE_WFMO_Reactor);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Testing WFMO Reactor (ref counted)....\n"));
+
+ with_ref_counting = true;
test (new ACE_WFMO_Reactor);
}
@@ -314,6 +359,5 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_END_TEST;
- return 0;
+ return result;
}
-
diff --git a/tests/NonBlocking_Conn_Test.h b/tests/NonBlocking_Conn_Test.h
index 77746238226..dc52f3fe694 100644
--- a/tests/NonBlocking_Conn_Test.h
+++ b/tests/NonBlocking_Conn_Test.h
@@ -33,11 +33,18 @@ public:
enum Connection_Status
{
- SUCCEEDED,
- FAILED
+ Conn_SUCCEEDED,
+ Conn_FAILED
};
- Svc_Handler (void);
+ enum Completion_Status
+ {
+ Comp_YES,
+ Comp_NO,
+ Comp_IGNORE
+ };
+
+ Svc_Handler (bool is_ref_counted = false);
void connection_status (Connection_Status &status,
int &completion_counter);
@@ -49,6 +56,7 @@ public:
Connection_Status *status_;
int *completion_counter_;
+ bool is_ref_counted_;
};
#endif /* NONBLOCKING_CONN_TEST_H */
diff --git a/tests/OS_Test.cpp b/tests/OS_Test.cpp
index c62c68f9cd6..715a7bba10a 100644
--- a/tests/OS_Test.cpp
+++ b/tests/OS_Test.cpp
@@ -25,6 +25,7 @@
#include "ace/OS_NS_unistd.h"
#include "ace/OS_NS_errno.h"
#include "ace/OS_NS_ctype.h"
+#include "ace/OS_NS_netdb.h"
ACE_RCSID(tests, OS_Test, "$Id$")
@@ -34,10 +35,19 @@ ACE_RCSID(tests, OS_Test, "$Id$")
? static_cast<void>(0) \
: ACE_VERSIONED_NAMESPACE_NAME::__ace_assert(__FILE__, __LINE__, ACE_TEXT_CHAR_TO_TCHAR (#X)))
+// Simple helper to avoid comparing floating point values with ==
+template <typename T> bool is_equal (const T& a, const T& b)
+{
+ return !((a < b) || (a > b));
+}
+
// Test ACE_OS::access() to be sure a file's existence is correctly noted.
int
access_test (void)
{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing access method\n")));
+
int test_status = 0;
int status = ACE_OS::access (ACE_TEXT ("missing_file.txt"), F_OK);
@@ -900,6 +910,34 @@ string_convert_test (void)
#endif /* ACE_HAS_WCHAR */
}
+// Test ACE_OS::strsignal()
+int
+strsignal_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing strsignal method\n")));
+
+ int test_status = 0;
+
+ const char* result = 0;
+
+ for (int i=-1; i < (ACE_NSIG + 1); ++i)
+ {
+ result = ACE_OS::strsignal (i);
+ if (result == 0)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("strsignal returned null\n")));
+ test_status = 1;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" Sig #%d: %C\n"), i, result));
+ }
+ }
+
+ return test_status;
+}
+
// Test the methods for getting cpu info
int
cpu_info_test (void)
@@ -1100,6 +1138,170 @@ ace_ctype_test (void)
}
int
+ceilf_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing ceilf method\n")));
+
+ float values[] = {-2.5, -1.5, 1.5, 2.5};
+ float results[] = {-2.0, -1.0, 2.0, 3.0};
+ float result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (float) ; i++)
+ {
+ result = ACE_OS::ceil (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ceilf error: input %.1F, output %1F, expected %1F\n"),
+ values [i],
+ result,
+ results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
+floorf_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing floorf method\n")));
+
+ float values[] = {-2.5, -1.5, 1.5, 2.5};
+ float results[] = {-3.0, -2.0, 1.0, 2.0};
+ float result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (float) ; i++)
+ {
+ result = ACE_OS::floor (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("floorf error: input %.1F, output %1F, expected %1F\n"),
+ values [i], result, results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
+ceil_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing ceil method\n")));
+
+ double values[] = {-2.5, -1.5, 1.5, 2.5};
+ double results[] = {-2.0, -1.0, 2.0, 3.0};
+ double result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (double) ; i++)
+ {
+ result = ACE_OS::ceil (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ceil error: input %.1F, output %1F, expected %1F\n"),
+ values [i],
+ result,
+ results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
+floor_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing floor method\n")));
+
+ double values[] = {-2.5, -1.5, 1.5, 2.5};
+ double results[] = {-3.0, -2.0, 1.0, 2.0};
+ double result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (double) ; i++)
+ {
+ result = ACE_OS::floor (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("floor error: input %.1F, output %1F, expected %1F\n"),
+ values [i],
+ result,
+ results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
+ceill_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing ceill method\n")));
+
+ long double values[] = {-2.5, -1.5, 1.5, 2.5};
+ long double results[] = {-2.0, -1.0, 2.0, 3.0};
+ long double result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (long double) ; i++)
+ {
+ result = ACE_OS::ceil (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ceil error: input %.1F, output %1F, expected %1F\n"),
+ values [i],
+ result,
+ results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
+floorl_test (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Testing floorl method\n")));
+
+ long double values[] = {-2.5, -1.5, 1.5, 2.5};
+ long double results[] = {-3.0, -2.0, 1.0, 2.0};
+ long double result = 0.0;
+ int error_count = 0;
+
+ for (size_t i = 0 ; i < sizeof (values) / sizeof (long double) ; i++)
+ {
+ result = ACE_OS::floor (values [i]);
+ if (!is_equal(result, results[i]))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("floor error: input %.1F, output %1F, expected %1F\n"),
+ values [i], result, results [i]));
+ error_count++;
+ }
+ }
+
+ return error_count;
+}
+
+int
log2_test (void)
{
ACE_DEBUG ((LM_DEBUG,
@@ -1151,12 +1353,33 @@ run_main (int, ACE_TCHAR *[])
if ((result = string_strsncpy_test ()) != 0)
status = result;
+ if ((result = strsignal_test ()) != 0)
+ status = result;
+
if ((result = cpu_info_test ()) != 0)
status = result;
if ((result = pagesize_test ()) != 0)
status = result;
+ if ((result = ceilf_test ()) != 0)
+ status = result;
+
+ if ((result = floorf_test ()) != 0)
+ status = result;
+
+ if ((result = ceil_test ()) != 0)
+ status = result;
+
+ if ((result = floor_test ()) != 0)
+ status = result;
+
+ if ((result = ceill_test ()) != 0)
+ status = result;
+
+ if ((result = floorl_test ()) != 0)
+ status = result;
+
if ((result = log2_test ()) != 0)
status = result;
diff --git a/tests/Pipe_Test.cpp b/tests/Pipe_Test.cpp
index 17a47cfa2f1..a3d2175a009 100644
--- a/tests/Pipe_Test.cpp
+++ b/tests/Pipe_Test.cpp
@@ -42,7 +42,7 @@ print_usage_and_die (void)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("usage: %n [-d (don't close pipes)] ")
- ACE_TEXT ("[-c (child process)] [-i (iterations)] \n")));
+ ACE_TEXT ("[-c (child process)] [-i (iterations)]\n")));
ACE_OS::exit (1);
}
diff --git a/tests/Priority_Task_Test.cpp b/tests/Priority_Task_Test.cpp
index 45f9f41e6ae..74f2fa9858d 100644
--- a/tests/Priority_Task_Test.cpp
+++ b/tests/Priority_Task_Test.cpp
@@ -102,7 +102,7 @@ Priority_Task::open (void *arg)
flags,
fallback_priority,
THR_NEW_LWP,
- errno,
+ ACE_ERRNO_GET,
ACE_TEXT ("")));
flags = THR_NEW_LWP;
diff --git a/tests/Proactor_UDP_Test.cpp b/tests/Proactor_UDP_Test.cpp
index 857860eefa3..1a47dab3703 100644
--- a/tests/Proactor_UDP_Test.cpp
+++ b/tests/Proactor_UDP_Test.cpp
@@ -742,7 +742,8 @@ struct Session_Data
{
ACE_INT32 direction_; // 0 == Start, 1 == Ack
ACE_INT32 addr_; // Network byte order, must be IPv4
- ACE_INT16 port_; // UDP port, network byte order
+ ACE_UINT16 port_; // UDP port, network byte order
+ Session_Data() { ACE_OS::memset (this, 0, sizeof(*this)); }
};
// Master is the server-side receiver of session establishment requests.
@@ -1335,6 +1336,7 @@ Connector::Connector (TestData *tester)
int
Connector::start (const ACE_INET_Addr& addr, int num)
{
+ ACE_OS::sleep(3); // Let Master get going
if (num > MAX_CLIENTS)
num = MAX_CLIENTS;
diff --git a/tests/Process_Manager_Test.cpp b/tests/Process_Manager_Test.cpp
index 6e8daa49498..51f587cf68b 100644
--- a/tests/Process_Manager_Test.cpp
+++ b/tests/Process_Manager_Test.cpp
@@ -40,6 +40,9 @@
ACE_RCSID(tests, Process_Manager_Test, "Process_Manager_Test.cpp,v 4.11 1999/09/02 04:36:30 schmidt Exp")
static u_int debug_test = 0;
+#if defined (ACE_HAS_WIN32_PRIORITY_CLASS)
+static u_int process_id = 0;
+#endif
class Exit_Handler : public ACE_Event_Handler
{
@@ -79,9 +82,13 @@ usage (const ACE_TCHAR *argv0)
static pid_t
spawn_child (const ACE_TCHAR *argv0,
ACE_Process_Manager &mgr,
- int sleep_time = 0)
+ int sleep_time,
+ int my_process_id)
{
-#if defined (ACE_WIN32)
+
+#if defined (ACE_HAS_WINCE)
+const ACE_TCHAR *cmdline_format = ACE_TEXT("%s %d");
+#elif defined (ACE_WIN32)
const ACE_TCHAR *cmdline_format = ACE_TEXT("\"%s\" %s %d");
#elif !defined (ACE_USES_WCHAR)
const ACE_TCHAR *cmdline_format = ACE_TEXT (".") ACE_DIRECTORY_SEPARATOR_STR ACE_TEXT("%s %s %d");
@@ -90,17 +97,69 @@ const ACE_TCHAR *cmdline_format = ACE_TEXT (".") ACE_DIRECTORY_SEPARATOR_STR ACE
#endif
ACE_Process_Options opts;
+ ACE_TCHAR prio[64];
+ ACE_TCHAR cmd[16];
+
+ if (debug_test)
+ ACE_OS::strcpy (cmd, ACE_TEXT ("-d"));
+ else
+ cmd[0] = ACE_TEXT ('\0');
+
+#if defined (ACE_HAS_WIN32_PRIORITY_CLASS)
+ if (my_process_id == 1)
+ {
+ opts.creation_flags (ABOVE_NORMAL_PRIORITY_CLASS);
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'above normal'"));
+ }
+ else if (my_process_id == 2)
+ {
+ opts.creation_flags (BELOW_NORMAL_PRIORITY_CLASS);
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'below normal'"));
+ }
+ else if (my_process_id == 3)
+ {
+ opts.creation_flags (IDLE_PRIORITY_CLASS);
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'idle'"));
+ }
+ else if (my_process_id == 4)
+ {
+ opts.creation_flags (HIGH_PRIORITY_CLASS);
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'high'"));
+ }
+ else if (my_process_id == 5)
+ {
+ opts.creation_flags (NORMAL_PRIORITY_CLASS);
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'normal'"));
+ }
+ else
+ prio[0] = ACE_TEXT ('\0');
+
+ ACE_TCHAR pd [16];
+ ACE_OS::sprintf (pd, ACE_TEXT (" -p %d"), my_process_id);
+ ACE_OS::strcat (cmd, pd);
+#else
+ ACE_UNUSED_ARG (my_process_id);
+ prio[0] = ACE_TEXT ('\0');
+#endif
+
+ opts.process_name (argv0);
opts.command_line (cmdline_format,
+#if !defined (ACE_HAS_WINCE)
argv0,
- debug_test ? ACE_TEXT ("-d") : ACE_TEXT (""),
+#endif /* !ACE_HAS_WINCE */
+ cmd,
sleep_time);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Spawning <%s> <%s>\n"),
+ opts.process_name(),
+ opts.command_line_buf ()));
+
pid_t result = mgr.spawn (opts);
if (result != ACE_INVALID_PID)
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P) spawned child: pid %d time %d\n"),
- int (result), sleep_time));
+ ACE_TEXT ("(%P) spawned child: pid %d time %d %s\n"),
+ int (result), sleep_time, prio));
else
ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("spawn failed")));
@@ -127,7 +186,7 @@ public:
{
char tmp[10];
order += ACE_OS::itoa (sleep_time_, tmp, 10);
- running_tasks++;
+ ++running_tasks;
activate ();
return 0;
}
@@ -138,7 +197,8 @@ public:
ACE_exitcode exitcode;
pid_t my_child = spawn_child (argv0_,
mgr_,
- sleep_time_);
+ sleep_time_,
+ 0);
result = mgr_.wait (my_child,
&exitcode);
if (result != my_child)
@@ -165,7 +225,7 @@ public:
int close (u_long)
// FUZZ: enable check_for_lack_ACE_OS
{
- running_tasks--;
+ --running_tasks;
return 0;
}
@@ -197,42 +257,93 @@ command_line_test (void)
return result;
}
+#if defined (ACE_HAS_WIN32_PRIORITY_CLASS)
+void
+check_process_priority (DWORD priority)
+{
+ if ((process_id == 0) ||
+ (process_id == 1 && priority == ABOVE_NORMAL_PRIORITY_CLASS) ||
+ (process_id == 2 && priority == BELOW_NORMAL_PRIORITY_CLASS) ||
+ (process_id == 3 && priority == IDLE_PRIORITY_CLASS) ||
+ (process_id == 4 && priority == HIGH_PRIORITY_CLASS) ||
+ (process_id == 5 && priority == NORMAL_PRIORITY_CLASS) ||
+ (process_id == 7 && priority == NORMAL_PRIORITY_CLASS))
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Process ID (%d) and priority (%d) match\n"),
+ process_id, priority));
+ else
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Given process priority (%d) and real priority (%d) differ.\n"),
+ process_id, priority));
+}
+#endif
+
int
run_main (int argc, ACE_TCHAR *argv[])
{
- ACE_Get_Opt args (argc, argv, ACE_TEXT ("d"));
-
- for (int arg = args (); arg != EOF; arg = args ())
- switch (arg)
- {
- case 'd':
- debug_test = 1u;
- break;
- default:
- usage (argv[0]);
- break;
- }
+#if defined (ACE_HAS_WIN32_PRIORITY_CLASS)
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("dp:"));
+#else
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("d"));
+#endif
+ int opt;
+ while ((opt = get_opt ()) != EOF)
+ {
+ switch (opt)
+ {
+ case 'd':
+ debug_test = 1u;
+ break;
+#if defined (ACE_HAS_WIN32_PRIORITY_CLASS)
+ case 'p':
+ process_id = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+#endif
+ }
+ }
- if (args.opt_ind () == argc - 1)
+ if (get_opt.opt_ind () == argc - 1)
{
// child process: sleep & exit
ACE_TCHAR lognm[MAXPATHLEN];
- int mypid (ACE_OS::getpid ());
+ int const mypid (ACE_OS::getpid ());
ACE_OS::sprintf(lognm, ACE_TEXT ("Process_Manager_Test-child-%d"), mypid);
ACE_START_TEST (lognm);
- int secs = ACE_OS::atoi (argv[args.opt_ind ()]);
+ int const secs = ACE_OS::atoi (argv[get_opt.opt_ind ()]);
ACE_OS::sleep (secs ? secs : 1);
+
+ ACE_TCHAR prio[64];
+#if defined (ACE_WIN32_HAS_PRIORITY_CLASS)
+ DWORD priority = ::GetPriorityClass (::GetCurrentProcess());
+
+ check_process_priority(priority);
+
+ if (priority == ABOVE_NORMAL_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'above normal'"));
+ else if (priority == BELOW_NORMAL_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'below normal'"));
+ else if (priority == HIGH_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'high'"));
+ else if (priority == IDLE_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'idle'"));
+ else if (priority == NORMAL_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'normal'"));
+ else if (priority == REALTIME_PRIORITY_CLASS)
+ ACE_OS::sprintf (prio, ACE_TEXT("and priority 'realtime'"));
+#else
+ prio[0] = ACE_TEXT ('\0');
+#endif
if (debug_test)
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("%T: pid %P about to exit with code %d\n"),
- secs));
+ ACE_TEXT ("%T: pid %P about to exit with code %d %s\n"),
+ secs,
+ prio));
ACE_END_LOG;
return secs;
}
- if (args.opt_ind () != argc) // incorrect usage
+ if (get_opt.opt_ind () != argc) // incorrect usage
usage (argv[0]);
ACE_START_TEST (ACE_TEXT ("Process_Manager_Test"));
@@ -255,6 +366,7 @@ run_main (int argc, ACE_TCHAR *argv[])
// wait for a specific PID
pid_t child1 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
+ 1,
1);
result = mgr.wait (child1,
&exitcode);
@@ -279,10 +391,12 @@ run_main (int argc, ACE_TCHAR *argv[])
// wait for a specific PID; another should finish first
pid_t child2 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 1);
+ 1,
+ 2);
pid_t child3 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 4);
+ 4,
+ 3);
result = mgr.wait (child3,
&exitcode);
@@ -328,7 +442,8 @@ run_main (int argc, ACE_TCHAR *argv[])
// This one shouldn't timeout:
pid_t child4 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 1);
+ 1,
+ 4);
result = mgr.wait (0, ACE_Time_Value (4), &exitcode);
if (result != child4)
@@ -350,7 +465,8 @@ run_main (int argc, ACE_TCHAR *argv[])
// This one should timeout:
pid_t child5 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 4);
+ 4,
+ 5);
result = mgr.wait (0, ACE_Time_Value (1), &exitcode);
if (result != 0)
{
@@ -385,7 +501,10 @@ run_main (int argc, ACE_TCHAR *argv[])
exitcode));
// Terminate a child process and make sure we can wait for it.
- pid_t child6 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"), mgr, 5);
+ pid_t child6 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
+ mgr,
+ 5,
+ 6);
ACE_exitcode status6;
if (-1 == mgr.terminate (child6))
{
@@ -423,6 +542,7 @@ run_main (int argc, ACE_TCHAR *argv[])
}
}
+#ifdef ACE_HAS_THREADS
Process_Task task1 (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"), mgr, 3);
Process_Task task2 (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"), mgr, 2);
Process_Task task3 (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"), mgr, 1);
@@ -447,6 +567,7 @@ run_main (int argc, ACE_TCHAR *argv[])
order.c_str ()));
test_status = 1;
}
+#endif /* ACE_HAS_THREADS */
#if !defined (ACE_OPENVMS)
// --------------------------------------------------
@@ -456,10 +577,12 @@ run_main (int argc, ACE_TCHAR *argv[])
pid_t child7 = spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 5);
+ 5,
+ 7);
/* pid_t child8 = */ spawn_child (argc > 0 ? argv[0] : ACE_TEXT ("Process_Manager_Test"),
mgr,
- 6);
+ 6,
+ 0);
mgr.register_handler (new Exit_Handler ("specific"),
child7);
@@ -471,7 +594,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P) Reactor loop done!\n") ));
- size_t nr_procs = mgr.managed ();
+ size_t const nr_procs = mgr.managed ();
if (nr_procs != 0)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P) %d processes left in manager\n"),
diff --git a/tests/Process_Strategy_Test.cpp b/tests/Process_Strategy_Test.cpp
index 92a22214c74..74cbf0bfe12 100644
--- a/tests/Process_Strategy_Test.cpp
+++ b/tests/Process_Strategy_Test.cpp
@@ -85,7 +85,7 @@ static void
connection_completed (void)
{
// Increment connection counter.
- connections++;
+ ++connections;
// If all connections have been serviced.
if (connections == ACE_MAX_ITERATIONS + 1)
@@ -441,8 +441,18 @@ int
Counting_Service::handle_close (ACE_HANDLE,
ACE_Reactor_Mask)
{
- // Done with another connection.
- connection_completed ();
+ // Count completed connections here only when the test is not in
+ // "process-per-connection" mode. In general, this should not be
+ // done here. Proper place for this is activate_svc_handler() but
+ // since only "process-per-connection" hooks into that function in
+ // other modes it's done here. The later creates a problem in
+ // "process-per-connection" mode since it calculates the same
+ // connection twice and as a result it cannot finalize gracefully.
+ if (OPTIONS::instance ()->concurrency_type () != Options::PROCESS)
+ {
+ // Done with another connection.
+ connection_completed ();
+ }
// Call down to base class
return ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>::handle_close ();
diff --git a/tests/Process_Test.cpp b/tests/Process_Test.cpp
index a893bc7a2de..16fe303aef9 100644
--- a/tests/Process_Test.cpp
+++ b/tests/Process_Test.cpp
@@ -27,7 +27,8 @@
ACE_RCSID(tests, Process_Test, "Process_Test.cpp,v 4.11 1999/09/02 04:36:30 schmidt Exp")
-// This will only work on UNIX-like with /proc filesys.
+// This will only work on Linux. Even UNIX-ish with /proc filesys lacks the
+// 'self' level and link to the opened file name.
static const char *proc_self_fd = "/proc/self/fd/";
int
@@ -42,33 +43,33 @@ check_temp_file (const ACE_TString &tmpfilename)
ACE_OS::memset (&entr, 0, sizeof (entr));
// Loop through /proc/self/fs/
- if (entr.open (ACE_TEXT_CHAR_TO_TCHAR(proc_self_fd)) == -1)
+ if (entr.open (ACE_TEXT_CHAR_TO_TCHAR(proc_self_fd)) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Could not open dir %C\n"),
proc_self_fd),
-1);
- while ((dir = entr.read ()))
+ while ((dir = entr.read ()))
{
ACE_CString fullp = proc_self_fd;
#if defined (ACE_HAS_TCHAR_DIRENT)
fullp += ACE_TEXT_ALWAYS_CHAR(dir->d_name);
#else
fullp += dir->d_name;
-#endif
+#endif
- if ((ACE_OS::lstat (fullp.c_str (), &stat)) == -1)
+ if ((ACE_OS::lstat (fullp.c_str (), &stat)) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Stat failed for %C\n"),
fullp.c_str ()),
-1);
- if (S_ISLNK (stat.st_mode))
+ if (S_ISLNK (stat.st_mode))
{
ssize_t size = 0;
- if ((size= ACE_OS::readlink (fullp.c_str (),
- filename,
- MAXPATHLEN + 1)) == -1)
+ if ((size= ACE_OS::readlink (fullp.c_str (),
+ filename,
+ MAXPATHLEN + 1)) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Readlink failed for %C\n"),
fullp.c_str ()),
@@ -90,13 +91,13 @@ run_parent (bool inherit_files)
// Create tempfile. This will be tested for inheritance.
ACE_TCHAR tempfile[MAXPATHLEN + 1];
- if (ACE::get_temp_dir (tempfile, MAXPATHLEN - sizeof (t)) == -1)
+ if (ACE::get_temp_dir (tempfile, MAXPATHLEN - sizeof (t)) == -1)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Could not get temp dir\n")));
ACE_OS::strcat (tempfile, t);
ACE_HANDLE file_handle = ACE_OS::mkstemp (tempfile);
- if (file_handle == ACE_INVALID_HANDLE)
+ if (file_handle == ACE_INVALID_HANDLE)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Could not get temp filename\n")));
// Build child options
@@ -108,7 +109,7 @@ run_parent (bool inherit_files)
(int)inherit_files,
tempfile);
options.handle_inheritance (inherit_files); /* ! */
-
+
// Spawn child
ACE_Process child;
@@ -124,7 +125,7 @@ run_parent (bool inherit_files)
result = child.wait (&child_status);
if (result == -1)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("Could NOT wait on child process\n")));
- else if (child_status == 0)
+ else if (child_status == 0)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("Child %d finished ok\n"),
child.getpid ()));
@@ -137,7 +138,15 @@ run_parent (bool inherit_files)
int
run_main (int argc, ACE_TCHAR *argv[])
{
-#if defined (ACE_LACKS_FORK) || defined (ACE_LACKS_READLINK)
+ // This test relies on the ability to get a list of open files for a process
+ // and examine each file descriptor to see which file is open, matching
+ // against an expected opened file name. Although most systems provide some
+ // mechanism to do this, the code in this test uses Linux-specific
+ // techniques. Thus, although it is possible to add the code for the
+ // checks on, for example, HP-UX (pstat_getproc, pstat_getpathname) and
+ // AIX (/proc is available, but there's no self and the fds are not links
+ // to the opened file names), the code isn't here at present.
+#if defined (ACE_LACKS_FORK) || defined (ACE_LACKS_READLINK) || !defined(linux)
ACE_UNUSED_ARG (argc);
ACE_UNUSED_ARG (argv);
@@ -153,7 +162,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("ch:f:"));
- while ((c = getopt ()) != -1)
+ while ((c = getopt ()) != -1)
switch ((char) c)
{
case 'c':
@@ -173,10 +182,10 @@ run_main (int argc, ACE_TCHAR *argv[])
break;
}
- if (ischild)
+ if (ischild)
{
ACE_TCHAR lognm[MAXPATHLEN];
- int mypid (ACE_OS::getpid ());
+ int const mypid (ACE_OS::getpid ());
ACE_OS::sprintf(lognm, ACE_TEXT ("Process_Test-child-%d"), mypid);
ACE_START_TEST (lognm);
@@ -187,15 +196,16 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Could not retrieve open files\n")),
-1);
- else if (result == handle_inherit)
+ else if (result == handle_inherit)
result = 0;
- else
+ else
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Handle inheritance test failed\n")));
+ ACE_TEXT ("Handle inheritance test failed with ")
+ ACE_TEXT ("%d, expected %d\n"), result, handle_inherit));
ACE_END_LOG;
return result;
}
- else
+ else
{
ACE_START_TEST (ACE_TEXT ("Process_Test"));
@@ -206,7 +216,7 @@ run_main (int argc, ACE_TCHAR *argv[])
run_parent (false);
ACE_END_TEST;
- }
+ }
#endif /* ! ACE_LACKS_FORK */
return 0;
diff --git a/tests/QtReactor_Test.cpp b/tests/QtReactor_Test.cpp
index 1891a92de76..95b116dc598 100644
--- a/tests/QtReactor_Test.cpp
+++ b/tests/QtReactor_Test.cpp
@@ -257,7 +257,7 @@ int DgramHandler::open (const ACE_INET_Addr &local,
protocol,
reuse_addr))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot oper dgram socket")),
-1);
@@ -280,7 +280,7 @@ int DgramHandler::handle_input (ACE_HANDLE handle)
if (0 >= result)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("While reading datagram from socket"))
, -1);
else
@@ -303,7 +303,7 @@ int DgramHandler::handle_timeout (const ACE_Time_Value &current_time, const void
static_cast< ACE_UINT32 > (INADDR_ANY)),
ACE_PROTOCOL_FAMILY_INET, 0, 1))
ACE_ERROR ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot open socket for sending Qt dgrams")));
ACE_INET_Addr peerAddr;
@@ -312,7 +312,7 @@ int DgramHandler::handle_timeout (const ACE_Time_Value &current_time, const void
if (sizeof (sendBuffer) != socket.send (&sendBuffer,
sizeof (sendBuffer), peerAddr))
ACE_ERROR ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot send dgram")));
else
++dgramsSent_;
@@ -396,7 +396,7 @@ int TCPConnectionHandler::handle_input (ACE_HANDLE handle)
int result = scheduleSend (buffer);
if (0 > result)
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot schedule TCP reply")),
-1);
}
@@ -476,7 +476,7 @@ int TCPConnectionHandler::scheduleSend (ACE_Message_Block * buffer)
if (0 > sendBuffers ())
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot schedule TCP send.")),
-1);
return 0;
@@ -615,7 +615,7 @@ int HandlersRegister::scheduleTimers (const ACE_Time_Value &p_TestTime)
ACE_Time_Value::zero,
p_TestTime * (0.5 / DgramsToSend)))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot schedule ACE timer")),
-1);
@@ -637,7 +637,7 @@ int HandlersRegister::registerDgramHandlers ()
ACE_TEXT ("127.0.0.1"),
ACE_PROTOCOL_FAMILY_INET)))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot open dgram handler")),
-1);
@@ -646,7 +646,7 @@ int HandlersRegister::registerDgramHandlers ()
if (-1 == reactor_->register_handler (DgramHandlers_[ i ],
ACE_Event_Handler::READ_MASK))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot register dgram handler")),
-1);
return 0;
@@ -658,7 +658,7 @@ int HandlersRegister::registerTCPHandlers ()
if (-1 == acceptor_->open (addr, reactor_, 1))
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT (" (%P) %p \n"),
+ ACE_TEXT (" (%P) %p\n"),
ACE_TEXT ("Cannot open acceptor port")),
-1);
diff --git a/tests/Reactor_Dispatch_Order_Test.cpp b/tests/Reactor_Dispatch_Order_Test.cpp
index eb6e9595b68..387acbcc47f 100644
--- a/tests/Reactor_Dispatch_Order_Test.cpp
+++ b/tests/Reactor_Dispatch_Order_Test.cpp
@@ -78,7 +78,7 @@ Handler::Handler (ACE_Reactor &reactor)
if (0 != this->reactor ()->register_handler
(this->pipe_.read_handle (),
this,
- ACE_Event_Handler::ALL_EVENTS_MASK))
+ ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK))
ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("register")));
else
this->ok_ = true;
@@ -124,13 +124,13 @@ Handler::handle_output (ACE_HANDLE)
else
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Handler::handle_output\n")));
-#if defined (__OpenBSD__) || defined (ACE_VXWORKS) || defined (__Lynx__)
+#if defined (__OpenBSD__) || defined (ACE_VXWORKS)
// All that we need written has been written, so don't
// call handle_output again.
this->reactor ()->mask_ops (this->pipe_.read_handle (),
ACE_Event_Handler::WRITE_MASK,
ACE_Reactor::CLR_MASK);
-#endif /* __OpenBSD__ || ACE_VXWORKS || __Lynx__ */
+#endif /* __OpenBSD__ || ACE_VXWORKS */
return 0;
}
diff --git a/tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp b/tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp
index f852d3c2ffe..5c9c28dbd2c 100644
--- a/tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp
+++ b/tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp
@@ -80,7 +80,7 @@ Handler::Handler (ACE_Reactor &reactor)
if (0 != this->reactor ()->register_handler
(this->pipe_.read_handle (),
this,
- ACE_Event_Handler::ALL_EVENTS_MASK))
+ ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK))
ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("register")));
else
this->ok_ = true;
@@ -126,13 +126,10 @@ Handler::handle_output (ACE_HANDLE)
else
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Handler::handle_output\n")));
-#if defined (__OpenBSD__) || defined (ACE_VXWORKS) || defined (__Lynx__)
- // All that we need written has been written, so don't
- // call handle_output again.
+ // Don't want to continually see writeable; only verify its relative order.
this->reactor ()->mask_ops (this->pipe_.read_handle (),
ACE_Event_Handler::WRITE_MASK,
ACE_Reactor::CLR_MASK);
-#endif /* __OpenBSD__ || ACE_VXWORKS || __Lynx__ */
return 0;
}
diff --git a/tests/Reactor_Fairness_Test.cpp b/tests/Reactor_Fairness_Test.cpp
new file mode 100644
index 00000000000..c9f3e746bb9
--- /dev/null
+++ b/tests/Reactor_Fairness_Test.cpp
@@ -0,0 +1,409 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Reactor_Performance_Test.cpp
+//
+// = DESCRIPTION
+// This test is used to time the dispatching mechanisms of the
+// <ACE_Reactor>s. Both the <ACE_WFMO_Reactor> and
+// <ACE_Select_Reactor> can be tested.
+//
+// = AUTHOR
+// Irfan Pyarali <irfan@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "Reactor_Fairness_Test.h"
+#include "ace/Get_Opt.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Acceptor.h"
+#include "ace/Reactor.h"
+#include "ace/Dev_Poll_Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/TP_Reactor.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/Numeric_Limits.h"
+#include "ace/Signal.h"
+#include "ace/Atomic_Op.h"
+#include "ace/Thread_Mutex.h"
+
+ACE_RCSID(tests, Reactor_Fairness_Test, "$Id$")
+
+#if defined (ACE_HAS_THREADS)
+
+namespace {
+
+ const char ACE_ALPHABET[] = "abcdefghijklmnopqrstuvwxyz";
+
+ // Number of connections to run
+ int opt_nconnections = 5;
+
+ // How many seconds to run the test on each reactor
+ int opt_secs = 30;
+
+ // How many thread to run in the reactor loop
+ int opt_reactor_threads = 3;
+
+ // Extra debug messages
+ int opt_debug = 0;
+
+ ACE_Atomic_Op<ACE_Thread_Mutex, int> reactor_thread_nr = 0;
+
+ // Class to collect and report on data handling for each test pass.
+ struct Result_Set {
+ int nr_conns;
+ typedef ACE_Array_Map<ACE_HANDLE, unsigned int> report_map;
+ report_map reports;
+
+ void reset (int n_connections) // Reset for next run
+ {
+ reports.clear ();
+ nr_conns = n_connections;
+ }
+
+ void report (ACE_HANDLE h, unsigned int chunks)
+ {
+ std::pair<ACE_HANDLE, unsigned int> newval (h, chunks);
+ reports.insert (newval);
+ }
+
+ // Return 1 if this looks like a failure wrt fairness.
+ int analyze_reports (void)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Results (%d entries):\n"),
+ reports.size()));
+ unsigned int max_chunks = 0;
+ unsigned int min_chunks = ACE_Numeric_Limits<unsigned int>::max();
+ for (report_map::iterator iter = reports.begin();
+ iter != reports.end ();
+ ++iter)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT (" handle %d: %u\n"),
+ (*iter).first, (*iter).second));
+ if ((*iter).second > max_chunks)
+ max_chunks = (*iter).second;
+ if ((*iter).second < min_chunks)
+ min_chunks = (*iter).second;
+ }
+ if ((max_chunks - min_chunks) > max_chunks / 10)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Too much unfairness (max %u, min %u)\n"),
+ max_chunks,
+ min_chunks),
+ 1);
+ return 0;
+ }
+ };
+ Result_Set results;
+}
+
+// Handle incoming data
+int
+Read_Handler::handle_input (ACE_HANDLE h)
+{
+ char buf[BUFSIZ];
+ ssize_t result = this->peer ().recv (buf, ACE_OS::strlen(ACE_ALPHABET));
+ if (opt_debug)
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT ("(%t) Read_Handler::handle_input h %d, result %b\n"),
+ h, result));
+ if (result > 0)
+ {
+ if (opt_debug)
+ {
+ buf[result] = 0;
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Read_Handler::handle_input: h %d: %C\n"),
+ h,
+ buf));
+ }
+ ++this->chunks_in;
+ }
+ else if (result < 0)
+ {
+ if (errno == EWOULDBLOCK)
+ return 0;
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("handle_input: h %d: %p (errno: %d)\n"),
+ h, ACE_TEXT ("recv"), ACE_ERRNO_GET));
+
+ // This will cause handle_close to get called.
+ return -1;
+ }
+ }
+ else // result == 0
+ {
+ if (opt_debug)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Handle %d closing\n"), h));
+ // This will cause handle_close to get called.
+ return -1;
+ }
+
+ return 0;
+}
+
+// Handle connection shutdown.
+
+int
+Read_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask /*close_mask*/)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Read_Handler handle %d close; %u chunks\n"),
+ handle, chunks_in));
+ results.report (handle, this->chunks_in);
+
+ // Shutdown
+ this->destroy ();
+ return 0;
+}
+
+// Pump data as fast as possible to all the sockets.
+ACE_THR_FUNC_RETURN
+sender (void *arg)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) running sender\n")));
+
+ // Ensure an error, not a signal, on broken pipe.
+ ACE_Sig_Action no_sigpipe ((ACE_SignalHandler) SIG_IGN);
+ ACE_Sig_Action original_action;
+ no_sigpipe.register_action (SIGPIPE, &original_action);
+
+ ACE_INET_Addr *connection_addr =
+ reinterpret_cast<ACE_INET_Addr *> (arg);
+
+ int i;
+
+ // Automagic memory cleanup.
+ ACE_SOCK_Stream *temp_socks = 0;
+ ACE_NEW_RETURN (temp_socks,
+ ACE_SOCK_Stream [opt_nconnections],
+ 0);
+ ACE_Auto_Basic_Array_Ptr <ACE_SOCK_Stream> socks (temp_socks);
+
+ // Connection all <opt_nconnections> connections before sending data.
+ ACE_SOCK_Connector c;
+ for (i = 0; i < opt_nconnections; i++)
+ {
+ if (c.connect (socks[i], *connection_addr) == -1)
+ {
+ if (errno != ECONNREFUSED || i == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) conn %d %p\n"),
+ ACE_TEXT ("connect")));
+ while (--i >= 0)
+ socks[i].close ();
+ break;
+ }
+ }
+ socks[i].enable (ACE_NONBLOCK);
+ }
+ if (i < opt_nconnections)
+ return 0;
+
+ // Keep blasting data on all possible connections until this thread
+ // is canceled. If we manage to overrun the receiver on all sockets,
+ // sleep a bit for the receivers to catch up.
+ ACE_thread_t me = ACE_Thread::self ();
+ ACE_Thread_Manager *tm = ACE_Thread_Manager::instance ();
+ size_t send_cnt = ACE_OS::strlen (ACE_ALPHABET);
+ bool fail = false;
+ while (!tm->testcancel (me) && !fail)
+ {
+ bool sent_something = false;
+ for (i = 0; i < opt_nconnections; i++)
+ {
+ ssize_t cnt = socks[i].send (ACE_ALPHABET, send_cnt);
+ if (opt_debug)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) h %d sent %b\n"),
+ socks[i].get_handle(),
+ cnt));
+ if (cnt > 0)
+ {
+ sent_something = true;
+ continue;
+ }
+ if (errno == EWOULDBLOCK)
+ continue;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p; giving up\n"),
+ ACE_TEXT ("sender")));
+ fail = true;
+ break;
+ }
+ if (!fail && !sent_something)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Full sockets... pausing...\n")));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Resuming sending.\n")));
+ }
+ }
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Done sending.\n")));
+ for (i = 0; i < opt_nconnections; i++)
+ socks[i].close ();
+ return 0;
+}
+
+ACE_THR_FUNC_RETURN
+reactor_loop (void *p)
+{
+ ACE_Reactor *r = reinterpret_cast<ACE_Reactor *> (p);
+ int me = reactor_thread_nr++;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Reactor loop %d starting...\n"), me));
+ if (me == 0)
+ r->owner (ACE_Thread::self ());
+ if (r->run_reactor_event_loop () == -1)
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%t) %p\n"), ACE_TEXT ("reactor")));
+ else
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) reactor thread %d ending\n"), me));
+ return 0;
+}
+
+void
+run (ACE_Reactor_Impl &ri, const ACE_TCHAR *what, bool tp = true)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting test with %s\n"), what));
+
+ ACE_Reactor r (&ri);
+ ACE_Thread_Manager *tm = ACE_Thread_Manager::instance ();
+ ACE_Acceptor<Read_Handler, ACE_SOCK_ACCEPTOR> acceptor;
+
+ // Bind acceptor to any port and then find out what the port was.
+ ACE_INET_Addr server_addr;
+ ACE_INET_Addr local_addr (ACE_sap_any_cast (const ACE_INET_Addr &));
+ if (acceptor.open (local_addr, &r) == -1
+ || acceptor.acceptor ().get_local_addr (server_addr) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("acceptor open")));
+ return;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) starting server at port %d\n"),
+ server_addr.get_port_number ()));
+
+ reactor_thread_nr = 0; // Reset for new set
+ if (-1 == tm->spawn_n (tp ? opt_reactor_threads : 1, reactor_loop, &r))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("reactor thread spawn")));
+ acceptor.close();
+ return;
+ }
+
+ ACE_INET_Addr connection_addr (server_addr.get_port_number (),
+ ACE_DEFAULT_SERVER_HOST);
+
+ int sender_grp = tm->spawn (sender, &connection_addr);
+ if (-1 == sender_grp)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("sender spawn")));
+ }
+ else
+ {
+ ACE_OS::sleep (opt_secs);
+ tm->cancel_grp (sender_grp);
+ }
+ r.end_reactor_event_loop ();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) waiting for the test threads...\n")));
+ tm->wait ();
+}
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Reactor_Fairness_Test"));
+
+ //FUZZ: disable check_for_lack_ACE_OS
+ ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("c:s:t:d"), 1);
+ for (int c; (c = getopt ()) != -1; )
+ //FUZZ: enble check_for_lack_ACE_OS
+ switch (c)
+ {
+ case 'c':
+ opt_nconnections = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 's':
+ opt_secs = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 't':
+ opt_reactor_threads = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'd':
+ opt_debug = 1;
+ break;
+ }
+
+ // Run the test once for each reactor type available.
+ int fails = 0;
+ results.reset (opt_nconnections);
+ {
+ ACE_Select_Reactor r;
+ run (r, ACE_TEXT ("Select Reactor"), false); // No thread pool
+ }
+ fails += results.analyze_reports ();
+
+ results.reset (opt_nconnections);
+ {
+ ACE_TP_Reactor r;
+ run (r, ACE_TEXT ("TP Reactor"));
+ }
+ fails += results.analyze_reports ();
+
+#if defined (ACE_HAS_EVENT_POLL) || defined (ACE_HAS_DEV_POLL)
+ results.reset (opt_nconnections);
+ {
+ ACE_Dev_Poll_Reactor r;
+ run (r, ACE_TEXT ("Dev_Poll Reactor"));
+ }
+ fails += results.analyze_reports ();
+#endif /* ACE_HAS_EVENT_POLL || ACE_HAS_DEV_POLL */
+
+#if defined (ACE_WIN32)
+ results.reset (opt_nconnections);
+ {
+ ACE_WFMO_Reactor r;
+ run (r, ACE_TEXT ("WFMO Reactor"));
+ }
+ fails += results.analyze_reports ();
+#endif /* ACE_WIN32 */
+
+ ACE_END_TEST;
+ return fails;
+}
+
+#else
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Reactor_Performance_Test"));
+
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("threads not supported on this platform\n")));
+
+ ACE_END_TEST;
+ return 0;
+}
+#endif /* ACE_HAS_THREADS */
diff --git a/tests/Reactor_Fairness_Test.h b/tests/Reactor_Fairness_Test.h
new file mode 100644
index 00000000000..6b8815ace11
--- /dev/null
+++ b/tests/Reactor_Fairness_Test.h
@@ -0,0 +1,49 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Reactor_Fairness_Test.h
+//
+// = DESCRIPTION
+// This file includes template class definitions for the
+// Reactor_Fairness_Test.cpp program. This class gets its own
+// header file to work around AIX C++ compiler "features" related
+// to template instantiation...
+//
+// = AUTHOR
+// Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#ifndef ACE_TESTS_REACTOR_FAIRNESS_TEST_H
+#define ACE_TESTS_REACTOR_FAIRNESS_TEST_H
+
+#include "ace/SOCK_Stream.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Svc_Handler.h"
+
+class Read_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+ // = TITLE
+ // Simple class for reading in the data
+public:
+ Read_Handler () : chunks_in (0) {}
+
+ virtual int handle_input (ACE_HANDLE h);
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+ // The Svc_Handler callbacks.
+
+private:
+ unsigned int chunks_in;
+};
+
+#endif /* ACE_TESTS_REACTOR_FAIRNESS_TEST_H */
diff --git a/tests/Reactor_Notification_Queue_Test.cpp b/tests/Reactor_Notification_Queue_Test.cpp
index a29ab26769c..7e22474d3b3 100644
--- a/tests/Reactor_Notification_Queue_Test.cpp
+++ b/tests/Reactor_Notification_Queue_Test.cpp
@@ -163,7 +163,7 @@ Event_Handler::run (void)
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("Test %C failed due to timeout ")
- ACE_TEXT (" sent=%d,recv=%d \n"),
+ ACE_TEXT (" sent=%d,recv=%d\n"),
test_name_,
notifications_sent_,
notifications_recv_));
diff --git a/tests/Reactor_Notify_Test.cpp b/tests/Reactor_Notify_Test.cpp
index 15adcd8eab6..80166255558 100644
--- a/tests/Reactor_Notify_Test.cpp
+++ b/tests/Reactor_Notify_Test.cpp
@@ -256,7 +256,7 @@ Supplier_Task::perform_notifications (int notifications)
{
iterations *= (iterations * iterations * 2);
#if defined (ACE_VXWORKS)
- // scale down otherwise the test won'y finish in time
+ // scale down otherwise the test won't finish in time
iterations /= 4;
#endif
}
diff --git a/tests/Reactor_Performance_Test.cpp b/tests/Reactor_Performance_Test.cpp
index 215fef181f3..975c8c34678 100644
--- a/tests/Reactor_Performance_Test.cpp
+++ b/tests/Reactor_Performance_Test.cpp
@@ -108,7 +108,7 @@ Read_Handler::handle_input (ACE_HANDLE handle)
else
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("handle_input: %p (errno: %d)\n"),
- ACE_TEXT ("recv"), errno));
+ ACE_TEXT ("recv"), ACE_ERRNO_GET));
// This will cause handle_close to get called.
return -1;
@@ -360,7 +360,8 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_INET_Addr server_addr;
// Bind acceptor to any port and then find out what the port was.
- if (acceptor.open (ACE_sap_any_cast (const ACE_INET_Addr &)) == -1
+ ACE_INET_Addr local_addr (ACE_sap_any_cast (const ACE_INET_Addr &));
+ if (acceptor.open (local_addr) == -1
|| acceptor.acceptor ().get_local_addr (server_addr) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%t) %p\n"),
diff --git a/tests/Reactor_Remove_Resume_Test.cpp b/tests/Reactor_Remove_Resume_Test.cpp
index 7064b4b9151..715aaeaedb5 100644
--- a/tests/Reactor_Remove_Resume_Test.cpp
+++ b/tests/Reactor_Remove_Resume_Test.cpp
@@ -100,7 +100,7 @@ Bogus_Handler::handle_close (ACE_HANDLE,
// This event handler is being closed by the reactor unexpectedly.
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Bogus_Handler unexpectedly closed\n ")),
+ ACE_TEXT ("Bogus_Handler unexpectedly closed\n")),
-1);
}
@@ -343,7 +343,7 @@ handle_events (ACE_Reactor & reactor,
timeout.sec (2);
int const result = reactor.handle_events (&timeout);
-
+
if (result > 0)
{
ACE_ERROR ((LM_ERROR,
diff --git a/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp b/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
index cc3b52a6f0e..078ae9a7534 100644
--- a/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
+++ b/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
@@ -103,7 +103,7 @@ Bogus_Handler::handle_close (ACE_HANDLE,
// This event handler is being closed by the reactor unexpectedly.
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Bogus_Handler unexpectedly closed\n ")),
+ ACE_TEXT ("Bogus_Handler unexpectedly closed\n")),
-1);
}
@@ -346,7 +346,7 @@ handle_events (ACE_Reactor & reactor,
timeout.sec (2);
int const result = reactor.handle_events (&timeout);
-
+
if (result > 0)
{
ACE_ERROR ((LM_ERROR,
diff --git a/tests/Reactors_Test.cpp b/tests/Reactors_Test.cpp
index 0354483105d..1d79e8a0c53 100644
--- a/tests/Reactors_Test.cpp
+++ b/tests/Reactors_Test.cpp
@@ -252,7 +252,7 @@ run_main (int, ACE_TCHAR *[])
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) all threads are finished \n")));
+ ACE_TEXT ("(%t) all threads are finished\n")));
#else
ACE_ERROR ((LM_INFO,
diff --git a/tests/Recursive_Condition_Test.cpp b/tests/Recursive_Condition_Test.cpp
index 5576b2cf674..63360905348 100644
--- a/tests/Recursive_Condition_Test.cpp
+++ b/tests/Recursive_Condition_Test.cpp
@@ -11,8 +11,7 @@
// = DESCRIPTION
// This test program validates the functionality of the
// ACE_Condition<ACE_Recursive_Thread_Mutex> template
-// specialization when combined with the
-// ACE_Thread_Timer_Queue_Adapter on Win32 and Posix pthreads.
+// specialization.
//
// = AUTHOR
// Stephen Howard <stephen.e.howard@lmco.com> and
@@ -68,8 +67,9 @@ private:
// These are for the basic functionality tests.
ACE_SYNCH_RECURSIVE_MUTEX mutex_;
-ACE_SYNCH_RECURSIVE_CONDITION condition_(mutex_);
-// Test driver sets this to non-zero before spawning and to zero for waiter.
+ACE_Condition<ACE_SYNCH_RECURSIVE_MUTEX> condition_ (mutex_);
+// Test driver sets this to non-zero before spawning and to zero for
+// waiter.
int protected_int = 0;
static ACE_THR_FUNC_RETURN
@@ -85,7 +85,7 @@ waiter (void *)
else
ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%t) %p\n"), ACE_TEXT ("wait")));
- int copy_int = protected_int; // Copy it in case it's erroneously changing
+ int const copy_int = protected_int; // Copy it in case it's erroneously changing
if (copy_int != 0)
ACE_ERROR ((LM_ERROR, ACE_TEXT ("(%t) waiter found protected_int %d\n"),
copy_int));
@@ -247,7 +247,6 @@ run_main (int, ACE_TCHAR *[])
ACE_START_TEST (ACE_TEXT ("Recursive_Condition_Test"));
#if defined (ACE_HAS_THREADS)
-
int status = 0;
/* Test 1 - Simple test */
@@ -288,6 +287,7 @@ run_main (int, ACE_TCHAR *[])
++status;
}
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting to sleep\n")));
ACE_OS::sleep (10);
timer_queue.deactivate ();
timer_queue.wait ();
diff --git a/tests/Recursive_Mutex_Test.cpp b/tests/Recursive_Mutex_Test.cpp
index fafe771551a..6d37316f314 100644
--- a/tests/Recursive_Mutex_Test.cpp
+++ b/tests/Recursive_Mutex_Test.cpp
@@ -54,7 +54,9 @@ static size_t n_threads = ACE_MAX_THREADS;
// ACE_Recursive_Thread_Mutex::get_nesting_level() will return a
// meaningful value.
+#if !defined (ACE_HAS_WTHREADS)
static bool nesting_level_supported = false;
+#endif
static void
test_recursion_depth (int nesting_level,
@@ -94,7 +96,7 @@ test_recursion_depth (int nesting_level,
test_recursion_depth (nesting_level + 1,
rm);
-#if !defined (ACE_HAS_WTHREADS)
+#if !defined (ACE_HAS_WTHREADS)
if (nesting_level_supported
&& (nesting_level + 1) != rm->get_nesting_level ())
{
@@ -364,7 +366,7 @@ run_main (int argc, ACE_TCHAR *argv[])
#if !defined (ACE_HAS_WTHREADS)
// This will work for Windows, too, if ACE_TEST_MUTEX is
// ACE_Recursive_Thread_Mutex instead of ACE_Process_Mutex.
- nesting_level_supported =
+ nesting_level_supported =
(rm.get_nesting_level () != -1 || errno != ENOTSUP);
#endif /* !ACE_HAS_WTHREADS */
diff --git a/tests/Refcounted_Event_Handler_Test_DevPoll.cpp b/tests/Refcounted_Event_Handler_Test_DevPoll.cpp
index d6005b67c36..bf308ea2063 100644
--- a/tests/Refcounted_Event_Handler_Test_DevPoll.cpp
+++ b/tests/Refcounted_Event_Handler_Test_DevPoll.cpp
@@ -80,7 +80,7 @@ Handler::Handler (ACE_Reactor &reactor)
if (0 != this->reactor ()->register_handler
(this->pipe_.read_handle (),
this,
- ACE_Event_Handler::ALL_EVENTS_MASK))
+ ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK))
ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("register")));
else
this->ok_ = true;
@@ -126,13 +126,10 @@ Handler::handle_output (ACE_HANDLE)
else
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Handler::handle_output\n")));
-#if defined (__OpenBSD__) || defined (ACE_VXWORKS) || defined (__Lynx__)
- // All that we need written has been written, so don't
- // call handle_output again.
+ // Don't want to continually see writeable; only verify its relative order.
this->reactor ()->mask_ops (this->pipe_.read_handle (),
ACE_Event_Handler::WRITE_MASK,
ACE_Reactor::CLR_MASK);
-#endif /* __OpenBSD__ || ACE_VXWORKS || __Lynx__ */
return 0;
}
diff --git a/tests/Reference_Counted_Event_Handler_Test.cpp b/tests/Reference_Counted_Event_Handler_Test.cpp
index 43bddbfa1e7..014588b464c 100644
--- a/tests/Reference_Counted_Event_Handler_Test.cpp
+++ b/tests/Reference_Counted_Event_Handler_Test.cpp
@@ -1101,7 +1101,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_UNUSED_ARG (test);
}
-#endif /* ACE_HAS_DEV_POOL || ACE_HAS_EVENT_POLL */
+#endif /* ACE_HAS_DEV_POLL || ACE_HAS_EVENT_POLL */
ACE_END_TEST;
diff --git a/tests/SOCK_Connector_Test.cpp b/tests/SOCK_Connector_Test.cpp
index 4bced6df444..a0fc7c1fbe3 100644
--- a/tests/SOCK_Connector_Test.cpp
+++ b/tests/SOCK_Connector_Test.cpp
@@ -209,7 +209,7 @@ fail_no_listener_nonblocking (void)
ACE_DEBUG ((LM_WARNING,
ACE_TEXT ("Test not executed fully; ")
ACE_TEXT ("expected EWOULDBLOCK, %p (%d)\n"),
- ACE_TEXT ("not"), errno));
+ ACE_TEXT ("not"), ACE_ERRNO_GET));
status = -1;
}
@@ -269,7 +269,9 @@ succeed_nonblocking (void)
else
{
if (sock.get_handle () != ACE_INVALID_HANDLE)
- status = con.complete (sock);
+ {
+ status = con.complete (sock);
+ }
if (status == -1)
{
@@ -284,7 +286,8 @@ succeed_nonblocking (void)
else
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT("%p\n"),
+ ACE_TEXT("Errno <%d>: %p\n"),
+ ACE_ERRNO_GET,
ACE_TEXT("connect should succeed, but")));
}
}
diff --git a/tests/SOCK_Netlink_Test.cpp b/tests/SOCK_Netlink_Test.cpp
index f23412cdd52..67283ab407e 100644
--- a/tests/SOCK_Netlink_Test.cpp
+++ b/tests/SOCK_Netlink_Test.cpp
@@ -361,7 +361,7 @@ Secondary_Ipaddr_Handler::Secondary_Ipaddr_Handler ()
Secondary_Ipaddr_Handler::~Secondary_Ipaddr_Handler ()
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) Secondary_Ipaddr_Handler::~Secondary_Ipaddr_Handler \n")));
+ ACE_TEXT ("(%P|%t) Secondary_Ipaddr_Handler::~Secondary_Ipaddr_Handler\n")));
this->close ();
}
int
@@ -374,7 +374,7 @@ Secondary_Ipaddr_Handler::open (ACE_Reactor *const reactor,
!if_name || !ACE_OS::strlen (if_name))
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("(%P) Secondary_Ipaddr_Handler::open: error ")
- ACE_TEXT("zero pointers or zero length strings used as input. \n")),
+ ACE_TEXT("zero pointers or zero length strings used as input.\n")),
-1);
this->reactor (reactor);
@@ -389,8 +389,8 @@ Secondary_Ipaddr_Handler::open (ACE_Reactor *const reactor,
NETLINK_ROUTE) == -1)
//FUZZ: disable check_for_lack_ACE_OS
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT("(%P|%t) Secondary_Ipaddr_Handler::open: - failed \n")
- ACE_TEXT("to initialize netlink socket bu open (). \n")),
+ ACE_TEXT("(%P|%t) Secondary_Ipaddr_Handler::open: - failed\n")
+ ACE_TEXT("to initialize netlink socket bu open ().\n")),
-1);
//FUZZ: enable check_for_lack_ACE_OS
@@ -433,7 +433,7 @@ int
Secondary_Ipaddr_Handler::handle_input (ACE_HANDLE)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - entered \n")));
+ ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - entered\n")));
nlmsghdr *hdr = 0;
iovec iov;
@@ -485,7 +485,7 @@ Secondary_Ipaddr_Handler::handle_input (ACE_HANDLE)
if (static_cast <int> (hdr->nlmsg_pid) != this->address_.get_pid () || hdr->nlmsg_seq != this->seq_)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - ")
- ACE_TEXT("process id or message sequence is different \n")),
+ ACE_TEXT("process id or message sequence is different\n")),
-1);
if (hdr->nlmsg_type == NLMSG_ERROR)
@@ -497,13 +497,13 @@ Secondary_Ipaddr_Handler::handle_input (ACE_HANDLE)
{
this->on_command_success ();
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - command success \n")));
+ ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - command success\n")));
return 0;
}
this->on_command_error ();
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - command informs about error \n")));
+ ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_input - command informs about error\n")));
// some error message
ACE_OS::perror("rtnetlink error message: ");
@@ -519,7 +519,7 @@ Secondary_Ipaddr_Handler::handle_timeout (ACE_Time_Value const &,
void const *)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_timeout - entered \n")));
+ ACE_TEXT("(%P) Secondary_Ipaddr_Handler::handle_timeout - entered\n")));
if (this->command_status_ != COMMAND_SUCCESS &&
(this->command_status_ != COMMAND_ERROR &&
@@ -594,7 +594,7 @@ Secondary_Ipaddr_Handler::handle_close (ACE_HANDLE,
ACE_Reactor_Mask)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P|%t) Secondary_Ipaddr_Handler::handle_close \n")));
+ ACE_TEXT("(%P|%t) Secondary_Ipaddr_Handler::handle_close\n")));
this->close ();
return 0;
}
@@ -603,7 +603,7 @@ int
Secondary_Ipaddr_Handler::close ()
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("(%P) Secondary_Ipaddr_Handler::close \n")));
+ ACE_TEXT("(%P) Secondary_Ipaddr_Handler::close\n")));
if (this->reactor ())
{
@@ -901,7 +901,7 @@ parse_args (int argc, ACE_TCHAR *argv[])
if ((ip_len == 0 && if_len) || (ip_len && if_len == 0))
{
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT("%s - error: both options -a and -i should be provided. \n"),
+ ACE_TEXT("%s - error: both options -a and -i should be provided.\n"),
ACE_TEXT("SOCK_Netlink_Test")),
-1);
}
diff --git a/tests/SOCK_SEQPACK_SCTP_Test.cpp b/tests/SOCK_SEQPACK_SCTP_Test.cpp
index 154524191f7..895d2d374d5 100644
--- a/tests/SOCK_SEQPACK_SCTP_Test.cpp
+++ b/tests/SOCK_SEQPACK_SCTP_Test.cpp
@@ -1,17 +1,17 @@
// $Id$
//
-// *WARRANTY DISCLAIMER: LIMITATION OF LIABILITY. THE SOFTWARE AND
-// CONTENT ARE PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED
-// REPRESENTATIONS, GUARANTEES, OR WARRANTIES, INCLUDING BUT NOT LIMITED
-// TO SUCH REPRESENTATION, GUARANTEES OR WARRANTIES REGARDING THE
+// *WARRANTY DISCLAIMER: LIMITATION OF LIABILITY. THE SOFTWARE AND
+// CONTENT ARE PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED
+// REPRESENTATIONS, GUARANTEES, OR WARRANTIES, INCLUDING BUT NOT LIMITED
+// TO SUCH REPRESENTATION, GUARANTEES OR WARRANTIES REGARDING THE
// USABILITY, SUITABILITY, CONDITION, OPERATION OR ACCURACY THEREOF. *
-//
-// *ALL OTHER WARRANTIES AND CONDITIONS (EXPRESS, IMPLIED OR STATUTORY)
-// ARE HEREBY DISCLAIMED, SUCH WARRANTIES AND CONDITIONS INCLUDING
-// WITHOUT LIMITATION, ALL WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
-// TITLE, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT,
+//
+// *ALL OTHER WARRANTIES AND CONDITIONS (EXPRESS, IMPLIED OR STATUTORY)
+// ARE HEREBY DISCLAIMED, SUCH WARRANTIES AND CONDITIONS INCLUDING
+// WITHOUT LIMITATION, ALL WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
+// TITLE, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT,
// COMPATIBILITY, AND SECURITY OR ACCURACY.*
-//
+//
// ============================================================================
//
// = LIBRARY
@@ -81,11 +81,9 @@ Server (void *arg)
// hang tests.
//
if (-1 == AcceptorSocket->enable (ACE_NONBLOCK))
- {
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("AcceptorSocket.enable (ACE_NONBLOCK)")));
- }
//
// Set up select to wait for I/O events.
@@ -101,21 +99,15 @@ Server (void *arg)
0,
&tv);
- ACE_ASSERT (tv == def_timeout);
-
if (-1 == result)
- {
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("select")),
0);
- }
- else if (0 == result)
- {
+ if (0 == result)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("(%P|%t) select timed out, shutting down\n")),
0);
- }
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) waiting for client to connect\n")));
@@ -128,46 +120,38 @@ Server (void *arg)
// Enable non-blocking I/O.
//
if (Stream.enable (ACE_NONBLOCK))
- {
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("Stream.enable (ACE_NONBLOCK)")),
0);
- }
unsigned char byte = BYTE_MESG;
if (-1 == Stream.send_n (&byte, 1))
- {
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("Stream.send_n")));
- }
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) byte sent\n")));
//
- // Ubruptly terminate the association.
+ // Abruptly terminate the association.
//
if (-1 == Stream.abort ())
- {
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("Association.abort")));
- }
//
// Negative test: make sure that we cannot send on a closed association.
//
if (-1 != Stream.send_n (&byte, 1))
- {
//FUZZ: disable check_for_lack_ACE_OS
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) Negative test fail: Association")
ACE_TEXT(".send_n succeeded after abort()\n")));
//FUZZ: enable check_for_lack_ACE_OS
- }
}
@@ -175,11 +159,9 @@ Server (void *arg)
// Close server socket.
//
if (-1 == AcceptorSocket->close ())
- {
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) %p\n"),
ACE_TEXT ("AcceptorSocket.close")));
- }
return 0;
}
@@ -228,24 +210,28 @@ Client(void *arg)
ACE_TEXT ("Association.recv_n")));
}
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) Client received %d bytes\n"),
- bytes));
- ACE_ASSERT(1 == bytes);
+ if (1 == bytes)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Client received %B bytes\n"),
+ bytes));
+ else
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Client received %B bytes; expected 1\n"),
+ bytes));
//
// Give server a little time to abort the association.
//
ACE_OS::sleep(1);
- if (-1 != Stream.recv_n (&b, 1, &tv, &bytes))
- {
- //FUZZ: disable check_for_lack_ACE_OS
+ // abort closes the connection, so the recv should either see a closed
+ // socket or some failure other than a timeout.
+ ssize_t cnt = Stream.recv_n (&b, 1, &tv, &bytes);
+ if (cnt > 0 || (cnt == -1 && errno == ETIME))
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Negative test failed Association")
- ACE_TEXT (".recv_n succeeded after abort()\n")));
- //FUZZ: enable check_for_lack_ACE_OS
- }
+ ACE_TEXT ("(%P|%t) Negative test failed; Association")
+ ACE_TEXT (".recv_n returned %b (w/ %m) after abort\n"),
+ cnt));
return 0;
}
@@ -264,59 +250,44 @@ spawn_test(bool ipv6_test)
ACE_SOCK_SEQPACK_Acceptor AcceptorSocket;
+ const ACE_TCHAR *addrstr =
+#ifdef ACE_HAS_IPV6
+ ipv6_test ? ACE_IPV6_LOCALHOST : ACE_LOCALHOST;
+#else
+ ACE_LOCALHOST;
+#endif /* ACE_HAS_IPV6 */
ACE_Multihomed_INET_Addr ServerAddr (TTCPPORT,
+ addrstr
#ifdef ACE_HAS_IPV6
- (ipv6_test ?
- ACE_IPV6_LOCALHOST :
- ACE_LOCALHOST)
-#else /* ! ACE_HAS_IPV6 */
- ACE_LOCALHOST
-#endif /* ! ACE_HAS_IPV6 */
+ ,1,
+ ipv6_test ? AF_INET6 : AF_INET
+#endif /* ACE_HAS_IPV6 */
);
- if (-1 == AcceptorSocket.open (ServerAddr,
- 1,
-#ifdef ACE_HAS_IPV6
- (ipv6_test ? AF_INET6 : AF_INET),
-#else /* ! ACE_HAS_IPV6 */
- AF_INET,
-#endif /* ! ACE_HAS_IPV6 */
- ACE_DEFAULT_BACKLOG
-#if defined (IPPROTO_SCTP)
- ,IPPROTO_SCTP
-#endif /* IPPROTO_SCTP */
- ))
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p\n"),
- ACE_TEXT ("AcceptorSocket.open")));
- }
+ if (-1 == AcceptorSocket.open (ServerAddr, 1))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("AcceptorSocket.open")));
+ }
if (-1 == AcceptorSocket.get_local_addr (ServerAddr))
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p\n"),
- ACE_TEXT ("AcceptorSocket.get_local_addr")));
- }
-
- struct sockaddr_in inaddr;
-
- ServerAddr.get_addresses(&inaddr, 1);
-
- ACE_ASSERT ((TTCPPORT == ServerAddr.get_port_number ()));
- ACE_ASSERT ((ipv6_test || INADDR_LOOPBACK == ServerAddr.get_ip_address ()));
- ACE_ASSERT ((!ipv6_test ||
- ACE_Multihomed_INET_Addr(TTCPPORT, "::1") == ServerAddr));
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) %p\n"),
+ ACE_TEXT ("AcceptorSocket.get_local_addr")));
+ }
#ifndef ACE_LACKS_FORK
switch (ACE_OS::fork (ACE_TEXT ("child")))
{
case -1:
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %p%a"),
+ ACE_TEXT ("(%P|%t) %p"),
ACE_TEXT ("fork failed")));
break;
case 0:
+ ACE_LOG_MSG->sync (ACE_TEXT ("SOCK_SEQPACK_SCTP_Test"));
Client (&ServerAddr);
ACE_OS::exit (0);
break;
@@ -349,7 +320,7 @@ spawn_test(bool ipv6_test)
ACE_Thread_Manager::instance ()->wait ();
#else /* ACE_LACKS_FORK && ! ACE_HAS_THREADS */
ACE_ERROR ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) \n"),
+ ACE_TEXT ("(%P|%t)\n"),
ACE_TEXT ("only one thread may be run ")
ACE_TEXT ("in a process on this platform\n")));
#endif /* ACE_LACKS_FORK && ! ACE_HAS_THREADS */
diff --git a/tests/SSL/SSL_Asynch_Stream_Test.cpp b/tests/SSL/SSL_Asynch_Stream_Test.cpp
index 9270f23f3dd..1ee2239fb80 100644
--- a/tests/SSL/SSL_Asynch_Stream_Test.cpp
+++ b/tests/SSL/SSL_Asynch_Stream_Test.cpp
@@ -31,6 +31,7 @@
#include "tests/test_config.h"
#include "ace/Default_Constants.h"
+#include "ace/OS_NS_signal.h"
#include "ace/OS_NS_string.h"
#include "ace/Event_Handler.h"
#include "ace/Get_Opt.h"
@@ -100,6 +101,9 @@ public:
int open (const ACE_INET_Addr &listen_addr);
//FUZZ: enable check_for_lack_ACE_OS
+ // Get the I/O handle.
+ virtual ACE_HANDLE get_handle (void) const;
+
// Called when a new connection is ready to accept.
virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
@@ -138,6 +142,34 @@ static int req_delay = 0;
// This is the string sent from client to server.
static const char *test_string = "SSL_Asynch_Stream_Test!";
+// Function to remove signals from the signal mask.
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#ifndef ACE_WIN32
+
+ sigset_t signal_set;
+ if (ACE_OS::sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ ACE_OS::sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+ if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("pthread_sigmask failed")));
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_WIN32 */
+
+ return 1;
+}
+
static void
parse_args (int argc, ACE_TCHAR *argv[])
{
@@ -180,6 +212,8 @@ parse_args (int argc, ACE_TCHAR *argv[])
Client_Handler::~Client_Handler ()
{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Client %@ handle %d down\n"),
+ this, this->stream_.handle ()));
if (this->stream_.handle () != ACE_INVALID_HANDLE)
{
if (this->msgs_sent_ != cli_req_no)
@@ -202,6 +236,8 @@ Client_Handler::~Client_Handler ()
int
Client_Handler::open (ACE_HANDLE handle)
{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Client %@ handle %d up\n"),
+ this, handle));
if (this->stream_.open (*this, handle) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%t) Client_Handler: %p\n"),
@@ -230,6 +266,9 @@ Client_Handler::handle_write_stream
delete this;
return;
}
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Client %@ handle %d sent %B of %B bytes\n"),
+ this, this->stream_.handle (),
+ result.bytes_transferred (), result.bytes_to_write ()));
ACE_Message_Block &b = result.message_block ();
bool send_again = true;
if (b.length () == 0)
@@ -265,6 +304,8 @@ Client_Handler::handle_write_stream
Server_Handler::~Server_Handler ()
{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Server %@ handle %d down\n"),
+ this, this->stream_.handle ()));
if (this->stream_.handle () != ACE_INVALID_HANDLE)
{
if (this->msgs_rcvd_ != cli_req_no)
@@ -287,6 +328,8 @@ Server_Handler::~Server_Handler ()
int
Server_Handler::open (ACE_HANDLE handle)
{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Server %@ handle %d up\n"),
+ this, handle));
if (this->stream_.open (*this, handle) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%t) Server_Handler: %p\n"),
@@ -314,6 +357,9 @@ Server_Handler::handle_read_stream
delete this;
return;
}
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Server %@ handle %d recv %B of %B bytes\n"),
+ this, this->stream_.handle (),
+ result.bytes_transferred (), result.bytes_to_read ()));
if (result.bytes_transferred () == 0)
{
ACE_DEBUG ((LM_DEBUG,
@@ -326,8 +372,10 @@ Server_Handler::handle_read_stream
// Scan through the received data for the expected string. There may be
// multiples and/or partials. Count up how many arrive before the connection
// is closed.
- // The read operation left one byte space at the end so we can insert a
- // nul terminator to ease scanning.
+ // Remember that the client side sends the terminating nul; in case the
+ // whole thing didn't arrive, we add a nul to the end of the receive
+ // block so we don't run off the end. When the recv into this buffer was
+ // initiated, we left the last byte empty to facilitate this.
ACE_Message_Block &b = result.message_block ();
*(b.wr_ptr ()) = '\0';
size_t test_string_len = ACE_OS::strlen (test_string);
@@ -339,6 +387,10 @@ Server_Handler::handle_read_stream
b.rd_ptr (),
test_string));
b.rd_ptr (test_string_len);
+ // That ran up over the string; can we also consume the nul?
+ if (b.length () > 0)
+ b.rd_ptr (1);
+ ++this->msgs_rcvd_;
}
b.crunch ();
if (this->stream_.read (b, b.space () - 1) == -1)
@@ -363,6 +415,12 @@ Server_Acceptor::open (const ACE_INET_Addr &listen_addr)
return 0;
}
+ACE_HANDLE
+Server_Acceptor::get_handle (void) const
+{
+ return this->acceptor_.get_handle ();
+}
+
int
Server_Acceptor::handle_input (ACE_HANDLE)
{
@@ -411,11 +469,11 @@ start_clients (void *)
{
// Client thread function.
ACE_INET_Addr addr (rendezvous);
- ACE_SSL_SOCK_Stream stream;
ACE_SSL_SOCK_Connector connect;
for (size_t i = 0 ; i < cli_conn_no; i++)
{
+ ACE_SSL_SOCK_Stream stream;
if (connect.connect (stream, addr) < 0)
{
ACE_ERROR ((LM_ERROR,
@@ -427,8 +485,10 @@ start_clients (void *)
Client_Handler *new_handler = 0;
ACE_NEW_RETURN (new_handler, Client_Handler, (ACE_THR_FUNC_RETURN)-1);
if (new_handler->open (stream.get_handle ()) != 0)
- delete new_handler;
- stream.set_handle (ACE_INVALID_HANDLE);
+ {
+ delete new_handler;
+ stream.close ();
+ }
}
return 0;
@@ -446,12 +506,22 @@ run_main (int argc, ACE_TCHAR *argv[])
context->private_key ("key.pem", SSL_FILETYPE_PEM);
parse_args (argc, argv);
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
Server_Acceptor acceptor;
ACE_INET_Addr accept_addr (rendezvous);
if (acceptor.open (accept_addr) == -1)
return 1;
+ if (-1 == ACE_Reactor::instance ()->register_handler (&acceptor,
+ ACE_Event_Handler::ACCEPT_MASK))
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p; aborting\n"),
+ ACE_TEXT ("register_handler")));
+ return 1;
+ }
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Listening at %s\n"), rendezvous));
ACE_DEBUG ((LM_DEBUG,
diff --git a/tests/SString_Test.cpp b/tests/SString_Test.cpp
index f91e2e8e9ed..1b18c02d2d4 100644
--- a/tests/SString_Test.cpp
+++ b/tests/SString_Test.cpp
@@ -66,6 +66,101 @@ static int testConcatenation() {
return 0;
}
+int testIterator()
+{
+ ACE_CString s1 ("Hello, World");
+
+ // Use the advance () method to count number of characters.
+ size_t count = 0;
+ for (ACE_CString::ITERATOR iter (s1); !iter.done (); iter.advance ())
+ ++ count;
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("advance () failed")),
+ 1);
+
+ // Use the prefix operator to count number of characters.
+ count = 0;
+ for (ACE_CString::ITERATOR iter (s1); !iter.done (); ++ iter)
+ ++ count;
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("++ operator failed")),
+ 1);
+
+ count = 0;
+
+ for (ACE_CString::iterator iter = s1.begin (), iter_end = s1.end ();
+ iter != iter_end; iter ++)
+ {
+ ++ count;
+ }
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("end () failed")),
+ 1);
+
+ ACE_CString::iterator iter1 (s1);
+
+ if (*iter1 != s1[0])
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("dereference operator failed")),
+ 1);
+
+ return 0;
+}
+
+int testConstIterator()
+{
+ const ACE_CString s1 ("Hello, World");
+
+ // Use the advance () method to count number of characters.
+ size_t count = 0;
+ for (ACE_CString::CONST_ITERATOR iter (s1); !iter.done (); iter.advance ())
+ ++ count;
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("advance () failed")),
+ 1);
+
+ // Use the prefix operator to count number of characters.
+ count = 0;
+ for (ACE_CString::CONST_ITERATOR iter (s1); !iter.done (); ++ iter)
+ ++ count;
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("++ operator failed")),
+ 1);
+
+ count = 0;
+
+ for (ACE_CString::const_iterator iter = s1.begin (), iter_end = s1.end ();
+ iter != iter_end; iter ++)
+ {
+ ++ count;
+ }
+
+ if (count != s1.length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("end () failed")),
+ 1);
+
+ ACE_CString::const_iterator iter1 (s1);
+
+ if (*iter1 != s1[0])
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("dereference operator failed")),
+ 1);
+
+ return 0;
+}
+
+
int
run_main (int, ACE_TCHAR *[])
{
@@ -92,45 +187,45 @@ run_main (int, ACE_TCHAR *[])
// Not equal comparisons. Error if they are equal
if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
- if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Equal comparisons. Error if they are not equal
- if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Substring match. Error if they are not equal
- if (s1.strstr (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s3.strstr (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1.strstr (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s3.strstr (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Substring creation. Error if they are not equal
- if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.substring (4, 10).length () != 1){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.substring (4, 10).length () != 1){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Forward search. Error if they are not equal
- if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s3.find (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s3.find (s1, 1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.find (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s3.find (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s3.find (s1, 1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.find (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Reverse search. Error if they are not equal
- if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
- if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
+ if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
// Assignment. Error if they are not equal
ACE_CString s6;
s6 = s0;
- if (s6 != s0){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s6 != s0){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
s6 = s4;
- if (s4 != s6){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s4 != s6){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
s6 = s5;
- if (s6 != s5){ACE_ERROR((LM_ERROR,"Set #1: \n"));return 1;}
+ if (s6 != s5){ACE_ERROR((LM_ERROR,"Set #1:\n"));return 1;}
}
{
@@ -149,59 +244,59 @@ run_main (int, ACE_TCHAR *[])
ACE_CString zero_size_string (s1.c_str (), 0, 0, false);
// Not equal comparisons. Error if they are equal
- if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Equal comparisons. Error if they are not equal
- if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Substring match. Error if they are not equal
- if (s1.strstr (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s3.strstr (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1.strstr (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s3.strstr (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Substring creation. Error if they are not equal
- if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Forward search. Error if they are not equal
- if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s3.find (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s3.find (s1, 1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.find (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s3.find (s1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s3.find (s1, 1) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.find (s2) != ACE_CString::npos){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Reverse search. Error if they are not equal
- if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
- if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
+ if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Assignment. Error if they are not equal
ACE_CString s6;
s6 = s0;
- if (s6 != s0){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s6 != s0){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
s6 = s4;
- if (s4 != s6){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s4 != s6){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
s6 = s5;
- if (s6 != s5){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s6 != s5){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Clear. Error if they are not equal
s0.clear();
- if (s0.length() != 0){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s0.length() != 0){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
// Rep. Error if they are not equal
ACE_Auto_Basic_Array_Ptr<char> s (s1.rep ());
if (ACE_OS::strlen (s.get ()) != s1.length ())
{
- ACE_ERROR((LM_ERROR,"Auto_ptr s: \n"));
+ ACE_ERROR((LM_ERROR,"Auto_ptr s:\n"));
};
ACE_CString s7 (s.get ());
- if (s1 != s7){ACE_ERROR((LM_ERROR,"Set #2: \n"));return 1;}
+ if (s1 != s7){ACE_ERROR((LM_ERROR,"Set #2:\n"));return 1;}
}
{
@@ -221,50 +316,50 @@ run_main (int, ACE_TCHAR *[])
ACE_NS_WString zero_size_string (s1.c_str (), 0, 0);
// Not equal comparisons. Error if they are equal
- if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1 == s5){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
if (s1 == s6){ACE_ERROR((LM_ERROR,"Set #3: off-by-one failed\n"));return 1;}
// Equal comparisons. Error if they are not equal
- if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1 != s1){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1 != s0){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Substring match. Error if they are not equal
- if (s1.strstr (s2) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s3.strstr (s1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1.strstr (s2) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.strstr (s3) != 2){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s3.strstr (s1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.strstr (s4) != 1){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Substring creation. Error if they are not equal
- if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1.substring (0) != s1){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.substring (1) != s4){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.substring (2, 2) != s3){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.substring (0, 0) != empty_string){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Forward search. Error if they are not equal
- if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s3.find (s1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s3.find (s1, 1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.find (s2) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1.find (s3) != 2){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s3.find (s1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.find (s3, 2) != 2){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s3.find (s1, 1) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.find (s2) != ACE_NS_WString::npos){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.find ('o') != 4){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Reverse search. Error if they are not equal
- if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
- if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s1.rfind ('l') != 3){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
+ if (s1.rfind ('l', 3) != 2){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Assignment. Error if they are not equal
ACE_NS_WString s7;
s7 = s0;
- if (s7 != s0){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s7 != s0){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
s7 = s4;
- if (s4 != s7){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s4 != s7){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
s7 = s5;
- if (s7 != s5){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s7 != s5){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
// Clear. Error if they are not equal
s0.clear();
- if (s0.length() != 0){ACE_ERROR((LM_ERROR,"Set #3: \n"));return 1;}
+ if (s0.length() != 0){ACE_ERROR((LM_ERROR,"Set #3:\n"));return 1;}
}
{
@@ -272,44 +367,44 @@ run_main (int, ACE_TCHAR *[])
ACE_CString s1("dog");
ACE_CString s2("d");
- if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if (!(s1 > s2)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if (s1 < s2){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if (s1 == s2){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if (!(s1 > s2)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if (s1 < s2){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
ACE_CString s3 ("dog");
ACE_CString s4 ("dogbert");
- if (s3 == s4){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if (!(s3 < s4)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if (s3 > s4){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if (s3 == s4){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if (!(s3 < s4)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if (s3 > s4){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
ACE_CString s5 ("dogbert",3);
ACE_CString s6 ("dogbert",5);
- if(s5 == s6){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(!(s5 < s6)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(s5 > s6){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if(s5 == s6){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(!(s5 < s6)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(s5 > s6){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
ACE_CString s7 ("dogbert",4);
ACE_CString s8 ("dogbert",2);
- if(s7 == s8){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(!(s7 > s8)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(s7 < s8){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if(s7 == s8){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(!(s7 > s8)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(s7 < s8){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
ACE_CString s9 ("dogbert",3);
ACE_CString s10 ("dogbert");
- if(s9 == s10){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(!(s9 < s10)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(s9 > s10){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if(s9 == s10){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(!(s9 < s10)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(s9 > s10){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
ACE_CString s11 ("dogbert",5);
ACE_CString s12 ("dog");
- if(s11 == s12){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(!(s11 > s12)){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
- if(s11 < s12){ACE_ERROR((LM_ERROR,"Set #4: \n"));return 1;}
+ if(s11 == s12){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(!(s11 > s12)){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
+ if(s11 < s12){ACE_ERROR((LM_ERROR,"Set #4:\n"));return 1;}
s11.fast_clear ();
if (s11.length () != 0)
@@ -329,7 +424,7 @@ run_main (int, ACE_TCHAR *[])
sstr.substring (2, 300);
if (tmp.length () == 300)
- ACE_ERROR ((LM_ERROR, "SString substring \n"));
+ ACE_ERROR ((LM_ERROR, "SString substring\n"));
// Constring an ACE_SString without a character pointer or from an
// existing ACE_SString causes memory to be allocated that will not
@@ -338,7 +433,9 @@ run_main (int, ACE_TCHAR *[])
ACE_Allocator::instance ()->free (const_cast<char *> (tmp.rep ()));
}
- int err = testConcatenation();
+ int err = testConcatenation ();
+ err += testIterator ();
+ err += testConstIterator ();
ACE_END_TEST;
return err;
diff --git a/tests/Service_Config_Stream_DLL.cpp b/tests/Service_Config_Stream_DLL.cpp
new file mode 100644
index 00000000000..002bee1d1b1
--- /dev/null
+++ b/tests/Service_Config_Stream_DLL.cpp
@@ -0,0 +1,139 @@
+// $Id$
+
+#include "Service_Config_Stream_DLL.h"
+#include "ace/Service_Repository.h"
+#include "ace/Service_Types.h"
+
+ACE_RCSID(tests, Service_Config_Stream_DLL, "$Id$")
+
+int
+Test_Task::open (void *)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("opening %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("task")));
+ return 0;
+}
+
+int
+Test_Task::close (u_long)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("closing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("task")));
+ return 0;
+}
+
+int
+Test_Task::init (int, ACE_TCHAR *[])
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("initializing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("task")));
+
+ return 0;
+}
+
+int
+Test_Task::fini (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("finalizing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("task")));
+ return 0;
+}
+
+// Factories used to control configuration.
+
+ACE_FACTORY_DECLARE (Service_Config_Stream_DLL, Test_Task)
+ACE_FACTORY_DEFINE (Service_Config_Stream_DLL, Test_Task)
+
+// Dynamically linked functions used to control configuration.
+
+extern "C" Service_Config_Stream_DLL_Export MT_Stream *make_stream (void);
+extern "C" Service_Config_Stream_DLL_Export MT_Module *make_da (void);
+extern "C" Service_Config_Stream_DLL_Export MT_Module *make_ea (void);
+extern "C" Service_Config_Stream_DLL_Export MT_Module *make_mr (void);
+
+MT_Stream *
+make_stream (void)
+{
+ return new MT_Stream;
+}
+
+MT_Module *
+make_da (void)
+{
+ return new MT_Module (ACE_TEXT ("Device_Adapter"),
+ new Test_Task, new Test_Task);
+}
+
+MT_Module *
+make_ea (void)
+{
+ return new MT_Module (ACE_TEXT ("Event_Analyzer"),
+ new Test_Task, new Test_Task);
+}
+
+MT_Module *
+make_mr (void)
+{
+ return new MT_Module (ACE_TEXT ("Multicast_Router"),
+ new Test_Task, new Test_Task);
+}
+
+
+// Task to verify the order and operation of the stream assembly
+// Command line args give the stream name (to look it up) and the names
+// of the tasks that should be there, from head to tail.
+
+ACE_FACTORY_DECLARE (Service_Config_Stream_DLL, Stream_Order_Test)
+ACE_FACTORY_DEFINE (Service_Config_Stream_DLL, Stream_Order_Test)
+
+int
+Stream_Order_Test::init (int argc, ACE_TCHAR *argv[])
+{
+ if (argc < 1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Stream_Order_Test needs at least 1 arg\n")),
+ -1);
+ const ACE_Service_Type *st = 0;
+ if (ACE_Service_Repository::instance ()->find (argv[0], &st, false) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Cannot find %s\n"), argv[0]), -1);
+ const ACE_Service_Type_Impl *st_impl = st->type ();
+ MT_Stream *str = reinterpret_cast<MT_Stream *>(st_impl->object ());
+ MT_Module *m = 0;
+ if (-1 == str->top (m))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Cannot get module %p\n"),
+ ACE_TEXT ("top")),
+ -1);
+ // Walk down the stream and compare module names. Note we start from the
+ // top, i.e., the last module pushed.
+ bool error = false;
+ for (int i = 1; i < argc; ++i)
+ {
+ if (m == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Ran out of modules at layer %d\n"),
+ i));
+ continue;
+ }
+ if (ACE_OS::strcmp (argv[i], m->name ()) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Layer %d: expected module %s, found %s\n"),
+ i,
+ argv[i], m->name ()));
+ error = true;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Layer %d: found module %s, correct\n"),
+ i,
+ m->name ()));
+ m = m->next ();
+ }
+ return error ? -1 : 0;
+}
diff --git a/tests/Service_Config_Stream_DLL.h b/tests/Service_Config_Stream_DLL.h
new file mode 100644
index 00000000000..417ddb30894
--- /dev/null
+++ b/tests/Service_Config_Stream_DLL.h
@@ -0,0 +1,44 @@
+// $Id$
+
+#ifndef SERVICE_CONFIG_STREAM_DLL_H
+#define SERVICE_CONFIG_STREAM_DLL_H
+
+#include /**/ "ace/pre.h"
+
+#include "Service_Config_Stream_DLL_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Task.h"
+#include "ace/Stream.h"
+#include "ace/Module.h"
+
+typedef ACE_Task<ACE_SYNCH> MT_Task;
+typedef ACE_Stream<ACE_SYNCH> MT_Stream;
+typedef ACE_Module<ACE_SYNCH> MT_Module;
+
+class Service_Config_Stream_DLL_Export Test_Task : public MT_Task
+{
+public:
+ //FUZZ: disable check_for_lack_ACE_OS
+ virtual int open (void *);
+ virtual int close (u_long);
+ //FUZZ: enable check_for_lack_ACE_OS
+
+ virtual int init (int, ACE_TCHAR *[]);
+ virtual int fini (void);
+};
+
+// Task to verify the order and operation of the stream assembly
+// Command line args give the stream name (to look it up) and the names
+// of the tasks that should be there, from head to tail.
+class Service_Config_Stream_DLL_Export Stream_Order_Test : public MT_Task
+{
+public:
+ virtual int init (int, ACE_TCHAR *[]);
+};
+
+#include /**/ "ace/post.h"
+#endif /* SERVICE_CONFIG_STREAM_DLL_H */
diff --git a/tests/Service_Config_Stream_DLL_Export.h b/tests/Service_Config_Stream_DLL_Export.h
new file mode 100644
index 00000000000..9ef0f6caad6
--- /dev/null
+++ b/tests/Service_Config_Stream_DLL_Export.h
@@ -0,0 +1,38 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl
+// ------------------------------
+#ifndef SERVICE_CONFIG_STREAM_DLL_EXPORT_H
+#define SERVICE_CONFIG_STREAM_DLL_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (SERVICE_CONFIG_STREAM_DLL_HAS_DLL)
+# define SERVICE_CONFIG_STREAM_DLL_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ! SERVICE_CONFIG_STREAM_DLL_HAS_DLL */
+
+#if !defined (SERVICE_CONFIG_STREAM_DLL_HAS_DLL)
+# define SERVICE_CONFIG_STREAM_DLL_HAS_DLL 1
+#endif /* ! TEST_HAS_DLL */
+
+#if defined (SERVICE_CONFIG_STREAM_DLL_HAS_DLL) && (SERVICE_CONFIG_STREAM_DLL_HAS_DLL == 1)
+# if defined (SERVICE_CONFIG_STREAM_DLL_BUILD_DLL)
+# define Service_Config_Stream_DLL_Export ACE_Proper_Export_Flag
+# define TEST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SERVICE_CONFIG_STREAM_DLL_BUILD_DLL */
+# define Service_Config_Stream_DLL_Export ACE_Proper_Import_Flag
+# define TEST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SERVICE_CONFIG_STREAM_DLL_BUILD_DLL */
+#else /* SERVICE_CONFIG_STREAM_DLL_HAS_DLL == 1 */
+# define Service_Config_Stream_DLL_Export
+# define TEST_SINGLETON_DECLARATION(T)
+# define TEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SERVICE_CONFIG_STREAM_DLL_HAS_DLL == 1 */
+
+#endif /* SERVICE_CONFIG_STREAM_DLL_EXPORT_H */
+
+// End of auto generated file.
diff --git a/tests/Service_Config_Stream_Test.conf b/tests/Service_Config_Stream_Test.conf
new file mode 100644
index 00000000000..26128c925d0
--- /dev/null
+++ b/tests/Service_Config_Stream_Test.conf
@@ -0,0 +1,25 @@
+stream dynamic Svc_Conf_Stream STREAM *Service_Config_Stream_DLL:make_stream() active
+{
+ dynamic Device_Adapter Module *Service_Config_Stream_DLL:make_da()
+# static Decrypter
+ dynamic Event_Analyzer Module *Service_Config_Stream_DLL:make_ea()
+ dynamic Multicast_Router Module *Service_Config_Stream_DLL:make_mr()
+}
+
+#dynamic Stream_Order_Test Service_Object *Service_Config_Stream_DLL:_make_Stream_Order_Test() "Svc_Conf_Stream Multicast_Router Event_Analyzer Decrypter Device_Adapter"
+dynamic Stream_Order_Test Service_Object *Service_Config_Stream_DLL:_make_Stream_Order_Test() "Svc_Conf_Stream Multicast_Router Event_Analyzer Device_Adapter"
+
+stream Svc_Conf_Stream
+{
+ remove Device_Adapter
+ remove Event_Analyzer
+ remove Multicast_Router
+}
+#stream Svc_Conf_Stream
+#{
+# remove Decrypter
+#}
+
+remove Svc_Conf_Stream
+remove Stream_Order_Test
+
diff --git a/tests/Service_Config_Stream_Test.cpp b/tests/Service_Config_Stream_Test.cpp
new file mode 100644
index 00000000000..a09fa54486f
--- /dev/null
+++ b/tests/Service_Config_Stream_Test.cpp
@@ -0,0 +1,128 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This test exercises ACE_Service_Config assembling a stream.
+//
+// = AUTHOR
+// Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Log_Msg.h"
+#include "ace/Module.h"
+#include "ace/Service_Config.h"
+#include "ace/Task.h"
+
+ACE_RCSID(tests, Service_Config_Stream_Test, "$Id$")
+
+/*
+ * The Decrypter service is static and is configured into a stream
+ * dynamically.
+ *
+ * NOTE! This code is here, and it will trip up while being loaded. If
+ * "static Decrypter" is inserted into the .conf file's module list, this
+ * test will barf. This is arguably a weird test, but I don't know any
+ * reason it should not work; however, this behavior has never been tested
+ * and may not have ever worked... but if someone is feeling ambitious,
+ * please go ahead and make this work. I'm out of time and energy.
+ * -Steve Huston
+ */
+class Static_Task : public ACE_Task<ACE_SYNCH>
+{
+public:
+ int open (void *)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("opening %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("Static_Task")));
+ return 0;
+ }
+
+ int close (u_long)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("closing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("Static_Task")));
+ return 0;
+ }
+
+ int init (int, ACE_TCHAR *[])
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("initializing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("Static_Task")));
+ return 0;
+ }
+
+ int fini (void)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("finalizing %s\n"),
+ this->name () ? this->name () : ACE_TEXT ("Static_Task")));
+ return 0;
+ }
+};
+
+class Decrypter : public ACE_Service_Object, public ACE_Module<ACE_SYNCH>
+{
+public:
+ Decrypter ()
+ : ACE_Module<ACE_SYNCH> (ACE_TEXT ("Decrypter"),
+ &writer_, &reader_,
+ 0,
+ M_DELETE_NONE) // Tasks are members; don't delete
+ {}
+
+private:
+ Static_Task writer_;
+ Static_Task reader_;
+};
+
+ACE_FACTORY_DEFINE (ACE_Local_Service, Decrypter)
+ACE_STATIC_SVC_DEFINE (Decrypter_Descriptor,
+ ACE_TEXT ("Decrypter"),
+ ACE_MODULE_T,
+ &ACE_SVC_NAME (Decrypter),
+ (ACE_Service_Type::DELETE_THIS |
+ ACE_Service_Type::DELETE_OBJ),
+ 1)
+ACE_STATIC_SVC_REQUIRE (Decrypter_Descriptor)
+
+
+int
+run_main (int, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Service_Config_Stream_Test"));
+
+ ACE_STATIC_SVC_REGISTER (Decrypter);
+
+ // If you want to try the static module in the stream test (comments at
+ // the top of this file) it needs the -y in the argv list which enables
+ // static services. Otherwise it's not really needed. Same with the
+ // 'false' 4th arg to open() below - it allows static services.
+ ACE_TCHAR *_argv[5] = { argv[0],
+ const_cast<ACE_TCHAR*> (ACE_TEXT ("-d")),
+ const_cast<ACE_TCHAR*> (ACE_TEXT ("-y")),
+ const_cast<ACE_TCHAR*> (ACE_TEXT ("-f")),
+ const_cast<ACE_TCHAR*>
+ (ACE_TEXT ("Service_Config_Stream_Test.conf")) };
+ int status;
+ if ((status = ACE_Service_Config::open (5,
+ _argv,
+ ACE_DEFAULT_LOGGER_KEY,
+ false,
+ true /*ignore def svc.conf*/)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("open"),
+ 1));
+
+ ACE_END_TEST;
+ return status;
+}
diff --git a/tests/Service_Config_Test.cpp b/tests/Service_Config_Test.cpp
index b359e1ee06d..10f02350d29 100644
--- a/tests/Service_Config_Test.cpp
+++ b/tests/Service_Config_Test.cpp
@@ -36,6 +36,15 @@ static const u_int VARIETIES = 3;
static u_int error = 0;
+class MyRepository : public ACE_Service_Repository
+{
+public:
+ array_type& array ()
+ {
+ return service_array_;
+ }
+};
+
/**
* @class Test_Singleton
*
@@ -80,13 +89,16 @@ Test_Singleton::instance (u_short variety)
static Test_Singleton *instances[VARIETIES] = { 0 };
if (instances[variety] == 0)
- ACE_NEW_RETURN (instances[variety],
- Test_Singleton (variety),
- 0);
+ {
+ ACE_NEW_RETURN (instances[variety],
+ Test_Singleton (variety),
+ 0);
+ }
ACE_Object_Manager::at_exit (instances[variety],
test_singleton_cleanup,
- reinterpret_cast<void *> (static_cast<size_t> (variety)));
+ reinterpret_cast<void *> (static_cast<size_t> (variety)),
+ "Test_Singleton");
return instances[variety];
}
@@ -145,7 +157,7 @@ testFailedServiceInit (int, ACE_TCHAR *[])
}
// Try to find the service; it should not be there.
- ACE_Service_Type const *svcp;
+ ACE_Service_Type const *svcp = 0;
if (-1 != ACE_Service_Repository::instance ()->find (ACE_TEXT ("Refuses_Svc"),
&svcp))
{
@@ -316,7 +328,7 @@ testLoadingServiceConfFile (int argc, ACE_TCHAR *argv[])
}
-// @brief The size of a repository is pre-determined and can not be exceeded
+// @brief The size of a repository is unlimited and can be exceeded
void
testLimits (int , ACE_TCHAR *[])
{
@@ -342,10 +354,9 @@ testLimits (int , ACE_TCHAR *[])
#endif /* (ACE_USES_CLASSIC_SVC_CONF == 1) */
;
-
u_int error0 = error;
- // Ensure enough room for one in a own
+ // Ensure enough room for one in a own, the repository can extend
ACE_Service_Gestalt one (1, true);
// Add two.
@@ -361,18 +372,135 @@ testLimits (int , ACE_TCHAR *[])
ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to have registered the first service\n")));
}
- if (-1 != one.find (ACE_TEXT ("Test_Object_2_More"), 0, 0))
+ if (-1 == one.find (ACE_TEXT ("Test_Object_2_More"), 0, 0))
{
++error;
- ACE_ERROR ((LM_ERROR, ACE_TEXT("Being able to add more than 1 service was not expected\n")));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Expected to have registered the second service\n")));
+ }
+
+ ACE_Service_Repository_Iterator sri (*one.current_service_repository (), 0);
+
+ size_t index = 0;
+ for (const ACE_Service_Type *sr;
+ sri.next (sr) != 0;
+ sri.advance ())
+ {
+ if (index == 0 && ACE_OS::strcmp (sr->name(), ACE_TEXT ("Test_Object_1_More")) != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Service 1 is wrong\n")));
+ }
+ if (index == 1 && ACE_OS::strcmp (sr->name(), ACE_TEXT ("Test_Object_2_More")) != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Service 2 is wrong\n")));
+ }
+ ++index;
+ }
+
+ // Test close
+ one.current_service_repository ()->close();
+
+ if (one.current_service_repository ()->current_size () != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR, ACE_TEXT("Size of repository should be 0\n")));
}
if (error == error0)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Limits test completed successfully\n")));
else
ACE_DEBUG ((LM_DEBUG, ACE_TEXT("Limits test failed\n")));
+
}
+void
+testrepository (int, ACE_TCHAR *[])
+{
+ MyRepository repository;
+ ACE_DLL handle;
+ ACE_Service_Type s0 (ACE_TEXT ("0"), 0, handle, false);
+ ACE_Service_Type s1 (ACE_TEXT ("1"), 0, handle, false);
+ ACE_Service_Type s2 (ACE_TEXT ("2"), 0, handle, false);
+ ACE_Service_Type s3 (ACE_TEXT ("3"), 0, handle, false);
+ ACE_Service_Type* result = 0;
+ repository.insert (&s0);
+ if (repository.current_size () != 1)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ repository.insert (&s1);
+ if (repository.current_size () != 2)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ repository.insert (&s2);
+ if (repository.current_size () != 3)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ if (repository.remove (ACE_TEXT ("1"), &result) != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Remove failed\n")));
+ }
+ if (repository.current_size () != 3)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ if (repository.array ()[1] != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Element 1 not zero\n"),
+ repository.current_size ()));
+ }
+ repository.insert (&s3);
+ if (repository.current_size () != 4)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ repository.remove (ACE_TEXT ("0"), &result);
+ if (repository.remove (ACE_TEXT ("1"), &result) != -1)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Double remove didn't return -1\n")));
+ }
+ repository.remove (ACE_TEXT ("2"), &result);
+ repository.remove (ACE_TEXT ("3"), &result);
+ if (repository.current_size () != 4)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+ repository.close ();
+ if (repository.current_size () != 0)
+ {
+ ++error;
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Repository was wrong size %d\n"),
+ repository.current_size ()));
+ }
+}
// @brief ??
void
@@ -538,6 +666,7 @@ run_main (int argc, ACE_TCHAR *argv[])
testLoadingServiceConfFile (argc, argv);
testLoadingServiceConfFileAndProcessNo (argc, argv);
testLimits (argc, argv);
+ testrepository (argc, argv);
#if defined (ACE_HAS_WTHREADS) || defined (ACE_HAS_PTHREADS_STD)
testNonACEThread();
#endif
diff --git a/tests/Sig_Handlers_Test.cpp b/tests/Sig_Handlers_Test.cpp
new file mode 100644
index 00000000000..eabe92895bb
--- /dev/null
+++ b/tests/Sig_Handlers_Test.cpp
@@ -0,0 +1,130 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Sig_Handlers_Test.cpp
+//
+// = DESCRIPTION
+// This is a simple program that tests whether the ACE_Sig_Handlers
+// class works properly. To run this test, start the application
+// and then type ^C. If everything is working properly the test
+// will shutdown gracefully.
+//
+// = AUTHOR
+// Douglas C. Schmidt <schmidt@dre.vanderbilt.edu> and Andreas Drescher <ace at anticat dot ch>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+#include "ace/Assert.h"
+#include "ace/SString.h"
+
+ACE_RCSID(tests, Reactor_Timer_Test, "$Id$")
+
+class Test_SIGINT_Handler : public ACE_Event_Handler
+{
+public:
+ Test_SIGINT_Handler (ACE_Reactor *reactor, const char *message)
+ : message_ (message)
+ {
+ int result = reactor->register_handler (SIGINT, this);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Main::Test_SIGINT_Handler (%u) - Result %i\n"),
+ this,
+ result));
+ Test_SIGINT_Handler::registration_count_++;
+ }
+
+ ~Test_SIGINT_Handler()
+ {
+ ACE_ASSERT (Test_SIGINT_Handler::handle_signal_count_ == Test_SIGINT_Handler::registration_count_);
+ }
+
+ virtual int handle_signal (int signal, siginfo_t *, ucontext_t *)
+ {
+ ACE_ASSERT (signal == SIGINT);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Main::Test_SIGINT_Handler (%u) - %s\n"),
+ this,
+ this->message_.c_str()));
+ Test_SIGINT_Handler::handle_signal_count_++;
+ return 0;
+ }
+
+private:
+ ACE_CString message_;
+
+ static int handle_signal_count_;
+
+ static int registration_count_;
+};
+
+int Test_SIGINT_Handler::handle_signal_count_ = 0;
+int Test_SIGINT_Handler::registration_count_ = 0;
+
+class Test_SIGINT_Shutdown_Handler : public ACE_Event_Handler
+{
+public:
+ Test_SIGINT_Shutdown_Handler (ACE_Reactor *reactor)
+ {
+ int result = reactor->register_handler (SIGINT, this);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Main::Test_SIGINT_Shutdown_Handler (%u) - Result %i\n"),
+ this,
+ result));
+ }
+
+ virtual int handle_signal (int signal, siginfo_t *, ucontext_t *)
+ {
+ ACE_ASSERT (signal == SIGINT);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Main::Test_SIGINT_Shutdown_Handler (%u)\n"),
+ this));
+ ACE_Reactor::instance ()->end_reactor_event_loop ();
+ return 0;
+ }
+};
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Sig_Handlers_Test"));
+
+ ACE_Sig_Handlers multi_handlers;
+ ACE_Select_Reactor reactor_impl (&multi_handlers);
+ ACE_Reactor reactor (&reactor_impl);
+ ACE_Reactor::instance (&reactor);
+
+ // Create a bevy of handlers.
+
+ Test_SIGINT_Handler h1 (ACE_Reactor::instance (), "h1");
+ Test_SIGINT_Handler h2 (ACE_Reactor::instance (), "h2");
+ Test_SIGINT_Handler h3 (ACE_Reactor::instance (), "h3");
+ Test_SIGINT_Handler h4 (ACE_Reactor::instance (), "h4");
+ Test_SIGINT_Handler h5 (ACE_Reactor::instance (), "h5");
+ Test_SIGINT_Handler h6 (ACE_Reactor::instance (), "h6");
+ Test_SIGINT_Handler h7 (ACE_Reactor::instance (), "h7");
+ Test_SIGINT_Handler h8 (ACE_Reactor::instance (), "h8");
+
+ Test_SIGINT_Shutdown_Handler h0 (ACE_Reactor::instance ());
+
+ // Wait for user to type SIGINT.
+ while (!ACE_Reactor::instance ()->reactor_event_loop_done ())
+ {
+ ACE_DEBUG ((LM_DEBUG,"\nwaiting for SIGINT\n"));
+ if (ACE_Reactor::instance ()->handle_events () == -1)
+ ACE_ERROR ((LM_ERROR,"%p\n","handle_events"));
+ }
+
+ ACE_END_TEST;
+ return 0;
+}
diff --git a/tests/Signal_Test.cpp b/tests/Signal_Test.cpp
index 26a10e2ef0a..9fdf4114183 100644
--- a/tests/Signal_Test.cpp
+++ b/tests/Signal_Test.cpp
@@ -97,7 +97,7 @@ handle_signal (int signum)
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) killing child pid %d \n"),
+ ACE_TEXT ("(%P|%t) killing child pid %d\n"),
child_pid));
#endif
int const result = ACE_OS::kill (child_pid,
@@ -473,6 +473,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) **** test 1: handle signals synchronously in a separate thread\n")));
+#ifdef ACE_HAS_THREADS
++test_number;
// Run the parent logic for the signal test, first by handling
// signals synchronously in a separate thread.
@@ -487,6 +488,9 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) **** test 3: handle signals asynchronously in this thread\n")));
+#else
+ test_number += 2;
+#endif /* ACE_HAS_THREADS */
++test_number;
// And finally by handling asynchronously signals in this thread.
diff --git a/tests/Singleton_Test.cpp b/tests/Singleton_Test.cpp
new file mode 100644
index 00000000000..03d2ec9bdd8
--- /dev/null
+++ b/tests/Singleton_Test.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Singleton_Test.cpp
+//
+// = DESCRIPTION
+// This is a simple test of ACE Singleton
+//
+// = AUTHOR
+// Johnny Willemsen <jwillemsen@remedy.nl>
+//
+// ============================================================================
+
+#include "tests/test_config.h"
+#include "ace/Singleton.h"
+
+ACE_RCSID(tests, Singleton_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Singleton_Test"));
+
+ int *i = ACE_Singleton <int, ACE_SYNCH_RECURSIVE_MUTEX>::instance ();
+ *i = 3;
+ ACE_Singleton <int, ACE_SYNCH_RECURSIVE_MUTEX>::close ();
+
+ ACE_END_TEST;
+
+ return 0;
+}
+
diff --git a/tests/Stack_Trace_Test.cpp b/tests/Stack_Trace_Test.cpp
index a02b062fd43..9823d432178 100644
--- a/tests/Stack_Trace_Test.cpp
+++ b/tests/Stack_Trace_Test.cpp
@@ -34,10 +34,10 @@ struct SomeException
{
static const ssize_t SKIP = 1; //@TODO: #ifdef this for MACOSX which needs 2
SomeException () : where_(SKIP), explanation_ ("") { }
- SomeException (const char* explanation)
+ SomeException (const char *explanation)
: where_(SKIP), explanation_(explanation) { }
ACE_Stack_Trace where_;
- const char* explanation_;
+ const char *explanation_;
};
void
@@ -52,17 +52,17 @@ run_main (int, ACE_TCHAR *[])
ACE_START_TEST (ACE_TEXT ("Stack_Trace_Test"));
ACE_Stack_Trace t1;
- ACE_DEBUG ((LM_DEBUG, "t1 trace is %s\n", t1.c_str()));
+ ACE_DEBUG ((LM_DEBUG, "t1 trace is %C\n", t1.c_str()));
ACE_Stack_Trace t2(t1);
- ACE_DEBUG ((LM_DEBUG, "t2 (copied) trace is %s\n",
+ ACE_DEBUG ((LM_DEBUG, "t2 (copied) trace is %C\n",
(ACE_OS::strcmp (t1.c_str(), t2.c_str()) == 0) ? "same" : "different"));
ACE_Stack_Trace t3;
- ACE_DEBUG ((LM_DEBUG, "t3 trace before assignment is %s\n",
+ ACE_DEBUG ((LM_DEBUG, "t3 trace before assignment is %C\n",
(ACE_OS::strcmp (t1.c_str(), t3.c_str()) == 0) ? "same" : "different"));
t3 = t1;
- ACE_DEBUG ((LM_DEBUG, "t3 trace after assignment is %s\n",
+ ACE_DEBUG ((LM_DEBUG, "t3 trace after assignment is %C\n",
(ACE_OS::strcmp (t1.c_str(), t3.c_str()) == 0) ? "same" : "different"));
try {
@@ -70,13 +70,13 @@ run_main (int, ACE_TCHAR *[])
}
catch (SomeException& e) {
ACE_DEBUG ((LM_DEBUG,
- "SomeException caught at\n%?\n; thrown at\n%s",
+ "SomeException caught at\n%?\n; thrown at\n%C",
e.where_.c_str()));
}
ACE_Stack_Trace one_frame_only(0, 1);
ACE_DEBUG ((LM_DEBUG,
- "stack trace of only one frame:\n%s",
+ "stack trace of only one frame:\n%C",
one_frame_only.c_str()));
ACE_DEBUG ((LM_DEBUG, "getting ready to end the test at %?\n"));
diff --git a/tests/Thread_Attrs_Test.cpp b/tests/Thread_Attrs_Test.cpp
new file mode 100644
index 00000000000..301d8923a4f
--- /dev/null
+++ b/tests/Thread_Attrs_Test.cpp
@@ -0,0 +1,152 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// Thread_Attrs_Test.cpp
+//
+// = DESCRIPTION
+// This test program ensures that attributes set on a thread via the
+// ACE_Task/ACE_Thread_Manager are honored.
+//
+// = AUTHOR
+// Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Task.h"
+
+ACE_RCSID(tests, Thread_Attrs_Test, "$Id$")
+
+#if defined (ACE_HAS_THREADS)
+
+namespace
+{
+ // Change this to 'true' if you want lots of debugging messages in the log
+ const bool PRINT_DEBUG_MSGS = true;
+}
+
+class Stack_Size_Check : public ACE_Task<ACE_MT_SYNCH>
+{
+ // = TITLE
+ // Defines a task that verifies its stack size.
+
+public:
+ Stack_Size_Check (size_t stack_size);
+ // Create the thread with specified stack size
+
+ //FUZZ: disable check_for_lack_ACE_OS
+ virtual int open (void * = 0);
+ // Spawn the thread
+ //FUZZ: enable check_for_lack_ACE_OS
+
+ virtual int svc (void);
+ // Check the stack size against what is expected then exit.
+
+ bool operator! ();
+ // Returns true iff failed_ == false.
+
+private:
+ size_t stack_size_;
+
+ bool failed_;
+ // Flag indicating the test failed.
+};
+
+bool
+Stack_Size_Check::operator!()
+{
+ return this->failed_;
+}
+
+Stack_Size_Check::Stack_Size_Check (size_t stack_size)
+ : stack_size_ (stack_size), failed_ (false)
+{
+}
+
+int
+Stack_Size_Check::svc (void)
+{
+ size_t my_size = 0;
+
+#ifdef __USE_GNU
+ pthread_attr_t my_attrs;
+ pthread_getattr_np (pthread_self (), &my_attrs);
+ pthread_attr_getstacksize (&my_attrs, &my_size);
+ pthread_attr_destroy (&my_attrs);
+#else
+ // No known way to do this yet... feel free to fill this in.
+ my_size = this->stack_size_;
+#endif /* __USE_GNU */
+
+ // The Posix docs say that the size set for the threads stack will be the
+ // *minimum* size allocated (the actual size may be bigger because of
+ // a) pagesize rounding, b) guardsize addition) so we can really only
+ // check if we have gotten *at least* what we asked for.
+ if (my_size < this->stack_size_)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%t: My stack size attr %B; expected %B\n"),
+ my_size, this->stack_size_));
+ this->failed_ = true;
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("%t: My stack size attr %B; correct.\n"),
+ my_size));
+ return 0;
+}
+
+int
+Stack_Size_Check::open (void *)
+{
+ if (this->activate (THR_NEW_LWP | THR_JOINABLE,
+ 1,
+ 0,
+ ACE_DEFAULT_THREAD_PRIORITY,
+ -1,
+ 0,
+ 0,
+ 0,
+ &stack_size_) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("Stack_Size_Check activate failed")),
+ -1);
+
+ return 0;
+}
+
+#endif /* ACE_HAS_THREADS */
+
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Thread_Attrs_Test"));
+
+ int status = 0;
+#if defined (ACE_HAS_THREADS)
+ Stack_Size_Check size_checker (40*1024);
+ status = size_checker.open(0);
+ if (status == 0)
+ {
+ if (size_checker.wait () == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("size_checker %p\n"),
+ ACE_TEXT ("wait")),
+ 1);
+ if (!size_checker)
+ status = 1;
+ }
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("threads not supported on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+ ACE_END_TEST;
+ return status;
+}
diff --git a/tests/Thread_Pool_Reactor_Resume_Test.cpp b/tests/Thread_Pool_Reactor_Resume_Test.cpp
index 51df91fccf0..682acd32172 100644
--- a/tests/Thread_Pool_Reactor_Resume_Test.cpp
+++ b/tests/Thread_Pool_Reactor_Resume_Test.cpp
@@ -163,7 +163,7 @@ int
Request_Handler::resume_handler (void)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) resume_handler () called \n")));
+ ACE_TEXT ("(%t) resume_handler () called\n")));
return 1;
}
@@ -196,8 +196,8 @@ Request_Handler::handle_input (ACE_HANDLE fd)
else
{
ACE_DEBUG ((LM_DEBUG,
- "(%t) Errno is %d and result is %d\n",
- errno, result));
+ "(%t) Errno is %d and result is %d\n",
+ ACE_ERRNO_GET, result));
ACE_DEBUG ((LM_DEBUG,
"(%t) Request_Handler: 0x%x peer closed (0x%x)\n",
this, fd));
@@ -214,7 +214,7 @@ Request_Handler::handle_close (ACE_HANDLE fd, ACE_Reactor_Mask)
this->nr_msgs_rcvd_));
if (this->nr_msgs_rcvd_ != cli_req_no)
ACE_ERROR((LM_ERROR,
- "(%t) Handler 0x%x: Expected %d messages; got %d\n",
+ ACE_TEXT ("(%t) Handler 0x%x: Expected %d messages; got %d\n"),
this,
cli_req_no,
this->nr_msgs_rcvd_));
@@ -240,8 +240,8 @@ svr_worker (void *)
if (result == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "(%t) %p\n",
- "Error handling events"),
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Error handling events")),
0);
ACE_DEBUG ((LM_DEBUG,
@@ -265,8 +265,8 @@ cli_worker (void *arg)
if (connect.connect (stream, addr) < 0)
{
ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "connect"));
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("connect")));
continue;
}
@@ -280,8 +280,8 @@ cli_worker (void *arg)
(len + 1) * sizeof (ACE_TCHAR)) == -1)
{
ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "send_n"));
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("send_n")));
continue;
}
ACE_OS::sleep (delay);
@@ -321,8 +321,8 @@ worker (void *)
if (connect.connect (stream, addr) == -1)
ACE_ERROR ((LM_ERROR,
- "(%t) %p Error while connecting\n",
- "connect"));
+ ACE_TEXT ("(%t) %p Error while connecting\n"),
+ ACE_TEXT ("connect")));
const ACE_TCHAR *sbuf = ACE_TEXT ("\011shutdown");
@@ -332,8 +332,8 @@ worker (void *)
if (stream.send_n (sbuf, (ACE_OS::strlen (sbuf) + 1) * sizeof (ACE_TCHAR)) == -1)
ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "send_n"));
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("send_n")));
ACE_DEBUG ((LM_DEBUG,
"Sent message of length = %d\n",
diff --git a/tests/Thread_Pool_Reactor_Test.cpp b/tests/Thread_Pool_Reactor_Test.cpp
index 61febd32f80..e9ddd6fadce 100644
--- a/tests/Thread_Pool_Reactor_Test.cpp
+++ b/tests/Thread_Pool_Reactor_Test.cpp
@@ -48,7 +48,7 @@
#include "ace/Thread_Manager.h"
#include "ace/TP_Reactor.h"
-ACE_RCSID(tests, Atomic_Op_Test, "$Id$")
+ACE_RCSID(tests, Thread_Pool_Reactor_Test, "$Id$")
#if defined (ACE_HAS_THREADS)
diff --git a/tests/Thread_Timer_Queue_Adapter_Test.cpp b/tests/Thread_Timer_Queue_Adapter_Test.cpp
new file mode 100644
index 00000000000..6b74e4a81da
--- /dev/null
+++ b/tests/Thread_Timer_Queue_Adapter_Test.cpp
@@ -0,0 +1,307 @@
+// $Id$
+
+/**
+ * @file Thread_Timer_Queue_Adapter_Test.cpp
+ *
+ * @author Alon Diamant <diamant.alon@gmail.com>
+ *
+ * This test verifies the functionality of the ACE_Timer_Queue_Thread_Adapter.
+ * It also shows the usage of custom event handlers.
+ *
+ */
+//=============================================================================
+
+#include "ace/Timer_Wheel.h"
+#include "ace/Timer_Queue_Adapters.h"
+#include "test_config.h"
+
+#if defined (ACE_HAS_THREADS)
+
+/// ICustomEventHandler
+///
+/// Used to demonstrate the usage of custom event handlers. This is called by the
+/// timer queue thread adapter.
+class ICustomEventHandler
+{
+ public:
+
+ /// Default constructor.
+ ///
+ /// @return
+ ICustomEventHandler()
+ {
+ }
+
+ /// Default destructor.
+ ///
+ /// @return
+ virtual ~ICustomEventHandler()
+ {
+ }
+
+ /// Main functor method.
+ ///
+ /// @return int
+ /// @param p_vParameter
+ virtual int operator() (void* p_vParameter) = 0;
+};
+
+/// CCustomEventHandlerUpcall
+///
+/// Implements the Upcall interface used by the ACE_Timer_Queue, specifically for the
+/// ICustomEventHandler interface.
+class CCustomEventHandlerUpcall
+{
+ public:
+
+ typedef ACE_Timer_Queue_T<ICustomEventHandler*,
+ CCustomEventHandlerUpcall,
+ ACE_Null_Mutex> TTimerQueue;
+
+ /// Default constructor
+ CCustomEventHandlerUpcall()
+ {
+ }
+
+ /// Destructor.
+ ~CCustomEventHandlerUpcall()
+ {
+ }
+
+ /// This method is called when the timer expires.
+ int timeout (TTimerQueue&,
+ ICustomEventHandler* p_Handler,
+ const void* p_vParameter,
+ int /*recurring_timer*/,
+ const ACE_Time_Value& /*cur_time*/)
+ {
+ ACE_TRACE(ACE_TEXT ("timeout"));
+
+ return (*p_Handler)(const_cast<void*> (p_vParameter));
+ }
+
+ /// This method is called when a timer is registered.
+ int registration(TTimerQueue&, ICustomEventHandler*, const void*) { return 0; }
+
+ /// This method is called before the timer expires.
+ int preinvoke(TTimerQueue&, ICustomEventHandler*, const void*,
+ int, const ACE_Time_Value&, const void*&) { return 0; }
+
+ /// This method is called after the timer expires.
+ int postinvoke(TTimerQueue&, ICustomEventHandler*, const void*,
+ int, const ACE_Time_Value&, const void*) { return 0; }
+
+ /// This method is called when a handler is canceled
+ int cancel_type(TTimerQueue&, ICustomEventHandler*, int, int&) { return 0; }
+
+ /// This method is called when a timer is canceled
+ int cancel_timer(TTimerQueue&, ICustomEventHandler* p_Handler, int, int)
+ {
+ ACE_TRACE(ACE_TEXT ("cancel_timer"));
+ delete p_Handler;
+ return 0;
+ }
+
+ /// This method is called when the timer queue is destroyed and
+ /// the timer is still contained in it
+ int deletion(TTimerQueue&, ICustomEventHandler* p_Handler, const void*)
+ {
+ ACE_TRACE(ACE_TEXT ("deletion"));
+ delete p_Handler;
+ return 0;
+ }
+};
+
+/// ICustomEventHandler
+///
+/// Used to demonstrate the usage of custom event handlers. This is called by the
+/// timer queue thread adapter.
+class CTestEventHandler : public ICustomEventHandler
+{
+ public:
+
+ /// Default constructor.
+ ///
+ /// @return
+ CTestEventHandler(long* p_iCallCount)
+ : m_p_iCallCount(p_iCallCount)
+ {
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT("%I(%t) Initializing test event handler.\n")));
+ }
+
+ /// Default destructor.
+ ///
+ /// @return
+ virtual ~CTestEventHandler()
+ {
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT("%I(%t) Destroying test event handler.\n")));
+ }
+
+ /// Main functor method.
+ ///
+ /// @return int
+ /// @param p_vParameter
+ virtual int operator() (void* p_vParameter)
+ {
+ long iParameter = (long) p_vParameter;
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Incrementing test event handler call count by %d.\n"),
+ iParameter));
+
+ m_Mutex.acquire();
+ *m_p_iCallCount += iParameter;
+ m_Mutex.release();
+
+ // Success
+ return 0;
+ }
+
+ private:
+
+ long* m_p_iCallCount;
+ ACE_Thread_Mutex m_Mutex;
+};
+
+// Used for the actual timer queue thread adapter
+typedef ACE_Timer_Wheel_T <ICustomEventHandler*,
+ CCustomEventHandlerUpcall,
+ ACE_Null_Mutex> TTimerWheel;
+typedef ACE_Timer_Wheel_Iterator_T <ICustomEventHandler*,
+ CCustomEventHandlerUpcall,
+ ACE_Null_Mutex> TTimerWheelIterator;
+typedef ACE_Thread_Timer_Queue_Adapter<TTimerWheel,
+ ICustomEventHandler*> TTimerWheelThreadAdapter;
+
+#endif /* ACE_HAS_THREADS */
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Thread_Timer_Queue_Adapter_Test"));
+
+#if defined (ACE_HAS_THREADS)
+
+ // Start the thread adapter
+ TTimerWheelThreadAdapter TimerWheelThreadAdapter;
+ TimerWheelThreadAdapter.activate();
+
+ // Single timer
+ {
+ // Create a test event handler
+ long iCallCount = 0;
+ CTestEventHandler* p_TestEventHandler = 0;
+ ACE_NEW_RETURN(p_TestEventHandler, CTestEventHandler(&iCallCount), -1);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Scheduling timer...\n")));
+
+ TimerWheelThreadAdapter.schedule(p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(1, 0));
+
+ ACE_OS::sleep(ACE_Time_Value(1, 100 * 1000));
+ ACE_ASSERT(iCallCount == 1);
+
+ delete p_TestEventHandler;
+
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT("%I(%t) Success in Single timer test.\n")));
+ }
+
+ // Single timer with cancellation
+ {
+ // Create a test event handler
+ long iCallCount = 0;
+ CTestEventHandler* p_TestEventHandler = 0;
+ ACE_NEW_RETURN(p_TestEventHandler, CTestEventHandler(&iCallCount), -1);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Scheduling timer...\n")));
+
+ long lTimerHandle =
+ TimerWheelThreadAdapter.schedule(p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(1, 0));
+
+ // Cancel the repeating timer
+ TimerWheelThreadAdapter.cancel(lTimerHandle);
+
+ ACE_OS::sleep(ACE_Time_Value(1, 100 * 1000));
+
+ ACE_ASSERT(iCallCount == 0);
+
+ // Test event handler was deleted by the timer.
+
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT("%I(%t) Success in Single timer with cancellation test.\n")));
+ }
+
+ // Repeating timer with cancellation
+ {
+ // Create a test event handler
+ long iCallCount = 0;
+ CTestEventHandler* p_TestEventHandler = 0;
+ ACE_NEW_RETURN(p_TestEventHandler, CTestEventHandler(&iCallCount), -1);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Scheduling timer...\n")));
+
+ long lTimerHandle =
+ TimerWheelThreadAdapter.schedule
+ (p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(1, 0),
+ ACE_Time_Value(1, 0));
+
+ ACE_OS::sleep(ACE_Time_Value(3, 500 * 1000));
+ ACE_ASSERT(iCallCount == 3);
+
+ // Cancel the repeating timer
+ TimerWheelThreadAdapter.cancel(lTimerHandle);
+
+ ACE_ASSERT(iCallCount == 3);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Success in Repeating timer with cancellation test.\n")));
+ }
+
+ // Multiple timers
+ {
+ // Create a test event handler
+ long iCallCount = 0;
+ CTestEventHandler* p_TestEventHandler = 0;
+ ACE_NEW_RETURN(p_TestEventHandler, CTestEventHandler(&iCallCount), -1);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("%I(%t) Scheduling timer...\n")));
+
+ TimerWheelThreadAdapter.schedule
+ (p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(1, 0));
+
+ TimerWheelThreadAdapter.schedule
+ (p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(1, 0));
+
+ TimerWheelThreadAdapter.schedule
+ (p_TestEventHandler,
+ (void*) 1,
+ ACE_OS::gettimeofday() + ACE_Time_Value(2, 0));
+
+ ACE_OS::sleep(ACE_Time_Value(3, 0));
+ ACE_ASSERT(iCallCount == 3);
+
+ delete p_TestEventHandler;
+
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT("%I(%t) Success in Multiple timers test.\n")));
+ }
+
+#else
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("threads not supported on this platform\n")));
+#endif /* ACE_HAS_THREADS */
+ ACE_END_TEST;
+
+ return 0;
+}
diff --git a/tests/Time_Value_Test.cpp b/tests/Time_Value_Test.cpp
index 008089d473c..1f136ead1bc 100644
--- a/tests/Time_Value_Test.cpp
+++ b/tests/Time_Value_Test.cpp
@@ -30,6 +30,9 @@ ACE_RCSID(tests, Time_Value_Test, "$Id$")
#include "ace/Numeric_Limits.h"
+#ifdef ACE_HAS_CPP98_IOSTREAMS
+#include <sstream>
+#endif
int
run_main (int, ACE_TCHAR *[])
@@ -98,16 +101,9 @@ run_main (int, ACE_TCHAR *[])
const time_t max_time_t = ACE_Numeric_Limits<time_t>::max ();
const time_t min_time_t = ACE_Numeric_Limits<time_t>::min ();
- // test results near limits
- tv1.set ((max_time_t >> 1), 499999);
- tv2.set ((-(max_time_t >> 1) << 1), -999998);
- tv1 *= -2.0;
- ACE_ASSERT (tv1 == tv2);
- tv1.set (max_time_t >> 1, 499999);
- tv2.set (((max_time_t >> 1) << 1), 999998);
- tv1 *= 2.0;
- ACE_ASSERT (tv1 == tv2);
-
+ // test protection against overflows
+ // ACE_ASSERT( ACE_Time_Value(max_time_t,ACE_ONE_SECOND_IN_USECS) != ACE_Time_Value(ACE_Numeric_Limits<time_t>::min()) );
+
// test saturated result
tv1.set (max_time_t - 1, 499999);
tv2.set (max_time_t, 999999); // ACE_Time_Value::max_time
@@ -117,6 +113,16 @@ run_main (int, ACE_TCHAR *[])
tv2.set (min_time_t, -999999);
tv1 *= -10.0;
ACE_ASSERT (tv1 == tv2);
+
+ // test results near limits
+ tv1.set ((max_time_t >> 1), 499999);
+ tv2.set ((-(max_time_t >> 1) << 1), -999998);
+ tv1 *= -2.0;
+ ACE_ASSERT (tv1 == tv2);
+ tv1.set (max_time_t >> 1, 499999);
+ tv2.set (((max_time_t >> 1) << 1), 999998);
+ tv1 *= 2.0;
+ ACE_ASSERT (tv1 == tv2);
// Test correct msec() convert; also checks for compile error reported in
// Bugzilla 3336.
@@ -127,7 +133,7 @@ run_main (int, ACE_TCHAR *[])
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("msec test failed: %Q should be 42555\n"),
ms));
- const ACE_Time_Value msec_test2 (42, 555000);
+ ACE_Time_Value const msec_test2 (42, 555000);
ms = 0;
msec_test2.msec (ms);
if (ms != 42555)
@@ -135,6 +141,27 @@ run_main (int, ACE_TCHAR *[])
ACE_TEXT ("msec const test failed: %Q should be 42555\n"),
ms));
+#ifdef ACE_HAS_CPP98_IOSTREAMS
+ std::ostringstream ost;
+ ost << ACE_Time_Value(1);
+ ACE_ASSERT( ost.str() == "1" );
+ ost.str("");
+ ost << ACE_Time_Value(1,1);
+ ACE_ASSERT( ost.str() == "1.000001" );
+ ost.str("");
+ ost << ACE_Time_Value(-1,-1);
+ ACE_ASSERT( ost.str() == "-1.000001" );
+ ost.str("");
+ ost << ACE_Time_Value(0,1);
+ ACE_ASSERT( ost.str() == "0.000001" );
+ ost.str("");
+ ost << ACE_Time_Value(0,-1);
+ ACE_ASSERT( ost.str() == "-0.000001" );
+ ost.str("");
+ ost << ACE_Time_Value();
+ ACE_ASSERT( ost.str() == "0" );
+#endif
+
ACE_END_TEST;
return ret;
diff --git a/tests/Timer_Queue_Test.cpp b/tests/Timer_Queue_Test.cpp
index f6a76ee3465..b7d86518f33 100644
--- a/tests/Timer_Queue_Test.cpp
+++ b/tests/Timer_Queue_Test.cpp
@@ -87,6 +87,56 @@ public:
// Keeps track of the number of times that <handle_close> is called.
};
+
+struct Interval_Handler : public ACE_Event_Handler
+{
+ Interval_Handler (void) : trip_count_ (0) { }
+
+ virtual int handle_timeout (const ACE_Time_Value & , const void *)
+ {
+ ++trip_count_;
+ return 0;
+ }
+
+ unsigned trip_count_; // number of times handle_timeout has been tripped.
+};
+
+static void
+test_interval_timer (ACE_Timer_Queue *tq)
+{
+ /*
+ The strategy:
+
+ Set up a timer to fire on a 50ms interval.
+ */
+ Interval_Handler ih;
+ ACE_Time_Value interval (0, 50 * 1000 /* number of usec in millisecond */);
+ const unsigned NUM_INTERVAL_FIRINGS = 50;
+ ACE_Time_Value loop_stop_time =
+ tq->gettimeofday () + (NUM_INTERVAL_FIRINGS * interval);
+ const unsigned EXPECTED_TRIP_COUNT =
+ NUM_INTERVAL_FIRINGS + 1 /* for the first immediate firing */;
+
+ long id = tq->schedule (&ih, 0 /* no act */, ACE_Time_Value::zero, interval);
+ ACE_ASSERT (id != -1);
+
+ do
+ {
+ tq->expire ();
+ }
+ while (tq->gettimeofday () < loop_stop_time);
+
+ ACE_DEBUG((LM_DEBUG,
+ ACE_TEXT("after interval loop, timer fired %d ")
+ ACE_TEXT("times out of %d expected: %s\n"),
+ ih.trip_count_, EXPECTED_TRIP_COUNT,
+ ih.trip_count_ == EXPECTED_TRIP_COUNT
+ ? ACE_TEXT ("success") : ACE_TEXT ("FAIL")
+ ));
+
+ tq->cancel (id);
+}
+
static void
test_functionality (ACE_Timer_Queue *tq)
{
@@ -646,6 +696,7 @@ run_main (int argc, ACE_TCHAR *argv[])
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("**** starting test of %s\n"),
tq_ptr->name_));
+ test_interval_timer (tq_ptr->queue_);
test_functionality (tq_ptr->queue_);
test_performance (tq_ptr->queue_,
tq_ptr->name_);
diff --git a/tests/UUID_Test.cpp b/tests/UUID_Test.cpp
index acfebbd565c..2c753475ebf 100644
--- a/tests/UUID_Test.cpp
+++ b/tests/UUID_Test.cpp
@@ -23,19 +23,9 @@
class Tester
{
public:
- int init (void);
int test (void);
};
-
-int
-Tester::init (void)
-{
- ///Initialise the UUID Generator
- ACE_Utils::UUID_GENERATOR::instance ()->init ();
- return 0;
-}
-
int
Tester::test (void)
{
@@ -45,70 +35,94 @@ Tester::test (void)
auto_ptr <ACE_Utils::UUID> uuid (ACE_Utils::UUID_GENERATOR::instance ()->generate_UUID ());
ACE_CString uuid_str (uuid->to_string ()->c_str ());
ACE_DEBUG ((LM_DEBUG,
- "Generated UUID\n %s\n",
+ ACE_TEXT ("Generated UUID\n %s\n"),
uuid_str.c_str ()));
// Construct UUID from string
ACE_Utils::UUID new_uuid (uuid_str);
+
ACE_DEBUG ((LM_DEBUG,
- "UUID Constructed from above Generated UUID\n %s\n",
+ ACE_TEXT ("UUID Constructed from above Generated UUID\n %s\n"),
new_uuid.to_string ()->c_str ()));
// Construct UUID from string by assigning it
ACE_Utils::UUID new_uuid_assign;
new_uuid_assign.from_string (new_uuid.to_string ()->c_str ());
ACE_DEBUG ((LM_DEBUG,
- "UUID Constructed from above Generated UUID with assign\n %s\n",
+ ACE_TEXT ("UUID Constructed from above Generated UUID ")
+ ACE_TEXT ("with assign\n %s\n"),
new_uuid_assign.to_string ()->c_str ()));
if (new_uuid != new_uuid_assign)
- {
- ACE_ERROR ((LM_ERROR, "Error: UUIDs are not the same\n"));
- retval = -1;
- }
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: UUIDs are not the same\n")),
+ -1);
+
+ // Check the hash value of the 2 UUIDs
+
+ if (new_uuid.hash () != new_uuid_assign.hash ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: hash value of UUIDs are ")
+ ACE_TEXT ("not the same")),
+ -1);
// Construct UUID using the copy constructor
ACE_Utils::UUID new_uuid_copy (new_uuid);
ACE_DEBUG ((LM_DEBUG,
- "UUID Constructed from above Generated UUID with copy\n %s\n",
+ ACE_TEXT ("UUID constructed from above Generated UUID")
+ ACE_TEXT (" with copy\n %s\n"),
new_uuid_copy.to_string ()->c_str ()));
if (new_uuid != new_uuid_copy)
- {
- ACE_ERROR ((LM_ERROR, "Error: UUIDs are not the same with copy\n"));
- retval = -1;
- }
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: UUIDs are not the same ")
+ ACE_TEXT ("with copy\n")),
+ -1);
+
+ ACE_Utils::UUID nil_uuid (*ACE_Utils::UUID::NIL_UUID.to_string ());
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("UUID Constructed from NIL_UUID with ")
+ ACE_TEXT ("string copy\n %s\n"),
+ nil_uuid.to_string ()->c_str ()));
+
+ if (nil_uuid != ACE_Utils::UUID::NIL_UUID)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: UUIDs are not the same with ")
+ ACE_TEXT ("NIL_UUID string copy\n")),
+ -1);
// Construct UUID using the assignment constructor
ACE_Utils::UUID new_uuid_assigment;
new_uuid_assigment = new_uuid;
ACE_DEBUG ((LM_DEBUG,
- "UUID Constructed from above Generated UUID with assignment\n %s\n",
+ ACE_TEXT ("UUID Constructed from above Generated UUID ")
+ ACE_TEXT ("with assignment\n %s\n"),
new_uuid_assigment.to_string ()->c_str ()));
if (new_uuid != new_uuid_assigment)
- {
- ACE_ERROR ((LM_ERROR, "Error: UUIDs are not the same with assignment\n"));
- retval = -1;
- }
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: UUIDs are not the same "
+ ACE_TEXT ("with assignment\n"))),
+ -1);
// Generate UUID with process and thread ids.
- auto_ptr <ACE_Utils::UUID> uuid_with_tp_id (ACE_Utils::UUID_GENERATOR::instance ()->generate_UUID (0x0001,
- 0xc0));
+ auto_ptr <ACE_Utils::UUID>
+ uuid_with_tp_id (ACE_Utils::UUID_GENERATOR::instance ()->generate_UUID (0x0001, 0xc0));
+
ACE_DEBUG ((LM_DEBUG,
- "UUID with Thread and Process ID\n %s\n",
+ ACE_TEXT ("UUID with Thread and Process ID\n %s\n"),
uuid_with_tp_id->to_string ()->c_str ()));
if (new_uuid == *uuid_with_tp_id)
- {
- ACE_ERROR ((LM_ERROR, "Error: UUIDs are the same\n"));
- retval = -1;
- }
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: UUIDs are the same\n")),
+ -1);
// Construct UUID from string
ACE_Utils::UUID new_uuid_with_tp_id (uuid_with_tp_id->to_string ()->c_str ());
ACE_DEBUG ((LM_DEBUG,
- "UUID with Thread and Process ID reconstructed from above UUID \n %s\n",
+ ACE_TEXT ("UUID with Thread and Process ID reconstructed ")
+ ACE_TEXT ("from above UUID \n %s\n"),
new_uuid_with_tp_id.to_string ()->c_str ()));
return retval;
@@ -120,21 +134,14 @@ int run_main(int, ACE_TCHAR* [])
Tester tester;
- if (tester.init () == -1)
- {
- ACE_DEBUG((LM_DEBUG,
- "UUIDTest: Tester::init failed\n"));
- return -1;
- }
-
int result = tester.test();
if (result == 0)
ACE_DEBUG((LM_DEBUG,
- "UUID_Test succeeded\n"));
+ ACE_TEXT ("UUID_Test succeeded\n")));
else
ACE_ERROR((LM_ERROR,
- "UUID_Test failed\n"));
+ ACE_TEXT ("UUID_Test failed\n")));
ACE_END_TEST;
diff --git a/tests/Unbounded_Set_Test.cpp b/tests/Unbounded_Set_Test.cpp
index 854632f5fc5..6bfffd50c11 100644
--- a/tests/Unbounded_Set_Test.cpp
+++ b/tests/Unbounded_Set_Test.cpp
@@ -58,6 +58,11 @@ run_main (int, ACE_TCHAR *[])
ACE_ERROR ((LM_ERROR, "Error: ubs.size () != 0\n"));
retval = -1;
}
+ if (!ubs.is_empty ())
+ {
+ ACE_ERROR ((LM_ERROR, "Error: !ubs.is_empty ()\n"));
+ retval = -1;
+ }
// Insert a value. Immediately remove it.
r = ubs.insert (node);
diff --git a/tests/Upgradable_RW_Test.cpp b/tests/Upgradable_RW_Test.cpp
index 7f005517c77..9c8279fbc5b 100644
--- a/tests/Upgradable_RW_Test.cpp
+++ b/tests/Upgradable_RW_Test.cpp
@@ -299,9 +299,9 @@ Time_Calculation ::print_stats (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("\n")
- ACE_TEXT ("\treal_time\t = %0.06f ms, \n")
- ACE_TEXT ("\tuser_time\t = %0.06f ms, \n")
- ACE_TEXT ("\tsystem_time\t = %0.06f ms, \n")
+ ACE_TEXT ("\treal_time\t = %0.06f ms,\n")
+ ACE_TEXT ("\tuser_time\t = %0.06f ms,\n")
+ ACE_TEXT ("\tsystem_time\t = %0.06f ms,\n")
ACE_TEXT ("\t%0.00f calls/second\n"),
elapsed_time.real_time < 0.0 ? 0.0 : elapsed_time.real_time,
elapsed_time.user_time < 0.0 ? 0.0 : elapsed_time.user_time,
@@ -438,7 +438,7 @@ run_main (int argc, ACE_TCHAR *argv[])
if (not_upgraded != 0 || upgraded != 0)
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("upgraded to not upgraded ratio = %f \n"),
+ ACE_TEXT ("upgraded to not upgraded ratio = %f\n"),
(float) upgraded / (float) (not_upgraded + upgraded)));
ACE_DEBUG ((LM_DEBUG,
diff --git a/tests/XtAthenaReactor_Test.cpp b/tests/XtAthenaReactor_Test.cpp
index 3bba4a52a6c..8a3245574b5 100644
--- a/tests/XtAthenaReactor_Test.cpp
+++ b/tests/XtAthenaReactor_Test.cpp
@@ -45,15 +45,21 @@ ACE_RCSID (tests,
#include /**/ <X11/Intrinsic.h>
#include /**/ <X11/Xatom.h>
#include /**/ <X11/Shell.h>
-
-#include /**/ <X11/Xaw/Command.h>
-#include /**/ <X11/Xaw/Label.h>
-#include /**/ <X11/Xaw/Box.h>
#include /**/ <X11/StringDefs.h>
+#if defined (ACE_HAS_ATHENA3D)
+# include /**/ <X11/Xaw3d/Command.h>
+# include /**/ <X11/Xaw3d/Label.h>
+# include /**/ <X11/Xaw3d/Box.h>
+#else
+# include /**/ <X11/Xaw/Command.h>
+# include /**/ <X11/Xaw/Label.h>
+# include /**/ <X11/Xaw/Box.h>
+#endif
+
static void set_label(Widget w, const char *p)
{
- XtVaSetValues (w, XtNlabel, p, 0);
+ XtVaSetValues (w, XtNlabel, p, static_cast<void *>(0));
}
#define LABEL_WIDGET labelWidgetClass
#define BUTTON_WIDGET commandWidgetClass
@@ -235,7 +241,7 @@ run_main (int argc, ACE_TCHAR *argv[])
&argc,
argv,
0,
- 0);
+ static_cast<void *>(0));
digits_rc = create_box(topLevel, "digits_rc");
diff --git a/tests/XtMotifReactor_Test.cpp b/tests/XtMotifReactor_Test.cpp
index bbfeecfe998..37be8a2a07b 100644
--- a/tests/XtMotifReactor_Test.cpp
+++ b/tests/XtMotifReactor_Test.cpp
@@ -55,7 +55,7 @@ static void set_label(Widget w, const char *p)
XtVaSetValues (w,
XmNlabelString,
XmStringCreateLocalized( (char*) p),
- 0);
+ static_cast<void *>(0));
}
#define LABEL_WIDGET xmLabelWidgetClass
#define BUTTON_WIDGET xmPushButtonWidgetClass
@@ -242,7 +242,7 @@ run_main (int argc, ACE_TCHAR *argv[])
&argc,
argv,
0,
- 0);
+ static_cast<void *>(0));
digits_rc = create_box(topLevel, "digits_rc");
diff --git a/tests/non_mpc_makefile/Bug_3708_Regression.pl b/tests/non_mpc_makefile/Bug_3708_Regression.pl
new file mode 100755
index 00000000000..afb17fa5aec
--- /dev/null
+++ b/tests/non_mpc_makefile/Bug_3708_Regression.pl
@@ -0,0 +1,21 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{ACE_ROOT}/bin";
+
+# This test can't run on Win32
+exit if ($^O eq 'MSWin32');
+
+# This test can't be run if "make" is not in the path or if it resolves to
+# a non-GNU version of make.
+
+exit unless (`make --version` =~ /^GNU Make/);
+
+print "Running non_mpc_makefile test:\n";
+system "make -f CustomMakefile";
+print "ERROR: libfoo.a not made\n" unless -r 'libfoo.a';
+system "make -f CustomMakefile realclean";
diff --git a/tests/non_mpc_makefile/CustomMakefile b/tests/non_mpc_makefile/CustomMakefile
new file mode 100644
index 00000000000..0024b298e25
--- /dev/null
+++ b/tests/non_mpc_makefile/CustomMakefile
@@ -0,0 +1,9 @@
+static_libs_only=1
+LIB = libfoo.a
+LSRC = foo.cpp
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/tests/non_mpc_makefile/foo.cpp b/tests/non_mpc_makefile/foo.cpp
new file mode 100644
index 00000000000..72e8e3c4810
--- /dev/null
+++ b/tests/non_mpc_makefile/foo.cpp
@@ -0,0 +1,6 @@
+// $Id:$
+
+int foo()
+{
+ return 42;
+}
diff --git a/tests/run_test.lst b/tests/run_test.lst
index 7264a1916a8..3d1d603d078 100644
--- a/tests/run_test.lst
+++ b/tests/run_test.lst
@@ -1,3 +1,4 @@
+
# $Id$
#
# This is the list of tests that need to be run by run_test.pl.
@@ -32,20 +33,32 @@ Buffer_Stream_Test
Bug_1576_Regression_Test
Bug_1890_Regression_Test
Bug_2368_Regression_Test: ALL !DISABLED
+Bug_2434_Regression_Test
Bug_2497_Regression_Test
Bug_2540_Regression_Test
-#Bug_2609_Regression_Test: !ST !ACE_FOR_TAO
-#Bug_2610_Regression_Test: !ST !ACE_FOR_TAO
+Bug_2609_Regression_Test: !ST !ACE_FOR_TAO
+Bug_2610_Regression_Test: !ST !ACE_FOR_TAO !FIXED_BUGS_ONLY
Bug_2659_Regression_Test: !ST !VxWorks64 !VxWorks65
Bug_2653_Regression_Test: !ST
+Bug_2740_Regression_Test: !ST
Bug_2772_Regression_Test: !ST !FIXED_BUGS_ONLY
Bug_2815_Regression_Test
Bug_2820_Regression_Test
Bug_2980_Regression_Test: !STATIC !Win32 !VxWorks !WCHAR
Bug_3102_Regression_Test
Bug_3319_Regression_Test
+Bug_3334_Regression_Test: !STATIC !FIXED_BUGS_ONLY
Bug_3432_Regression_Test
+Bug_3500_Regression_Test
+Bug_3532_Regression_Test
+Bug_3541_Regression_Test
Bug_3505_Regression_Test
+Bug_3673_Regression_Test
+Bug_3709_Regression_Test: !LabVIEW_RT
+Bug_3710_Regression_Test
+Bug_3729_Regression_Test:
+Bug_3744_Regression_Test: !FIXED_BUGS_ONLY
+Bug_3758_Regression_Test: !FIXED_BUGS_ONLY
CDR_Array_Test: !ACE_FOR_TAO
CDR_File_Test: !ACE_FOR_TAO
CDR_Test
@@ -56,16 +69,28 @@ Cached_Conn_Test: !ACE_FOR_TAO !LabVIEW_RT
Capabilities_Test: !ACE_FOR_TAO
Codecs_Test: !NO_CODECS !ACE_FOR_TAO
Collection_Test
+Compiler_Features_01_Test
+Compiler_Features_02_Test
+Compiler_Features_03_Test
+Compiler_Features_04_Test
+Compiler_Features_05_Test
+Compiler_Features_06_Test
+Compiler_Features_07_Test
+Compiler_Features_09_Test
+Compiler_Features_11_Test
+Compiler_Features_12_Test
+Compiler_Features_13_Test
+Compiler_Features_14_Test
Config_Test: !LynxOS !VxWorks !ACE_FOR_TAO
Conn_Test: !ACE_FOR_TAO
DLL_Test: !Unicos !STATIC !KCC_Linux
DLList_Test: !ACE_FOR_TAO
Date_Time_Test: !ACE_FOR_TAO
-Dev_Poll_Reactor_Test: !nsk
+Dev_Poll_Reactor_Test: !nsk !ST
Dirent_Test: !VxWorks_RTP !LabVIEW_RT
Dynamic_Priority_Test
Dynamic_Test
-Enum_Interfaces_Test: !LynxOS !NO_NETWORK
+Enum_Interfaces_Test: !NO_NETWORK
Env_Value_Test: !WinCE !LabVIEW_RT
FIFO_Test: !ACE_FOR_TAO
Framework_Component_Test: !STATIC !nsk
@@ -77,6 +102,7 @@ Hash_Map_Bucket_Iterator_Test
Hash_Map_Manager_Test
Hash_Multi_Map_Manager_Test
High_Res_Timer_Test: !ACE_FOR_TAO
+NDDS_Timer_Test: NDDS
INET_Addr_Test: !NO_NETWORK
IOStream_Test
Integer_Truncate_Test
@@ -87,8 +113,9 @@ Log_Msg_Backend_Test: !ACE_FOR_TAO
Log_Thread_Inheritance_Test: !ST
Logging_Strategy_Test: !LynxOS !STATIC !ST
Manual_Event_Test
-MEM_Stream_Test: !VxWorks !nsk !ACE_FOR_TAO !PHARLAP
+MEM_Stream_Test: !VxWorks !nsk !ACE_FOR_TAO !PHARLAP !QNX !LynxOS
MM_Shared_Memory_Test: !Unicos !VxWorks !nsk !ACE_FOR_TAO
+MT_NonBlocking_Connect_Test: !ST
MT_Reactor_Timer_Test
MT_Reactor_Upcall_Test: !nsk
MT_Reference_Counted_Event_Handler_Test: !OpenVMS_IA64Crash
@@ -107,7 +134,7 @@ Message_Queue_Test_Ex: !ACE_FOR_TAO
Multicast_Test: !ST !NO_MCAST !nsk !LynxOS !LabVIEW_RT
Multihomed_INET_Addr_Test: !ACE_FOR_TAO
Naming_Test: !NO_OTHER !LynxOS !Unicos !VxWorks !nsk !ACE_FOR_TAO !PHARLAP
-Network_Adapters_Test: !LynxOS !ACE_FOR_TAO
+Network_Adapters_Test: !ACE_FOR_TAO
New_Fail_Test: ALL !DISABLED
NonBlocking_Conn_Test
Notification_Queue_Unit_Test
@@ -117,7 +144,7 @@ Object_Manager_Test
Object_Manager_Flipping_Test
Obstack_Test
OrdMultiSet_Test
-Pipe_Test: !PHARLAP
+Pipe_Test: !PHARLAP !VxWorks
Priority_Buffer_Test
Priority_Reactor_Test: !ACE_FOR_TAO
Priority_Task_Test: !Unicos
@@ -126,7 +153,7 @@ Proactor_Test: !VxWorks !LynxOS !nsk !ACE_FOR_TAO !BAD_AIO
Proactor_Timer_Test: !VxWorks !nsk !ACE_FOR_TAO
Proactor_UDP_Test: !VxWorks !LynxOS !nsk !ACE_FOR_TAO !BAD_AIO
Process_Env_Test: !VxWorks !PHARLAP
-Process_Test: !VxWorks !ACE_FOR_TAO !PHARLAP !Win32 !FIXED_BUGS_ONLY
+Process_Test: !VxWorks !ACE_FOR_TAO !PHARLAP !Win32
Process_Manager_Test: !VxWorks !ACE_FOR_TAO !PHARLAP
Process_Manual_Event_Test: !HPUX !VxWorks !ACE_FOR_TAO !PHARLAP
Process_Mutex_Test: !VxWorks !ACE_FOR_TAO !PHARLAP
@@ -134,14 +161,15 @@ Process_Semaphore_Test: !VxWorks !ACE_FOR_TAO !PHARLAP
RB_Tree_Test
Bug_3332_Regression_Test
Reactor_Dispatch_Order_Test
-Reactor_Dispatch_Order_Test_Dev_Poll: !FIXED_BUGS_ONLY
+Reactor_Dispatch_Order_Test_Dev_Poll:
Reactor_Exceptions_Test
+Reactor_Fairness_Test: !FIXED_BUGS_ONLY
Reactor_Notify_Test: !ST !ACE_FOR_TAO
Reactor_Notification_Queue_Test
Reactor_Performance_Test: !ACE_FOR_TAO
Reactor_Registration_Test
Reactor_Remove_Resume_Test
-Reactor_Remove_Resume_Test_Dev_Poll: !FIXED_BUGS_ONLY
+Reactor_Remove_Resume_Test_Dev_Poll:
Reactor_Timer_Test: !ACE_FOR_TAO
Reactors_Test
Reader_Writer_Test
@@ -149,11 +177,11 @@ Recursive_Condition_Test: !ST
Recursive_Mutex_Test: !ST
Refcounted_Auto_Ptr_Test: !ACE_FOR_TAO
Reference_Counted_Event_Handler_Test -d 0
-Refcounted_Event_Handler_Test_DevPoll: !FIXED_BUGS_ONLY
+Refcounted_Event_Handler_Test_DevPoll:
Reverse_Lock_Test
RW_Process_Mutex_Test: !VxWorks !ACE_FOR_TAO !PHARLAP
Sendfile_Test: !QNX !NO_NETWORK !VxWorks !LabVIEW_RT
-Signal_Test: !VxWorks63 !VxWorks64 !VxWorks65 !LynxOS
+Signal_Test: !VxWorks63 !VxWorks64 !VxWorks65
SOCK_Connector_Test: !NO_NETWORK
SOCK_Netlink_Test: !ACE_FOR_TAO
SOCK_Send_Recv_Test: !NO_NETWORK
@@ -164,14 +192,17 @@ Stack_Trace_Test:
SV_Shared_Memory_Test: !MSVC !Unicos !VxWorks !RH_7.1 !nsk !ACE_FOR_TAO
Semaphore_Test: !ACE_FOR_TAO
Service_Config_Test: !STATIC
+Service_Config_Stream_Test: !STATIC !FIXED_BUGS_ONLY
Sigset_Ops_Test
Simple_Message_Block_Test
+Singleton_Test
Svc_Handler_Test: !ACE_FOR_TAO
-TP_Reactor_Test: !LynxOS !ACE_FOR_TAO
+TP_Reactor_Test: !ACE_FOR_TAO
TSS_Test
TSS_Static_Test
Task_Test
Task_Ex_Test
+Thread_Attrs_Test
Thread_Manager_Test: !Unicos
Thread_Mutex_Test
Thread_Pool_Reactor_Resume_Test: !NO_OTHER !ST
@@ -198,7 +229,7 @@ Multihomed_INET_Addr_Test_IPV6: !nsk !ACE_FOR_TAO
Proactor_Test_IPV6: !nsk !ACE_FOR_TAO !BAD_AIO
SOCK_Send_Recv_Test_IPV6
SOCK_Dgram_Test: !NO_NETWORK
-SOCK_Dgram_Bcast_Test: !LynxOS !ACE_FOR_TAO
+SOCK_Dgram_Bcast_Test: !ACE_FOR_TAO
SOCK_SEQPACK_SCTP_Test: !MSVC !nsk !ACE_FOR_TAO
SOCK_Test_IPv6: !nsk
Process_Strategy_Test: !VxWorks !LynxOS !ACE_FOR_TAO !PHARLAP
diff --git a/tests/run_test.pl b/tests/run_test.pl
index 2e3b8769392..1a4a0a66ab1 100755
--- a/tests/run_test.pl
+++ b/tests/run_test.pl
@@ -26,8 +26,6 @@ use File::Basename;
$config_list = new PerlACE::ConfigList;
-PerlACE::add_lib_path("$ENV{ACE_ROOT}/tests");
-
################################################################################
sub check_for_more_configs ()
@@ -136,7 +134,7 @@ sub run_program ($@)
}
my $start_time = time();
- $status = $P->SpawnWaitKill (400 + $target->ProcessStartWaitInterval());
+ $status = $P->SpawnWaitKill (300 + $target->ProcessStartWaitInterval());
my $time = time() - $start_time;
### Check for problems
@@ -155,7 +153,7 @@ sub run_program ($@)
check_log ($program);
if ($config_list->check_config ('Codeguard')) {
- check_codeguard_log ($program);
+ check_codeguard_log ($program);
}
chdir $start_dir;
}
@@ -332,9 +330,9 @@ sub check_log ($)
}
print STDERR "======= End Sublog File \n";
}
- }
+ }
}
- }
+ }
}
}
@@ -385,7 +383,7 @@ sub delete_temp_files ()
################################################################################
-if (!getopts ('dhtvo:') || $opt_h) {
+if (!getopts ('dhtvo:l:') || $opt_h) {
print "run_test.pl [-h] [-v] [-o <output file>] [-t file1 file2 ...]\n";
print "\n";
print "Runs the tests listed in run_test.lst\n";
@@ -394,6 +392,7 @@ if (!getopts ('dhtvo:') || $opt_h) {
print " -d Debug mode (do not run tests)\n";
print " -h Display this help\n";
print " -t Runs all the tests passed via the cmd line\n";
+ print " -l list Load the list and run only those tests\n";
print "\n";
print "Pass in configs using \"-Config XXXXX\"\n";
print "\n";
@@ -418,6 +417,10 @@ check_for_more_configs ();
if (defined $opt_t) {
@tests = @ARGV;
}
+elsif (defined $opt_l) {
+ $config_list->load ("$opt_l");
+ @tests = $config_list->valid_entries ();
+}
else {
$config_list->load ("run_test.lst");
@tests = $config_list->valid_entries ();
@@ -433,6 +436,8 @@ my($oh) = \*STDOUT;
my $target = PerlACE::TestTarget::create_target (1);
+$target->AddLibPath("$ENV{ACE_ROOT}/tests");
+
# Put needed files in place for targets that require them.
#
# Service_Config_Test needs service config file.
@@ -440,18 +445,28 @@ my $svc_conf_file = $target->LocalFile ("Service_Config_Test.conf");
if ($target->PutFile ("Service_Config_Test.conf", $svc_conf_file) == -1) {
print STDERR "WARNING: Cannot send $svc_conf_file to target\n";
}
+# Config_Test needs config ini file.
+my $conf_ini_file = $target->LocalFile ("Config_Test_Import_1.ini");
+if ($target->PutFile ("Config_Test_Import_1.ini", $conf_ini_file) == -1) {
+ print STDERR "WARNING: Cannot send $conf_ini_file to target\n";
+}
+# Service_Config_Stream_Test needs service config file.
+$svc_conf_file = $target->LocalFile ("Service_Config_Stream_Test.conf");
+if ($target->PutFile ("Service_Config_Stream_Test.conf", $svc_conf_file) == -1) {
+ print STDERR "WARNING: Cannot send $svc_conf_file to target\n";
+}
foreach $test (@tests) {
- if (defined $opt_d) {
- print "Would run test $test now\n";
- }
- elsif ($config_list->check_config ('Purify')) {
- purify_program ($test);
- }
- else {
- run_program ($target, $test);
- }
- $target->GetStderrLog();
+ if (defined $opt_d) {
+ print "Would run test $test now\n";
+ }
+ elsif ($config_list->check_config ('Purify')) {
+ purify_program ($test);
+ }
+ else {
+ run_program ($target, $test);
+ }
+ $target->GetStderrLog();
}
check_resources ($oh) if (!defined $opt_d);
diff --git a/tests/test_config.h b/tests/test_config.h
index 71923ea293c..c939cb148bd 100644
--- a/tests/test_config.h
+++ b/tests/test_config.h
@@ -77,7 +77,8 @@ size_t const ACE_MAX_THREADS = 4;
#ifndef ACE_START_TEST
#define ACE_START_TEST(NAME) \
const ACE_TCHAR *program = NAME; \
- ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM | ACE_Log_Msg::VERBOSE_LITE); \
+ if (ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM | ACE_Log_Msg::VERBOSE_LITE) != 0) \
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("open log_msg failed")), -1); \
if (ace_file_stream::instance()->set_output (program) != 0) \
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("set_output failed")), -1); \
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Starting %s test at %D\n"), program))
@@ -93,7 +94,8 @@ size_t const ACE_MAX_THREADS = 4;
#define ACE_APPEND_LOG(NAME) \
const ACE_TCHAR *program = NAME; \
- ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM | ACE_Log_Msg::VERBOSE_LITE); \
+ if (ACE_LOG_MSG->open (program, ACE_Log_Msg::OSTREAM | ACE_Log_Msg::VERBOSE_LITE) != 0) \
+ ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("open log_msg failed")), -1); \
if (ace_file_stream::instance()->set_output (program, 1) != 0) \
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("set_output failed")), -1); \
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) Starting %s test at %D\n"), program));
@@ -125,11 +127,6 @@ size_t const ACE_MAX_THREADS = 4;
ACE_OS::unlink (temp); \
}
-#if defined (ghs)
-# // Rename main to ace_main for compatibility with run_tests.vxworks.
-# undef ACE_MAIN
-# define ACE_MAIN ace_main
-#endif /* ghs */
#else /* ! VXWORKS */
# if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
# define ACE_INIT_LOG_FMT ACE_TEXT ("%ls%ls%ls")
diff --git a/tests/tests.mpc b/tests/tests.mpc
index 9fa69ff5c18..582c2f2aa76 100644
--- a/tests/tests.mpc
+++ b/tests/tests.mpc
@@ -83,6 +83,9 @@ project(Based Pointer Test Lib) : acelib {
Source_Files {
Based_Pointer_Test_Lib.cpp
}
+ Header_Files {
+ Based_Pointer_Test_Lib_Export.h
+ }
Resource_Files {
}
}
@@ -226,6 +229,13 @@ project(Bug_2368_Regression_Test) : acetest {
}
}
+project(Bug_2434_Regression_Test) : acetest {
+ exename = Bug_2434_Regression_Test
+ Source_Files {
+ Bug_2434_Regression_Test.cpp
+ }
+}
+
project(Bug_2497_Regression_Test) : acetest {
exename = Bug_2497_Regression_Test
Source_Files {
@@ -247,6 +257,13 @@ project(Bug_2653_Regression_Test) : acetest {
}
}
+project(Bug_2740_Regression_Test) : acetest, threads {
+ exename = Bug_2740_Regression_Test
+ Source_Files {
+ Bug_2740_Regression_Test.cpp
+ }
+}
+
project(Bug_2772_Regression_Test) : acetest, threads {
exename = Bug_2772_Regression_Test
Source_Files {
@@ -322,6 +339,13 @@ project(Bug_3432_Regression_Test) : acetest {
}
}
+project(Bug_3500_Regression_Test) : acetest {
+ exename = Bug_3500_Regression_Test
+ Source_Files {
+ Bug_3500_Regression_Test.cpp
+ }
+}
+
project(Bug_3505_Regression_Test) : acetest {
exename = Bug_3505_Regression_Test
Source_Files {
@@ -329,6 +353,62 @@ project(Bug_3505_Regression_Test) : acetest {
}
}
+project(Bug_3532_Regression_Test) : acetest {
+ exename = Bug_3532_Regression_Test
+ Source_Files {
+ Bug_3532_Regression_Test.cpp
+ }
+}
+
+project(Bug_3541_Regression_Test) : acetest {
+ exename = Bug_3541_Regression_Test
+ Source_Files {
+ Bug_3541_Regression_Test.cpp
+ }
+}
+
+project(Bug_3673_Regression_Test) : acetest {
+ exename = Bug_3673_Regression_Test
+ Source_Files {
+ Bug_3673_Regression_Test.cpp
+ }
+}
+
+project(Bug_3709_Regression_Test) : acetest {
+ exename = Bug_3709_Regression_Test
+ Source_Files {
+ Bug_3709_Regression_Test.cpp
+ }
+}
+
+project(Bug_3710_Regression_Test) : acetest {
+ exename = Bug_3710_Regression_Test
+ Source_Files {
+ Bug_3710_Regression_Test.cpp
+ }
+}
+
+project(Bug_3729_Regression_Test) : acetest {
+ exename = Bug_3729_Regression_Test
+ Source_Files {
+ Bug_3729_Regression_Test.cpp
+ }
+}
+
+project(Bug_3744_Regression_Test) : acetest {
+ exename = Bug_3744_Regression_Test
+ Source_Files {
+ Bug_3744_Regression_Test.cpp
+ }
+}
+
+project(Bug_3758_Regression_Test) : acetest {
+ exename = Bug_3758_Regression_Test
+ Source_Files {
+ Bug_3758_Regression_Test.cpp
+ }
+}
+
project(Cache Map Manager Test) : acetest {
exename = Cache_Map_Manager_Test
Source_Files {
@@ -398,6 +478,106 @@ project(Collection Test) : acetest {
}
}
+project(Compiler_Features_01_Test) : acetest {
+ exename = Compiler_Features_01_Test
+ Source_Files {
+ Compiler_Features_01_Test.cpp
+ }
+}
+
+project(Compiler_Features_02_Test) : acetest {
+ exename = Compiler_Features_02_Test
+ Source_Files {
+ Compiler_Features_02_Test.cpp
+ }
+}
+
+project(Compiler_Features_03_Test) : acetest {
+ exename = Compiler_Features_03_Test
+ Source_Files {
+ Compiler_Features_03_Test.cpp
+ }
+}
+
+project(Compiler_Features_04_Test) : acetest {
+ exename = Compiler_Features_04_Test
+ Source_Files {
+ Compiler_Features_04_Test.cpp
+ }
+}
+
+project(Compiler_Features_05_Test) : acetest {
+ exename = Compiler_Features_05_Test
+ Source_Files {
+ Compiler_Features_05_Test.cpp
+ }
+}
+
+project(Compiler_Features_06_Test) : acetest {
+ exename = Compiler_Features_06_Test
+ Source_Files {
+ Compiler_Features_06_Test.cpp
+ }
+}
+
+project(Compiler_Features_07_Test) : acetest {
+ exename = Compiler_Features_07_Test
+ Source_Files {
+ Compiler_Features_07_Test.cpp
+ }
+}
+
+// This compiler feature is not supported on all compilers
+project(Compiler_Features_08_Test) : acetest {
+ requires += dummy_label
+ exename = Compiler_Features_08_Test
+ Source_Files {
+ Compiler_Features_08_Test.cpp
+ }
+}
+
+project(Compiler_Features_09_Test) : acetest {
+ exename = Compiler_Features_09_Test
+ Source_Files {
+ Compiler_Features_09_Test.cpp
+ }
+}
+
+project(Compiler_Features_10_Test) : acetest {
+ exename = Compiler_Features_10_Test
+ Source_Files {
+ Compiler_Features_10_Test.cpp
+ }
+}
+
+project(Compiler_Features_11_Test) : acetest {
+ exename = Compiler_Features_11_Test
+ Source_Files {
+ Compiler_Features_11_Test.cpp
+ }
+}
+
+project(Compiler_Features_12_Test) : acetest {
+ exename = Compiler_Features_12_Test
+ Source_Files {
+ Compiler_Features_12_Test.cpp
+ }
+}
+
+project(Compiler_Features_13_Test) : acetest {
+ exename = Compiler_Features_13_Test
+ Source_Files {
+ Compiler_Features_13_Test.cpp
+ }
+}
+
+project(Compiler_Features_14_Test) : acetest {
+ exename = Compiler_Features_14_Test
+ Source_Files {
+ Compiler_Features_14_Test.cpp
+ }
+}
+
project(Config Test) : acetest {
avoids += ace_for_tao
exename = Config_Test
@@ -518,6 +698,13 @@ project(High Res Timer Test) : acetest {
}
}
+project(NDDS Timer Test) : acetest, nddsexe {
+ exename = NDDS_Timer_Test
+ Source_Files {
+ NDDS_Timer_Test.cpp
+ }
+}
+
project(Hash Map Manager Test) : acetest {
exename = Hash_Map_Manager_Test
Source_Files {
@@ -966,6 +1153,13 @@ project(Reactor_Dispatch_Order_Test_Dev_Poll) : acetest {
}
}
+project(Reactor Fairness Test) : acetest {
+ exename = Reactor_Fairness_Test
+ Source_Files {
+ Reactor_Fairness_Test.cpp
+ }
+}
+
project(Reactor Performance Test) : acetest {
avoids += ace_for_tao
exename = Reactor_Performance_Test
@@ -1062,6 +1256,13 @@ project(Sendfile Test) : acetest {
}
}
+project(Sig Handlers Test) : acetest {
+ exename = Sig_Handlers_Test
+ Source_Files {
+ Sig_Handlers_Test.cpp
+ }
+}
+
project(Signal Test) : acetest {
exename = Signal_Test
Source_Files {
@@ -1083,6 +1284,13 @@ project(Simple Message Block Test) : acetest {
}
}
+project(Singleton Test) : acetest {
+ exename = Singleton_Test
+ Source_Files {
+ Singleton_Test.cpp
+ }
+}
+
project(SOCK Test) : acetest {
exename = SOCK_Test
Source_Files {
@@ -1171,6 +1379,13 @@ project(Thread Manager Test) : acetest {
}
}
+project(Thread Attrs Test) : acetest {
+ exename = Thread_Attrs_Test
+ Source_Files {
+ Thread_Attrs_Test.cpp
+ }
+}
+
project(Thread Mutex Test) : acetest {
exename = Thread_Mutex_Test
Source_Files {
@@ -1185,6 +1400,13 @@ project(Thread Pool Test) : acetest {
}
}
+project(Thread_Timer_Queue_Adapter_Test) : acetest {
+ exename = Thread_Timer_Queue_Adapter_Test
+ Source_Files {
+ Thread_Timer_Queue_Adapter_Test.cpp
+ }
+}
+
project(Thread Creation Threshold Test) : acetest {
exename = Thread_Creation_Threshold_Test
Source_Files {
@@ -1321,6 +1543,13 @@ project(XtAthenaReactor Test) : acetest, ace_xtreactor, ace_athena {
}
}
+project(XtAthena3dReactor Test) : acetest, ace_xtreactor, ace_athena3d {
+ exename = XtAthena3dReactor_Test
+ Source_Files {
+ XtAthenaReactor_Test.cpp
+ }
+}
+
project(FlReactor Test) : acetest, ace_flreactor {
exename = FlReactor_Test
@@ -1408,6 +1637,15 @@ project(NonBlocking Conn Test) : acetest {
}
}
+project(MT NonBlocking Connect Test) : acetest {
+ exename = MT_NonBlocking_Connect_Test
+ Source_Files {
+ MT_NonBlocking_Connect_Test.cpp
+ }
+ Header_Files {
+ }
+}
+
project(Reference Counted Event Handler Test) : acetest {
exename = Reference_Counted_Event_Handler_Test
Source_Files {
@@ -1628,3 +1866,35 @@ project(Wild_Match_Test) : acetest {
Wild_Match_Test.cpp
}
}
+
+project(Service Config Stream DLL) : acelib {
+ libout = .
+ sharedname = Service_Config_Stream_DLL
+ dynamicflags = SERVICE_CONFIG_STREAM_DLL_BUILD_DLL
+
+ Source_Files {
+ Service_Config_Stream_DLL.cpp
+ }
+ Header_Files {
+ Service_Config_Stream_DLL.h
+ Service_Config_Stream_DLL_Export.h
+ }
+ Resource_Files {
+ }
+}
+
+project(Service Config Stream Test) : acetest {
+ after += Service_Config_Stream_DLL
+ exename = Service_Config_Stream_Test
+ Source_Files {
+ Service_Config_Stream_Test.cpp
+ }
+}
+
+project(Bug_3334_Regression_Test) : acetest {
+ after += Service_Config_Stream_DLL
+ exename = Bug_3334_Regression_Test
+ Source_Files {
+ Bug_3334_Regression_Test.cpp
+ }
+}