Hmm, I'm not sure this is proper atomic semantics.  Isn't there a potential window between the load and the store?

Actually, not sure locking can be done properly without CAS semantics, right?  We may need to add those to Common, e.g.:

```c++
inline bool __gainAudioQueueLock() {
   return Common::CompareAndSwap(audioQueueLocked, 0, 1);
}
```

-[Unknown]