I like your fix better. The C++ way will spin one CPU while waiting for a global to change. I much prefer this solution the other thread will park itself instead of spin locking. REPOSITORY rL LLVM http://reviews.llvm.org/D7933 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/