LINUX.ORG.RU

История изменений

Исправление quiet_readonly, (текущая версия) :

Просто замени spinlock на комбинацию spinlock и системного mutex (например, от pthread). Комбинированный mutex на вызове lock сначала N раз пытается залочить spinlock, а в случае неудачи уходит в ожидание системного mutex. Так работает std::mutex (по крайней мере в реализации от Microsoft).

Исходная версия quiet_readonly, :

Просто замени spinlock на комбинацию spinlock и системного mutex (например, от pthread). Комбинированный mutex на вызове lock сначала N раз пытается залочить spinlock, а в случае неудачи уходить в ожидание системного mutex. Так работает std::mutex (по крайней мере в реализации от Microsoft).