diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-13 15:06:59 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-13 15:06:59 +0000 |
commit | 12ddba838432c7316d69d63481ef3ba881e566d9 (patch) | |
tree | 43d00d96fc9704d7efc8db79a8c2ed06f625b66f /ace/Thread_Manager.cpp | |
parent | 18f83e2ef0be57046a914f1498ce8a94125348d6 (diff) | |
download | ATCD-12ddba838432c7316d69d63481ef3ba881e566d9.tar.gz |
(join): replaced __xlC__ test with _AIX. That way, g++ and xlC will
both use the three-arg join call on AIX.
Diffstat (limited to 'ace/Thread_Manager.cpp')
-rw-r--r-- | ace/Thread_Manager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp index a38d05bbca2..49c3868f282 100644 --- a/ace/Thread_Manager.cpp +++ b/ace/Thread_Manager.cpp @@ -154,7 +154,7 @@ ACE_Thread_Descriptor::terminate () #endif /* ACE_WIN32 */ } #endif /* ! VXWORKS */ - + // Remove thread descriptor from the table. if (this->tm_ != 0) tm_->remove_thr (this, close_handle); @@ -1480,15 +1480,18 @@ ACE_Thread_Manager::join (ACE_thread_t tid, void **status) // Didn't find the thread we want or the thread is not joinable. } -# if defined (__xlC__) +# if defined (_AIX) // The AIX xlC compiler does not match the proper function here - it // confuses ACE_Thread::join(ACE_thread_t, ACE_thread_t *, void **=0) and // ACE_Thread::join(ACE_hthread_t, void **=0). At least at 3.1.4.7 and .8. // The 2nd arg is ignored for pthreads anyway. + + // And, g++ on AIX needs the three-arg thr_join, also, to pick up the + // proper version from the AIX libraries. if (ACE_Thread::join (tdb.thr_handle_, &tdb.thr_handle_, status) == -1) -# else +# else /* ! _AIX */ if (ACE_Thread::join (tdb.thr_handle_, status) == -1) -# endif /* __xlC__ */ +# endif /* ! _AIX */ return -1; # if defined (ACE_HAS_PTHREADS_DRAFT4) && defined (ACE_LACKS_SETDETACH) |