Reading now properly stops looping on an error or quit