Fixing race issues the right way
geod24 at gmail.com
Mon Apr 6 03:19:27 UTC 2020
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.
Is there public code you can link to ?
Look for any usage of `__gshared`. Are you using `shared` as well
? Turn on `-preview=nosharedaccess` to get better diagnostic. Are
you using any `extern` code ? How do you communicate between
threads ? Message passing, or simple shared memory ?
More information about the Digitalmars-d-learn