AsyncNinja/AsyncNinja

Swift 4 exclusive memory access enforcement

nezhyborets opened this issue · 3 comments

Hi!

As you know, Swift 4 introduces Exclusive Memory Access Enforcement, which gives us some kinds of issues when using SpinLockLocking and UnfairLockLocking structs under Locking protocol. Is there a reason to use struct for these types? Or it may be changed to class to avoid Thread Sanitizer errors? Thanks!

screen shot 2018-06-18 at 12 44 01 pm
screen shot 2018-06-18 at 12 50 49 pm

Hi, @nezhyborets . Thanks for report!

I do not mind to change that but I have to make sure those changes would have desired effect. What Xcode version are you using? Exclusive memory access checks could behave differently depending on swift toolset used.

I want to start with making a unit test that would test such behavior.

Hi, @nezhyborets. I've been able to reproduce the issue with tests. Could you please double check if it is reproducible with latest master?

I don't see that issue anymore. Thanks!