How is this loop exited? WIll it raise when the FD is closed?