On Wed, 2009-11-18 at 06:03 -0800, Tommaso Mazzafico wrote: > I tried this code: > > ----------------------------------------- > from twisted.spread import pb > from twisted.internet import reactor > > class Echoer(pb.Root): > def remote_echo(self, s): > return s > if __name__ == "__main__": > reactor.listenTCP(8001, pb.PBServerFactory(Echoer())) > reactor.run() > ----------------------------------------- > > On Windows XP all is ok. > On Windows 7 64 I receive this error message: > > ----------------------------------------- > C:\Program Files (x86)\Python\lib\site-packages\twisted\spread\pb.py:30: > DeprecationWarning: the md5 module is deprecated; use hashlib instead > import md5 > Traceback (most recent call last): > File "C:\Users\bob\Documents\Twisted\pbs.py", line 11, in <module> > reactor.listenTCP(8001, pb.PBServerFactory(Echoer())) > File "C:\Program Files > (x86)\Python\lib\site-packages\twisted\internet\posixbase.py", line 356, in > listenTCP > p.startListening() > File "C:\Program Files > (x86)\Python\lib\site-packages\twisted\internet\tcp.py", line 862, in > startListening > self._realPortNumber = skt.getsockname()[1] > File "<string>", line 1, in getsockname > socket.error: [Errno 10035] A non-blocking socket operation could not be > completed immediately > ----------------------------------------- > > What can I do?
1. Please file a bug at http://twistedmatrix.com/ - include version of Twisted, whether you have firewall of some sort, etc., so we can make sure this gets fixed. 2. Try patching the code so it does: from twisted.internet.util import untilConcludes self._realPortNumber = untilConcludes(lambda: skt.getsockname()[1]) Does this fix it? If it does, add this info to the bug. 3. Another thing to try is the IOCP reactor. -Itamar _______________________________________________ Twisted-Python mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
