def _read(self, N=100):
        while 1:
            try:
                raw = self._pty.read(N)
            except __HOLE__, why:
                if why[0] == EAGAIN:
                    continue
                else:
                    raise
            except EOFError:
                self._pty = None
                raise
            else:
                break
        if self.printer:
            self.printer.write(raw)
        return raw
dataset/ETHPy150Open kdart/pycopia/QA/pycopia/terminal.py/Terminal._read