Merged revisions 82407 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r82407 | giampaolo.rodola | 2010-06-30 19:47:39 +0200 (mer, 30 giu 2010) | 9 lines

  Merged revisions 82404 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r82404 | giampaolo.rodola | 2010-06-30 19:38:28 +0200 (mer, 30 giu 2010) | 1 line

    fix issue #6589: cleanup asyncore.socket_map if smtpd.SMTPServer constructor raises an exception
  ........
................
This commit is contained in:
Giampaolo Rodolà 2010-06-30 17:50:20 +00:00
parent bf9f79b185
commit d68ed93824
2 changed files with 16 additions and 8 deletions

View File

@ -274,14 +274,19 @@ class SMTPServer(asyncore.dispatcher):
self._localaddr = localaddr
self._remoteaddr = remoteaddr
asyncore.dispatcher.__init__(self)
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
# try to re-use a server port if possible
self.set_reuse_addr()
self.bind(localaddr)
self.listen(5)
print('%s started at %s\n\tLocal addr: %s\n\tRemote addr:%s' % (
self.__class__.__name__, time.ctime(time.time()),
localaddr, remoteaddr), file=DEBUGSTREAM)
try:
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
# try to re-use a server port if possible
self.set_reuse_addr()
self.bind(localaddr)
self.listen(5)
except:
self.close()
raise
else:
print('%s started at %s\n\tLocal addr: %s\n\tRemote addr:%s' % (
self.__class__.__name__, time.ctime(time.time()),
localaddr, remoteaddr), file=DEBUGSTREAM)
def handle_accept(self):
conn, addr = self.accept()

View File

@ -67,6 +67,9 @@ C-API
Library
-------
- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
raises an exception.
- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
on an OpenSSL structure.