I don't understand what's going on here. If it doesn't block the first time, how could it block on any subsequent run through the loop?