rework poll to change the fds array directly