Skip to content

use separate barriers for "stop" and "listen" operations

Evan Hunt requested to merge 3770-separate-barriers into main

On some platforms, when a synchronizing barrier is cleared, one thread can progress while other threads are still in the process of releasing the barrier. If a barrier is reused by the progressing thread during this window, it can cause a deadlock. This can occur if, for example, we stop listening immediately after we start, because the stop and listen functions both use socket->barrier. This has been addressed by using separate barrier objects for stop and listen.

Closes #3770 (closed)

Merge request reports