summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
Diffstat (limited to 'ace')
-rw-r--r--ace/Makefile1234
-rw-r--r--ace/Makefile.am4
-rw-r--r--ace/Makefile.bor4
-rw-r--r--ace/OS.cpp250
-rw-r--r--ace/OS.h272
-rw-r--r--ace/OS.i43
-rw-r--r--ace/OS_String.cpp30
-rw-r--r--ace/Thread_Adapter.cpp239
-rw-r--r--ace/Thread_Adapter.h169
-rw-r--r--ace/Thread_Adapter.inl44
-rw-r--r--ace/Thread_Control.cpp81
-rw-r--r--ace/Thread_Control.h101
-rw-r--r--ace/Thread_Control.inl42
-rw-r--r--ace/Thread_Exit.cpp104
-rw-r--r--ace/Thread_Exit.h78
-rw-r--r--ace/Thread_Hook.cpp25
-rw-r--r--ace/Thread_Hook.h54
-rw-r--r--ace/Thread_Manager.cpp165
-rw-r--r--ace/Thread_Manager.h1
-rw-r--r--ace/Thread_Manager.i39
-rwxr-xr-xace/ace.icc4
21 files changed, 1954 insertions, 1029 deletions
diff --git a/ace/Makefile b/ace/Makefile
index 11684bb4595..3170b0cadff 100644
--- a/ace/Makefile
+++ b/ace/Makefile
@@ -15,6 +15,10 @@ OS_FILES = \
OS_Memory \
OS_String \
OS_TLI \
+ Thread_Hook \
+ Thread_Adapter \
+ Thread_Exit \
+ Thread_Control \
Sched_Params
UTILS_FILES = \
ACE \
@@ -551,12 +555,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -579,12 +584,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -602,10 +608,11 @@ endif # GHS
OS.i \
Sched_Params.h \
Sched_Params.i \
- Log_Msg.h \
- Log_Record.h \
- Log_Priority.h \
- Log_Record.i
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
+ Thread_Exit.h \
+ Thread_Control.h \
+ Thread_Control.inl
.obj/OS_Dirent.o .obj/OS_Dirent.so .shobj/OS_Dirent.o .shobj/OS_Dirent.so: OS_Dirent.cpp \
OS_Dirent.h \
@@ -613,12 +620,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Export.h \
OS_Dirent.inl \
OS_String.h \
@@ -630,12 +638,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Export.h \
OS_Memory.inl
@@ -645,31 +654,353 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Export.h \
OS_String.inl \
OS_Memory.h \
OS_Memory.inl
-.obj/OS_TLI.o .obj/OS_TLI.so .shobj/OS_TLI.o .shobj/OS_TLI.so: OS_TLI.cpp OS_TLI.h \
+.obj/OS_TLI.o .obj/OS_TLI.so .shobj/OS_TLI.o .shobj/OS_TLI.so: OS_TLI.cpp \
+ OS_TLI.h \
pre.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Export.h \
OS_TLI.inl
+.obj/Thread_Hook.o .obj/Thread_Hook.so .shobj/Thread_Hook.o .shobj/Thread_Hook.so: Thread_Hook.cpp \
+ Thread_Hook.h \
+ pre.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ Thread_Manager.h \
+ Thread.h \
+ ACE.h \
+ ACE.i \
+ Thread.i \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
+ Synch.h \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Containers.h \
+ Malloc_Base.h \
+ Containers.i \
+ Containers_T.h \
+ Containers_T.i \
+ Containers_T.cpp \
+ Malloc.h \
+ Based_Pointer_T.h \
+ Based_Pointer_T.i \
+ Based_Pointer_T.cpp \
+ Based_Pointer_Repository.h \
+ Singleton.h \
+ Singleton.i \
+ Singleton.cpp \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.h \
+ Managed_Object.i \
+ Managed_Object.cpp \
+ Malloc.i \
+ Malloc_T.h \
+ Free_List.h \
+ Free_List.i \
+ Free_List.cpp \
+ Malloc_T.i \
+ Malloc_T.cpp \
+ Memory_Pool.h \
+ Signal.h \
+ Signal.i \
+ Mem_Map.h \
+ Mem_Map.i \
+ Memory_Pool.i \
+ Thread_Manager.i
+
+.obj/Thread_Adapter.o .obj/Thread_Adapter.so .shobj/Thread_Adapter.o .shobj/Thread_Adapter.so: Thread_Adapter.cpp \
+ Thread_Adapter.h \
+ pre.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ Thread_Adapter.inl \
+ Thread_Manager.h \
+ Thread.h \
+ ACE.h \
+ ACE.i \
+ Thread.i \
+ Synch.h \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Containers.h \
+ Malloc_Base.h \
+ Containers.i \
+ Containers_T.h \
+ Containers_T.i \
+ Containers_T.cpp \
+ Malloc.h \
+ Based_Pointer_T.h \
+ Based_Pointer_T.i \
+ Based_Pointer_T.cpp \
+ Based_Pointer_Repository.h \
+ Singleton.h \
+ Singleton.i \
+ Singleton.cpp \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.h \
+ Managed_Object.i \
+ Managed_Object.cpp \
+ Malloc.i \
+ Malloc_T.h \
+ Free_List.h \
+ Free_List.i \
+ Free_List.cpp \
+ Malloc_T.i \
+ Malloc_T.cpp \
+ Memory_Pool.h \
+ Signal.h \
+ Signal.i \
+ Mem_Map.h \
+ Mem_Map.i \
+ Memory_Pool.i \
+ Thread_Manager.i \
+ Thread_Exit.h \
+ Thread_Control.h \
+ Thread_Control.inl \
+ Thread_Hook.h
+
+.obj/Thread_Exit.o .obj/Thread_Exit.so .shobj/Thread_Exit.o .shobj/Thread_Exit.so: Thread_Exit.cpp \
+ Thread_Exit.h \
+ pre.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ Thread_Control.h \
+ Thread_Control.inl \
+ Synch.h \
+ ACE.h \
+ ACE.i \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Thread.h \
+ Thread.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Managed_Object.h \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.i \
+ Managed_Object.cpp
+
+.obj/Thread_Control.o .obj/Thread_Control.so .shobj/Thread_Control.o .shobj/Thread_Control.so: Thread_Control.cpp \
+ Thread_Control.h \
+ pre.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ Thread_Control.inl \
+ Thread_Manager.h \
+ Thread.h \
+ ACE.h \
+ ACE.i \
+ Thread.i \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
+ Synch.h \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Containers.h \
+ Malloc_Base.h \
+ Containers.i \
+ Containers_T.h \
+ Containers_T.i \
+ Containers_T.cpp \
+ Malloc.h \
+ Based_Pointer_T.h \
+ Based_Pointer_T.i \
+ Based_Pointer_T.cpp \
+ Based_Pointer_Repository.h \
+ Singleton.h \
+ Singleton.i \
+ Singleton.cpp \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.h \
+ Managed_Object.i \
+ Managed_Object.cpp \
+ Malloc.i \
+ Malloc_T.h \
+ Free_List.h \
+ Free_List.i \
+ Free_List.cpp \
+ Malloc_T.i \
+ Malloc_T.cpp \
+ Memory_Pool.h \
+ Signal.h \
+ Signal.i \
+ Mem_Map.h \
+ Mem_Map.i \
+ Memory_Pool.i \
+ Thread_Manager.i
+
.obj/Sched_Params.o .obj/Sched_Params.so .shobj/Sched_Params.o .shobj/Sched_Params.so: Sched_Params.cpp \
Sched_Params.h \
pre.h \
@@ -677,12 +1008,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -706,12 +1038,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -803,12 +1136,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -909,12 +1243,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -931,19 +1266,21 @@ endif # GHS
Trace.h \
OS.i
-.obj/ARGV.o .obj/ARGV.so .shobj/ARGV.o .shobj/ARGV.so: ARGV.cpp ARGV.h \
+.obj/ARGV.o .obj/ARGV.so .shobj/ARGV.o .shobj/ARGV.so: ARGV.cpp \
+ ARGV.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1019,12 +1356,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1130,12 +1468,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1212,12 +1551,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1315,18 +1655,20 @@ endif # GHS
Hash_Map_With_Allocator_T.i \
Hash_Map_With_Allocator_T.cpp
-.obj/Dirent.o .obj/Dirent.so .shobj/Dirent.o .shobj/Dirent.so: Dirent.cpp Dirent.h \
+.obj/Dirent.o .obj/Dirent.so .shobj/Dirent.o .shobj/Dirent.so: Dirent.cpp \
+ Dirent.h \
pre.h \
OS_Dirent.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Export.h \
OS_Dirent.inl \
Dirent.i \
@@ -1356,12 +1698,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1415,12 +1758,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1449,12 +1793,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1484,12 +1829,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1592,12 +1938,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1675,12 +2022,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1704,12 +2052,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1836,12 +2185,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1870,12 +2220,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1900,12 +2251,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -1993,19 +2345,21 @@ endif # GHS
Auto_Ptr.i \
Auto_Ptr.cpp
-.obj/Stats.o .obj/Stats.so .shobj/Stats.o .shobj/Stats.so: Stats.cpp Stats.h \
+.obj/Stats.o .obj/Stats.so .shobj/Stats.o .shobj/Stats.so: Stats.cpp \
+ Stats.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2081,12 +2435,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2163,12 +2518,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2200,12 +2556,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2232,12 +2589,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2324,12 +2682,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2410,12 +2769,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2493,12 +2853,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2580,12 +2941,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2667,12 +3029,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2766,7 +3129,8 @@ endif # GHS
Reactor_Impl.h \
Svc_Conf_Tokens.h
-.obj/Dump.o .obj/Dump.so .shobj/Dump.o .shobj/Dump.so: Dump.cpp Synch_T.h \
+.obj/Dump.o .obj/Dump.so .shobj/Dump.o .shobj/Dump.so: Dump.cpp \
+ Synch_T.h \
pre.h \
Event_Handler.h \
ACE.h \
@@ -2774,12 +3138,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2826,12 +3191,13 @@ endif # GHS
pre.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
ACE.h \
OS.h \
OS_Dirent.h \
@@ -2853,6 +3219,8 @@ endif # GHS
Thread_Manager.h \
Thread.h \
Thread.i \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Synch.h \
SV_Semaphore_Complex.h \
SV_Semaphore_Simple.h \
@@ -2926,12 +3294,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -2961,12 +3330,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3054,12 +3424,13 @@ endif # GHS
pre.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
Trace.h \
OS.h \
OS_Dirent.h \
@@ -3091,12 +3462,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3194,6 +3566,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -3217,17 +3591,19 @@ endif # GHS
Method_Request.h \
Activation_Queue.i
-.obj/Process.o .obj/Process.so .shobj/Process.o .shobj/Process.so: Process.cpp OS.h \
+.obj/Process.o .obj/Process.so .shobj/Process.o .shobj/Process.so: Process.cpp \
+ OS.h \
pre.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3311,12 +3687,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3397,19 +3774,21 @@ endif # GHS
Reactor_Impl.h \
Process_Manager.i
-.obj/Synch.o .obj/Synch.so .shobj/Synch.o .shobj/Synch.so: Synch.cpp Thread.h \
+.obj/Synch.o .obj/Synch.so .shobj/Synch.o .shobj/Synch.so: Synch.cpp \
+ Thread.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3452,12 +3831,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3476,19 +3856,21 @@ endif # GHS
ACE.i \
Synch_Options.i
-.obj/Thread.o .obj/Thread.so .shobj/Thread.o .shobj/Thread.so: Thread.cpp Thread.h \
+.obj/Thread.o .obj/Thread.so .shobj/Thread.o .shobj/Thread.so: Thread.cpp \
+ Thread.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3516,12 +3898,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3555,6 +3938,8 @@ endif # GHS
Log_Priority.h \
Log_Record.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Containers.h \
Malloc_Base.h \
Containers.i \
@@ -3592,21 +3977,26 @@ endif # GHS
Dynamic.i \
Auto_Ptr.h \
Auto_Ptr.i \
- Auto_Ptr.cpp
+ Auto_Ptr.cpp \
+ Thread_Exit.h \
+ Thread_Control.h \
+ Thread_Control.inl
-.obj/Token.o .obj/Token.so .shobj/Token.o .shobj/Token.so: Token.cpp Thread.h \
+.obj/Token.o .obj/Token.so .shobj/Token.o .shobj/Token.so: Token.cpp \
+ Thread.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3651,12 +4041,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3737,6 +4128,8 @@ endif # GHS
Reactor.i \
Reactor_Impl.h \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i
.obj/FlReactor.o .obj/FlReactor.so .shobj/FlReactor.o .shobj/FlReactor.so: FlReactor.cpp \
@@ -3752,12 +4145,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3850,12 +4244,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3889,12 +4284,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -3992,6 +4388,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -4021,12 +4419,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4051,12 +4450,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4153,12 +4553,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4261,6 +4662,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -4300,12 +4703,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4404,6 +4808,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -4453,12 +4859,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4553,12 +4960,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4668,12 +5076,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4703,12 +5112,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4803,12 +5213,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -4925,12 +5336,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5028,6 +5440,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -5060,12 +5474,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5185,12 +5600,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5282,12 +5698,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5310,12 +5727,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5340,12 +5758,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5371,12 +5790,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5464,6 +5884,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -5503,12 +5925,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5531,7 +5954,8 @@ endif # GHS
Log_Priority.h \
Log_Record.i
-.obj/LSOCK.o .obj/LSOCK.so .shobj/LSOCK.o .shobj/LSOCK.so: LSOCK.cpp LSOCK.h \
+.obj/LSOCK.o .obj/LSOCK.so .shobj/LSOCK.o .shobj/LSOCK.so: LSOCK.cpp \
+ LSOCK.h \
pre.h \
SOCK.h \
ACE.h \
@@ -5539,12 +5963,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5587,12 +6012,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5642,12 +6068,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5695,12 +6122,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5751,12 +6179,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5801,12 +6230,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5843,19 +6273,21 @@ endif # GHS
LSOCK.i \
LSOCK_Stream.i
-.obj/SOCK.o .obj/SOCK.so .shobj/SOCK.o .shobj/SOCK.so: SOCK.cpp SOCK.h \
+.obj/SOCK.o .obj/SOCK.so .shobj/SOCK.o .shobj/SOCK.so: SOCK.cpp \
+ SOCK.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5896,12 +6328,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -5959,12 +6392,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6007,12 +6441,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6055,12 +6490,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6116,12 +6552,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6164,56 +6601,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
- OS_Dirent.h \
- OS_Export.h \
- OS_Dirent.inl \
- OS_String.h \
- OS_String.inl \
- OS_Memory.h \
- OS_Memory.inl \
- OS_TLI.h \
- OS_TLI.inl \
- Min_Max.h \
- streams.h \
- Basic_Types.h \
- Basic_Types.i \
- Trace.h \
- OS.i \
- ACE.i \
- Addr.h \
- Addr.i \
- IPC_SAP.h \
- IPC_SAP.i \
- QoS_Session.h \
- INET_Addr.h \
- INET_Addr.i \
- SOCK.i \
- SOCK_Dgram.i \
- SOCK_Dgram_Mcast.i
-
-.obj/SOCK_Dgram_Mcast_QoS.o .obj/SOCK_Dgram_Mcast_QoS.so .shobj/SOCK_Dgram_Mcast_QoS.o .shobj/SOCK_Dgram_Mcast_QoS.so: SOCK_Dgram_Mcast_QoS.cpp \
- SOCK_Dgram_Mcast_QoS.h \
- pre.h \
- SOCK_Dgram_Mcast.h \
- SOCK_Dgram.h \
- SOCK.h \
- ACE.h \
- OS.h \
- config-all.h \
- config.h \
- config-linux-lxpthreads.h \
- config-linux-common.h \
- config-g++-common.h \
- post.h \
ace_wchar.h \
- ACE_export.h \
- svc_export.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6239,12 +6633,7 @@ endif # GHS
INET_Addr.i \
SOCK.i \
SOCK_Dgram.i \
- SOCK_Dgram_Mcast.i \
- SOCK_Dgram_Mcast_QoS.i \
- Log_Msg.h \
- Log_Record.h \
- Log_Priority.h \
- Log_Record.i
+ SOCK_Dgram_Mcast.i
.obj/SOCK_IO.o .obj/SOCK_IO.so .shobj/SOCK_IO.o .shobj/SOCK_IO.so: SOCK_IO.cpp \
SOCK_IO.h \
@@ -6255,12 +6644,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6299,12 +6689,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6332,18 +6723,20 @@ endif # GHS
SOCK_IO.i \
SOCK_Stream.i
-.obj/Addr.o .obj/Addr.so .shobj/Addr.o .shobj/Addr.so: Addr.cpp Addr.h \
+.obj/Addr.o .obj/Addr.so .shobj/Addr.o .shobj/Addr.so: Addr.cpp \
+ Addr.h \
pre.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6373,12 +6766,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6411,12 +6805,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6450,12 +6845,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6490,12 +6886,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6521,12 +6918,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6553,12 +6951,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6592,12 +6991,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6634,12 +7034,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6674,12 +7075,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6718,12 +7120,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6756,7 +7159,8 @@ endif # GHS
Log_Record.i \
DEV_Connector.i
-.obj/DEV_IO.o .obj/DEV_IO.so .shobj/DEV_IO.o .shobj/DEV_IO.so: DEV_IO.cpp DEV_IO.h \
+.obj/DEV_IO.o .obj/DEV_IO.so .shobj/DEV_IO.o .shobj/DEV_IO.so: DEV_IO.cpp \
+ DEV_IO.h \
pre.h \
DEV.h \
IO_SAP.h \
@@ -6765,12 +7169,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6802,7 +7207,8 @@ endif # GHS
Log_Priority.h \
Log_Record.i
-.obj/FIFO.o .obj/FIFO.so .shobj/FIFO.o .shobj/FIFO.so: FIFO.cpp FIFO.h \
+.obj/FIFO.o .obj/FIFO.so .shobj/FIFO.o .shobj/FIFO.so: FIFO.cpp \
+ FIFO.h \
pre.h \
IPC_SAP.h \
ACE.h \
@@ -6810,12 +7216,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6849,12 +7256,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6890,12 +7298,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6931,12 +7340,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -6972,12 +7382,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7011,12 +7422,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7044,7 +7456,8 @@ endif # GHS
Log_Priority.h \
Log_Record.i
-.obj/FILE.o .obj/FILE.so .shobj/FILE.o .shobj/FILE.so: FILE.cpp FILE.h \
+.obj/FILE.o .obj/FILE.so .shobj/FILE.o .shobj/FILE.so: FILE.cpp \
+ FILE.h \
pre.h \
IO_SAP.h \
ACE.h \
@@ -7052,12 +7465,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7095,12 +7509,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7143,12 +7558,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7188,12 +7604,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7218,19 +7635,21 @@ endif # GHS
Log_Priority.h \
Log_Record.i
-.obj/IO_SAP.o .obj/IO_SAP.so .shobj/IO_SAP.o .shobj/IO_SAP.so: IO_SAP.cpp IO_SAP.h \
+.obj/IO_SAP.o .obj/IO_SAP.so .shobj/IO_SAP.o .shobj/IO_SAP.so: IO_SAP.cpp \
+ IO_SAP.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7260,12 +7679,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7293,19 +7713,21 @@ endif # GHS
IOStream_T.i \
IOStream_T.cpp
-.obj/Pipe.o .obj/Pipe.so .shobj/Pipe.o .shobj/Pipe.so: Pipe.cpp Pipe.h \
+.obj/Pipe.o .obj/Pipe.so .shobj/Pipe.o .shobj/Pipe.so: Pipe.cpp \
+ Pipe.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7346,7 +7768,8 @@ endif # GHS
Log_Priority.h \
Log_Record.i
-.obj/Signal.o .obj/Signal.so .shobj/Signal.o .shobj/Signal.so: Signal.cpp Synch_T.h \
+.obj/Signal.o .obj/Signal.so .shobj/Signal.o .shobj/Signal.so: Signal.cpp \
+ Synch_T.h \
pre.h \
Event_Handler.h \
ACE.h \
@@ -7354,12 +7777,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7433,12 +7857,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7462,7 +7887,8 @@ endif # GHS
SString.i \
Malloc_Base.h
-.obj/SPIPE.o .obj/SPIPE.so .shobj/SPIPE.o .shobj/SPIPE.so: SPIPE.cpp SPIPE.h \
+.obj/SPIPE.o .obj/SPIPE.so .shobj/SPIPE.o .shobj/SPIPE.so: SPIPE.cpp \
+ SPIPE.h \
pre.h \
IPC_SAP.h \
ACE.h \
@@ -7470,12 +7896,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7513,12 +7940,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7561,12 +7989,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7609,12 +8038,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7650,12 +8080,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7682,12 +8113,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7721,12 +8153,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7758,12 +8191,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7794,12 +8228,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7830,12 +8265,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7870,12 +8306,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7912,12 +8349,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7959,12 +8397,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -7987,18 +8426,20 @@ endif # GHS
INET_Addr.h \
INET_Addr.i
-.obj/TTY_IO.o .obj/TTY_IO.so .shobj/TTY_IO.o .shobj/TTY_IO.so: TTY_IO.cpp TTY_IO.h \
- pre.h \
+.obj/TTY_IO.o .obj/TTY_IO.so .shobj/TTY_IO.o .shobj/TTY_IO.so: TTY_IO.cpp \
+ TTY_IO.h \
OS.h \
+ pre.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8044,12 +8485,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8084,12 +8526,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8192,6 +8635,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -8247,12 +8692,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8355,6 +8801,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -8408,12 +8856,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8516,6 +8965,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -8569,12 +9020,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8676,12 +9128,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8720,12 +9173,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8819,7 +9273,8 @@ endif # GHS
MEM_Addr.i \
MEM_Connector.i
-.obj/MEM_IO.o .obj/MEM_IO.so .shobj/MEM_IO.o .shobj/MEM_IO.so: MEM_IO.cpp MEM_IO.h \
+.obj/MEM_IO.o .obj/MEM_IO.so .shobj/MEM_IO.o .shobj/MEM_IO.so: MEM_IO.cpp \
+ MEM_IO.h \
pre.h \
SOCK.h \
ACE.h \
@@ -8827,12 +9282,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -8927,12 +9383,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9010,12 +9467,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9106,12 +9564,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9144,12 +9603,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9237,6 +9697,8 @@ endif # GHS
Service_Repository.i \
Task.h \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Task.i \
Task_T.h \
@@ -9289,12 +9751,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9412,6 +9875,8 @@ endif # GHS
Auto_Ptr.cpp \
Proactor.h \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Process_Manager.h \
Process.h \
@@ -9426,12 +9891,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9555,6 +10021,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -9581,12 +10049,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9636,12 +10105,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9696,12 +10166,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9742,6 +10213,8 @@ endif # GHS
Stream_Modules.h \
Task.h \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Containers.h \
Malloc_Base.h \
Containers.i \
@@ -9841,12 +10314,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9871,12 +10345,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -9978,12 +10453,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10093,6 +10569,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -10133,12 +10611,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10219,12 +10698,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
- svc_export.h
+ svc_export.h \
+ ace_wchar.h
.obj/Message_Block.o .obj/Message_Block.so .shobj/Message_Block.o .shobj/Message_Block.so: Message_Block.cpp \
Message_Block.h \
@@ -10234,12 +10714,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10321,12 +10802,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10424,6 +10906,8 @@ endif # GHS
Synch_Options.h \
Synch_Options.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i \
Hash_Map_Manager.h \
Functor.h \
@@ -10445,7 +10929,8 @@ endif # GHS
Strategies.i \
Message_Queue.i
-.obj/Task.o .obj/Task.so .shobj/Task.o .shobj/Task.so: Task.cpp Task.h \
+.obj/Task.o .obj/Task.so .shobj/Task.o .shobj/Task.so: Task.cpp \
+ Task.h \
pre.h \
Service_Object.h \
Shared_Object.h \
@@ -10454,12 +10939,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10483,6 +10969,8 @@ endif # GHS
Thread_Manager.h \
Thread.h \
Thread.i \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Synch.h \
SV_Semaphore_Complex.h \
SV_Semaphore_Simple.h \
@@ -10594,12 +11082,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10688,19 +11177,21 @@ endif # GHS
Reactor_Impl.h \
Svc_Conf_Tokens.h
-.obj/Malloc.o .obj/Malloc.so .shobj/Malloc.o .shobj/Malloc.so: Malloc.cpp Malloc.h \
+.obj/Malloc.o .obj/Malloc.so .shobj/Malloc.o .shobj/Malloc.so: Malloc.cpp \
+ Malloc.h \
pre.h \
ACE.h \
OS.h \
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10775,12 +11266,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10811,12 +11303,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10895,12 +11388,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -10976,12 +11470,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11076,12 +11571,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11108,12 +11604,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11143,12 +11640,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11177,12 +11675,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11285,12 +11784,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11409,12 +11909,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11517,12 +12018,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11623,12 +12125,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11732,12 +12235,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11840,12 +12344,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11930,6 +12435,8 @@ endif # GHS
Pipe.h \
Pipe.i \
Thread_Manager.h \
+ Thread_Adapter.h \
+ Thread_Adapter.inl \
Thread_Manager.i
.obj/CORBA_Ref.o .obj/CORBA_Ref.so .shobj/CORBA_Ref.o .shobj/CORBA_Ref.so: CORBA_Ref.cpp \
@@ -11940,12 +12447,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -11975,12 +12483,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12112,12 +12621,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12229,12 +12739,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12268,12 +12779,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12387,12 +12899,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12525,12 +13038,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12555,12 +13069,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12670,6 +13185,103 @@ endif # GHS
Auto_Ptr.i \
Auto_Ptr.cpp
+.obj/SOCK_Dgram_Mcast_QoS.o .obj/SOCK_Dgram_Mcast_QoS.so .shobj/SOCK_Dgram_Mcast_QoS.o .shobj/SOCK_Dgram_Mcast_QoS.so: SOCK_Dgram_Mcast_QoS.cpp \
+ SOCK_Dgram_Mcast_QoS.h \
+ pre.h \
+ SOCK_Dgram_Mcast.h \
+ SOCK_Dgram.h \
+ SOCK.h \
+ ACE.h \
+ OS.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ ACE.i \
+ Addr.h \
+ Addr.i \
+ IPC_SAP.h \
+ IPC_SAP.i \
+ QoS_Session.h \
+ INET_Addr.h \
+ INET_Addr.i \
+ SOCK.i \
+ SOCK_Dgram.i \
+ SOCK_Dgram_Mcast.i \
+ QoS_Manager.h \
+ Containers_T.h \
+ Containers.h \
+ Malloc_Base.h \
+ Containers.i \
+ Containers_T.i \
+ Containers_T.cpp \
+ Malloc.h \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Based_Pointer_T.h \
+ Based_Pointer_T.i \
+ Based_Pointer_T.cpp \
+ Based_Pointer_Repository.h \
+ Singleton.h \
+ Synch.h \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Thread.h \
+ Thread.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Singleton.i \
+ Singleton.cpp \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.h \
+ Managed_Object.i \
+ Managed_Object.cpp \
+ Malloc.i \
+ Malloc_T.h \
+ Free_List.h \
+ Free_List.i \
+ Free_List.cpp \
+ Malloc_T.i \
+ Malloc_T.cpp \
+ Memory_Pool.h \
+ Signal.h \
+ Signal.i \
+ Mem_Map.h \
+ Mem_Map.i \
+ Memory_Pool.i \
+ SOCK_Dgram_Mcast_QoS.i
+
.obj/QoS_Session_Impl.o .obj/QoS_Session_Impl.so .shobj/QoS_Session_Impl.o .shobj/QoS_Session_Impl.so: QoS_Session_Impl.cpp \
SOCK.h \
pre.h \
@@ -12678,12 +13290,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12772,12 +13385,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12858,12 +13472,13 @@ endif # GHS
config-all.h \
config.h \
config-linux-lxpthreads.h \
+ config-linux.h \
config-linux-common.h \
config-g++-common.h \
post.h \
- ace_wchar.h \
ACE_export.h \
svc_export.h \
+ ace_wchar.h \
OS_Dirent.h \
OS_Export.h \
OS_Dirent.inl \
@@ -12935,4 +13550,111 @@ endif # GHS
Mem_Map.i \
Memory_Pool.i
+.obj/QoS_Decorator.o .obj/QoS_Decorator.so .shobj/QoS_Decorator.o .shobj/QoS_Decorator.so: QoS_Decorator.cpp \
+ QoS_Decorator.h \
+ pre.h \
+ Reactor.h \
+ Handle_Set.h \
+ ACE.h \
+ OS.h \
+ config-all.h \
+ config.h \
+ config-linux-lxpthreads.h \
+ config-linux.h \
+ config-linux-common.h \
+ config-g++-common.h \
+ post.h \
+ ACE_export.h \
+ svc_export.h \
+ ace_wchar.h \
+ OS_Dirent.h \
+ OS_Export.h \
+ OS_Dirent.inl \
+ OS_String.h \
+ OS_String.inl \
+ OS_Memory.h \
+ OS_Memory.inl \
+ OS_TLI.h \
+ OS_TLI.inl \
+ Min_Max.h \
+ streams.h \
+ Basic_Types.h \
+ Basic_Types.i \
+ Trace.h \
+ OS.i \
+ ACE.i \
+ Handle_Set.i \
+ Timer_Queue.h \
+ Synch.h \
+ SV_Semaphore_Complex.h \
+ SV_Semaphore_Simple.h \
+ SV_Semaphore_Simple.i \
+ SV_Semaphore_Complex.i \
+ Synch.i \
+ Synch_T.h \
+ Event_Handler.h \
+ Event_Handler.i \
+ Synch_T.i \
+ Thread.h \
+ Thread.i \
+ Atomic_Op.i \
+ Synch_T.cpp \
+ Log_Msg.h \
+ Log_Record.h \
+ Log_Priority.h \
+ Log_Record.i \
+ Timer_Queue_T.h \
+ Free_List.h \
+ Free_List.i \
+ Free_List.cpp \
+ Timer_Queue_T.i \
+ Timer_Queue_T.cpp \
+ Signal.h \
+ Containers.h \
+ Malloc_Base.h \
+ Containers.i \
+ Containers_T.h \
+ Containers_T.i \
+ Containers_T.cpp \
+ Malloc.h \
+ Based_Pointer_T.h \
+ Based_Pointer_T.i \
+ Based_Pointer_T.cpp \
+ Based_Pointer_Repository.h \
+ Singleton.h \
+ Singleton.i \
+ Singleton.cpp \
+ Object_Manager.h \
+ Object_Manager.i \
+ Managed_Object.h \
+ Managed_Object.i \
+ Managed_Object.cpp \
+ Malloc.i \
+ Malloc_T.h \
+ Malloc_T.i \
+ Malloc_T.cpp \
+ Memory_Pool.h \
+ Mem_Map.h \
+ Mem_Map.i \
+ Memory_Pool.i \
+ Signal.i \
+ Reactor.i \
+ Reactor_Impl.h \
+ INET_Addr.h \
+ Addr.h \
+ Addr.i \
+ INET_Addr.i \
+ SOCK_Dgram_Mcast_QoS.h \
+ SOCK_Dgram_Mcast.h \
+ SOCK_Dgram.h \
+ SOCK.h \
+ IPC_SAP.h \
+ IPC_SAP.i \
+ QoS_Session.h \
+ SOCK.i \
+ SOCK_Dgram.i \
+ SOCK_Dgram_Mcast.i \
+ QoS_Manager.h \
+ SOCK_Dgram_Mcast_QoS.i
+
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/ace/Makefile.am b/ace/Makefile.am
index 2198d5cd736..7bf1d43c883 100644
--- a/ace/Makefile.am
+++ b/ace/Makefile.am
@@ -138,6 +138,10 @@ libACE_OS_la_SOURCES = \
OS_Memory.cpp \
OS_String.cpp \
OS_TLI.cpp \
+ Thread_Hook \
+ Thread_Adapter \
+ Thread_Exit \
+ Thread_Control \
Sched_Params.cpp
libACE_Utils_la_SOURCES = \
diff --git a/ace/Makefile.bor b/ace/Makefile.bor
index 22660bb16bc..85363a3e121 100644
--- a/ace/Makefile.bor
+++ b/ace/Makefile.bor
@@ -97,6 +97,10 @@ OBJFILES = \
$(OBJDIR)\OS_Memory.obj \
$(OBJDIR)\OS_String.obj \
$(OBJDIR)\OS_TLI.obj \
+ $(OBJDIR)\Thread_Hook.obj \
+ $(OBJDIR)\Thread_Adapter.obj \
+ $(OBJDIR)\Thread_Exit.obj \
+ $(OBJDIR)\Thread_Control.obj \
$(OBJDIR)\Pair.obj \
$(OBJDIR)\Parse_Node.obj \
$(OBJDIR)\Pipe.obj \
diff --git a/ace/OS.cpp b/ace/OS.cpp
index 1935b18752a..332fe0d1025 100644
--- a/ace/OS.cpp
+++ b/ace/OS.cpp
@@ -2,6 +2,8 @@
#include "ace/OS.h"
#include "ace/Sched_Params.h"
+#include "ace/Thread_Adapter.h"
+#include "ace/Thread_Exit.h"
// Perhaps we should *always* include ace/OS.i in order to make sure
// we can always link against the OS symbols?
@@ -214,12 +216,6 @@ ACE_OS::netdb_release (void)
#endif /* ! ACE_MT_SAFE */
ACE_EXIT_HOOK ACE_OS::exit_hook_ = 0;
-ACE_INIT_LOG_MSG_HOOK ACE_Thread_Adapter::init_log_msg_hook_ = 0;
-ACE_INHERIT_LOG_MSG_HOOK ACE_Thread_Adapter::inherit_log_msg_hook_ = 0;
-ACE_CLOSE_LOG_MSG_HOOK ACE_Thread_Adapter::close_log_msg_hook_ = 0;
-ACE_SYNC_LOG_MSG_HOOK ACE_Thread_Adapter::sync_log_msg_hook_ = 0;
-
-u_int ACE_Thread_Exit::is_constructed_ = 0;
// Static constant representing `zero-time'.
// Note: this object requires static construction.
@@ -2342,32 +2338,6 @@ ACE_OS::cleanup_tss (const u_int main_thread)
}
}
-void
-ACE_Thread_Adapter::inherit_log_msg (void)
-{
- if (ACE_Thread_Adapter::inherit_log_msg_hook_ != 0)
- (*ACE_Thread_Adapter::inherit_log_msg_hook_)(this->thr_desc_,
- this->log_msg_attributes_);
-}
-
-void
-ACE_Thread_Adapter::close_log_msg (void)
-{
- if (ACE_Thread_Adapter::close_log_msg_hook_ != 0)
- {
- (*ACE_Thread_Adapter::close_log_msg_hook_) ();
- }
-}
-
-void
-ACE_Thread_Adapter::sync_log_msg (const ACE_TCHAR *prg)
-{
- if (ACE_Thread_Adapter::sync_log_msg_hook_ != 0)
- {
- (*ACE_Thread_Adapter::sync_log_msg_hook_) (prg);
- }
-}
-
#if !defined(ACE_WIN32) && defined (__IBMCPP__) && (__IBMCPP__ >= 400)
#define ACE_ENDTHREADEX(STATUS) ::_endthread ()
#define ACE_BEGINTHREADEX(STACK, STACKSIZE, ENTRY_POINT, ARGS, FLAGS, THR_ID) \
@@ -2423,220 +2393,6 @@ HANDLE WINAPI __IBMCPP__beginthreadex(void *stack,
::_beginthreadex (STACK, STACKSIZE, (unsigned (__stdcall *) (void *)) ENTRY_POINT, ARGS, FLAGS, (unsigned int *) THR_ID)
#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
-void *
-ACE_Thread_Hook::start (ACE_THR_FUNC func,
- void *arg)
-{
- return (func) (arg);
-}
-
-ACE_Thread_Hook *
-ACE_Thread_Hook::thread_hook (ACE_Thread_Hook *hook)
-{
- return ACE_OS_Object_Manager::thread_hook (hook);
-}
-
-ACE_Thread_Hook *
-ACE_Thread_Hook::thread_hook (void)
-{
- return ACE_OS_Object_Manager::thread_hook ();
-}
-
-void *
-ACE_Thread_Adapter::invoke (void)
-{
- // Inherit the logging features if the parent thread has an
- // ACE_Log_Msg instance in thread-specific storage.
- this->inherit_log_msg ();
-
-#if !defined(ACE_USE_THREAD_MANAGER_ADAPTER)
- // NOTE: this preprocessor directive should match the one in
- // above ACE_Thread_Exit::instance (). With the Xavier Pthreads
- // package, the exit_hook in TSS causes a seg fault. So, this
- // works around that by creating exit_hook on the stack.
-# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)
- // Obtain our thread-specific exit hook and make sure that it
- // knows how to clean us up! Note that we never use this
- // pointer directly (it's stored in thread-specific storage), so
- // it's ok to dereference it here and only store it as a
- // reference.
- if (this->thr_mgr () != 0)
- {
- ACE_Thread_Exit &exit_hook = *ACE_Thread_Exit::instance ();
- // Keep track of the <Thread_Manager> that's associated with this
- // <exit_hook>.
- exit_hook.thr_mgr (this->thr_mgr ());
- }
-# else
- // Without TSS, create an <ACE_Thread_Exit> instance. When this
- // function returns, its destructor will be called because the
- // object goes out of scope. The drawback with this appraoch is
- // that the destructor _won't_ get called if <thr_exit> is
- // called. So, threads shouldn't exit that way. Instead, they
- // should return from <svc>.
- ACE_Thread_Exit exit_hook;
- exit_hook.thr_mgr (this->thr_mgr ());
-# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */
-
-#endif /* ! ACE_USE_THREAD_MANAGER_ADAPTER */
-
- // Extract the arguments.
- ACE_THR_FUNC_INTERNAL func = ACE_reinterpret_cast (ACE_THR_FUNC_INTERNAL,
- this->user_func_);
- void *arg = this->arg_;
-
-#if defined (ACE_WIN32) && defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- ACE_OS_Thread_Descriptor *thr_desc = this->thr_desc_;
-#endif /* ACE_WIN32 && ACE_HAS_MFC && (ACE_HAS_MFC != 0) */
-
- // Delete ourselves since we don't need <this> anymore. Make sure
- // not to access <this> anywhere below this point.
- delete this;
-
-#if defined (ACE_NEEDS_LWP_PRIO_SET)
- // On SunOS, the LWP priority needs to be set in order to get
- // preemption when running in the RT class. This is the ACE way to
- // do that . . .
- ACE_hthread_t thr_handle;
- ACE_OS::thr_self (thr_handle);
- int prio;
-
- // thr_getprio () on the current thread should never fail.
- ACE_OS::thr_getprio (thr_handle, prio);
-
- // ACE_OS::thr_setprio () has the special logic to set the LWP priority,
- // if running in the RT class.
- ACE_OS::thr_setprio (prio);
-
-#endif /* ACE_NEEDS_LWP_PRIO_SET */
-
- void *status = 0;
-
- ACE_SEH_TRY
- {
- ACE_SEH_TRY
- {
- ACE_Thread_Hook *hook =
- ACE_OS_Object_Manager::thread_hook ();
-
- if (hook)
- // Invoke the start hook to give the user a chance to
- // perform some initialization processing before the
- // <func> is invoked.
- status = hook->start (ACE_reinterpret_cast (ACE_THR_FUNC, func),
- arg);
- else
- {
- // Call thread entry point.
-#if defined (ACE_PSOS)
- (*func) (arg);
-#else /* ! ACE_PSOS */
- status = ACE_reinterpret_cast (void *, (*func) (arg));
-#endif /* ACE_PSOS */
- }
-#if defined (ACE_PSOS)
- // pSOS task functions do not return a value.
- status = 0;
-#endif /* ACE_PSOS */
- }
-
-#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
- ACE_SEH_EXCEPT (ACE_OS_Object_Manager::seh_except_selector ()(
- (void *) GetExceptionInformation ()))
- {
- ACE_OS_Object_Manager::seh_except_handler ()(0);
- }
-#endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
- }
-
- ACE_SEH_FINALLY
- {
- // If we changed this to 1, change the respective if in
- // Task::svc_run to 0.
-#if 0
- // Call the <Task->close> hook.
- if (func == ACE_reinterpret_cast (ACE_THR_FUNC_INTERNAL,
- ACE_Task_Base::svc_run))
- {
- ACE_Task_Base *task_ptr = (ACE_Task_Base *) arg;
- ACE_Thread_Manager *thr_mgr_ptr = task_ptr->thr_mgr ();
-
- // This calls the Task->close () hook.
- task_ptr->cleanup (task_ptr, 0);
-
- // This prevents a second invocation of the cleanup code
- // (called later by <ACE_Thread_Manager::exit>.
- thr_mgr_ptr->at_exit (task_ptr, 0, 0);
- }
-#endif /* 0 */
-
-#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
-# if defined (ACE_WIN32) && defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- int using_afx = -1;
- if (thr_desc)
- using_afx = ACE_BIT_ENABLED (thr_desc->flags (), THR_USE_AFX);
-# endif /* ACE_WIN32 && ACE_HAS_MFC && (ACE_HAS_MFC != 0) */
- // Call TSS destructors.
- ACE_OS::cleanup_tss (0 /* not main thread */);
-
-# if defined (ACE_WIN32)
- // Exit the thread. Allow CWinThread-destructor to be invoked
- // from AfxEndThread. _endthreadex will be called from
- // AfxEndThread so don't exit the thread now if we are running
- // an MFC thread.
-# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
- if (using_afx != -1)
- {
- if (using_afx)
- ::AfxEndThread ((DWORD) status);
- else
- ACE_ENDTHREADEX (status);
- }
- else
- {
- // Not spawned by ACE_Thread_Manager, use the old buggy
- // version. You should seriously consider using
- // ACE_Thread_Manager to spawn threads. The following code
- // is know to cause some problem.
- CWinThread *pThread = ::AfxGetThread ();
-
- if (!pThread || pThread->m_nThreadID != ACE_OS::thr_self ())
- ACE_ENDTHREADEX (status);
- else
- ::AfxEndThread ((DWORD)status);
- }
-# else
-
- ACE_ENDTHREADEX (status);
-# endif /* ACE_HAS_MFC && ACE_HAS_MFS != 0*/
-# endif /* ACE_WIN32 */
-#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */
-
-#if defined (ACE_PSOS)
- // This sequence of calls is documented by ISI as the proper way to
- // clean up a pSOS task. They affect different components, so only
- // try the ones for components that are built with ACE.
-# if defined (SC_PREPC) && (SC_PREPC == YES)
- ::fclose (0); // Return pREPC+ resources
-# endif /* SC_PREPC */
-# if defined (SC_PHILE) && (SC_PHILE == YES)
- ::close_f (0); // Return pHILE+ resources
-# endif /* SC_PHILE */
-# if defined (SC_PNA) && (SC_PNA == YES)
- ::close (0); // Return pNA+ resources
-# endif /* SC_PNA */
-# if defined (SC_SC_PREPC) && (SC_PREPC == YES)
- ::free (-1); // Return pREPC+ memory
-# endif /* SC_PREPC */
- status = ::t_delete (0); // Suicide - only returns on error
-#endif /* ACE_PSOS */
-
- return status;
- }
-
- ACE_NOTREACHED (return status);
-}
-
#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
int ACE_SEH_Default_Exception_Selector (void *)
{
@@ -7048,6 +6804,8 @@ ACE_OS_Object_Manager::fini (void)
# endif /* ACE_MT_SAFE */
#endif /* ! ACE_HAS_STATIC_PREALLOCATION */
+ // @@ Shouldn't this be done in the ACE_Thread_Exit cleanup
+ // function?
ACE_Thread_Exit::is_constructed_ = 0;
// All TSS objects have been destroyed. Reset this flag so
// ACE_Thread_Exit singleton can be created again.
diff --git a/ace/OS.h b/ace/OS.h
index de6aa122d14..39948a5aa39 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -4451,272 +4451,8 @@ private:
// ACE_Cleanup_Info).
};
-// Run the thread entry point for the <ACE_Thread_Adapter>. This must
-// be an extern "C" to make certain compilers happy...
-#if defined (ACE_PSOS)
-extern "C" void ace_thread_adapter (unsigned long args);
-#else /* ! defined (ACE_PSOS) */
-extern "C" ACE_Export void *ace_thread_adapter (void *args);
-#endif /* ACE_PSOS */
-
-class ACE_OS_Thread_Descriptor
-{
- // = TITLE
- // Parent class of all ACE_Thread_Descriptor classes.
- //
- // =
- // Container for ACE_Thread_Descriptor members that are
- // used in ACE_OS.
-public:
- long flags (void) const;
- // Get the thread creation flags.
-
-protected:
- ACE_OS_Thread_Descriptor (long flags = 0);
- // For use by ACE_Thread_Descriptor.
-
- long flags_;
- // Keeps track of whether this thread was created "detached" or not.
- // If a thread is *not* created detached then if someone calls
- // <ACE_Thread_Manager::wait>, we need to join with that thread (and
- // close down the handle).
-};
-
-// Forward decl.
-class ACE_Thread_Manager;
-class ACE_Thread_Descriptor;
-
-class ACE_Export ACE_Thread_Adapter
-{
- // = TITLE
- // Converts a C++ function into a function <ace_thread_adapter>
- // function that can be called from a thread creation routine
- // (e.g., <pthread_create> or <_beginthreadex>) that expects an
- // extern "C" entry point. This class also makes it possible to
- // transparently provide hooks to register a thread with an
- // <ACE_Thread_Manager>.
- //
- // = DESCRIPTION
- // This class is used in <ACE_OS::thr_create>. In general, the
- // thread that creates an object of this class is different from
- // the thread that calls <invoke> on this object. Therefore,
- // the <invoke> method is responsible for deleting itself.
-public:
- ACE_Thread_Adapter (ACE_THR_FUNC user_func,
- void *arg,
- ACE_THR_C_FUNC entry_point = (ACE_THR_C_FUNC) ace_thread_adapter,
- ACE_Thread_Manager *thr_mgr = 0,
- ACE_Thread_Descriptor *td = 0
-# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
- , ACE_SEH_EXCEPT_HANDLER selector = 0,
- ACE_SEH_EXCEPT_HANDLER handler = 0
-# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
- );
- // Constructor.
-
- void *invoke (void);
- // Execute the <user_func_> with the <arg>. This function deletes
- // <this>, thereby rendering the object useless after the call
- // returns.
-
- ACE_Thread_Manager *thr_mgr (void);
- // Accessor for the optional <Thread_Manager>.
-
- ACE_THR_C_FUNC entry_point (void);
- // Accessor for the C entry point function to the OS thread creation
- // routine.
-
- static void close_log_msg (void);
- // Invoke the close_log_msg_hook, if it is present
-
- static void sync_log_msg (const ACE_TCHAR *prog_name);
- // Invoke the sync_log_msg_hook, if it is present
-
-private:
- ~ACE_Thread_Adapter (void);
- // Ensure that this object must be allocated on the heap.
-
- void inherit_log_msg (void);
- // Inherit the logging features if the parent thread has an
- // <ACE_Log_Msg>.
-
- static ACE_INIT_LOG_MSG_HOOK init_log_msg_hook_;
- static ACE_INHERIT_LOG_MSG_HOOK inherit_log_msg_hook_;
- static ACE_CLOSE_LOG_MSG_HOOK close_log_msg_hook_;
- static ACE_SYNC_LOG_MSG_HOOK sync_log_msg_hook_;
- // The hooks to inherit and cleanup the Log_Msg attributes
-
- static void set_log_msg_hooks (ACE_INIT_LOG_MSG_HOOK init_hook,
- ACE_INHERIT_LOG_MSG_HOOK inherit_hook,
- ACE_CLOSE_LOG_MSG_HOOK close_hook,
- ACE_SYNC_LOG_MSG_HOOK sync_hook);
- // Set the Log_Msg hooks
-
- friend class ACE_Log_Msg;
- // Allow the ACE_Log_Msg class to set its hooks.
-
-private:
- ACE_THR_FUNC user_func_;
- // Thread startup function passed in by the user (C++ linkage).
-
- void *arg_;
- // Argument to thread startup function.
-
- ACE_THR_C_FUNC entry_point_;
- // Entry point to the underlying OS thread creation call (C
- // linkage).
-
- ACE_Thread_Manager *thr_mgr_;
- // Optional thread manager.
-
- ACE_OS_Thread_Descriptor *thr_desc_;
- // Optional thread descriptor. Passing this pointer in will force
- // the spawned thread to cache this location in <Log_Msg> and wait
- // until <Thread_Manager> fills in all information in thread
- // descriptor.
-
- void *log_msg_attributes_;
- // The ACE_Log_Msg attributes.
-
- friend class ACE_Thread_Adapter_Has_Private_Destructor;
- // Friend declaration to avoid compiler warning: only defines a private
- // destructor and has no friends.
-};
-
-class ACE_Export ACE_Thread_Hook
-{
- // = TITLE
- // This class makes it possible to provide user-defined "start"
- // hooks that are called before the thread entry point function
- // is invoked.
-
-public:
- virtual void *start (ACE_THR_FUNC func,
- void *arg);
- // This method can be overridden in a subclass to customize this
- // pre-function call "hook" invocation that can perform
- // initialization processing before the thread entry point <func>
- // method is called back. The <func> and <arg> passed into the
- // start hook are the same as those passed by the application that
- // spawned the thread.
-
- static ACE_Thread_Hook *thread_hook (ACE_Thread_Hook *hook);
- // sets the system wide thread hook, returns the previous thread
- // hook or 0 if none is set.
-
- static ACE_Thread_Hook *thread_hook (void);
- // Returns the current system thread hook.
-};
-
-class ACE_Export ACE_Thread_Control
-{
- // = TITLE
- // Used to keep track of a thread's activities within its entry
- // point function.
- //
- // = DESCRIPTION
- // A <ACE_Thread_Manager> uses this class to ensure that threads
- // it spawns automatically register and unregister themselves
- // with it.
- //
- // This class can be stored in thread-specific storage using the
- // <ACE_TSS> wrapper. When a thread exits the
- // <ACE_TSS::cleanup> function deletes this object, thereby
- // ensuring that it gets removed from its associated
- // <ACE_Thread_Manager>.
-public:
- ACE_Thread_Control (ACE_Thread_Manager *tm = 0,
- int insert = 0);
- // Initialize the thread control object. If <insert> != 0, then
- // register the thread with the Thread_Manager.
-
- ~ACE_Thread_Control (void);
- // Remove the thread from its associated <Thread_Manager> and exit
- // the thread if <do_thr_exit> is enabled.
-
- void *exit (void *status,
- int do_thr_exit);
- // Remove this thread from its associated <Thread_Manager> and exit
- // the thread if <do_thr_exit> is enabled.
-
- int insert (ACE_Thread_Manager *tm, int insert = 0);
- // Store the <Thread_Manager> and use it to register ourselves for
- // correct shutdown.
-
- ACE_Thread_Manager *thr_mgr (void);
- // Returns the current <Thread_Manager>.
-
- ACE_Thread_Manager *thr_mgr (ACE_Thread_Manager *);
- // Atomically set a new <Thread_Manager> and return the old
- // <Thread_Manager>.
-
- void *status (void *status);
- // Set the exit status (and return existing status).
-
- void *status (void);
- // Get the current exit status.
-
- void dump (void) const;
- // Dump the state of an object.
-
- ACE_ALLOC_HOOK_DECLARE;
- // Declare the dynamic allocation hooks.
-
-private:
- ACE_Thread_Manager *tm_;
- // Pointer to the thread manager for this block of code.
-
- void *status_;
- // Keeps track of the exit status for the thread.
-};
-
-class ACE_Export ACE_Thread_Exit
-{
- // = TITLE
- // Keep exit information for a Thread in thread specific storage.
- // so that the thread-specific exit hooks will get called no
- // matter how the thread exits (e.g., via <ACE_Thread::exit>, C++
- // or Win32 exception, "falling off the end" of the thread entry
- // point function, etc.).
- //
- // = DESCRIPTION
- // This clever little helper class is stored in thread-specific
- // storage using the <ACE_TSS> wrapper. When a thread exits the
- // <ACE_TSS::cleanup> function deletes this object, thereby
- // closing it down gracefully.
-public:
- ACE_Thread_Exit (void);
- // Capture the Thread that will be cleaned up automatically.
-
- void thr_mgr (ACE_Thread_Manager *tm);
- // Set the <ACE_Thread_Manager>.
-
- ~ACE_Thread_Exit (void);
- // Destructor calls the thread-specific exit hooks when a thread
- // exits.
-
- static ACE_Thread_Exit *instance (void);
- // Singleton access point.
-
- static void cleanup (void *instance, void *);
- // Cleanup method, used by the <ACE_Object_Manager> to destroy the
- // singleton.
-
-private:
- friend class ACE_OS_Object_Manager;
- // Allow OS_Object_Manager to reset the status of <is_constructed_>.
-
- ACE_Thread_Control thread_control_;
- // Automatically add/remove the thread from the
- // <ACE_Thread_Manager>.
-
- static u_int is_constructed_;
- // Used to detect whether we should create a new instance (or not)
- // within the instance method -- we don't trust the instance_ ptr
- // because the destructor may have run (if ACE::fini() was called).
- // See bug #526.
- // We don't follow the singleton pattern due to dependency issues.
-};
+class ACE_Thread_Adapter;
+class ACE_Thread_Hook;
# if defined (ACE_HAS_PHARLAP_RT)
#define ACE_IPPROTO_TCP SOL_SOCKET
@@ -7544,6 +7280,10 @@ typedef ACE_TRANSMIT_FILE_BUFFERS* ACE_LPTRANSMIT_FILE_BUFFERS;
#if !defined (ACE_ONLY_LATEST_AND_GREATEST)
# include "ace/Log_Msg.h"
+# include "ace/Thread_Hook.h"
+# include "ace/Thread_Adapter.h"
+# include "ace/Thread_Exit.h"
+# include "ace/Thread_Control.h"
#endif /* ACE_ONLY_LATEST_AND_GREATEST */
#include "ace/post.h"
diff --git a/ace/OS.i b/ace/OS.i
index 32869c60f4a..f03319df84a 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -11326,51 +11326,8 @@ ACE_OS::pthread_sigmask (int how, const sigset_t *nsp, sigset_t *osp)
#endif /* ACE_HAS_PACE */
}
-ACE_INLINE long
-ACE_OS_Thread_Descriptor::flags (void) const
-{
- ACE_OS_TRACE ("ACE_OS_Thread_Descriptor::flags");
- return flags_;
-}
-
-
-ACE_INLINE
-ACE_OS_Thread_Descriptor::ACE_OS_Thread_Descriptor (long flags)
- : flags_ (flags)
-{
-}
-
// ****************************************************************
-ACE_INLINE void
-ACE_Thread_Adapter::set_log_msg_hooks (ACE_INIT_LOG_MSG_HOOK init_hook,
- ACE_INHERIT_LOG_MSG_HOOK inherit_hook,
- ACE_CLOSE_LOG_MSG_HOOK close_hook,
- ACE_SYNC_LOG_MSG_HOOK sync_hook)
-{
- ACE_Thread_Adapter::init_log_msg_hook_ = init_hook;
- ACE_Thread_Adapter::inherit_log_msg_hook_ = inherit_hook;
- ACE_Thread_Adapter::close_log_msg_hook_ = close_hook;
- ACE_Thread_Adapter::sync_log_msg_hook_ = sync_hook;
-}
-
-ACE_INLINE ACE_Thread_Manager *
-ACE_Thread_Adapter::thr_mgr (void)
-{
- return this->thr_mgr_;
-}
-
-ACE_INLINE
-ACE_Thread_Adapter::~ACE_Thread_Adapter (void)
-{
-}
-
-ACE_INLINE ACE_THR_C_FUNC
-ACE_Thread_Adapter::entry_point (void)
-{
- return this->entry_point_;
-}
-
#if defined (ACE_PSOS)
ACE_INLINE int
isatty (int h)
diff --git a/ace/OS_String.cpp b/ace/OS_String.cpp
index 82b8d4b767f..c77165ed4a6 100644
--- a/ace/OS_String.cpp
+++ b/ace/OS_String.cpp
@@ -10,7 +10,7 @@ ACE_RCSID(ace, OS_String, "$Id$")
#endif /* ACE_HAS_INLINED_OS_CALLS */
#if defined (ACE_LACKS_WCSDUP_PROTOTYPE)
-extern "C" wchar_t *wcsdup __P ((__const wchar_t *__s));
+extern "C" wchar_t *wcsdup __P ((__const wchar_t *__s));
#endif /* ACE_LACKS_WCSDUP_PROTOTYPE */
const char *
@@ -248,7 +248,7 @@ ACE_OS_String::strcasecmp_emulation (const char *s, const char *t)
const char *scan2 = t;
while (*scan1 != 0
- && ACE_OS_String::to_lower (*scan1)
+ && ACE_OS_String::to_lower (*scan1)
== ACE_OS_String::to_lower (*scan2))
{
++scan1;
@@ -277,7 +277,7 @@ ACE_OS_String::strcasecmp_emulation (const wchar_t *s, const wchar_t *t)
const wchar_t *scan2 = t;
while (*scan1 != 0
- && ACE_OS_String::to_lower (*scan1)
+ && ACE_OS_String::to_lower (*scan1)
== ACE_OS_String::to_lower (*scan2))
{
++scan1;
@@ -300,8 +300,8 @@ ACE_OS_String::strcasecmp_emulation (const wchar_t *s, const wchar_t *t)
#endif /* ACE_HAS_WCHAR */
int
-ACE_OS_String::strncasecmp_emulation (const char *s,
- const char *t,
+ACE_OS_String::strncasecmp_emulation (const char *s,
+ const char *t,
size_t len)
{
const char *scan1 = s;
@@ -310,7 +310,7 @@ ACE_OS_String::strncasecmp_emulation (const char *s,
while (count++ < len
&& *scan1 != 0
- && ACE_OS_String::to_lower (*scan1)
+ && ACE_OS_String::to_lower (*scan1)
== ACE_OS_String::to_lower (*scan2))
{
++scan1;
@@ -336,8 +336,8 @@ ACE_OS_String::strncasecmp_emulation (const char *s,
#if defined (ACE_HAS_WCHAR)
int
-ACE_OS_String::strncasecmp_emulation (const wchar_t *s,
- const wchar_t *t,
+ACE_OS_String::strncasecmp_emulation (const wchar_t *s,
+ const wchar_t *t,
size_t len)
{
const wchar_t *scan1 = s;
@@ -346,7 +346,7 @@ ACE_OS_String::strncasecmp_emulation (const wchar_t *s,
while (count++ > len
&& *scan1 != 0
- && ACE_OS_String::to_lower (*scan1)
+ && ACE_OS_String::to_lower (*scan1)
== ACE_OS_String::to_lower (*scan2))
{
++scan1;
@@ -420,7 +420,7 @@ ACE_OS_String::itoa_emulation (int value, char *string, int radix)
}
// If negative and base 10, print a - and then do the
- // number.
+ // number.
if (value < 0 && radix == 10)
{
@@ -441,13 +441,13 @@ ACE_OS_String::itoa_emulation (int value, char *string, int radix)
*e-- = 0;
// Now reverse the string to get the correct result
-
+
while (e > b)
{
char temp = *e;
*e = *b;
*b = temp;
- ++b;
+ ++b;
--e;
}
@@ -471,7 +471,7 @@ ACE_OS_String::itoa_emulation (int value, wchar_t *string, int radix)
}
// If negative and base 10, print a - and then do the
- // number.
+ // number.
if (value < 0 && radix == 10)
{
@@ -492,13 +492,13 @@ ACE_OS_String::itoa_emulation (int value, wchar_t *string, int radix)
*e-- = 0;
// Now reverse the string to get the correct result
-
+
while (e > b)
{
wchar_t temp = *e;
*e = *b;
*b = temp;
- ++b;
+ ++b;
--e;
}
diff --git a/ace/Thread_Adapter.cpp b/ace/Thread_Adapter.cpp
new file mode 100644
index 00000000000..361909a8545
--- /dev/null
+++ b/ace/Thread_Adapter.cpp
@@ -0,0 +1,239 @@
+// $Id$
+
+#include "ace/Thread_Adapter.h"
+#include "ace/Thread_Manager.h"
+#include "ace/Thread_Exit.h"
+#include "ace/Thread_Hook.h"
+
+ACE_RCSID(ace, Thread_Adapter, "$Id$")
+
+#if !defined (ACE_HAS_INLINED_OSCALLS)
+# include "ace/Thread_Adapter.inl"
+#endif /* ACE_HAS_INLINED_OS_CALLS */
+
+ACE_INIT_LOG_MSG_HOOK ACE_Thread_Adapter::init_log_msg_hook_ = 0;
+ACE_INHERIT_LOG_MSG_HOOK ACE_Thread_Adapter::inherit_log_msg_hook_ = 0;
+ACE_CLOSE_LOG_MSG_HOOK ACE_Thread_Adapter::close_log_msg_hook_ = 0;
+ACE_SYNC_LOG_MSG_HOOK ACE_Thread_Adapter::sync_log_msg_hook_ = 0;
+
+void
+ACE_Thread_Adapter::inherit_log_msg (void)
+{
+ if (ACE_Thread_Adapter::inherit_log_msg_hook_ != 0)
+ (*ACE_Thread_Adapter::inherit_log_msg_hook_)(this->thr_desc_,
+ this->log_msg_attributes_);
+}
+
+void
+ACE_Thread_Adapter::close_log_msg (void)
+{
+ if (ACE_Thread_Adapter::close_log_msg_hook_ != 0)
+ {
+ (*ACE_Thread_Adapter::close_log_msg_hook_) ();
+ }
+}
+
+void
+ACE_Thread_Adapter::sync_log_msg (const ACE_TCHAR *prg)
+{
+ if (ACE_Thread_Adapter::sync_log_msg_hook_ != 0)
+ {
+ (*ACE_Thread_Adapter::sync_log_msg_hook_) (prg);
+ }
+}
+
+
+void *
+ACE_Thread_Adapter::invoke (void)
+{
+ // Inherit the logging features if the parent thread has an
+ // ACE_Log_Msg instance in thread-specific storage.
+ this->inherit_log_msg ();
+
+#if !defined(ACE_USE_THREAD_MANAGER_ADAPTER)
+ // NOTE: this preprocessor directive should match the one in
+ // above ACE_Thread_Exit::instance (). With the Xavier Pthreads
+ // package, the exit_hook in TSS causes a seg fault. So, this
+ // works around that by creating exit_hook on the stack.
+# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)
+ // Obtain our thread-specific exit hook and make sure that it
+ // knows how to clean us up! Note that we never use this
+ // pointer directly (it's stored in thread-specific storage), so
+ // it's ok to dereference it here and only store it as a
+ // reference.
+ if (this->thr_mgr () != 0)
+ {
+ ACE_Thread_Exit &exit_hook = *ACE_Thread_Exit::instance ();
+ // Keep track of the <Thread_Manager> that's associated with this
+ // <exit_hook>.
+ exit_hook.thr_mgr (this->thr_mgr ());
+ }
+# else
+ // Without TSS, create an <ACE_Thread_Exit> instance. When this
+ // function returns, its destructor will be called because the
+ // object goes out of scope. The drawback with this appraoch is
+ // that the destructor _won't_ get called if <thr_exit> is
+ // called. So, threads shouldn't exit that way. Instead, they
+ // should return from <svc>.
+ ACE_Thread_Exit exit_hook;
+ exit_hook.thr_mgr (this->thr_mgr ());
+# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */
+
+#endif /* ! ACE_USE_THREAD_MANAGER_ADAPTER */
+
+ // Extract the arguments.
+ ACE_THR_FUNC_INTERNAL func = ACE_reinterpret_cast (ACE_THR_FUNC_INTERNAL,
+ this->user_func_);
+ void *arg = this->arg_;
+
+#if defined (ACE_WIN32) && defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
+ ACE_OS_Thread_Descriptor *thr_desc = this->thr_desc_;
+#endif /* ACE_WIN32 && ACE_HAS_MFC && (ACE_HAS_MFC != 0) */
+
+ // Delete ourselves since we don't need <this> anymore. Make sure
+ // not to access <this> anywhere below this point.
+ delete this;
+
+#if defined (ACE_NEEDS_LWP_PRIO_SET)
+ // On SunOS, the LWP priority needs to be set in order to get
+ // preemption when running in the RT class. This is the ACE way to
+ // do that . . .
+ ACE_hthread_t thr_handle;
+ ACE_OS::thr_self (thr_handle);
+ int prio;
+
+ // thr_getprio () on the current thread should never fail.
+ ACE_OS::thr_getprio (thr_handle, prio);
+
+ // ACE_OS::thr_setprio () has the special logic to set the LWP priority,
+ // if running in the RT class.
+ ACE_OS::thr_setprio (prio);
+
+#endif /* ACE_NEEDS_LWP_PRIO_SET */
+
+ void *status = 0;
+
+ ACE_SEH_TRY
+ {
+ ACE_SEH_TRY
+ {
+ ACE_Thread_Hook *hook =
+ ACE_OS_Object_Manager::thread_hook ();
+
+ if (hook)
+ // Invoke the start hook to give the user a chance to
+ // perform some initialization processing before the
+ // <func> is invoked.
+ status = hook->start (ACE_reinterpret_cast (ACE_THR_FUNC, func),
+ arg);
+ else
+ {
+ // Call thread entry point.
+#if defined (ACE_PSOS)
+ (*func) (arg);
+#else /* ! ACE_PSOS */
+ status = ACE_reinterpret_cast (void *, (*func) (arg));
+#endif /* ACE_PSOS */
+ }
+#if defined (ACE_PSOS)
+ // pSOS task functions do not return a value.
+ status = 0;
+#endif /* ACE_PSOS */
+ }
+
+#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ ACE_SEH_EXCEPT (ACE_OS_Object_Manager::seh_except_selector ()(
+ (void *) GetExceptionInformation ()))
+ {
+ ACE_OS_Object_Manager::seh_except_handler ()(0);
+ }
+#endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+ }
+
+ ACE_SEH_FINALLY
+ {
+ // If we changed this to 1, change the respective if in
+ // Task::svc_run to 0.
+#if 0
+ // Call the <Task->close> hook.
+ if (func == ACE_reinterpret_cast (ACE_THR_FUNC_INTERNAL,
+ ACE_Task_Base::svc_run))
+ {
+ ACE_Task_Base *task_ptr = (ACE_Task_Base *) arg;
+ ACE_Thread_Manager *thr_mgr_ptr = task_ptr->thr_mgr ();
+
+ // This calls the Task->close () hook.
+ task_ptr->cleanup (task_ptr, 0);
+
+ // This prevents a second invocation of the cleanup code
+ // (called later by <ACE_Thread_Manager::exit>.
+ thr_mgr_ptr->at_exit (task_ptr, 0, 0);
+ }
+#endif /* 0 */
+
+#if defined (ACE_WIN32) || defined (ACE_HAS_TSS_EMULATION)
+# if defined (ACE_WIN32) && defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
+ int using_afx = -1;
+ if (thr_desc)
+ using_afx = ACE_BIT_ENABLED (thr_desc->flags (), THR_USE_AFX);
+# endif /* ACE_WIN32 && ACE_HAS_MFC && (ACE_HAS_MFC != 0) */
+ // Call TSS destructors.
+ ACE_OS::cleanup_tss (0 /* not main thread */);
+
+# if defined (ACE_WIN32)
+ // Exit the thread. Allow CWinThread-destructor to be invoked
+ // from AfxEndThread. _endthreadex will be called from
+ // AfxEndThread so don't exit the thread now if we are running
+ // an MFC thread.
+# if defined (ACE_HAS_MFC) && (ACE_HAS_MFC != 0)
+ if (using_afx != -1)
+ {
+ if (using_afx)
+ ::AfxEndThread ((DWORD) status);
+ else
+ ACE_ENDTHREADEX (status);
+ }
+ else
+ {
+ // Not spawned by ACE_Thread_Manager, use the old buggy
+ // version. You should seriously consider using
+ // ACE_Thread_Manager to spawn threads. The following code
+ // is know to cause some problem.
+ CWinThread *pThread = ::AfxGetThread ();
+
+ if (!pThread || pThread->m_nThreadID != ACE_OS::thr_self ())
+ ACE_ENDTHREADEX (status);
+ else
+ ::AfxEndThread ((DWORD)status);
+ }
+# else
+
+ ACE_ENDTHREADEX (status);
+# endif /* ACE_HAS_MFC && ACE_HAS_MFS != 0*/
+# endif /* ACE_WIN32 */
+#endif /* ACE_WIN32 || ACE_HAS_TSS_EMULATION */
+
+#if defined (ACE_PSOS)
+ // This sequence of calls is documented by ISI as the proper way to
+ // clean up a pSOS task. They affect different components, so only
+ // try the ones for components that are built with ACE.
+# if defined (SC_PREPC) && (SC_PREPC == YES)
+ ::fclose (0); // Return pREPC+ resources
+# endif /* SC_PREPC */
+# if defined (SC_PHILE) && (SC_PHILE == YES)
+ ::close_f (0); // Return pHILE+ resources
+# endif /* SC_PHILE */
+# if defined (SC_PNA) && (SC_PNA == YES)
+ ::close (0); // Return pNA+ resources
+# endif /* SC_PNA */
+# if defined (SC_SC_PREPC) && (SC_PREPC == YES)
+ ::free (-1); // Return pREPC+ memory
+# endif /* SC_PREPC */
+ status = ::t_delete (0); // Suicide - only returns on error
+#endif /* ACE_PSOS */
+
+ return status;
+ }
+
+ ACE_NOTREACHED (return status);
+}
diff --git a/ace/Thread_Adapter.h b/ace/Thread_Adapter.h
new file mode 100644
index 00000000000..9da861cb5d3
--- /dev/null
+++ b/ace/Thread_Adapter.h
@@ -0,0 +1,169 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// Thread_Adapter.h
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>
+//
+// ============================================================================
+
+#ifndef ACE_THREAD_ADAPTER_H
+#define ACE_THREAD_ADAPTER_H
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+
+// Run the thread entry point for the <ACE_Thread_Adapter>. This must
+// be an extern "C" to make certain compilers happy...
+#if defined (ACE_PSOS)
+extern "C" void ace_thread_adapter (unsigned long args);
+#else /* ! defined (ACE_PSOS) */
+extern "C" ACE_Export void *ace_thread_adapter (void *args);
+#endif /* ACE_PSOS */
+
+class ACE_OS_Thread_Descriptor
+{
+ // = TITLE
+ // Parent class of all ACE_Thread_Descriptor classes.
+ //
+ // =
+ // Container for ACE_Thread_Descriptor members that are
+ // used in ACE_OS.
+public:
+ long flags (void) const;
+ // Get the thread creation flags.
+
+protected:
+ ACE_OS_Thread_Descriptor (long flags = 0);
+ // For use by ACE_Thread_Descriptor.
+
+ long flags_;
+ // Keeps track of whether this thread was created "detached" or not.
+ // If a thread is *not* created detached then if someone calls
+ // <ACE_Thread_Manager::wait>, we need to join with that thread (and
+ // close down the handle).
+};
+
+// Forward decl.
+class ACE_Thread_Manager;
+class ACE_Thread_Descriptor;
+
+class ACE_Export ACE_Thread_Adapter
+{
+ // = TITLE
+ // Converts a C++ function into a function <ace_thread_adapter>
+ // function that can be called from a thread creation routine
+ // (e.g., <pthread_create> or <_beginthreadex>) that expects an
+ // extern "C" entry point. This class also makes it possible to
+ // transparently provide hooks to register a thread with an
+ // <ACE_Thread_Manager>.
+ //
+ // = DESCRIPTION
+ // This class is used in <ACE_OS::thr_create>. In general, the
+ // thread that creates an object of this class is different from
+ // the thread that calls <invoke> on this object. Therefore,
+ // the <invoke> method is responsible for deleting itself.
+public:
+ ACE_Thread_Adapter (ACE_THR_FUNC user_func,
+ void *arg,
+ ACE_THR_C_FUNC entry_point = (ACE_THR_C_FUNC) ace_thread_adapter,
+ ACE_Thread_Manager *thr_mgr = 0,
+ ACE_Thread_Descriptor *td = 0
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ , ACE_SEH_EXCEPT_HANDLER selector = 0,
+ ACE_SEH_EXCEPT_HANDLER handler = 0
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+ );
+ // Constructor.
+
+ void *invoke (void);
+ // Execute the <user_func_> with the <arg>. This function deletes
+ // <this>, thereby rendering the object useless after the call
+ // returns.
+
+ ACE_Thread_Manager *thr_mgr (void);
+ // Accessor for the optional <Thread_Manager>.
+
+ ACE_THR_C_FUNC entry_point (void);
+ // Accessor for the C entry point function to the OS thread creation
+ // routine.
+
+ static void close_log_msg (void);
+ // Invoke the close_log_msg_hook, if it is present
+
+ static void sync_log_msg (const ACE_TCHAR *prog_name);
+ // Invoke the sync_log_msg_hook, if it is present
+
+private:
+ ~ACE_Thread_Adapter (void);
+ // Ensure that this object must be allocated on the heap.
+
+ void inherit_log_msg (void);
+ // Inherit the logging features if the parent thread has an
+ // <ACE_Log_Msg>.
+
+ static ACE_INIT_LOG_MSG_HOOK init_log_msg_hook_;
+ static ACE_INHERIT_LOG_MSG_HOOK inherit_log_msg_hook_;
+ static ACE_CLOSE_LOG_MSG_HOOK close_log_msg_hook_;
+ static ACE_SYNC_LOG_MSG_HOOK sync_log_msg_hook_;
+ // The hooks to inherit and cleanup the Log_Msg attributes
+
+ static void set_log_msg_hooks (ACE_INIT_LOG_MSG_HOOK init_hook,
+ ACE_INHERIT_LOG_MSG_HOOK inherit_hook,
+ ACE_CLOSE_LOG_MSG_HOOK close_hook,
+ ACE_SYNC_LOG_MSG_HOOK sync_hook);
+ // Set the Log_Msg hooks
+
+ friend class ACE_Log_Msg;
+ // Allow the ACE_Log_Msg class to set its hooks.
+
+private:
+ ACE_THR_FUNC user_func_;
+ // Thread startup function passed in by the user (C++ linkage).
+
+ void *arg_;
+ // Argument to thread startup function.
+
+ ACE_THR_C_FUNC entry_point_;
+ // Entry point to the underlying OS thread creation call (C
+ // linkage).
+
+ ACE_Thread_Manager *thr_mgr_;
+ // Optional thread manager.
+
+ ACE_OS_Thread_Descriptor *thr_desc_;
+ // Optional thread descriptor. Passing this pointer in will force
+ // the spawned thread to cache this location in <Log_Msg> and wait
+ // until <Thread_Manager> fills in all information in thread
+ // descriptor.
+
+ void *log_msg_attributes_;
+ // The ACE_Log_Msg attributes.
+
+ friend class ACE_Thread_Adapter_Has_Private_Destructor;
+ // Friend declaration to avoid compiler warning: only defines a private
+ // destructor and has no friends.
+};
+
+# if defined (ACE_HAS_INLINED_OSCALLS)
+# if defined (ACE_INLINE)
+# undef ACE_INLINE
+# endif /* ACE_INLINE */
+# define ACE_INLINE inline
+# include "ace/Thread_Adapter.inl"
+# endif /* ACE_HAS_INLINED_OSCALLS */
+
+#include "ace/post.h"
+#endif /* ACE_THREAD_ADAPTER_H */
diff --git a/ace/Thread_Adapter.inl b/ace/Thread_Adapter.inl
new file mode 100644
index 00000000000..715e267a1d2
--- /dev/null
+++ b/ace/Thread_Adapter.inl
@@ -0,0 +1,44 @@
+// $Id$
+
+ACE_INLINE long
+ACE_OS_Thread_Descriptor::flags (void) const
+{
+ ACE_OS_TRACE ("ACE_OS_Thread_Descriptor::flags");
+ return flags_;
+}
+
+
+ACE_INLINE
+ACE_OS_Thread_Descriptor::ACE_OS_Thread_Descriptor (long flags)
+ : flags_ (flags)
+{
+}
+
+ACE_INLINE void
+ACE_Thread_Adapter::set_log_msg_hooks (ACE_INIT_LOG_MSG_HOOK init_hook,
+ ACE_INHERIT_LOG_MSG_HOOK inherit_hook,
+ ACE_CLOSE_LOG_MSG_HOOK close_hook,
+ ACE_SYNC_LOG_MSG_HOOK sync_hook)
+{
+ ACE_Thread_Adapter::init_log_msg_hook_ = init_hook;
+ ACE_Thread_Adapter::inherit_log_msg_hook_ = inherit_hook;
+ ACE_Thread_Adapter::close_log_msg_hook_ = close_hook;
+ ACE_Thread_Adapter::sync_log_msg_hook_ = sync_hook;
+}
+
+ACE_INLINE ACE_Thread_Manager *
+ACE_Thread_Adapter::thr_mgr (void)
+{
+ return this->thr_mgr_;
+}
+
+ACE_INLINE
+ACE_Thread_Adapter::~ACE_Thread_Adapter (void)
+{
+}
+
+ACE_INLINE ACE_THR_C_FUNC
+ACE_Thread_Adapter::entry_point (void)
+{
+ return this->entry_point_;
+}
diff --git a/ace/Thread_Control.cpp b/ace/Thread_Control.cpp
new file mode 100644
index 00000000000..13a4c063795
--- /dev/null
+++ b/ace/Thread_Control.cpp
@@ -0,0 +1,81 @@
+// $Id$
+
+#include "ace/Thread_Control.h"
+#include "ace/Thread_Manager.h"
+
+ACE_RCSID(ace, Thread_Control, "$Id$")
+
+#if !defined (ACE_HAS_INLINED_OSCALLS)
+# include "ace/Thread_Control.inl"
+#endif /* ACE_HAS_INLINED_OS_CALLS */
+
+void
+ACE_Thread_Control::dump (void) const
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::dump");
+}
+
+int
+ACE_Thread_Control::insert (ACE_Thread_Manager *tm, int insert)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::insert");
+
+ ACE_hthread_t t_id;
+ ACE_OS::thr_self (t_id);
+ this->tm_ = tm;
+
+ if (insert)
+ return this->tm_->insert_thr (ACE_OS::thr_self (), t_id);
+ else
+ return 0;
+}
+
+// Initialize the thread controller.
+
+ACE_Thread_Control::ACE_Thread_Control (ACE_Thread_Manager *t,
+ int insert)
+ : tm_ (t),
+ status_ (0)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::ACE_Thread_Control");
+
+ if (this->tm_ != 0 && insert)
+ {
+ ACE_hthread_t t_id;
+ ACE_OS::thr_self (t_id);
+ this->tm_->insert_thr (ACE_OS::thr_self (), t_id);
+ }
+}
+
+// Automatically kill thread on exit.
+
+ACE_Thread_Control::~ACE_Thread_Control (void)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::~ACE_Thread_Control");
+
+#if defined (ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS) || defined (ACE_HAS_TSS_EMULATION) || defined (ACE_WIN32)
+ this->exit (this->status_, 0);
+#else
+ this->exit (this->status_, 1);
+#endif /* ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS */
+}
+
+// Exit from thread (but clean up first).
+
+void *
+ACE_Thread_Control::exit (void *exit_status, int do_thr_exit)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::exit");
+
+ if (this->tm_ != 0)
+ return this->tm_->exit (exit_status, do_thr_exit);
+ else
+ {
+#if !defined (ACE_HAS_TSS_EMULATION)
+ // With ACE_HAS_TSS_EMULATION, we let ACE_Thread_Adapter::invoke ()
+ // exit the thread after cleaning up TSS.
+ ACE_OS::thr_exit (exit_status);
+#endif /* ! ACE_HAS_TSS_EMULATION */
+ return 0;
+ }
+}
diff --git a/ace/Thread_Control.h b/ace/Thread_Control.h
new file mode 100644
index 00000000000..4fcce7cd770
--- /dev/null
+++ b/ace/Thread_Control.h
@@ -0,0 +1,101 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// Thread_Control.h
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>
+//
+// ============================================================================
+
+#ifndef ACE_THREAD_CONTROL_H
+#define ACE_THREAD_CONTROL_H
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+
+class ACE_Thread_Manager;
+
+class ACE_Export ACE_Thread_Control
+{
+ // = TITLE
+ // Used to keep track of a thread's activities within its entry
+ // point function.
+ //
+ // = DESCRIPTION
+ // A <ACE_Thread_Manager> uses this class to ensure that threads
+ // it spawns automatically register and unregister themselves
+ // with it.
+ //
+ // This class can be stored in thread-specific storage using the
+ // <ACE_TSS> wrapper. When a thread exits the
+ // <ACE_TSS::cleanup> function deletes this object, thereby
+ // ensuring that it gets removed from its associated
+ // <ACE_Thread_Manager>.
+public:
+ ACE_Thread_Control (ACE_Thread_Manager *tm = 0,
+ int insert = 0);
+ // Initialize the thread control object. If <insert> != 0, then
+ // register the thread with the Thread_Manager.
+
+ ~ACE_Thread_Control (void);
+ // Remove the thread from its associated <Thread_Manager> and exit
+ // the thread if <do_thr_exit> is enabled.
+
+ void *exit (void *status,
+ int do_thr_exit);
+ // Remove this thread from its associated <Thread_Manager> and exit
+ // the thread if <do_thr_exit> is enabled.
+
+ int insert (ACE_Thread_Manager *tm, int insert = 0);
+ // Store the <Thread_Manager> and use it to register ourselves for
+ // correct shutdown.
+
+ ACE_Thread_Manager *thr_mgr (void);
+ // Returns the current <Thread_Manager>.
+
+ ACE_Thread_Manager *thr_mgr (ACE_Thread_Manager *);
+ // Atomically set a new <Thread_Manager> and return the old
+ // <Thread_Manager>.
+
+ void *status (void *status);
+ // Set the exit status (and return existing status).
+
+ void *status (void);
+ // Get the current exit status.
+
+ void dump (void) const;
+ // Dump the state of an object.
+
+ ACE_ALLOC_HOOK_DECLARE;
+ // Declare the dynamic allocation hooks.
+
+private:
+ ACE_Thread_Manager *tm_;
+ // Pointer to the thread manager for this block of code.
+
+ void *status_;
+ // Keeps track of the exit status for the thread.
+};
+
+# if defined (ACE_HAS_INLINED_OSCALLS)
+# if defined (ACE_INLINE)
+# undef ACE_INLINE
+# endif /* ACE_INLINE */
+# define ACE_INLINE inline
+# include "ace/Thread_Control.inl"
+# endif /* ACE_HAS_INLINED_OSCALLS */
+
+#include "ace/post.h"
+#endif /* ACE_THREAD_CONTROL_H */
diff --git a/ace/Thread_Control.inl b/ace/Thread_Control.inl
new file mode 100644
index 00000000000..29cb24b1df3
--- /dev/null
+++ b/ace/Thread_Control.inl
@@ -0,0 +1,42 @@
+// -*- C++ -*-
+// $Id$
+
+// Set the exit status.
+
+ACE_INLINE void *
+ACE_Thread_Control::status (void *s)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::status");
+ return this->status_ = s;
+}
+
+// Get the exit status.
+
+ACE_INLINE void *
+ACE_Thread_Control::status (void)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::status");
+ return this->status_;
+}
+
+// Returns the current <Thread_Manager>.
+
+ACE_INLINE ACE_Thread_Manager *
+ACE_Thread_Control::thr_mgr (void)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::thr_mgr");
+ return this->tm_;
+}
+
+// Atomically set a new <Thread_Manager> and return the old
+// <Thread_Manager>.
+
+ACE_INLINE ACE_Thread_Manager *
+ACE_Thread_Control::thr_mgr (ACE_Thread_Manager *tm)
+{
+ ACE_OS_TRACE ("ACE_Thread_Control::thr_mgr");
+ ACE_Thread_Manager *o_tm = this->tm_;
+ this->tm_ = tm;
+ return o_tm;
+}
+
diff --git a/ace/Thread_Exit.cpp b/ace/Thread_Exit.cpp
new file mode 100644
index 00000000000..bd6efdd6282
--- /dev/null
+++ b/ace/Thread_Exit.cpp
@@ -0,0 +1,104 @@
+// $Id$
+
+#include "ace/Thread_Exit.h"
+#include "ace/OS.h"
+#include "ace/Synch.h"
+#include "ace/Managed_Object.h"
+
+ACE_RCSID(ace, Thread_Exit, "$Id$")
+
+u_int ACE_Thread_Exit::is_constructed_ = 0;
+
+#if defined (ACE_HAS_SIG_C_FUNC)
+extern "C" void
+ACE_Thread_Exit_cleanup (void *instance, void *)
+{
+ ACE_OS_TRACE ("ACE_Thread_Exit_cleanup");
+
+ delete (ACE_TSS_TYPE (ACE_Thread_Exit) *) instance;
+}
+#else
+void
+ACE_Thread_Exit::cleanup (void *instance, void *)
+{
+ ACE_OS_TRACE ("ACE_Thread_Exit::cleanup");
+
+ delete (ACE_TSS_TYPE (ACE_Thread_Exit) *) instance;
+}
+#endif /* ACE_HAS_SIG_C_FUNC */
+
+// NOTE: this preprocessor directive should match the one in
+// ACE_Task_Base::svc_run () below. This prevents the two statics
+// from being defined.
+
+ACE_Thread_Exit *
+ACE_Thread_Exit::instance (void)
+{
+#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)
+ ACE_OS_TRACE ("ACE_Thread_Exit::instance");
+
+ // Determines if we were dynamically allocated.
+ static ACE_TSS_TYPE (ACE_Thread_Exit) *instance_;
+
+ // Implement the Double Check pattern.
+
+ if (ACE_Thread_Exit::is_constructed_ == 0)
+ {
+ ACE_MT (ACE_Thread_Mutex *lock =
+ ACE_Managed_Object<ACE_Thread_Mutex>::get_preallocated_object
+ (ACE_Object_Manager::ACE_THREAD_EXIT_LOCK);
+ ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0));
+
+ if (ACE_Thread_Exit::is_constructed_ == 0)
+ {
+ ACE_NEW_RETURN (instance_,
+ ACE_TSS_TYPE (ACE_Thread_Exit),
+ 0);
+
+ ACE_Thread_Exit::is_constructed_ = 1;
+
+ // Register for destruction with ACE_Object_Manager.
+#if defined ACE_HAS_SIG_C_FUNC
+ ACE_Object_Manager::at_exit (instance_,
+ ACE_Thread_Exit_cleanup,
+ 0);
+#else
+ ACE_Object_Manager::at_exit (instance_,
+ ACE_Thread_Exit::cleanup,
+ 0);
+#endif /* ACE_HAS_SIG_C_FUNC */
+ }
+ }
+
+ return ACE_TSS_GET (instance_, ACE_Thread_Exit);
+#else
+ return 0;
+#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */
+}
+
+// Grab hold of the Task * so that we can close() it in the
+// destructor.
+
+ACE_Thread_Exit::ACE_Thread_Exit (void)
+{
+ ACE_OS_TRACE ("ACE_Thread_Exit::ACE_Thread_Exit");
+}
+
+// Set the this pointer...
+
+void
+ACE_Thread_Exit::thr_mgr (ACE_Thread_Manager *tm)
+{
+ ACE_OS_TRACE ("ACE_Thread_Exit::thr_mgr");
+
+ if (tm != 0)
+ this->thread_control_.insert (tm, 0);
+}
+
+// When this object is destroyed the Task is automatically closed
+// down!
+
+ACE_Thread_Exit::~ACE_Thread_Exit (void)
+{
+ ACE_OS_TRACE ("ACE_Thread_Exit::~ACE_Thread_Exit");
+}
diff --git a/ace/Thread_Exit.h b/ace/Thread_Exit.h
new file mode 100644
index 00000000000..1df6538dc9e
--- /dev/null
+++ b/ace/Thread_Exit.h
@@ -0,0 +1,78 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// Thread_Exit.h
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>
+//
+// ============================================================================
+
+#ifndef ACE_THREAD_EXIT_H
+#define ACE_THREAD_EXIT_H
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+#include "ace/Thread_Control.h"
+
+class ACE_Export ACE_Thread_Exit
+{
+ // = TITLE
+ // Keep exit information for a Thread in thread specific storage.
+ // so that the thread-specific exit hooks will get called no
+ // matter how the thread exits (e.g., via <ACE_Thread::exit>, C++
+ // or Win32 exception, "falling off the end" of the thread entry
+ // point function, etc.).
+ //
+ // = DESCRIPTION
+ // This clever little helper class is stored in thread-specific
+ // storage using the <ACE_TSS> wrapper. When a thread exits the
+ // <ACE_TSS::cleanup> function deletes this object, thereby
+ // closing it down gracefully.
+public:
+ ACE_Thread_Exit (void);
+ // Capture the Thread that will be cleaned up automatically.
+
+ void thr_mgr (ACE_Thread_Manager *tm);
+ // Set the <ACE_Thread_Manager>.
+
+ ~ACE_Thread_Exit (void);
+ // Destructor calls the thread-specific exit hooks when a thread
+ // exits.
+
+ static ACE_Thread_Exit *instance (void);
+ // Singleton access point.
+
+ static void cleanup (void *instance, void *);
+ // Cleanup method, used by the <ACE_Object_Manager> to destroy the
+ // singleton.
+
+private:
+ friend class ACE_OS_Object_Manager;
+ // Allow OS_Object_Manager to reset the status of <is_constructed_>.
+
+ ACE_Thread_Control thread_control_;
+ // Automatically add/remove the thread from the
+ // <ACE_Thread_Manager>.
+
+ static u_int is_constructed_;
+ // Used to detect whether we should create a new instance (or not)
+ // within the instance method -- we don't trust the instance_ ptr
+ // because the destructor may have run (if ACE::fini() was called).
+ // See bug #526.
+ // We don't follow the singleton pattern due to dependency issues.
+};
+
+#include "ace/post.h"
+#endif /* ACE_THREAD_EXIT_H */
diff --git a/ace/Thread_Hook.cpp b/ace/Thread_Hook.cpp
new file mode 100644
index 00000000000..37fc54a4a66
--- /dev/null
+++ b/ace/Thread_Hook.cpp
@@ -0,0 +1,25 @@
+// $Id$
+
+#include "ace/Thread_Hook.h"
+#include "ace/Thread_Manager.h"
+
+ACE_RCSID(ace, Thread_Hook, "$Id$")
+
+void *
+ACE_Thread_Hook::start (ACE_THR_FUNC func,
+ void *arg)
+{
+ return (func) (arg);
+}
+
+ACE_Thread_Hook *
+ACE_Thread_Hook::thread_hook (ACE_Thread_Hook *hook)
+{
+ return ACE_OS_Object_Manager::thread_hook (hook);
+}
+
+ACE_Thread_Hook *
+ACE_Thread_Hook::thread_hook (void)
+{
+ return ACE_OS_Object_Manager::thread_hook ();
+}
diff --git a/ace/Thread_Hook.h b/ace/Thread_Hook.h
new file mode 100644
index 00000000000..a1312e1ec8d
--- /dev/null
+++ b/ace/Thread_Hook.h
@@ -0,0 +1,54 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// Thread_Hook.h
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>
+//
+// ============================================================================
+
+#ifndef ACE_THREAD_HOOK_H
+#define ACE_THREAD_HOOK_H
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+
+class ACE_Export ACE_Thread_Hook
+{
+ // = TITLE
+ // This class makes it possible to provide user-defined "start"
+ // hooks that are called before the thread entry point function
+ // is invoked.
+
+public:
+ virtual void *start (ACE_THR_FUNC func,
+ void *arg);
+ // This method can be overridden in a subclass to customize this
+ // pre-function call "hook" invocation that can perform
+ // initialization processing before the thread entry point <func>
+ // method is called back. The <func> and <arg> passed into the
+ // start hook are the same as those passed by the application that
+ // spawned the thread.
+
+ static ACE_Thread_Hook *thread_hook (ACE_Thread_Hook *hook);
+ // sets the system wide thread hook, returns the previous thread
+ // hook or 0 if none is set.
+
+ static ACE_Thread_Hook *thread_hook (void);
+ // Returns the current system thread hook.
+};
+
+#include "ace/post.h"
+#endif /* ACE_THREAD_HOOK_H */
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp
index dacae3cb8db..a212b247237 100644
--- a/ace/Thread_Manager.cpp
+++ b/ace/Thread_Manager.cpp
@@ -6,6 +6,7 @@
#include "ace/Object_Manager.h"
#include "ace/Singleton.h"
#include "ace/Auto_Ptr.h"
+#include "ace/Thread_Exit.h"
#if !defined (__ACE_INLINE__)
#include "ace/Thread_Manager.i"
@@ -408,99 +409,6 @@ ACE_Thread_Manager::~ACE_Thread_Manager (void)
this->close ();
}
-#if defined (ACE_HAS_SIG_C_FUNC)
-extern "C" void
-ACE_Thread_Exit_cleanup (void *instance, void *)
-{
- ACE_TRACE ("ACE_Thread_Exit_cleanup");
-
- delete (ACE_TSS_TYPE (ACE_Thread_Exit) *) instance;
-}
-#else
-void
-ACE_Thread_Exit::cleanup (void *instance, void *)
-{
- ACE_TRACE ("ACE_Thread_Exit::cleanup");
-
- delete (ACE_TSS_TYPE (ACE_Thread_Exit) *) instance;
-}
-#endif /* ACE_HAS_SIG_C_FUNC */
-
-// NOTE: this preprocessor directive should match the one in
-// ACE_Task_Base::svc_run () below. This prevents the two statics
-// from being defined.
-
-ACE_Thread_Exit *
-ACE_Thread_Exit::instance (void)
-{
-#if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)
- ACE_TRACE ("ACE_Thread_Exit::instance");
-
- // Determines if we were dynamically allocated.
- static ACE_TSS_TYPE (ACE_Thread_Exit) *instance_;
-
- // Implement the Double Check pattern.
-
- if (ACE_Thread_Exit::is_constructed_ == 0)
- {
- ACE_MT (ACE_Thread_Mutex *lock =
- ACE_Managed_Object<ACE_Thread_Mutex>::get_preallocated_object
- (ACE_Object_Manager::ACE_THREAD_EXIT_LOCK);
- ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0));
-
- if (ACE_Thread_Exit::is_constructed_ == 0)
- {
- ACE_NEW_RETURN (instance_,
- ACE_TSS_TYPE (ACE_Thread_Exit),
- 0);
-
- ACE_Thread_Exit::is_constructed_ = 1;
-
- // Register for destruction with ACE_Object_Manager.
-#if defined ACE_HAS_SIG_C_FUNC
- ACE_Object_Manager::at_exit (instance_,
- ACE_Thread_Exit_cleanup,
- 0);
-#else
- ACE_Object_Manager::at_exit (instance_,
- ACE_Thread_Exit::cleanup,
- 0);
-#endif /* ACE_HAS_SIG_C_FUNC */
- }
- }
-
- return ACE_TSS_GET (instance_, ACE_Thread_Exit);
-#else
- return 0;
-#endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION */
-}
-
-// Grab hold of the Task * so that we can close() it in the
-// destructor.
-
-ACE_Thread_Exit::ACE_Thread_Exit (void)
-{
- ACE_TRACE ("ACE_Thread_Exit::ACE_Thread_Exit");
-}
-
-// Set the this pointer...
-
-void
-ACE_Thread_Exit::thr_mgr (ACE_Thread_Manager *tm)
-{
- ACE_TRACE ("ACE_Thread_Exit::thr_mgr");
-
- if (tm != 0)
- this->thread_control_.insert (tm, 0);
-}
-
-// When this object is destroyed the Task is automatically closed
-// down!
-
-ACE_Thread_Exit::~ACE_Thread_Exit (void)
-{
- ACE_TRACE ("ACE_Thread_Exit::~ACE_Thread_Exit");
-}
// Run the entry point for thread spawned under the control of the
// <ACE_Thread_Manager>. This must be an extern "C" to make certain
@@ -2298,77 +2206,6 @@ ACE_Thread_Manager::get_grp (ACE_Task_Base *task, int &grp_id)
return 0;
}
-void
-ACE_Thread_Control::dump (void) const
-{
- ACE_TRACE ("ACE_Thread_Control::dump");
-}
-
-int
-ACE_Thread_Control::insert (ACE_Thread_Manager *tm, int insert)
-{
- ACE_TRACE ("ACE_Thread_Control::insert");
-
- ACE_hthread_t t_id;
- ACE_Thread::self (t_id);
- this->tm_ = tm;
-
- if (insert)
- return this->tm_->insert_thr (ACE_Thread::self (), t_id);
- else
- return 0;
-}
-
-// Initialize the thread controller.
-
-ACE_Thread_Control::ACE_Thread_Control (ACE_Thread_Manager *t,
- int insert)
- : tm_ (t),
- status_ (0)
-{
- ACE_TRACE ("ACE_Thread_Control::ACE_Thread_Control");
-
- if (this->tm_ != 0 && insert)
- {
- ACE_hthread_t t_id;
- ACE_Thread::self (t_id);
- this->tm_->insert_thr (ACE_Thread::self (), t_id);
- }
-}
-
-// Automatically kill thread on exit.
-
-ACE_Thread_Control::~ACE_Thread_Control (void)
-{
- ACE_TRACE ("ACE_Thread_Control::~ACE_Thread_Control");
-
-#if defined (ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS) || defined (ACE_HAS_TSS_EMULATION) || defined (ACE_WIN32)
- this->exit (this->status_, 0);
-#else
- this->exit (this->status_, 1);
-#endif /* ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS */
-}
-
-// Exit from thread (but clean up first).
-
-void *
-ACE_Thread_Control::exit (void *exit_status, int do_thr_exit)
-{
- ACE_TRACE ("ACE_Thread_Control::exit");
-
- if (this->tm_ != 0)
- return this->tm_->exit (exit_status, do_thr_exit);
- else
- {
-#if !defined (ACE_HAS_TSS_EMULATION)
- // With ACE_HAS_TSS_EMULATION, we let ACE_Thread_Adapter::invoke ()
- // exit the thread after cleaning up TSS.
- ACE_Thread::exit (exit_status);
-#endif /* ! ACE_HAS_TSS_EMULATION */
- return 0;
- }
-}
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
# if defined (ACE_THREAD_MANAGER_LACKS_STATICS)
template class ACE_Singleton<ACE_Thread_Manager, ACE_SYNCH_MUTEX>;
diff --git a/ace/Thread_Manager.h b/ace/Thread_Manager.h
index 1ff256197f4..d725f41bac7 100644
--- a/ace/Thread_Manager.h
+++ b/ace/Thread_Manager.h
@@ -19,6 +19,7 @@
#include "ace/pre.h"
#include "ace/Thread.h"
+#include "ace/Thread_Adapter.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
diff --git a/ace/Thread_Manager.i b/ace/Thread_Manager.i
index c1017f816bc..604f99aba40 100644
--- a/ace/Thread_Manager.i
+++ b/ace/Thread_Manager.i
@@ -220,45 +220,6 @@ ACE_Thread_Descriptor::reset (ACE_Thread_Manager *tm)
#endif /* !ACE_USE_ONE_SHOT_AT_THREAD_EXIT */
}
-// Set the exit status.
-
-ACE_INLINE void *
-ACE_Thread_Control::status (void *s)
-{
- ACE_TRACE ("ACE_Thread_Control::status");
- return this->status_ = s;
-}
-
-// Get the exit status.
-
-ACE_INLINE void *
-ACE_Thread_Control::status (void)
-{
- ACE_TRACE ("ACE_Thread_Control::status");
- return this->status_;
-}
-
-// Returns the current <Thread_Manager>.
-
-ACE_INLINE ACE_Thread_Manager *
-ACE_Thread_Control::thr_mgr (void)
-{
- ACE_TRACE ("ACE_Thread_Control::thr_mgr");
- return this->tm_;
-}
-
-// Atomically set a new <Thread_Manager> and return the old
-// <Thread_Manager>.
-
-ACE_INLINE ACE_Thread_Manager *
-ACE_Thread_Control::thr_mgr (ACE_Thread_Manager *tm)
-{
- ACE_TRACE ("ACE_Thread_Control::thr_mgr");
- ACE_Thread_Manager *o_tm = this->tm_;
- this->tm_ = tm;
- return o_tm;
-}
-
ACE_INLINE ACE_Thread_Descriptor *
ACE_Thread_Manager::thread_desc_self (void)
{
diff --git a/ace/ace.icc b/ace/ace.icc
index cbcc4f325b8..8fd443ac052 100755
--- a/ace/ace.icc
+++ b/ace/ace.icc
@@ -80,6 +80,10 @@ option
source type (cpp) "OS_Memory.cpp"
source type (cpp) "OS_String.cpp"
source type (cpp) "OS_TLI.cpp"
+ source type (cpp) "Thread_Hook.cpp"
+ source type (cpp) "Thread_Adapter.cpp"
+ source type (cpp) "Thread_Exit.cpp"
+ source type (cpp) "Thread_Control.cpp"
source type (cpp) "Parse_Node.cpp"
source type (cpp) "Pipe.cpp"
source type (cpp) "Proactor.cpp"