On Sunday, 5 April 2020 at 22:24:27 UTC, solidstate1991 wrote:
My game engine is currently broken due to some race issue I
don't really know how to resolve.
It seems that the compiler tries to skip instructions that are
not locked with a `writeln()` or something similar. Usually I
can safely remove the writeln after compiling it once with that
way. However I've once ran into an issue when a previously
working code just started to emit random junk data depending on
CPU usage, and in that case the aforementioned workaround only
partially worked (delaying crashes, etc).
I've heard something about Mutex, however I lack the experience
with multithreading.
Look at your program in a debugger and see if it does spawn
threads.
If it does find out where and why they are spawned.