Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The code is not thread-safe as, if multiple threads attempt to use this lock, we could read invalid values of isLocked (in theory, and on a CPU where tearing could happen on its word size).

The issue isn’t just tearing but also memory order. On some architectures you can read a valid but out of date value in Thread A after Thread B has updated that value. (Memory order is mentioned later in the article, to be fair.)



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: