def _read(self, src_fd, dest_fd):
    try:
        data = os.read(src_fd, 1024)
    except OSError:
        data = ''
    if data:
        self.buffers[dest_fd] += data
    else:
        self._remove_reader(src_fd)
        if (src_fd in self.writers_to_readers):
            self._remove_writer(src_fd)
        if (not self.readers_to_writers):
            self.loop.stop()
def _read(self, src_fd, dest_fd):
    try:
        data = os.read(src_fd, 1024)
    except OSError:
        data = 
    if data:
        self.buffers[dest_fd] += data
    else:
        self._remove_reader(src_fd)
        if (src_fd in self.writers_to_readers):
            self._remove_writer(src_fd)
        if (not self.readers_to_writers):
            self.loop.stop()