using a `turn' variable to ensure mutual exclusion, and a   while (true)
{} loop for being busy.