mirror of
https://github.com/debauchee/barrier.git
synced 2026-02-08 21:03:54 +08:00
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.