This isn't protecting any local state and wasn't being used consistently, and it can result in lock inversion deadlocks if -readWithUnfairLock: is called within a database write transaction.