Shouldn't you be storing a timeout id for this initial call to poll?