summaryrefslogtreecommitdiff
path: root/ace/Thread_Manager.i
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-11-29 19:21:11 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-11-29 19:21:11 +0000
commit4453067afa70a834fbf3457ad59035026722ef71 (patch)
treeaac3a9dcf58fad9b342e55929329bb63a2d3ede4 /ace/Thread_Manager.i
parent805465362e89fb0cf944ffa5f0d2830a25c30c7b (diff)
downloadATCD-4453067afa70a834fbf3457ad59035026722ef71.tar.gz
ChangeLogTag:Fri Nov 29 12:23:14 2002 Nanbor Wang <nanbor@cs.wustl.edu>
Diffstat (limited to 'ace/Thread_Manager.i')
-rw-r--r--ace/Thread_Manager.i24
1 files changed, 18 insertions, 6 deletions
diff --git a/ace/Thread_Manager.i b/ace/Thread_Manager.i
index 54f2968598e..4a49398eaab 100644
--- a/ace/Thread_Manager.i
+++ b/ace/Thread_Manager.i
@@ -218,7 +218,7 @@ ACE_Thread_Manager::thread_desc_self (void)
ACE_Thread_Descriptor *desc = ACE_LOG_MSG->thr_desc ();
#if 1
- ACE_ASSERT (desc != 0);
+ // ACE_ASSERT (desc != 0);
// Thread descriptor should always get cached.
#else
if (desc == 0)
@@ -270,13 +270,21 @@ ACE_Thread_Manager::open (size_t)
ACE_INLINE int
ACE_Thread_Manager::at_exit (ACE_At_Thread_Exit* at)
{
- return this->thread_desc_self ()->at_exit (at);
+ ACE_Thread_Descriptor *td = this->thread_desc_self ();
+ if (td == 0)
+ return -1;
+ else
+ return td->at_exit (at);
}
ACE_INLINE int
ACE_Thread_Manager::at_exit (ACE_At_Thread_Exit& at)
{
- return this->thread_desc_self ()->at_exit (at);
+ ACE_Thread_Descriptor *td = this->thread_desc_self ();
+ if (td == 0)
+ return -1;
+ else
+ return td->at_exit (at);
}
#endif /* !ACE_USE_ONE_SHOT_AT_THREAD_EXIT */
@@ -285,9 +293,13 @@ ACE_Thread_Manager::at_exit (void *object,
ACE_CLEANUP_FUNC cleanup_hook,
void *param)
{
- return this->thread_desc_self ()->at_exit (object,
- cleanup_hook,
- param);
+ ACE_Thread_Descriptor *td = this->thread_desc_self ();
+ if (td == 0)
+ return -1;
+ else
+ return td->at_exit (object,
+ cleanup_hook,
+ param);
}
ACE_INLINE void