summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-03 19:30:19 +0000
committerbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-03 19:30:19 +0000
commitdd0f3c1a9d3c1274bad4a4c2e55f5bb4a89b6d35 (patch)
treeb04625c86cf6bc64501ad6b7107b35fe25e15eba
parent28e745260c0e0cb4b2f213b81cc6c032b2440293 (diff)
downloadATCD-dd0f3c1a9d3c1274bad4a4c2e55f5bb4a89b6d35.tar.gz
ChangeLogTag:Tue Oct 3 12:25:46 2000 Darrell Brunsch <brunsch@uci.edu>
-rw-r--r--ChangeLog14
-rw-r--r--ChangeLogs/ChangeLog-02a14
-rw-r--r--ChangeLogs/ChangeLog-03a14
-rw-r--r--ace/Thread_Adapter.cpp6
-rw-r--r--ace/Thread_Adapter.h4
-rw-r--r--ace/Thread_Exit.cpp2
6 files changed, 53 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 12129976158..49f353d87ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Tue Oct 3 12:25:46 2000 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/Thread_Exit.cpp:
+
+ Removed default argument in the function definition.
+
+ * ace/Thread_Adapter.cpp:
+ * ace/Thread_Adapter.h:
+
+ Separated ACE_Thread_Adapter::invoke into invoke and
+ invoke_i because it uses SEH and James added local vars
+ with destructors. They don't work together in the same
+ function.
+
Tue Oct 03 12:53:28 2000 Angelo Corsaro <corsaro@cs.wustl.edu>
* bin/run_all_list.pm:
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 12129976158..49f353d87ea 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,17 @@
+Tue Oct 3 12:25:46 2000 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/Thread_Exit.cpp:
+
+ Removed default argument in the function definition.
+
+ * ace/Thread_Adapter.cpp:
+ * ace/Thread_Adapter.h:
+
+ Separated ACE_Thread_Adapter::invoke into invoke and
+ invoke_i because it uses SEH and James added local vars
+ with destructors. They don't work together in the same
+ function.
+
Tue Oct 03 12:53:28 2000 Angelo Corsaro <corsaro@cs.wustl.edu>
* bin/run_all_list.pm:
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 12129976158..49f353d87ea 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,17 @@
+Tue Oct 3 12:25:46 2000 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/Thread_Exit.cpp:
+
+ Removed default argument in the function definition.
+
+ * ace/Thread_Adapter.cpp:
+ * ace/Thread_Adapter.h:
+
+ Separated ACE_Thread_Adapter::invoke into invoke and
+ invoke_i because it uses SEH and James added local vars
+ with destructors. They don't work together in the same
+ function.
+
Tue Oct 03 12:53:28 2000 Angelo Corsaro <corsaro@cs.wustl.edu>
* bin/run_all_list.pm:
diff --git a/ace/Thread_Adapter.cpp b/ace/Thread_Adapter.cpp
index 69696552643..7fe01965b46 100644
--- a/ace/Thread_Adapter.cpp
+++ b/ace/Thread_Adapter.cpp
@@ -88,6 +88,12 @@ ACE_Thread_Adapter::invoke (void)
#endif /* ! ACE_USE_THREAD_MANAGER_ADAPTER */
+ return this->invoke_i ();
+}
+
+void *
+ACE_Thread_Adapter::invoke_i (void)
+{
// Extract the arguments.
ACE_THR_FUNC_INTERNAL func = ACE_reinterpret_cast (ACE_THR_FUNC_INTERNAL,
this->user_func_);
diff --git a/ace/Thread_Adapter.h b/ace/Thread_Adapter.h
index 8ef0fc4388f..e2baa67066a 100644
--- a/ace/Thread_Adapter.h
+++ b/ace/Thread_Adapter.h
@@ -67,6 +67,10 @@ private:
~ACE_Thread_Adapter (void);
// Ensure that this object must be allocated on the heap.
+ virtual void *invoke_i (void);
+ // Called by invoke, mainly here to separate the SEH stuff because
+ // SEH on Win32 doesn't compile with local vars with destructors.
+
private:
ACE_Thread_Manager *thr_mgr_;
// Optional thread manager.
diff --git a/ace/Thread_Exit.cpp b/ace/Thread_Exit.cpp
index bcde74fbc63..2128ac148f5 100644
--- a/ace/Thread_Exit.cpp
+++ b/ace/Thread_Exit.cpp
@@ -105,7 +105,7 @@ ACE_Thread_Exit::~ACE_Thread_Exit (void)
ACE_OS_TRACE ("ACE_Thread_Exit::~ACE_Thread_Exit");
}
-ACE_Thread_Exit_Maybe::ACE_Thread_Exit_Maybe (int flag = 0)
+ACE_Thread_Exit_Maybe::ACE_Thread_Exit_Maybe (int flag)
: instance_ (0)
{
if (flag)