Implemented recursive spinlocks, but they seem racy