Closed aliddell closed 2 months ago
In acquisitions where we call
runtime.start() runtime.stop()
without inspecting the data at any point in between, the read-region flush on acquire_stop initializes the monitor. Calling this multiple times fills the monitor without ever flushing it, causing the runtime to hang. This fixes that problem.
acquire_stop
Confirm that the test in the new file repeat-start-no-monitor.cpp will hang without the change made in acquire.c.
repeat-start-no-monitor.cpp
Closed in favor of #44
In acquisitions where we call
without inspecting the data at any point in between, the read-region flush on
acquire_stop
initializes the monitor. Calling this multiple times fills the monitor without ever flushing it, causing the runtime to hang. This fixes that problem.