- for fd, (ob, evs) in self.registered.items():
- ep.register(fd, evs)
+ try:
+ for fd, (ob, evs) in self.registered.items():
+ ep.register(fd, evs)
+ except:
+ self.registered.clear()
+ raise
self.registered[fd] = (ch, evs)
if self.ep:
self.ep.register(fd, evs)
self.registered[fd] = (ch, evs)
if self.ep:
self.ep.register(fd, evs)
if ignore:
return
raise KeyError("fd %i is not registered" % fd)
pch, cevs = self.registered[fd]
if pch is not ch:
raise ValueError("fd %i registered via object %r, cannot remove with %r" % (pch, ch))
if ignore:
return
raise KeyError("fd %i is not registered" % fd)
pch, cevs = self.registered[fd]
if pch is not ch:
raise ValueError("fd %i registered via object %r, cannot remove with %r" % (pch, ch))