LDC optimized builds causing unexpected behaviour when sharing variable between threads
    Keivan Shah 
    keivan.shah at silverleafcaps.com
       
    Thu Jun  2 17:41:48 UTC 2022
    
    
  
On Thursday, 2 June 2022 at 11:56:07 UTC, Johan wrote:
> `atomicFence` only works for ordering memory operations on a 
> single thread, not ordering between threads.
>
> You can either use a mutex (to coordinate between threads), or 
> need all store/loads to be atomic with `atomic{Store,Load}`.
> I am surprised that there is no `core.atomic!int` to simplify 
> your life. Perhaps you should make a feature request :)
>
> -Johan
Hey Johan,
Thanks for the reply, I finally ended up using 
`atomic{Store,Load}` with some memory ordering after reading 
about them a bit. Atomic variables (`core.atomic!int`) would have 
been a great feature, I have no further usecases for them and 
they probably are a bit more complex for my understanding to make 
a informed request right now, but will definitely make one when 
my understanding improves in the future.
Thanks and regards,
Keivan Shah.
    
    
More information about the digitalmars-d-ldc
mailing list