self.closed can only be true if self.buf is None. That is currently tested in test_port_reader.