Well this is interesting. The fixes to Selector.py that I detailed make it work with the docstring descrition of removeReader and friends. However, they break TCPClient and ConnectedSocketAdapter which are using the previously as implemented behavior which is different than the docstring.
At first I started to go down the road of making them match the Selector.py docstring. But now I'm starting to think that the previously implemented behavior was correct and the docstring was wrong. So in Selector.py, I've gone back to: if isinstance(message, removeReader): selectable = message.object self.removeLinks(selectable, meta[READERS], readers) if isinstance(message, removeWriter): selectable = message.object self.removeLinks(selectable, meta[WRITERS], writers) if isinstance(message, removeExceptional): selectable = message.object self.removeLinks(selectable, meta[EXCEPTIONALS], exceptionals) And I've changed the end of the while loops in UDP_ng to: self.send(removeWriter(self, self.sock), "_selectorSignal") self.send(removeReader(self, self.sock), "_selectorSignal") yield 1 self.sock.close() And I've updated the Selector.py docstring to say: Deregister by sending on of the following messages to the "notify" inbox of Selector: * Kamaelia.KamaeliaIpc.removeReader(caller, descriptor) * Kamaelia.KamaeliaIpc.removeWriter(caller, descriptor) * Kamaelia.KamaeliaIpc.removeExceptional(caller, descriptor) Now both TCP and UDP are happily working. --Steve --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "kamaelia" group. To post to this group, send email to kamaelia@googlegroups.com To unsubscribe from this group, send email to kamaelia+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/kamaelia?hl=en -~----------~----~----~----~------~----~------~--~---