mirror of https://github.com/debauchee/barrier.git
6ea96719ab
an strange deadlock seen on OSX. The CSocketMultiplexer deadlocks with two threads, one waiting for m_polling to become false and the other waiting for m_pollable to become true. The weird part is that they're both false so the first thread should proceed. It either didn't receive the broadcast when m_polling went to false or it's not really checking the actual value of that flag. I can't see how the former is possible and this change fixes the latter. |
||
---|---|---|
.. | ||
CCondVar.cpp | ||
CCondVar.h | ||
CLock.cpp | ||
CLock.h | ||
CMutex.cpp | ||
CMutex.h | ||
CThread.cpp | ||
CThread.h | ||
Makefile.am | ||
XMT.cpp | ||
XMT.h | ||
XThread.h | ||
mt.dsp |