Author: dkirov Date: 2006-05-10 13:22:47 +0200 (Wed, 10 May 2006) New Revision: 6314
Modified: trunk/src/common/proxy65_manager.py Log: updated connect error checks
Modified: trunk/src/common/proxy65_manager.py =================================================================== --- trunk/src/common/proxy65_manager.py 2006-05-09 22:13:46 UTC (rev 6313) +++ trunk/src/common/proxy65_manager.py 2006-05-10 11:22:47 UTC (rev 6314) @@ -15,6 +15,7 @@ ## import socket import struct +import errno
import common.xmpp from common import gajim @@ -246,16 +247,18 @@ self._recv=self._sock.recv except Exception, ee: (errnum, errstr) = ee - if errnum == 111: + if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK): + # still trying to connect + return + # win32 needs this + if errnum not in (0, 10056, errno.EISCONN): + # connection failed self.on_failure() - return None - # win32 needs this - elif errnum != 10056 or self.state != 0: - return None - else: # socket is already connected - self._sock.setblocking(False) - self._send=self._sock.send - self._recv=self._sock.recv + return + # socket is already connected + self._sock.setblocking(False) + self._send=self._sock.send + self._recv=self._sock.recv self.buff = '' self.state = 1 # connected self.idlequeue.plug_idle(self, True, False)