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:
parent
1cc6df97bc
commit
610aa4f07f
21
Lib/smtpd.py
21
Lib/smtpd.py
|
@ -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()
|
||||
|
|
|
@ -460,6 +460,9 @@ C-API
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
|
||||
raises an exception.
|
||||
|
||||
- Issue #9110: Addition of ContextDecorator to contextlib, for creating APIs
|
||||
that act as both context managers and decorators. contextmanager changes
|
||||
to use ContextDecorator.
|
||||
|
|
Loading…
Reference in New Issue