summaryrefslogtreecommitdiff
path: root/examples/Reactor/Misc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Reactor/Misc')
-rw-r--r--examples/Reactor/Misc/Makefile916
-rw-r--r--examples/Reactor/Misc/Misc.dsp71
-rw-r--r--examples/Reactor/Misc/Misc.dsw101
-rw-r--r--examples/Reactor/Misc/demuxing.dsp71
-rw-r--r--examples/Reactor/Misc/early_timeouts.dsp59
-rw-r--r--examples/Reactor/Misc/notification.cpp382
-rw-r--r--examples/Reactor/Misc/notification.dsp71
-rw-r--r--examples/Reactor/Misc/pingpong.cpp293
-rw-r--r--examples/Reactor/Misc/reactors.dsp59
-rw-r--r--examples/Reactor/Misc/signal_tester.cpp221
-rw-r--r--examples/Reactor/Misc/signals_1.dsp59
-rw-r--r--examples/Reactor/Misc/signals_2.dsp59
-rw-r--r--examples/Reactor/Misc/test_demuxing.cpp380
-rw-r--r--examples/Reactor/Misc/test_early_timeouts.cpp111
-rw-r--r--examples/Reactor/Misc/test_event_handler_t.cpp54
-rw-r--r--examples/Reactor/Misc/test_reactors.cpp200
-rw-r--r--examples/Reactor/Misc/test_signals.cpp226
-rw-r--r--examples/Reactor/Misc/test_signals_1.cpp112
-rw-r--r--examples/Reactor/Misc/test_signals_2.cpp289
-rw-r--r--examples/Reactor/Misc/test_time_value.cpp81
-rw-r--r--examples/Reactor/Misc/test_timer_queue.cpp95
21 files changed, 0 insertions, 3910 deletions
diff --git a/examples/Reactor/Misc/Makefile b/examples/Reactor/Misc/Makefile
deleted file mode 100644
index 4ebc87feba1..00000000000
--- a/examples/Reactor/Misc/Makefile
+++ /dev/null
@@ -1,916 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the miscellaneous Reactor examples
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = pingpong \
- notification \
- test_demuxing \
- test_event_handler_t \
- test_reactors \
- test_signals_1 \
- test_signals_2 \
- test_time_value \
- test_early_timeouts \
- test_timer_queue
-
-LSRC = $(addsuffix .cpp,$(BIN))
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-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.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/pingpong.o .obj/pingpong.so .shobj/pingpong.o .shobj/pingpong.so: pingpong.cpp \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Pipe.h \
- $(ACE_ROOT)/ace/Pipe.i
-
-.obj/notification.o .obj/notification.so .shobj/notification.o .shobj/notification.so: notification.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i
-
-.obj/test_demuxing.o .obj/test_demuxing.so .shobj/test_demuxing.o .shobj/test_demuxing.so: test_demuxing.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp
-
-.obj/test_event_handler_t.o .obj/test_event_handler_t.so .shobj/test_event_handler_t.o .shobj/test_event_handler_t.so: test_event_handler_t.cpp \
- $(ACE_ROOT)/ace/Event_Handler_T.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Event_Handler_T.i \
- $(ACE_ROOT)/ace/Event_Handler_T.cpp
-
-.obj/test_reactors.o .obj/test_reactors.so .shobj/test_reactors.o .shobj/test_reactors.so: test_reactors.cpp \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp
-
-.obj/test_signals_1.o .obj/test_signals_1.so .shobj/test_signals_1.o .shobj/test_signals_1.so: test_signals_1.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h
-
-.obj/test_signals_2.o .obj/test_signals_2.so .shobj/test_signals_2.o .shobj/test_signals_2.so: test_signals_2.cpp \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Select_Reactor.h \
- $(ACE_ROOT)/ace/Select_Reactor_T.h \
- $(ACE_ROOT)/ace/Select_Reactor_Base.h \
- $(ACE_ROOT)/ace/Token.h \
- $(ACE_ROOT)/ace/Token.i \
- $(ACE_ROOT)/ace/Pipe.h \
- $(ACE_ROOT)/ace/Pipe.i \
- $(ACE_ROOT)/ace/Select_Reactor_Base.i \
- $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
- $(ACE_ROOT)/ace/Timer_Heap.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Select_Reactor_T.i
-
-.obj/test_time_value.o .obj/test_time_value.so .shobj/test_time_value.o .shobj/test_time_value.so: test_time_value.cpp \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i
-
-.obj/test_early_timeouts.o .obj/test_early_timeouts.so .shobj/test_early_timeouts.o .shobj/test_early_timeouts.so: test_early_timeouts.cpp \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Pipe.h \
- $(ACE_ROOT)/ace/Pipe.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i
-
-.obj/test_timer_queue.o .obj/test_timer_queue.so .shobj/test_timer_queue.o .shobj/test_timer_queue.so: test_timer_queue.cpp \
- $(ACE_ROOT)/ace/Timer_Heap.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.h \
- $(ACE_ROOT)/ace/Based_Pointer_T.i \
- $(ACE_ROOT)/ace/Based_Pointer_T.cpp \
- $(ACE_ROOT)/ace/Based_Pointer_Repository.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_List.h \
- $(ACE_ROOT)/ace/Timer_List_T.h \
- $(ACE_ROOT)/ace/Timer_List_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue.h
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/Reactor/Misc/Misc.dsp b/examples/Reactor/Misc/Misc.dsp
deleted file mode 100644
index 4337b55c113..00000000000
--- a/examples/Reactor/Misc/Misc.dsp
+++ /dev/null
@@ -1,71 +0,0 @@
-# Microsoft Developer Studio Project File - Name="timer_queue" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=timer_queue - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Misc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Misc.mak" CFG="timer_queue - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "timer_queue - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\timer_queue\Debug"
-# PROP BASE Intermediate_Dir ".\timer_queue\Debug"
-# PROP BASE Target_Dir ".\timer_queue"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ".\timer_queue"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "timer_queue - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\test_timer_queue.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/Misc.dsw b/examples/Reactor/Misc/Misc.dsw
deleted file mode 100644
index 0abd27701e4..00000000000
--- a/examples/Reactor/Misc/Misc.dsw
+++ /dev/null
@@ -1,101 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "demuxing"=.\demuxing.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "early_timeouts"=.\early_timeouts.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "notification"=.\notification.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "reactors"=.\reactors.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "signals_1"=.\signals_1.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "signals_2"=.\signals_2.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "timer_queue"=.\Misc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/examples/Reactor/Misc/demuxing.dsp b/examples/Reactor/Misc/demuxing.dsp
deleted file mode 100644
index 2c61f9e9638..00000000000
--- a/examples/Reactor/Misc/demuxing.dsp
+++ /dev/null
@@ -1,71 +0,0 @@
-# Microsoft Developer Studio Project File - Name="demuxing" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=demuxing - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "demuxing.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "demuxing.mak" CFG="demuxing - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "demuxing - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "demuxing___Win32_Debug"
-# PROP BASE Intermediate_Dir "demuxing___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\\" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "demuxing - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\test_demuxing.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/early_timeouts.dsp b/examples/Reactor/Misc/early_timeouts.dsp
deleted file mode 100644
index f7ae24fce47..00000000000
--- a/examples/Reactor/Misc/early_timeouts.dsp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Microsoft Developer Studio Project File - Name="early_timeouts" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=early_timeouts - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "early_timeouts.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "early_timeouts.mak" CFG="early_timeouts - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "early_timeouts - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "early_ti"
-# PROP BASE Intermediate_Dir "early_ti"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "early_timeouts - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\test_early_timeouts.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/notification.cpp b/examples/Reactor/Misc/notification.cpp
deleted file mode 100644
index 556ed24089b..00000000000
--- a/examples/Reactor/Misc/notification.cpp
+++ /dev/null
@@ -1,382 +0,0 @@
-// $Id$
-
-#include "ace/Service_Config.h"
-#include "ace/Thread_Manager.h"
-#include "ace/Thread.h"
-#include "ace/Synch_T.h"
-
-ACE_RCSID(Misc, notification, "$Id$")
-
-#if defined (ACE_HAS_THREADS)
-#if defined (CHORUS)
-// Chorus does not have signal, so we'll stop after a number of rounds.
-#define MAX_ITERATIONS 3
-#else
-#define MAX_ITERATIONS 10000
-#endif /* CHORUS */
-
-class Thread_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // Illustrate how the ACE_Reactor's thread-safe event notification
- // mechanism works.
- //
- // = DESCRIPTION
- // Handle timeouts in the main thread via the ACE_Reactor and I/O
- // events in a separate thread. Just before the separate I/O
- // thread exits it notifies the ACE_Reactor in the main thread
- // using the ACE_Reactor's notification mechanism.
-public:
- Thread_Handler (int delay,
- int interval,
- size_t n_threads,
- size_t max_iterations);
- // Constructor.
-
- Thread_Handler (size_t id,
- size_t max_iterations);
-
- ~Thread_Handler (void);
- // Destructor.
-
- virtual int handle_signal (int signum,
- siginfo_t * = 0,
- ucontext_t * = 0);
- // Handle signals.
-
- virtual int handle_exception (ACE_HANDLE);
- // Print data from main thread.
-
- virtual int handle_output (ACE_HANDLE);
- // Print data from main thread.
-
- virtual int handle_timeout (const ACE_Time_Value &,
- const void *);
- // Handle timeout events in the main thread.
-
- virtual int handle_input (ACE_HANDLE);
- // General notification messages to the Reactor.
-
- virtual int notify (ACE_Time_Value *tv = 0);
- // Perform notifications.
-
- virtual int svc (void);
- // Handle I/O events in a separate threads.
-
-private:
- static void *svc_run (void *);
- // Glues C++ to C thread library functions.
-
- size_t id_;
- // ID passed in by Thread_Handler constructor.
-
- int iterations_;
-
- static sig_atomic_t shutdown_;
- // Shutting down.
-
- // = Timing variables.
- // Delay factor for timer-driven I/O.
- static ACE_Time_Value delay_;
-
- // Interval factor for Event_Handler timer.
- static ACE_Time_Value interval_;
-};
-
-// Shutdown flag.
-sig_atomic_t Thread_Handler::shutdown_ = 0;
-
-// Delay factor for timer-driven I/O.
-ACE_Time_Value Thread_Handler::delay_;
-
-// Interval factor for Event_Handler timer.
-ACE_Time_Value Thread_Handler::interval_;
-
-Thread_Handler::Thread_Handler (size_t id,
- size_t max_iterations)
- : id_ (id),
- iterations_ (max_iterations)
-{
-}
-
-Thread_Handler::~Thread_Handler (void)
-{
- // Cleanup resources so that we don't crash and burn when shutdown.
- ACE_Event_Handler::remove_stdin_handler (ACE_Reactor::instance (),
- ACE_Thread_Manager::instance ());
- ACE_Reactor::instance ()->cancel_timer (this);
-}
-
-Thread_Handler::Thread_Handler (int delay,
- int interval,
- size_t n_threads,
- size_t max_iterations)
- : iterations_ (max_iterations)
-{
- ACE_Sig_Set sig_set;
-
- sig_set.sig_add (SIGQUIT);
- sig_set.sig_add (SIGINT);
-
- delay_.set (delay);
- interval_.set (interval);
- this->id_ = 0;
-
- if (ACE_Event_Handler::register_stdin_handler (this,
- ACE_Reactor::instance (),
- ACE_Thread_Manager::instance ()) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "register_stdin_handler"));
- else if (ACE_Reactor::instance ()->register_handler (sig_set,
- this) == -1)
- ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "register_handler"));
- else if (ACE_Reactor::instance ()->schedule_timer
- (this,
- 0,
- Thread_Handler::delay_,
- Thread_Handler::interval_) == -1)
- ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "schedule_timer"));
-
- // Set up this thread's signal mask to block all the signal in the
- // <sig_set>, which is inherited by the threads it spawns.
- ACE_Sig_Guard guard (&sig_set);
-
- // Create N new threads of control Thread_Handlers.
-
- for (size_t i = 0; i < n_threads; i++)
- {
- Thread_Handler *th;
-
- ACE_NEW (th,
- Thread_Handler (i + 1,
- this->iterations_));
-
- if (ACE_Thread::spawn (ACE_reinterpret_cast (ACE_THR_FUNC,
- &Thread_Handler::svc_run),
- ACE_reinterpret_cast (void *, th),
- THR_NEW_LWP | THR_DETACHED) != 0)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "ACE_Thread::spawn"));
- }
-
- // The destructor of <guard> unblocks the signal set so that only
- // this thread receives them!
-}
-
-int
-Thread_Handler::notify (ACE_Time_Value *timeout)
-{
- // Just do something to test the ACE_Reactor's multi-thread
- // capabilities...
-
- if (ACE_Reactor::instance ()->notify
- (this,
- ACE_Event_Handler::EXCEPT_MASK,
- timeout) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%t) %p\n",
- "notification::notify:exception"),
- -1);
- else if (ACE_Reactor::instance ()->notify
- (this,
- ACE_Event_Handler::WRITE_MASK,
- timeout) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%t) %p\n",
- "notification::notify:write"),
- -1);
- return 0;
-}
-
-// Test stdin handling that uses <select> to demultiplex HANDLEs.
-// Input is only handled by the main thread.
-
-int
-Thread_Handler::handle_input (ACE_HANDLE handle)
-{
- char buf[BUFSIZ];
- ssize_t n = ACE_OS::read (handle, buf, sizeof buf);
-
- if (n > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "input to (%t) %*s",
- n,
- buf));
-
- ACE_DEBUG ((LM_DEBUG,
- "%d more input to kill\n",
- this->iterations_));
-
- // Only wait up to 10 milliseconds to notify the Reactor.
- ACE_Time_Value timeout (0,
- 10 * 1000);
-
- if (this->notify (&timeout) == -1)
- ACE_ERROR ((LM_DEBUG,
- "(%t), %p\n",
- "notification::handle_input:notify"));
- return 0;
- }
- else
- return -1;
-}
-
-// Perform a task that will test the ACE_Reactor's multi-threading
-// capabilities in separate threads.
-
-int
-Thread_Handler::svc (void)
-{
- ACE_Time_Value sleep_timeout (0,
- // Transform this into microseconds and divide by 2.
- (Thread_Handler::interval_.sec () * ACE_ONE_SECOND_IN_USECS) / 2);
-
- for (int i = this->iterations_;
- i > 0;
- --i)
- {
- if (this->shutdown_ != 0)
- break;
-
- // Block for delay_.secs () / 2, then notify the Reactor.
- ACE_OS::sleep (sleep_timeout);
-
- // Wait up to 10 milliseconds to notify the Reactor.
- ACE_Time_Value timeout (0,
- 10 * 1000);
- if (this->notify (&timeout) == -1)
- ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "notify"));
- }
-
- ACE_Reactor::instance ()->remove_handler (this,
- ALL_EVENTS_MASK);
- ACE_DEBUG ((LM_DEBUG,
- "(%t) exiting svc\n"));
- return 0;
-}
-
-// Test signal handling.
-
-int
-Thread_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
-{
- // @@ Note that this code is not portable to all OS platforms since
- // it uses print statements within signal handler context.
- ACE_DEBUG ((LM_DEBUG,
- "(%t) received signal %S\n",
- signum));
-
- switch (signum)
- {
- case SIGINT:
- case SIGQUIT:
- ACE_ERROR ((LM_ERROR,
- "(%t) ******************** shutting down %n on signal %S\n",
- signum));
- this->shutdown_ = 1;
- ACE_Reactor::end_event_loop();
- }
- return 0;
-}
-
-int
-Thread_Handler::handle_timeout (const ACE_Time_Value &time,
- const void *)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) received timeout at (%u, %u), iterations = %d\n",
- time.sec (),
- time.usec (),
- this->iterations_));
-
- if (--this->iterations_ <= 0
- || Thread_Handler::interval_.sec () == 0)
- ACE_Reactor::end_event_loop ();
-
- return 0;
-}
-
-// Called by the ACE_Reactor when it receives a notification.
-
-int
-Thread_Handler::handle_exception (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) exception to id %d, iteration = %d\n",
- this->id_,
- this->iterations_));
- return 0;
-}
-
-// Called by the ACE_Reactor when it receives a notification.
-
-int
-Thread_Handler::handle_output (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) output to id %d, iteration = %d\n",
- this->id_,
- // This decrement must come last since
- // <handle_exception> is called before <handle_output>!
- this->iterations_--));
- return 0;
-}
-
-// "Shim" function that integrates C thread API with C++.
-
-void *
-Thread_Handler::svc_run (void *eh)
-{
- Thread_Handler *this_handler =
- ACE_reinterpret_cast (Thread_Handler *, eh);
-
- if (this_handler->svc () == 0)
- return 0;
- else
- return ACE_reinterpret_cast (void *, -1);
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_LOG_MSG->open (argv[0]);
-
- if (argc < 4)
- ACE_ERROR ((LM_ERROR,
- "usage: %s delay interval n_threads [iterations]%a\n",
- argv[0],
- 1));
-
- int delay = ACE_OS::atoi (argv[1]);
- int interval = ACE_OS::atoi (argv[2]);
- size_t n_threads = ACE_OS::atoi (argv[3]);
- size_t max_iterations = argc > 4 ? ACE_OS::atoi (argv[4]) : MAX_ITERATIONS;
-
- Thread_Handler thr_handler (delay,
- interval,
- n_threads,
- max_iterations);
-
- ACE_Reactor::run_event_loop ();
-
- ACE_DEBUG ((LM_DEBUG,
- "exiting from main\n"));
- return 0;
-}
-#else
-int
-main (int, char *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR,
- "threads must be supported to run this application\n"), -1);
-}
-#endif /* ACE_HAS_THREADS */
diff --git a/examples/Reactor/Misc/notification.dsp b/examples/Reactor/Misc/notification.dsp
deleted file mode 100644
index 1747f375b82..00000000000
--- a/examples/Reactor/Misc/notification.dsp
+++ /dev/null
@@ -1,71 +0,0 @@
-# Microsoft Developer Studio Project File - Name="notification" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=notification - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "notification.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "notification.mak" CFG="notification - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "notification - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\notification\Debug"
-# PROP BASE Intermediate_Dir ".\notification\Debug"
-# PROP BASE Target_Dir ".\notification"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ".\notification"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "notification - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\notification.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/pingpong.cpp b/examples/Reactor/Misc/pingpong.cpp
deleted file mode 100644
index 07e25a0dc53..00000000000
--- a/examples/Reactor/Misc/pingpong.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-// $Id$
-
-/* Simple program that illustrates many features of the ACE_Reactor:
-
- 1. I/O event demultiplexing
- 2. Signal-based demultiplexing
- 3. Timer-based demultiplexing
-
- To test this program, compile it and then execute it as follows:
-
- % ./pingpong hello
-
- You should see lots of the following output:
-
- writing <4> [7860]
- writing <4> [7860]
- writing <4> [7860]
- writing <4> [7860]
- reading <5> (7860) [1] = hello
- writing <4> [7860]
- writing <5> [7861]
- reading <4> (7861) [2] = hello
- reading <5> (7860) [2] = hello
- writing <4> [7860]
- writing <5> [7861]
- reading <4> (7861) [3] = hello
- reading <5> (7860) [3] = hello
-
- After 10 seconds you'll see the following:
-
- ./pingpong: shutting down tester (pid = 7861)
- ./pingpong: shutting down tester (pid = 7860)
-
- and the program will stop. If you'd like to
- stop it earlier, just hit the control-C sequence
- and you'll see the same messages. */
-
-#include "ace/Synch.h"
-#include "ace/Reactor.h"
-#include "ace/Pipe.h"
-#include "ace/Log_Msg.h"
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-ACE_RCSID(Misc, pingpong, "$Id$")
-
-class Ping_Pong : public ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>
-{
-public:
- Ping_Pong (char b[], ACE_HANDLE f);
- virtual ACE_HANDLE get_handle (void) const;
- virtual int handle_input (ACE_HANDLE);
- virtual int handle_output (ACE_HANDLE);
- virtual int handle_timeout (const ACE_Time_Value &,
- const void *);
-
-private:
- char buf_[BUFSIZ];
- // Buffer to send.
-
- size_t buflen_;
- // Length of the buffer to send.
-
- int pid_;
- // Process ID.
-
- ACE_HANDLE handle_;
- // Open handle.
-};
-
-Ping_Pong::Ping_Pong (char b[], ACE_HANDLE f)
- : buflen_ (ACE_OS::strlen (b) + 1 + (2 * sizeof (int))),
- pid_ (ACE_OS::getpid ()),
- handle_ (f)
-{
- *((int *) this->buf_) = (int) this->pid_;
- *((int *) (this->buf_ + sizeof (int))) = 0;
- ACE_OS::strcpy (this->buf_ + (2 * sizeof (int)), b);
- this->buf_[this->buflen_ - 1] = '\n';
- this->buf_[this->buflen_] = '\0';
-}
-
-ACE_HANDLE
-Ping_Pong::get_handle (void) const
-{
- return this->handle_;
-}
-
-int
-Ping_Pong::handle_input (ACE_HANDLE)
-{
-#if defined (ACE_HAS_STREAM_PIPES)
- // We can rely on record-oriented reads...
-
- ssize_t n = ACE::recv (this->handle_, this->buf_, this->buflen_);
-
- if (n != (ssize_t) this->buflen_)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) reading [%d] %p\n",
- handle_,
- "read"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) reading <%d> (%d) [%d] = %s\n",
- this->handle_,
- *(int *) this->buf_,
- *(int *) (this->buf_ + sizeof (int)),
- this->buf_ + (2 * sizeof (int))));
-#else
- ssize_t n = ACE::recv (this->handle_,
- this->buf_,
- this->buflen_);
- if (n == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "[%d] %p\n",
- handle_,
- "read"),
- -1);
- n -= (2 * sizeof (int));
- char *buf = this->buf_ + (2 * sizeof (int));
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) reading <%d> = %*s\n",
- this->handle_,
- n,
- buf));
-#endif /* ACE_HAS_STREAM_PIPES */
- return 0;
-}
-
-int
-Ping_Pong::handle_output (ACE_HANDLE)
-{
-#if defined (ACE_HAS_STREAM_PIPES)
- // We can rely on record-oriented reads...
-
- (*(int *) (this->buf_)) = this->pid_;
- (*(int *) (this->buf_ + sizeof (int)))++;
- if (ACE::send (this->handle_,
- this->buf_,
- this->buflen_) == -1)
- return -1;
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) writing <%d> [%d]\n",
- this->handle_,
- this->pid_));
- return 0;
- }
-#else
- if (ACE::send (this->handle_,
- this->buf_,
- this->buflen_) == -1)
- return -1;
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) writing <%d>\n",
- this->handle_));
- return 0;
- }
-#endif /* ACE_HAS_STREAM_PIPES */
-}
-
-int
-Ping_Pong::handle_timeout (const ACE_Time_Value &,
- const void *)
-{
- this->set (1);
- return 0;
-}
-
-// Contains the string to "pingpong" back and forth...
-static char *string_name;
-
-// Wait for 10 seconds and then shut down.
-static const int SHUTDOWN_TIME = 10;
-
-static void
-run_svc (ACE_HANDLE handle)
-{
- // The <callback> object is an <ACE_Event_Handler> created on the
- // stack. This is normally not a good idea, but in this case it
- // works because the ACE_Reactor is destroyed before leaving this
- // scope as well, so it'll remove the <callback> object from its
- // internal tables BEFORE it is destroyed.
- Ping_Pong callback (string_name, handle);
-
- // Note that we put the <reactor> AFTER the <callback> so that the
- // <reactor> will get shutdown first.
- ACE_Reactor reactor;
-
- // Register the callback object for the various I/O, signal, and
- // timer-based events.
-
- if (reactor.register_handler (&callback,
- ACE_Event_Handler::READ_MASK
- | ACE_Event_Handler::WRITE_MASK) == -1
-#if !defined (CHORUS)
- || reactor.register_handler (SIGINT,
- &callback) == -1
-#endif /* CHORUS */
- || reactor.schedule_timer (&callback,
- 0,
- SHUTDOWN_TIME) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "reactor",
- 1));
-
- // Main event loop (one per process).
-
- while (callback.is_set () == 0)
- if (reactor.handle_events () == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "handle_events"));
-}
-
-#if defined (ACE_WIN32) || defined (CHORUS)
-static ACE_Barrier barrier (3);
-
-static void *
-worker (void *arg)
-{
- ACE_HANDLE handle = (ACE_HANDLE) arg;
-
- run_svc (handle);
-
- // Wait for the threads to exit.
- barrier.wait ();
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) %n: shutting down tester\n"));
- return 0;
-}
-#endif /* ACE_WIN32 */
-
-int
-main (int argc, char *argv[])
-{
- ACE_LOG_MSG->open (argv[0]);
-
- if (argc != 2)
- ACE_ERROR ((LM_ERROR,
- "usage: %n string\n%a",
- 1));
-
- string_name = argv[1];
-
- ACE_HANDLE handles[2];
-
- // Create a pipe and initialize the handles.
- ACE_Pipe pipe (handles);
-
-#if defined (ACE_WIN32) || defined (CHORUS)
- if (ACE_Thread::spawn (ACE_THR_FUNC (worker),
- (void *) handles[0],
- THR_DETACHED) == -1
- || ACE_Thread::spawn (ACE_THR_FUNC (worker),
- (void *) handles[1],
- THR_DETACHED) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "spawn",
- 1));
- barrier.wait ();
-#else
- pid_t pid = ACE_OS::fork (argv[0]);
-
- if (pid == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "fork",
- 1));
- run_svc (handles[pid == 0]);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) %n: shutting down tester\n"));
-#endif /* ACE_WIN32 */
-
- if (pipe.close () == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "close"));
- return 0;
-}
diff --git a/examples/Reactor/Misc/reactors.dsp b/examples/Reactor/Misc/reactors.dsp
deleted file mode 100644
index 478573e3e1c..00000000000
--- a/examples/Reactor/Misc/reactors.dsp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Microsoft Developer Studio Project File - Name="reactors" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=reactors - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "reactors.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "reactors.mak" CFG="reactors - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "reactors - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "reactors"
-# PROP BASE Intermediate_Dir "reactors"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "reactors - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\test_reactors.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/signal_tester.cpp b/examples/Reactor/Misc/signal_tester.cpp
deleted file mode 100644
index 37613f14f38..00000000000
--- a/examples/Reactor/Misc/signal_tester.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// Perform an extensive test of the ACE_Reactor's event dispatching
-// $Id$
-
-// mechanisms. These mechanisms illustrate how signals, I/O, and
-// timeout events can all be handled within the same framework. In
-// addition, this example illustrates how to use the ACE_Reactor for
-// devices that perform I/O via signals (such as SVR4 message queues).
-
-
-#include "ace/Service_Config.h"
-
-// Used to shut down the event loop.
-static sig_atomic_t done = 0;
-
-// This class illustrates how to handle signal-driven I/O using the
-// ACE_Reactor framework. Note that signals may be caught and
-// processed without requiring the use of global signal handler
-// functions or global signal handler data.
-
-class Sig_Handler : public ACE_Event_Handler
-{
-public:
- Sig_Handler (void);
- virtual ACE_HANDLE get_handle (void) const;
- virtual int handle_input (ACE_HANDLE);
- virtual int shutdown (ACE_HANDLE, ACE_Reactor_Mask);
- virtual int handle_signal (ACE_HANDLE signum, siginfo_t * = 0,
- ucontext_t * = 0);
-
-private:
- ACE_HANDLE handle_;
-};
-
-// A dummy_handle is required to reserve a slot in the ACE_Reactor's
-// descriptor table.
-
-Sig_Handler::Sig_Handler (void)
-{
- // Assign the Sig_Handler a dummy I/O descriptor. Note that even
- // though we open this file "Write Only" we still need to use the
- // ACE_Event_Handler::NULL_MASK when registering this with the
- // ACE_Reactor (see below).
- this->handle_ = ACE_OS::open (ACE_DEV_NULL, O_WRONLY);
- ACE_ASSERT (this->handle_ != -1);
-
- // Register signal handler object. Note that NULL_MASK is used to
- // keep the ACE_Reactor from calling us back on the "/dev/null"
- // descriptor.
- if (ACE_Service_Config::reactor ()->register_handler
- (this, ACE_Event_Handler::NULL_MASK) == -1)
- ACE_ERROR ((LM_ERROR, "%p\n%a", "register_handler", 1));
-
- // Create a sigset_t corresponding to the signals we want to catch.
- ACE_Sig_Set sig_set;
-
- sig_set.sig_add (SIGINT);
- sig_set.sig_add (SIGQUIT);
- sig_set.sig_add (SIGALRM);
-
- // Register the signal handler object to catch the signals.
- if (ACE_Service_Config::reactor ()->register_handler (sig_set, this) == -1)
- ACE_ERROR ((LM_ERROR, "%p\n%a", "register_handler", 1));
-}
-
-// Called by the ACE_Reactor to extract the fd.
-
-ACE_HANDLE
-Sig_Handler::get_handle (void) const
-{
- return this->handle_;
-}
-
-// In a real application, this method would be where the read on the
-// signal-driven I/O device would occur asynchronously. For now we'll
-// just print a greeting to let you know that everything is working
-// properly!
-
-int
-Sig_Handler::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG, "handling asynchonrous input...\n"));
- return 0;
-}
-
-// In a real application, this method would do any cleanup activities
-// required when shutting down the I/O device.
-
-int
-Sig_Handler::shutdown (ACE_HANDLE, ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "closing down Sig_Handler...\n"));
- return 0;
-}
-
-// This method handles all the signals that are being caught by this
-// object. In our simple example, we are simply catching SIGALRM,
-// SIGINT, and SIGQUIT. Anything else is logged and ignored.
-//
-// There are several advantages to using this approach. First,
-// the behavior triggered by the signal is handled in the main event
-// loop, rather than in the signal handler. Second, the ACE_Reactor's
-// signal handling mechanism eliminates the need to use global signal
-// handler functions and data.
-
-int
-Sig_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
-{
- ACE_DEBUG ((LM_DEBUG, "received signal %S\n", signum));
-
- switch (signum)
- {
- case SIGALRM:
- // Rearm the alarm.
- ACE_OS::alarm (4);
- break;
- case SIGINT:
- // Tell the ACE_Reactor to enable the ready bit for
- // this->handle_. The ACE_Reactor will subsequently call the
- // Sig_Handler::handle_input method from within its event loop.
- return ACE_Service_Config::reactor ()->ready_ops
- (this->handle_, ACE_Event_Handler::READ_MASK, ACE_Reactor::ADD_MASK);
- case SIGQUIT:
- ACE_DEBUG ((LM_DEBUG, "%S: shutting down signal tester\n", signum));
- ACE_Service_Config::end_reactor_event_loop ();
- break;
- default:
- ACE_DEBUG ((LM_DEBUG,
- "%S: not handled, returning to program\n", signum));
- break;
- }
- return 0;
-}
-
-// This class illustrates that the ACE_Reactor can handle signals,
-// STDIO, and timeouts using the same mechanisms.
-
-class STDIN_Handler : public ACE_Event_Handler
-{
-public:
- STDIN_Handler (void);
- virtual int handle_input (ACE_HANDLE);
- virtual int handle_timeout (const ACE_Time_Value &,
- const void *arg);
-};
-
-STDIN_Handler::STDIN_Handler (void)
-{
- if (ACE::register_stdin_handler (this,
- ACE_Service_Config::reactor (),
- ACE_Service_Config::thr_mgr ()) == -1)
- ACE_ERROR ((LM_ERROR, "%p\n", "register_stdin_handler"));
-
- // Register the STDIN_Handler to be dispatched once every second.
- else if (ACE_Service_Config::reactor ()->schedule_timer
- (this, 0, ACE_Time_Value (1), ACE_Time_Value (1)) == -1)
- ACE_ERROR ((LM_ERROR, "%p\n%a", "schedule_timer", 1));
-}
-
-int
-STDIN_Handler::handle_timeout (const ACE_Time_Value &tv,
- const void *)
-{
- ACE_DEBUG ((LM_DEBUG, "timeout occurred at %d sec, %d usec\n",
- tv.sec (), tv.usec ()));
- return 0;
-}
-
-// Read from input descriptor and write to stdout descriptor.
-
-int
-STDIN_Handler::handle_input (ACE_HANDLE handle)
-{
- ssize_t n;
- char buf[BUFSIZ];
-
- switch (n = ACE_OS::read (handle, buf, sizeof buf))
- {
- case -1:
- if (errno == EINTR)
- return 0;
- /* NOTREACHED */
- else
- ACE_ERROR ((LM_ERROR, "%p\n", "read"));
- /* FALLTHROUGH */
- case 0:
- ACE_Service_Config::end_reactor_event_loop ();
- break;
- default:
- {
- ssize_t result = ACE::write_n (ACE_STDOUT, buf, n);
-
- if (result != n)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "write"),
- result == -1 && errno == EINTR ? 0 : -1);
- }
- }
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_Service_Config daemon (argv [0]);
-
- // Signal handler.
- Sig_Handler sh;
-
- // Define an I/O handler object.
- STDIN_Handler ioh;
-
- // Optionally start the alarm.
- if (argc > 1)
- ACE_OS::alarm (4);
-
- // Loop handling signals and I/O events until SIGQUIT occurs.
-
- while (daemon.reactor_event_loop_done () == 0)
- daemon.run_reactor_event_loop ();
-
- return 0;
-}
diff --git a/examples/Reactor/Misc/signals_1.dsp b/examples/Reactor/Misc/signals_1.dsp
deleted file mode 100644
index a7780d480ef..00000000000
--- a/examples/Reactor/Misc/signals_1.dsp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Microsoft Developer Studio Project File - Name="signals_1" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=signals_1 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "signals_1.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "signals_1.mak" CFG="signals_1 - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "signals_1 - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "signals_"
-# PROP BASE Intermediate_Dir "signals_"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "signals_1 - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\test_signals_1.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/signals_2.dsp b/examples/Reactor/Misc/signals_2.dsp
deleted file mode 100644
index 625aaa0a23c..00000000000
--- a/examples/Reactor/Misc/signals_2.dsp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Microsoft Developer Studio Project File - Name="signals_2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=signals_2 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "signals_2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "signals_2.mak" CFG="signals_2 - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "signals_2 - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "signals_"
-# PROP BASE Intermediate_Dir "signals_"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-# Begin Target
-
-# Name "signals_2 - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\test_signals_2.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Reactor/Misc/test_demuxing.cpp b/examples/Reactor/Misc/test_demuxing.cpp
deleted file mode 100644
index 345ffc85a95..00000000000
--- a/examples/Reactor/Misc/test_demuxing.cpp
+++ /dev/null
@@ -1,380 +0,0 @@
-// $Id$
-
-// Perform an extensive test of all the ACE_Reactor's event handler
-// dispatching mechanisms. These mechanisms illustrate how I/O,
-// timeout, and signal events, as well as ACE_Message_Queues, can all
-// be handled within the same demultiplexing and dispatching
-// framework. In addition, this example illustrates how to use the
-// ACE_Reactor for devices that perform I/O via signals (such as SVR4
-// message queues).
-
-#include "ace/Service_Config.h"
-#include "ace/Task.h"
-
-ACE_RCSID(Misc, test_demuxing, "$Id$")
-
-// Default is to have a 2 second timeout.
-static int timeout = 2;
-
-class Sig_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // This class illustrates how to handle signal-driven I/O using
- // the <ACE_Reactor> framework. Note that signals may be caught
- // and processed without requiring the use of global signal
- // handler functions or global signal handler data.
-public:
- Sig_Handler (void);
- virtual ACE_HANDLE get_handle (void) const;
- virtual int handle_input (ACE_HANDLE);
- virtual int shutdown (ACE_HANDLE, ACE_Reactor_Mask);
- virtual int handle_signal (int signum, siginfo_t * = 0,
- ucontext_t * = 0);
-
-private:
- ACE_HANDLE handle_;
-};
-
-// A dummy_handle is required to reserve a slot in the ACE_Reactor's
-// descriptor table.
-
-Sig_Handler::Sig_Handler (void)
-{
- // Assign the Sig_Handler a dummy I/O descriptor. Note that even
- // though we open this file "Write Only" we still need to use the
- // ACE_Event_Handler::NULL_MASK when registering this with the
- // ACE_Reactor (see below).
- this->handle_ = ACE_OS::open (ACE_DEV_NULL, O_WRONLY);
- ACE_ASSERT (this->handle_ != ACE_INVALID_HANDLE);
-
- // Register signal handler object. Note that NULL_MASK is used to
- // keep the ACE_Reactor from calling us back on the "/dev/null"
- // descriptor. NULL_MASK just reserves a "slot" in the Reactor's
- // internal demuxing table, but doesn't cause it to dispatch the
- // event handler directly. Instead, we use the signal handler to do
- // this.
- if (ACE_Reactor::instance ()->register_handler
- (this,
- ACE_Event_Handler::NULL_MASK) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "register_handler",
- 1));
-
- // Create a sigset_t corresponding to the signals we want to catch.
- ACE_Sig_Set sig_set;
-
- sig_set.sig_add (SIGINT);
- sig_set.sig_add (SIGQUIT);
- sig_set.sig_add (SIGALRM);
-
- // Register the signal handler object to catch the signals.
- if (ACE_Reactor::instance ()->register_handler
- (sig_set, this) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "register_handler",
- 1));
-}
-
-// Called by the ACE_Reactor to extract the handle.
-
-ACE_HANDLE
-Sig_Handler::get_handle (void) const
-{
- return this->handle_;
-}
-
-// In a real application, this method would be where the read on the
-// signal-driven I/O device would occur asynchronously. For now we'll
-// just print a greeting to let you know that everything is working
-// properly!
-
-int
-Sig_Handler::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) handling asynchonrous input...\n"));
- return 0;
-}
-
-// In a real application, this method would do any cleanup activities
-// required when shutting down the I/O device.
-
-int
-Sig_Handler::shutdown (ACE_HANDLE, ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) closing down Sig_Handler...\n"));
- return 0;
-}
-
-// This method handles all the signals that are being caught by this
-// object. In our simple example, we are simply catching SIGALRM,
-// SIGINT, and SIGQUIT. Anything else is logged and ignored.
-//
-// There are several advantages to using this approach. First, the
-// behavior triggered by the signal is handled in the main event loop,
-// rather than in the signal handler. Second, the ACE_Reactor's
-// signal handling mechanism eliminates the need to use global signal
-// handler functions and data.
-
-int
-Sig_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
-{
- switch (signum)
- {
-#if !defined (ACE_WIN32)
- case SIGALRM:
- // Rearm the alarm.
- ACE_OS::alarm (4);
- break;
-#endif /* !ACE_WIN32 */
- case SIGINT:
- // Tell the ACE_Reactor to enable the ready bit for
- // this->handle_. The ACE_Reactor will subsequently call the
- // <Sig_Handler::handle_input> method from within its event
- // loop.
- return ACE_Reactor::instance ()->ready_ops
- (this->handle_,
- ACE_Event_Handler::READ_MASK,
- ACE_Reactor::ADD_MASK);
-#if defined (ACE_WIN32)
- case SIGTERM:
-#else
- case SIGQUIT:
-#endif /* ACE_WIN32 */
- ACE_Reactor::end_event_loop ();
- break;
- default:
- ACE_ASSERT (!"invalid signal");
- break;
- /* NOTREACHED */
- }
- return 0;
-}
-
-class STDIN_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // This class illustrates that the ACE_Reactor can handle signals,
- // STDIO, and timeouts using the same mechanisms.
-public:
- STDIN_Handler (void);
- ~STDIN_Handler (void);
- virtual int handle_input (ACE_HANDLE);
- virtual int handle_timeout (const ACE_Time_Value &,
- const void *arg);
-};
-
-STDIN_Handler::STDIN_Handler (void)
-{
- if (ACE_Event_Handler::register_stdin_handler (this,
- ACE_Reactor::instance (),
- ACE_Thread_Manager::instance ()) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "register_stdin_handler"));
-
- // Register the <STDIN_Handler> to be dispatched once every
- // <timeout> seconds starting in <timeout> seconds. This example
- // uses the "interval timer" feature of the <ACE_Reactor>'s timer
- // queue.
- else if (ACE_Reactor::instance ()->schedule_timer
- (this,
- 0,
- ACE_Time_Value (timeout),
- ACE_Time_Value (timeout)) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "schedule_timer",
- 1));
-}
-
-STDIN_Handler::~STDIN_Handler (void)
-{
- if (ACE_Event_Handler::remove_stdin_handler (ACE_Reactor::instance (),
- ACE_Thread_Manager::instance ()) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "remove_stdin_handler"));
- else if (ACE_Reactor::instance ()->cancel_timer
- (this) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "cancel_timer",
- 1));
-}
-
-int
-STDIN_Handler::handle_timeout (const ACE_Time_Value &tv,
- const void *)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) timeout occurred at %d sec, %d usec\n",
- tv.sec (),
- tv.usec ()));
- return 0;
-}
-
-// Read from input handle and write to stdout handle.
-
-int
-STDIN_Handler::handle_input (ACE_HANDLE handle)
-{
- char buf[BUFSIZ];
- ssize_t n = ACE_OS::read (handle, buf, sizeof buf);
-
- switch (n)
- {
- case -1:
- if (errno == EINTR)
- return 0;
- /* NOTREACHED */
- else
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "read"));
- /* FALLTHROUGH */
- case 0:
- ACE_Reactor::end_event_loop ();
- break;
- default:
- {
- ssize_t result = ACE::write_n (ACE_STDOUT, buf, n);
-
- if (result != n)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "write"),
- result == -1 && errno == EINTR ? 0 : -1);
- }
- }
- return 0;
-}
-
-class Message_Handler : public ACE_Task <ACE_SYNCH>
-{
-public:
- Message_Handler (void);
-
- virtual int handle_input (ACE_HANDLE);
- // Called back within the context of the <ACE_Reactor> Singleton to
- // dequeue and process the message on the <ACE_Message_Queue>.
-
- virtual int svc (void);
- // Run the "event-loop" periodically putting messages to our
- // internal <Message_Queue> that we inherit from <ACE_Task>.
-
-private:
- ACE_Reactor_Notification_Strategy notification_strategy_;
- // This strategy will notify the <ACE_Reactor> Singleton when a new
- // message is enqueued.
-};
-
-Message_Handler::Message_Handler (void)
- : notification_strategy_ (ACE_Reactor::instance (),
- this,
- ACE_Event_Handler::READ_MASK)
-{
- // Set this to the Reactor notification strategy.
- this->msg_queue ()->notification_strategy (&this->notification_strategy_);
-
- if (this->activate ())
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "activate"));
-}
-
-int
-Message_Handler::svc (void)
-{
- for (int i = 0;; i++)
- {
- ACE_Message_Block *mb;
-
- ACE_NEW_RETURN (mb,
- ACE_Message_Block (1),
- 0);
-
- mb->msg_priority (i);
- ACE_OS::sleep (1);
-
- // Note that this putq() call with automagically invoke the
- // notify() hook of our ACE_Reactor_Notification_Strategy,
- // thereby informing the <ACE_Reactor> Singleton to call our
- // <handle_input> method.
- if (this->putq (mb) == -1)
- {
- if (errno == ESHUTDOWN)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%t) queue is deactivated"), 0);
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%t) %p\n",
- "putq"),
- -1);
- }
- }
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-Message_Handler::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%t) Message_Handler::handle_input\n"));
-
- ACE_Message_Block *mb;
-
- if (this->getq (mb, (ACE_Time_Value *) &ACE_Time_Value::zero) == -1)
- ACE_ERROR ((LM_ERROR,
- "(%t) %p\n",
- "dequeue_head"));
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%t) priority = %d\n",
- mb->msg_priority ()));
- mb->release ();
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_Service_Config daemon (argv [0]);
-
- // Optionally start the alarm.
- if (argc > 1)
- {
- ACE_OS::alarm (4);
- timeout = ACE_OS::atoi (argv[1]);
- }
-
- // Signal handler.
- Sig_Handler sh;
-
- // Define an I/O handler object.
- STDIN_Handler ioh;
-
- // Define a message handler.
- Message_Handler mh;
-
- // Loop handling signals and I/O events until SIGQUIT occurs.
-
- while (ACE_Reactor::event_loop_done () == 0)
- ACE_Reactor::run_event_loop ();
-
- // Deactivate the message queue.
- mh.msg_queue ()->deactivate ();
-
- // Wait for the thread to exit.
- ACE_Thread_Manager::instance ()->wait ();
- ACE_DEBUG ((LM_DEBUG,
- "(%t) leaving main\n"));
- return 0;
-}
diff --git a/examples/Reactor/Misc/test_early_timeouts.cpp b/examples/Reactor/Misc/test_early_timeouts.cpp
deleted file mode 100644
index 8fb89935f38..00000000000
--- a/examples/Reactor/Misc/test_early_timeouts.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// $Id$
-
-// ================================================================
-//
-// = LIBRARY
-// examples/Reactor/Misc/
-//
-// = FILENAME
-// test_early_timeouts.cpp
-//
-// = DESCRIPTION
-// On some platforms, select() returns before the time value
-// specified. This tests counts the number of times this happens
-// and the max early timeout.
-//
-// = AUTHOR
-// Irfan Pyarali
-//
-// ================================================================
-
-#include "ace/Handle_Set.h"
-#include "ace/Pipe.h"
-#include "ace/Log_Msg.h"
-
-ACE_RCSID(Misc, test_early_timeouts, "$Id$")
-
-int
-main (int, char *[])
-{
- // Mumber of seconds this test should run
- int runtime_in_seconds = 10;
-
- // Iterations
- int iterations = runtime_in_seconds * 10;
-
- // 100 millisecond timeout
- ACE_Time_Value timeout (0, 100000);
-
- // Time before starting select
- ACE_Time_Value starting_time_of_day;
-
- // Time before starting select
- ACE_Time_Value ending_time_of_day;
-
- // Number of times the timer expired early
- int no_of_early_timers = 0;
-
- // Maximum early timeout
- ACE_Time_Value maximum_early_timeout;
-
- //
- // Dummy handle and handle set
- // Note that some OS do not like "empty selects"
- //
-
- // Dummy handle set
- ACE_Handle_Set dummy_handle_set;
-
- // Dummy pipe
- ACE_Pipe dummy_pipe;
- int result = dummy_pipe.open ();
- ACE_ASSERT (result == 0);
- ACE_UNUSED_ARG (result); // To avoid compile warning with ACE_NDEBUG.
-
- for (int i = 1; i <= iterations; i++)
- {
- // Add dummy handle to dummy set
- dummy_handle_set.set_bit (dummy_pipe.read_handle ());
-
- // Note the time before select
- starting_time_of_day = ACE_OS::gettimeofday ();
-
- // Wait for timeout
- result = ACE_OS::select ((int) dummy_pipe.read_handle (), dummy_handle_set, 0, 0, &timeout);
- ACE_ASSERT (result == 0);
-
- // Note the time after select
- ending_time_of_day = ACE_OS::gettimeofday ();
-
- // Expected ending time
- ACE_Time_Value expected_ending_time_of_day =
- starting_time_of_day + timeout;
-
- // If the timer expired early
- if (ending_time_of_day < expected_ending_time_of_day)
- {
- // How early
- ACE_Time_Value early_timeout = expected_ending_time_of_day - ending_time_of_day;
-
- // Increment number of early timers
- no_of_early_timers++;
-
- // Check max early timeout
- if (early_timeout > maximum_early_timeout)
- {
- maximum_early_timeout = early_timeout;
- }
- }
- }
-
- ACE_DEBUG ((LM_DEBUG,
- "There were %d early timers out of %d calls to select() (%f%%)\n"
- "The max early timeout was: %dsec %dusec\n",
- no_of_early_timers,
- iterations,
- float (no_of_early_timers) / iterations * 100,
- maximum_early_timeout.sec (),
- maximum_early_timeout.usec ()));
-
- return 0;
-}
diff --git a/examples/Reactor/Misc/test_event_handler_t.cpp b/examples/Reactor/Misc/test_event_handler_t.cpp
deleted file mode 100644
index a1e0e1bc248..00000000000
--- a/examples/Reactor/Misc/test_event_handler_t.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// $Id$
-
-#include "ace/Event_Handler_T.h"
-
-ACE_RCSID(Misc, test_event_handler_t, "$Id$")
-
-#if defined (ACE_HAS_TEMPLATE_TYPEDEFS)
-
-class ACE_Test_Sig_Handler
-{
-public:
- ACE_Test_Sig_Handler (void) {}
- virtual ACE_HANDLE get_handle (void) const { return 0; }
- virtual void set_handle (ACE_HANDLE) {}
- virtual int handle_async_io (ACE_HANDLE) { return 0; }
- virtual int shutdown (ACE_HANDLE, ACE_Reactor_Mask) { return 0; }
- virtual int signal_handler (ACE_HANDLE /* signum */,
- siginfo_t * = 0,
- ucontext_t * = 0)
- {
- return 0;
- }
-};
-
-int
-main (int, char *[])
-{
- typedef ACE_Event_Handler_T<ACE_Test_Sig_Handler> EH_SH;
-
- // Tie the ACE_Event_Handler_T together with the methods from ACE_Test_Sig_Handler.
- EH_SH tied_sh (new ACE_Test_Sig_Handler, 1,
- &ACE_Test_Sig_Handler::get_handle,
- &ACE_Test_Sig_Handler::handle_async_io,
- &ACE_Test_Sig_Handler::shutdown,
- &ACE_Test_Sig_Handler::signal_handler);
- return 0;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \
- defined (ACE_HAS_GNU_REPO)
- // The explicit instantiation is necessary with g++ 2.91.66 with
- // -frepo, because it misses it.
-template class ACE_Event_Handler_T<ACE_Test_Sig_Handler>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Event_Handler_T<ACE_Test_Sig_Handler>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-#else
-int
-main (int, char *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR, "your platform does not support template typedefs\n"), 1);
-}
-#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */
diff --git a/examples/Reactor/Misc/test_reactors.cpp b/examples/Reactor/Misc/test_reactors.cpp
deleted file mode 100644
index 75467c2d4e4..00000000000
--- a/examples/Reactor/Misc/test_reactors.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// $Id$
-
-// Perform a torture test of multiple ACE_Reactors and ACE_Tasks in
-// the same process... Thanks to Detlef Becker for contributing this.
-
-#include "ace/Reactor.h"
-#include "ace/Synch.h"
-#include "ace/Service_Config.h"
-#include "ace/Task.h"
-
-ACE_RCSID(Misc, test_reactors, "$Id$")
-
-#if defined (ACE_HAS_THREADS)
-
-static const int NUM_INVOCATIONS = 10;
-static const int MAX_TASKS = 20;
-
-class Test_Task : public ACE_Task<ACE_MT_SYNCH>
-{
-public:
- Test_Task (void);
- ~Test_Task (void);
-
- virtual int open (void *args = 0);
- virtual int close (u_long flags = 0);
- virtual int svc (void);
-
- virtual int handle_input (ACE_HANDLE handle);
- virtual int handle_close (ACE_HANDLE fd,
- ACE_Reactor_Mask close_mask);
-
-private:
- int handled_;
-
- static int task_count_;
-};
-
-int Test_Task::task_count_ = 0;
-
-static ACE_Atomic_Op<ACE_Thread_Mutex, int> done_count = MAX_TASKS * 2;
-
-static ACE_Recursive_Thread_Mutex reclock_;
-
-Test_Task::Test_Task (void)
- : handled_ (0)
-{
- ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, reclock_);
-
- Test_Task::task_count_++;
- ACE_DEBUG ((LM_DEBUG,
- "(%t) TT+ Test_Task::task_count_ = %d\n",
- Test_Task::task_count_));
-}
-
-Test_Task::~Test_Task (void)
-{
- ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, reclock_);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%t) TT- Test_Task::task_count_ = %d\n",
- Test_Task::task_count_));
-}
-
-int
-Test_Task::open (void *args)
-{
- this->reactor ((ACE_Reactor *) args);
- return this->activate (THR_NEW_LWP);
-}
-
-int
-Test_Task::close (u_long)
-{
- ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, reclock_, -1);
-
- Test_Task::task_count_--;
- ACE_DEBUG ((LM_DEBUG,
- "(%t) close Test_Task::task_count_ = %d\n",
- Test_Task::task_count_));
- return 0;
-}
-
-int
-Test_Task::svc (void)
-{
- for (int i = 0; i < NUM_INVOCATIONS; i++)
- {
- ACE_OS::thr_yield ();
-
- // ACE_DEBUG ((LM_DEBUG, "(%t) calling notify %d\n", i));
-
- if (this->reactor ()->notify (this, ACE_Event_Handler::READ_MASK) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "(%t) %p\n", "notify"), -1);
-
- // ACE_DEBUG ((LM_DEBUG, "(%t) leaving notify %d\n", i));
- }
-
- return 0;
-}
-
-int
-Test_Task::handle_close (ACE_HANDLE,
- ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) handle_close\n"));
- return 0;
-}
-
-int
-Test_Task::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) handle_input\n"));
-
- this->handled_++;
-
- if (this->handled_ == NUM_INVOCATIONS)
- {
- done_count--;
- ACE_DEBUG ((LM_DEBUG,
- "(%t) handle_input, handled_ = %d, done_count = %d\n",
- this->handled_, done_count.value ()));
- }
-
- ACE_OS::thr_yield ();
- return -1;
-}
-
-static void *
-worker (void *args)
-{
- ACE_Reactor *reactor = (ACE_Reactor *) args;
-
- reactor->owner (ACE_Thread::self ());
-
- ACE_Time_Value timeout (4);
-
- for (;;)
- {
- //ACE_DEBUG ((LM_DEBUG, "(%t) calling handle_events\n"));
-
- switch (reactor->handle_events (timeout))
- {
- case -1:
- ACE_ERROR_RETURN ((LM_ERROR, "(%t) %p\n", "reactor"), 0);
- /* NOTREACHED */
- case 0:
- ACE_ERROR_RETURN ((LM_ERROR, "(%t) timeout\n"), 0);
- /* NOTREACHED */
- }
-
- // ACE_DEBUG ((LM_DEBUG, "(%t) done with handle_events\n"));
-
- }
-
- ACE_NOTREACHED(return 0);
-}
-
-int
-main (int, char *[])
-{
- ACE_Reactor *react1 = ACE_Reactor::instance ();
- ACE_Reactor *react2 = new ACE_Reactor ();
- Test_Task tt1[MAX_TASKS];
- Test_Task tt2[MAX_TASKS];
-
- for (int i = 0; i < MAX_TASKS; i++)
- {
- tt1[i].open (react1);
- tt2[i].open (react2);
- }
-
- if (ACE_Thread_Manager::instance ()->spawn
- (ACE_THR_FUNC (worker), (void *) react1, THR_NEW_LWP) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "spawn"), -1);
-
- else if (ACE_Thread_Manager::instance ()->spawn
- (ACE_THR_FUNC (worker), (void *) react2, THR_NEW_LWP) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "spawn"), -1);
-
- ACE_Thread_Manager::instance ()->wait ();
- ACE_DEBUG ((LM_DEBUG, "(%t) done\n"));
-
- return 0;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-
-#else
-int
-main (int, char *[])
-{
- ACE_ERROR ((LM_ERROR, "threads not supported on this platform\n"));
- return 0;
-}
-#endif /* ACE_HAS_THREADS */
diff --git a/examples/Reactor/Misc/test_signals.cpp b/examples/Reactor/Misc/test_signals.cpp
deleted file mode 100644
index 6493667de12..00000000000
--- a/examples/Reactor/Misc/test_signals.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-// Test the ability of the Reactor/Signal_Handler to register multiple
-// $Id$
-
-// handler per-signal.
-
-/* This test works as follows:
-
- 1. To test the "original" semantics of ACE (i.e., only one
- ACE_Event_Handler can be registered per signal), you don't
- need to do anything special. Existing programs work the
- same since giving the Reactor's constructor a 0 value
- (which is the default argument, BTW) instructs it to behave
- as before. When a 0 is given, the ACE_Reactor's
- constructor/open method creates an instance of
- ACE_Sig_Handler and assigns this to an internal pointer.
- This pointer is then used to dispatch all signal-related
- methods within the Reactor. The default ACE_Sig_Handler
- only allows *one* ACE_Event_Handler to be registered
- per-signal.
-
- To run this version of the test do the following:
-
- % ./test-signal
- ./test_signals
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in Sig_Handler_2 (fruity, 0, 0) with count = 1
- waiting for SIGINT or SIGQUIT
- ^\
- signal Quit occurred in Sig_Handler_2 (fruity, 0, 0) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (fruity, 0, 0)
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in Sig_Handler_2 (fruity, 0, 0) with count = 3
- waiting for SIGINT or SIGQUIT
- ^\Quit (core dumped)
-
- Note that in this test only one handler (the last one --
- "Sig_Handler_2 (fruity)") is actually registered. BTW, the
- core dump is the expected behavior since the default
- disposition is restored when there are no more handlers
- (see the code below).
-
- 2. To test the "multiple handlers per-signal semantics", you
- need to pass the constructor/open method of the ACE_Reactor
- a pointer to a an instance of ACE_Sig_Handlers (note the
- plural "s"). ACE_Sig_Handlers is a class that derives from
- ACE_Sig_Handler. The difference between these two classes
- is that (1) ACE_Sig_Handlers::register_signal allows
- multiple ACE_Event_Handlers to be registered per-signal and
- (2) it enables SA_RESTART by default. This class also
- implements Detlef Becker's algorithm for integrating ACE
- signal handling with 3rd party libraries.
-
- To run this version of the test do the following:
-
- % ./test_signals 1
-
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in external handler!
- signal Interrupt occurred in Sig_Handler_1 (howdy, 3, 1) with count = 1
- shutting down SIGINT in Sig_Handler_1 (howdy, 3, 1)
- signal Interrupt occurred in Sig_Handler_1 (doody, 5, 4) with count = 1
- shutting down SIGINT in Sig_Handler_1 (doody, 5, 4)
- signal Interrupt occurred in Sig_Handler_2 (tutty, 7, 6) with count = 1
- signal Interrupt occurred in Sig_Handler_2 (fruity, 9, 8) with count = 1
- waiting for SIGINT or SIGQUIT
- ^\
- signal Quit occurred in Sig_Handler_1 (howdy, 3, 1) with count = 2
- shutting down SIGQUIT in Sig_Handler_1 (howdy, 3, 1)
- signal Quit occurred in Sig_Handler_1 (doody, 5, 4) with count = 2
- shutting down SIGQUIT in Sig_Handler_1 (doody, 5, 4)
- signal Quit occurred in Sig_Handler_2 (tutty, 7, 6) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (tutty, 7, 6)
- signal Quit occurred in Sig_Handler_2 (fruity, 9, 8) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (fruity, 9, 8)
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in external handler!
- signal Interrupt occurred in Sig_Handler_2 (tutty, 7, 6) with count = 3
- signal Interrupt occurred in Sig_Handler_2 (fruity, 9, 8) with count = 3
- waiting for SIGINT or SIGQUIT
- ^\Quit (core dumped)
-
- When this test begins all four handlers are registered and
- dispatched when a SIGINT or SIGQUIT occurs. After the
- first SIGINT, the handle_signal method of the Sig_Handler_1
- objects unregister themselves. At that point there are 4
- SIGQUIT handlers left, but only 2 of our SIGINT handlers
- left (and the 1 external handler). After the first
- SIGQUIT, there are no SIGQUIT handlers left since they all
- deregister themselves (which restores the "SIG_DFL"
- disposition). On the second SIGINT there are only 3
- handlers left (2 of ours and 1 external). Finally, on the
- second SIGQUIT we exit and dump core since that's what
- happens with the default disposition for SIGQUIT. */
-
-#include "ace/Log_Msg.h"
-#include "ace/Reactor.h"
-
-class Sig_Handler_1 : public ACE_Event_Handler
-{
-public:
- Sig_Handler_1 (ACE_Reactor &reactor, char *msg)
- : msg_ (msg),
- count_ (0),
- reactor_ (reactor)
- {
- // Register the signal handlers.
- this->quit_sigkey_ = reactor.register_handler (SIGQUIT, this);
- this->int_sigkey_ = reactor.register_handler (SIGINT, this);
-
- if (this->quit_sigkey_ == -1 || this->int_sigkey_ == -1)
- ACE_ERROR ((LM_ERROR, "%p\n", "register_handler"));
- }
-
- virtual int handle_signal (int signum, siginfo_t *, ucontext_t *)
- {
- this->count_++;
- ACE_DEBUG ((LM_DEBUG,
- "\nsignal %S occurred in Sig_Handler_1 (%s, %d, %d) with count = %d",
- signum, this->msg_, this->int_sigkey_, this->quit_sigkey_, this->count_));
- if (this->count_ != 1 && signum == SIGQUIT)
- {
- if (this->reactor_.remove_handler (SIGQUIT, 0, 0,
- this->quit_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR, "\n%p", "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG, "\nshutting down SIGQUIT in Sig_Handler_1 (%s, %d, %d)",
- this->msg_, this->int_sigkey_, this->quit_sigkey_));
- }
- else if (this->count_ != 2 && signum == SIGINT)
- {
- if (this->reactor_.remove_handler (SIGINT, 0, 0,
- this->int_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR, "\n%p", "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG, "\nshutting down SIGINT in Sig_Handler_1 (%s, %d, %d)",
- this->msg_, this->int_sigkey_, this->quit_sigkey_));
- }
- return 0;
- }
-
-protected:
- char *msg_;
- int count_;
- int int_sigkey_;
- int quit_sigkey_;
- ACE_Reactor &reactor_;
-};
-
-class Sig_Handler_2 : public Sig_Handler_1
-{
-public:
- Sig_Handler_2 (ACE_Reactor &reactor, char *msg)
- : Sig_Handler_1 (reactor, msg)
- {
- }
-
- virtual int handle_signal (int signum, siginfo_t *, ucontext_t *)
- {
- this->count_++;
- ACE_DEBUG ((LM_DEBUG,
- "\nsignal %S occurred in Sig_Handler_2 (%s, %d, %d) with count = %d",
- signum, this->msg_, this->int_sigkey_, this->quit_sigkey_, this->count_));
- if (this->count_ != 0 && signum == SIGQUIT)
- {
- if (this->reactor_.remove_handler (SIGQUIT, 0, 0,
- this->quit_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR, "\n%p", "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG, "\nshutting down SIGQUIT in Sig_Handler_2 (%s, %d, %d)",
- this->msg_, this->int_sigkey_, this->quit_sigkey_));
- }
- else
- return 0;
- }
-};
-
-static void
-external_handler (int signum)
-{
- ACE_DEBUG ((LM_DEBUG, "\nsignal %S occurred in external handler!", signum));
-}
-
-#if !defined (HPUX)
-int
-main (int argc, char *argv)
-{
- // If argc > 1 then allow multiple handlers per-signal, else just
- // allow 1 handler per-signal.
- ACE_Sig_Handlers multi_handlers;
-
- ACE_Reactor reactor (argc > 1 ? &multi_handlers: 0);
-
- if (argc > 1)
- {
- // Register an "external" signal handler so that the
- // ACE_Sig_Handlers code will have something to incorporate!
- ACE_SignalHandler eh = ACE_SignalHandler (external_handler);
- ACE_Sig_Action sa (eh);
-
- sa.register_action (SIGINT);
- }
-
- // Create a bevy of handlers.
- Sig_Handler_1 h1 (reactor, "howdy"), h2 (reactor, "doody");
- Sig_Handler_2 h3 (reactor, "tutty"), h4 (reactor, "fruity");
-
- // Wait for user to type SIGINT and SIGQUIT.
-
- for (;;)
- {
- ACE_DEBUG ((LM_DEBUG, "\nwaiting for SIGINT or SIGQUIT\n"));
- reactor.handle_events ();
- }
- return 0;
-}
-#else
-int
-main (void)
-{
- ACE_ERROR_RETURN ((LM_ERROR, "The HP C++ compiler is too lame to support this feature\n"), -1);
-}
-#endif /* HPUX */
diff --git a/examples/Reactor/Misc/test_signals_1.cpp b/examples/Reactor/Misc/test_signals_1.cpp
deleted file mode 100644
index e2c7d5a7065..00000000000
--- a/examples/Reactor/Misc/test_signals_1.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// $Id$
-
-// This simple program illustrates the difference between handling
-// signals via the Reactor (which doesn't cause the event loop to
-// terminate) and signals that aren't handled via the Reactor (which
-// do).
-
-#include "ace/Service_Config.h"
-#include "ace/Log_Msg.h"
-
-ACE_RCSID(Misc, test_signals_1, "$Id$")
-
-// Number of times to allow signal to execute until we quit.
-static size_t count = 10;
-
-static void
-my_signal_function (int sig)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Executed non-ACE signal handler for signal %S\n",
- sig));
-}
-
-class My_Handler : public ACE_Event_Handler
-{
-public:
- virtual int handle_signal (int sig,
- siginfo_t *,
- ucontext_t *)
- {
- // @@ Note that this code is not portable to all OS platforms
- // since it uses print statements within signal handler context.
- ACE_DEBUG ((LM_DEBUG,
- "Executed ACE signal handler for signal %S, count = %d\n",
- sig,
- count));
- count--;
-
- if (count == 0)
- ACE_Reactor::end_event_loop ();
-
- return 0;
- }
-
- virtual int handle_timeout (const ACE_Time_Value &,
- const void *arg)
- {
- ACE_DEBUG ((LM_DEBUG,
- "%s\n",
- (const char *) arg));
- return 0;
- }
-};
-
-int
-main (int argc, char *argv[])
-{
- // First you need a handler for the timeout.
- My_Handler my_handler;
-
- // This is the timeout period in seconds.
- ACE_Time_Value period (ACE_DEFAULT_TIMEOUT);
-
- if (argc > 1)
- period.set (ACE_OS::atoi (argv[1]));
-
- // Set up the periodic interval timer.
- if (ACE_Reactor::instance ()->schedule_timer
- (&my_handler,
- "hello",
- period,
- period) == -1)
- ACE_ERROR_RETURN ((LM_DEBUG,
- "%p\n",
- "schedule_timer"),
- -1);
-
- // Set up an ACE signal handler.
-
- if (ACE_Reactor::instance ()->register_handler
- (SIGINT,
- &my_handler) == -1)
- ACE_ERROR_RETURN ((LM_DEBUG,
- "%p\n",
- "register_handler"),
- -1);
-
- // Set up a non-ACE signal handler. When this goes off, the Reactor
- // should return from its <run_event_loop> method.
- ACE_Sig_Action sig ((ACE_SignalHandler) my_signal_function,
- SIGQUIT);
- ACE_UNUSED_ARG (sig);
-
- ACE_DEBUG ((LM_DEBUG,
- "starting event loop that runs until you've typed ^C a total of 10 times or ^\\ once.\n"));
-
- // This call executes the reactor events until we're finished.
- int result = ACE_Reactor::run_event_loop ();
-
- ACE_DEBUG ((LM_DEBUG,
- "result = %d\n",
- result));
-
- // Make sure to remove my_handler before exiting main() since
- // otherwise weird things can happen...
- if (ACE_Reactor::instance ()->cancel_timer (&my_handler) == -1)
- ACE_ERROR_RETURN ((LM_DEBUG,
- "%p\n",
- "cancel_timer"),
- -1);
- return 0;
-}
diff --git a/examples/Reactor/Misc/test_signals_2.cpp b/examples/Reactor/Misc/test_signals_2.cpp
deleted file mode 100644
index 8ac6e402722..00000000000
--- a/examples/Reactor/Misc/test_signals_2.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-// $Id$
-
-// Test the ability of the Reactor/Signal_Handler to register multiple
-// handler per-signal.
-
-/* This test works as follows:
-
- 1. To test the "original" semantics of ACE (i.e., only one
- ACE_Event_Handler can be registered per signal), you don't
- need to do anything special. Existing programs work the
- same since giving the Reactor's constructor a 0 value
- (which is the default argument, BTW) instructs it to behave
- as before. When a 0 is given, the ACE_Reactor's
- constructor/open method creates an instance of
- ACE_Sig_Handler and assigns this to an internal pointer.
- This pointer is then used to dispatch all signal-related
- methods within the Reactor. The default ACE_Sig_Handler
- only allows *one* ACE_Event_Handler to be registered
- per-signal.
-
- To run this version of the test do the following:
-
- % ./test-signal
- ./test_signals
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in Sig_Handler_2 (fruity, 0, 0) with count = 1
- waiting for SIGINT or SIGQUIT
- ^\
- signal Quit occurred in Sig_Handler_2 (fruity, 0, 0) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (fruity, 0, 0)
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in Sig_Handler_2 (fruity, 0, 0) with count = 3
- waiting for SIGINT or SIGQUIT
- ^\Quit (core dumped)
-
- Note that in this test only one handler (the last one --
- "Sig_Handler_2 (fruity)") is actually registered. BTW, the
- core dump is the expected behavior since the default
- disposition is restored when there are no more handlers
- (see the code below).
-
- 2. To test the "multiple handlers per-signal semantics", you
- need to pass the constructor/open method of the ACE_Reactor
- a pointer to a an instance of ACE_Sig_Handlers (note the
- plural "s"). ACE_Sig_Handlers is a class that derives from
- ACE_Sig_Handler. The difference between these two classes
- is that (1) ACE_Sig_Handlers::register_signal allows
- multiple ACE_Event_Handlers to be registered per-signal and
- (2) it enables SA_RESTART by default. This class also
- implements Detlef Becker's algorithm for integrating ACE
- signal handling with 3rd party libraries.
-
- To run this version of the test do the following:
-
- % ./test_signals 1
-
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in external handler!
- signal Interrupt occurred in Sig_Handler_1 (howdy, 3, 1) with count = 1
- shutting down SIGINT in Sig_Handler_1 (howdy, 3, 1)
- signal Interrupt occurred in Sig_Handler_1 (doody, 5, 4) with count = 1
- shutting down SIGINT in Sig_Handler_1 (doody, 5, 4)
- signal Interrupt occurred in Sig_Handler_2 (tutty, 7, 6) with count = 1
- signal Interrupt occurred in Sig_Handler_2 (fruity, 9, 8) with count = 1
- waiting for SIGINT or SIGQUIT
- ^\
- signal Quit occurred in Sig_Handler_1 (howdy, 3, 1) with count = 2
- shutting down SIGQUIT in Sig_Handler_1 (howdy, 3, 1)
- signal Quit occurred in Sig_Handler_1 (doody, 5, 4) with count = 2
- shutting down SIGQUIT in Sig_Handler_1 (doody, 5, 4)
- signal Quit occurred in Sig_Handler_2 (tutty, 7, 6) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (tutty, 7, 6)
- signal Quit occurred in Sig_Handler_2 (fruity, 9, 8) with count = 2
- shutting down SIGQUIT in Sig_Handler_2 (fruity, 9, 8)
- waiting for SIGINT or SIGQUIT
- ^C
- signal Interrupt occurred in external handler!
- signal Interrupt occurred in Sig_Handler_2 (tutty, 7, 6) with count = 3
- signal Interrupt occurred in Sig_Handler_2 (fruity, 9, 8) with count = 3
- waiting for SIGINT or SIGQUIT
- ^\Quit (core dumped)
-
- When this test begins all four handlers are registered and
- dispatched when a SIGINT or SIGQUIT occurs. After the
- first SIGINT, the handle_signal method of the Sig_Handler_1
- objects unregister themselves. At that point there are 4
- SIGQUIT handlers left, but only 2 of our SIGINT handlers
- left (and the 1 external handler). After the first
- SIGQUIT, there are no SIGQUIT handlers left since they all
- deregister themselves (which restores the "SIG_DFL"
- disposition). On the second SIGINT there are only 3
- handlers left (2 of ours and 1 external). Finally, on the
- second SIGQUIT we exit and dump core since that's what
- happens with the default disposition for SIGQUIT. */
-
-
-#include "ace/Reactor.h"
-#include "ace/WFMO_Reactor.h"
-#include "ace/Select_Reactor.h"
-
-ACE_RCSID(Misc, test_signals_2, "$Id$")
-
-class Sig_Handler_1 : public ACE_Event_Handler
-{
-public:
- Sig_Handler_1 (ACE_Reactor &reactor, const char *msg)
- : msg_ (msg),
- count_ (0),
- reactor_ (reactor)
- {
- // Register the signal handlers.
- this->quit_sigkey_ =
- reactor.register_handler (SIGQUIT, this);
- this->int_sigkey_ =
- reactor.register_handler (SIGINT, this);
-
- if (this->quit_sigkey_ == -1 || this->int_sigkey_ == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "register_handler"));
- }
-
- // @@ Note that this code is not portable to all OS platforms since
- // it does print statements within the signal handler.
- virtual int handle_signal (int signum,
- siginfo_t *,
- ucontext_t *)
- {
- this->count_++;
- ACE_DEBUG ((LM_DEBUG,
- "\nsignal %S occurred in Sig_Handler_1 (%s, %d, %d) with count = %d",
- signum,
- this->msg_,
- this->int_sigkey_,
- this->quit_sigkey_,
- this->count_));
-
- if (this->count_ != 1 && signum == SIGQUIT)
- {
- if (this->reactor_.remove_handler (SIGQUIT,
- 0,
- 0,
- this->quit_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR,
- "\n%p",
- "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG,
- "\nshutting down SIGQUIT in Sig_Handler_1 (%s, %d, %d)",
- this->msg_,
- this->int_sigkey_,
- this->quit_sigkey_));
- }
- else if (this->count_ != 2 && signum == SIGINT)
- {
- if (this->reactor_.remove_handler (SIGINT,
- 0,
- 0,
- this->int_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR,
- "\n%p",
- "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG,
- "\nshutting down SIGINT in Sig_Handler_1 (%s, %d, %d)",
- this->msg_,
- this->int_sigkey_,
- this->quit_sigkey_));
- }
- return 0;
- }
-
-protected:
- const char *msg_;
- int count_;
- int int_sigkey_;
- int quit_sigkey_;
- ACE_Reactor &reactor_;
-};
-
-class Sig_Handler_2 : public Sig_Handler_1
-{
-public:
- Sig_Handler_2 (ACE_Reactor &reactor, const char *msg)
- : Sig_Handler_1 (reactor, msg)
- {
- }
-
- virtual int handle_signal (int signum,
- siginfo_t *,
- ucontext_t *)
- {
- this->count_++;
- ACE_DEBUG ((LM_DEBUG,
- "\nsignal %S occurred in Sig_Handler_2 (%s, %d, %d) with count = %d",
- signum,
- this->msg_,
- this->int_sigkey_,
- this->quit_sigkey_,
- this->count_));
- if (this->count_ != 0 && signum == SIGQUIT)
- {
- if (this->reactor_.remove_handler (SIGQUIT, 0, 0,
- this->quit_sigkey_) == -1)
- ACE_ERROR ((LM_ERROR,
- "\n%p",
- "remove_handler"));
- else
- ACE_DEBUG ((LM_DEBUG,
- "\nshutting down SIGQUIT in Sig_Handler_2 (%s, %d, %d)",
- this->msg_,
- this->int_sigkey_,
- this->quit_sigkey_));
- }
- return 0;
- }
-};
-
-static void
-external_handler (int signum)
-{
- ACE_DEBUG ((LM_DEBUG,
- "\nsignal %S occurred in external handler!",
- signum));
-}
-
-#if !defined (HPUX)
-int
-main (int argc, char *[])
-{
- // If argc > 1 then allow multiple handlers per-signal, else just
- // allow 1 handler per-signal.
- ACE_Sig_Handlers multi_handlers;
-
-#if defined (ACE_WIN32)
- ACE_WFMO_Reactor reactor_impl (argc > 1
- ? &multi_handlers
- : (ACE_Sig_Handler *) 0);
-#else
- ACE_Select_Reactor reactor_impl (argc > 1
- ? &multi_handlers
- : (ACE_Sig_Handler *) 0);
-#endif /* ACE_WIN32 */
- ACE_Reactor reactor (&reactor_impl);
-
- if (argc > 1)
- {
- // Register an "external" signal handler so that the
- // ACE_Sig_Handlers code will have something to incorporate!
-
- ACE_SignalHandler eh = (ACE_SignalHandler) external_handler;
- ACE_Sig_Action sa (eh);
-
- sa.register_action (SIGINT);
- }
-
- // Create a bevy of handlers.
- Sig_Handler_1 h1 (reactor, "howdy");
- Sig_Handler_1 h2 (reactor, "doody");
- Sig_Handler_2 h3 (reactor, "tutty");
- Sig_Handler_2 h4 (reactor, "fruity");
-
- // Wait for user to type SIGINT and SIGQUIT.
-
- for (;;)
- {
- ACE_DEBUG ((LM_DEBUG,
- "\nwaiting for SIGINT or SIGQUIT\n"));
-
- if (reactor.handle_events () == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "handle_events"));
- }
-
- ACE_NOTREACHED (return 0);
-}
-#else
-int
-main (int, char *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR,
- "The HP C++ compiler is too lame to support this feature\n"),
- -1);
-}
-#endif /* HPUX */
diff --git a/examples/Reactor/Misc/test_time_value.cpp b/examples/Reactor/Misc/test_time_value.cpp
deleted file mode 100644
index 2f6bf9d461e..00000000000
--- a/examples/Reactor/Misc/test_time_value.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// $Id$
-
-#include "ace/OS.h"
-#include "ace/streams.h"
-#include "ace/Log_Msg.h"
-
-ACE_RCSID(Misc, test_time_value, "$Id$")
-
-inline int my_abs (int d) { return d > 0 ? d : -d; }
-
-ostream &
-operator<< (ostream &stream, const ACE_Time_Value &tv)
-{
- if (tv.usec () < 0 || tv.sec () < 0)
- stream << "-";
-
- stream << my_abs (int (tv.sec ())) << "."
-// << setw (6) << setfill ('0')
- << my_abs (int (tv.usec ()));
- return stream;
-}
-
-int
-main (int, char *[])
-{
- ACE_Time_Value tv1;
- ACE_Time_Value tv2 (2);
- ACE_Time_Value tv3 (100);
- ACE_Time_Value tv4 (1, 1000000);
- ACE_Time_Value tv5 (2);
- ACE_Time_Value tv6 (1, -1000000);
-
- ACE_ASSERT (tv1 == ACE_Time_Value (0));
- ACE_ASSERT (tv2 < tv3);
- ACE_ASSERT (tv2 <= tv2);
- ACE_ASSERT (tv2 >= tv4);
- ACE_ASSERT (tv5 >= tv6);
- ACE_ASSERT (tv2 == ACE_Time_Value (1, 1000000));
- ACE_ASSERT (tv5 == tv4);
- ACE_ASSERT (tv2 == tv4);
- ACE_ASSERT (tv1 != tv2);
- ACE_ASSERT (tv6 == tv1);
-
-# if defined (ACE_NDEBUG)
- ACE_UNUSED_ARG (tv1);
- ACE_UNUSED_ARG (tv2);
- ACE_UNUSED_ARG (tv3);
- ACE_UNUSED_ARG (tv4);
- ACE_UNUSED_ARG (tv5);
- ACE_UNUSED_ARG (tv6);
-# endif /* ACE_NDEBUG */
-
- cout << "0,0 :\t\t" << ACE_Time_Value (0,0) << endl;
- cout << "-0,0 :\t\t" << ACE_Time_Value (-0,0) << endl;
- cout << "0,-0 :\t\t" << ACE_Time_Value (0,-0) << endl;
- cout << "-0,-0 :\t\t" << ACE_Time_Value (-0,-0) << endl;
- cout << endl;
-
- cout << "0,1 :\t\t" << ACE_Time_Value (0,1) << endl;
- cout << "1,0 :\t\t" << ACE_Time_Value (1,0) << endl;
- cout << "-1,0 :\t\t" << ACE_Time_Value (-1,0) << endl;
- cout << "-1,-0 :\t\t" << ACE_Time_Value (-1,-0) << endl;
- cout << endl;
-
- cout << "1,1 :\t\t" << ACE_Time_Value (1,1) << endl;
- cout << "-1,1 :\t\t" << ACE_Time_Value (-1,1) << endl;
- cout << "1,-1 :\t\t" << ACE_Time_Value (1,-1) << endl;
- cout << "-1,-1 :\t\t" << ACE_Time_Value (-1,-1) << endl;
- cout << endl;
-
- cout << "1,-1111111 :\t" << ACE_Time_Value (1,-1111111) << endl;
- cout << "1,-100000 :\t" << ACE_Time_Value (1,-100000) << endl;
- cout << "1,-1000000 :\t" << ACE_Time_Value (1,-1000000) << endl;
- cout << "-1,1000000 :\t" << ACE_Time_Value (-1,1000000) << endl;
- cout << "5,-1000000 :\t" << ACE_Time_Value (5,-1000000) << endl;
- cout << "5,-1500000 :\t" << ACE_Time_Value (5,-1500000) << endl;
- cout << "2,-2500000 :\t" << ACE_Time_Value (2,-2500000) << endl;
- cout << "2,-4500000 :\t" << ACE_Time_Value (2,-4500000) << endl;
-
- return 0;
-}
diff --git a/examples/Reactor/Misc/test_timer_queue.cpp b/examples/Reactor/Misc/test_timer_queue.cpp
deleted file mode 100644
index 7ddd0c3a985..00000000000
--- a/examples/Reactor/Misc/test_timer_queue.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// $Id$
-
-#include "ace/Timer_Heap.h"
-#include "ace/Timer_List.h"
-#include "ace/Timer_Queue.h"
-#include "ace/Log_Msg.h"
-
-ACE_RCSID(Misc, test_timer_queue, "$Id$")
-
-class Example_Handler : public ACE_Event_Handler
-{
-public:
- Example_Handler (void)
- : count_ (0)
- {}
-
- virtual int handle_timeout (const ACE_Time_Value &, const void *arg)
- {
- // Cast the arg to a long, first, because a pointer is the same
- // size as a long on all current ACE platforms.
- int times = (int) (long) arg;
-
- ACE_DEBUG ((LM_DEBUG,
- "yow, the time has come and gone %d times %d, Horatio!\n",
- this->count_++,
- times));
- return 0;
- }
-
-private:
- int count_;
-};
-
-static void
-test_functionality (ACE_Timer_Queue *tq)
-{
- Example_Handler eh;
-
- ACE_ASSERT (tq->is_empty ());
- ACE_ASSERT (ACE_Time_Value::zero == ACE_Time_Value (0));
- int timer_id;
-
- timer_id = tq->schedule (&eh, (const void *) 1, ACE_OS::gettimeofday ());
-
- // Use timer_id outside of an assert, so that we don't get compile
- // warnings with ACE_NDEBUG about it being unused.
- if (timer_id == -1)
- ACE_ERROR ((LM_ERROR, "%p\n", "schedule () failed"));
- ACE_ASSERT (timer_id != -1);
-
- ACE_ASSERT (tq->schedule (&eh, (const void *) 42,
- ACE_OS::gettimeofday ()) != -1);
- ACE_ASSERT (tq->schedule (&eh, (const void *) 42,
- ACE_OS::gettimeofday ()) != -1);
- ACE_ASSERT (tq->cancel (timer_id) == 1);
- ACE_ASSERT (!tq->is_empty ());
-
- ACE_ASSERT (tq->expire () == 2);
-
- ACE_ASSERT (tq->schedule (&eh, (const void *) 4, ACE_OS::gettimeofday
- ()) != -1);
- ACE_ASSERT (tq->schedule (&eh, (const void *) 5, ACE_OS::gettimeofday
- ()) != -1);
- ACE_ASSERT (tq->cancel (&eh) == 2);
- ACE_ASSERT (tq->is_empty ());
- ACE_ASSERT (tq->expire () == 0);
-}
-
-struct Timer_Queues
-{
- ACE_Timer_Queue *queue_;
- // Pointer to the subclass of <ACE_Timer_Queue> that we're testing.
-
- const char *name_;
- // Name of the Queue that we're testing.
-};
-
-static Timer_Queues timer_queues[] =
-{
- { new ACE_Timer_List, "ACE_Timer_List" },
- { new ACE_Timer_Heap, "ACE_Timer_Heap" },
- { 0, 0 },
-};
-
-int
-main (int, char *[])
-{
- for (int i = 0; timer_queues[i].name_ != 0; i++)
- {
- test_functionality (timer_queues[i].queue_);
- delete timer_queues[i].queue_;
- }
-
- return 0;
-}