def add(self, evtype, fileno, cb): oldlisteners = bool(self.listeners[READ].get(fileno) or self.listeners[WRITE].get(fileno)) listener = BaseHub.add(self, evtype, fileno, cb) if not oldlisteners: # Means we've added a new listener self.register(fileno, new=True) else: self.register(fileno, new=False) return listener
def add(self, evtype, fileno, cb): oldlisteners = bool(self.listeners[READ].get(fileno) or self.listeners[WRITE].get(fileno)) listener = BaseHub.add(self, evtype, fileno, cb) try: if not oldlisteners: # Means we've added a new listener self.register(fileno, new=True) else: self.register(fileno, new=False) except IOError, ex: # ignore EEXIST, #80 if get_errno(ex) != errno.EEXIST: raise