Redirecting you to https://jfdube.wordpress.com/2014/01/03/implementing-a-recursive-read-write-spinlock/