Revision: 34655
http://sourceforge.net/p/opalvoip/code/34655
Author: rjongbloed
Date: 2016-03-02 11:32:21 +0000 (Wed, 02 Mar 2016)
Log Message:
-----------
Remove old workaround for GCC pthreads "bug", is compensated for elsewhere and clearing external threads arbitrarily (with thread still running) is profoundly dangerous to the thread local storage code.
Modified Paths:
--------------
ptlib/trunk/src/ptlib/common/osutils.cxx
Modified: ptlib/trunk/src/ptlib/common/osutils.cxx
===================================================================
--- ptlib/trunk/src/ptlib/common/osutils.cxx 2016-03-01 20:02:54 UTC (rev 34654)
+++ ptlib/trunk/src/ptlib/common/osutils.cxx 2016-03-02 11:32:21 UTC (rev 34655)
@@ -2215,17 +2215,12 @@
cleanExternalThreads = CleanExternalThreadsTime;
if (!m_externalThreads.IsEmpty()) {
m_threadMutex.Wait();
-#ifdef __GLIBC__
- // Cannot rely on IsTerminated() not crashing in GLIBC due to a dickhead developer there
- m_externalThreads.RemoveAll();
-#else
for (ThreadList::iterator it = m_externalThreads.begin(); it != m_externalThreads.end();) {
if (it->IsTerminated())
m_externalThreads.erase(it++);
else
++it;
}
-#endif
m_threadMutex.Signal();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|