Files
mgmt/engine
James Shubin bc63b7608e engine: graph: Use an atomic bool instead of a mutex
The isStateOK variable can be accessed concurrently as these are
supposed to be "benign" races. As such, they need to be labelled as such
so that we don't hit some undefined compiler behaviour.

Here are five good references relating to "benign" data races in golang.

1) https://web.archive.org/web/20181022150257/https://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong

2) https://go.dev/ref/mem - "Informal Overview" section.

3) https://docs.oracle.com/cd/E19205-01/820-0619/gecqt/index.html

4) https://www.usenix.org/legacy/event/hotpar11/tech/final_files/Boehm.pdf

5) https://go.dev/doc/articles/race_detector

TL;DR: wrap your benign races with sync/atomic or eliminate them.
2024-01-05 15:50:42 -05:00
..
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00
2023-03-05 18:31:52 -05:00