core: Complete VisitQ discard in manager thread shutdown, for consistency/timing
da: Check for empty set in WorkPoller.discard