All pastes #35492 Raw Edit

Mine

public python v1 · immutable
#35492 ·published 2006-01-02 04:34 UTC
rendered paste body
    def select(self, timeout):        data = []        while True:            fifo_fd = os.open(self.fifoname, os.O_NONBLOCK)            readees, writees, errs = select.select([fifo_fd], [], [], timeout)            if fifo_fd in readees:                fifo = os.fdopen(fifo_fd)                while True:                    try:                        stuff = fifo.read()                        if stuff:                            self.log.debug("Read %d bytes" % len(stuff))                            data.append(stuff)                        else:                            self.log.debug("Read, but no data")                            time.sleep(1)                            break                    except IOError:                        self.log.debug("EOF, breaking inner")                        time.sleep(1)                        break            else:                self.log.debug("Nothing pending")                try:                    os.close(fifo_fd)                except OSError:                    self.log.debug("Nonpending failed")                break            try:                os.close(fifo_fd)            except OSError:                self.log.debug("Continuing failed")        return ''.join(data)