> On Nov 30, 2016, at 5:40 AM, Anders Ha via swift-users 
> <swift-users@swift.org> wrote:
> 
> Hi guys
> 
> I have recently started adopting lock-free atomics with memory fences, but it 
> seems Swift at this moment does not have any native instruments.
> 
> Then I read a thread in the Apple Developer Forum 
> (https://forums.developer.apple.com/thread/49334 
> <https://forums.developer.apple.com/thread/49334>), which an Apple staff 
> claimed that all imported atomic operations are "not guaranteed to be 
> atomic". But for my tests with all optimizations enabled (-Owholemodule and 
> -O), the OSAtomic primitives and stdatomic fences do not seem going wild.
> 
> Is these `atomic_*` and `OSAtomic*` primitives really unsafe in Swift as 
> claimed? It doesn't seem like the Swift compiler would reorder memory 
> accesses around a C function call that it wouldn't be able to see through.

Did you get an answer to this? I’m not sure what led you to believe the 
primitives are unsafe in Swift. Importing them doesn’t change their semantics.

-Andy

> P.S. Is any of these primitives available on Linux? It seems the glibc 
> modulemap does not export an `stdatomic` submodule at all.
> 
> Best Regards,
> Anders
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to