Sleep is prone to races, why not wait_until it matches?