Martino Ferrari 9a086b7d69 test(data): make the push/read race test deterministic
The completion check was scheduling-dependent and the test could lose its TSan

overlap window. The producer now signals done with a release store, the consumer

reads in a do/while keyed on that flag so at least one read is guaranteed by

construction, and a started/reading handshake makes the producer's remaining

pushes provably overlap the reader's loop. Bounded to 4096 pushes on the 256-slot

ring, and the assertions moved after join() so a failure reports instead of

terminating. With the pre-fix ring restored, four TSan runs still flag push vs

copy_from, so the case keeps its teeth.
2026-09-27 21:51:26 +02:00
S
Description
No description provided
MIT
2.3 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 95.7%
CMake 2.4%
Python 1.7%
Shell 0.2%