summaryrefslogtreecommitdiff
path: root/src/mailman/mta/connection.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-10-18 20:05:15 -0400
committerBarry Warsaw2009-10-18 20:05:15 -0400
commit34e27b816aa120e81a8e970ac1d8847384bd3edf (patch)
treeed28c04e1b0a15cef0cc528031ef243df21d3210 /src/mailman/mta/connection.py
parent9f6eaef1d836a4234773c0f64dbb09b901ccf21f (diff)
downloadmailman-34e27b816aa120e81a8e970ac1d8847384bd3edf.tar.gz
mailman-34e27b816aa120e81a8e970ac1d8847384bd3edf.tar.zst
mailman-34e27b816aa120e81a8e970ac1d8847384bd3edf.zip
Show that a max_sessions_per_connection == 0 means there's an unlimited number
of sessions per connection (or at least 10 <wink>).
Diffstat (limited to 'src/mailman/mta/connection.py')
-rw-r--r--src/mailman/mta/connection.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mailman/mta/connection.py b/src/mailman/mta/connection.py
index 922c492e9..105d25afb 100644
--- a/src/mailman/mta/connection.py
+++ b/src/mailman/mta/connection.py
@@ -54,6 +54,7 @@ class Connection:
self._host = host
self._port = port
self._sessions_per_connection = sessions_per_connection
+ self._session_count = None
self._connection = None
def _connect(self):
@@ -61,6 +62,7 @@ class Connection:
self._connection = smtplib.SMTP()
log.debug('Connecting to %s:%s', self._host, self._port)
self._connection.connect(self._host, self._port)
+ self._session_count = self._sessions_per_connection
def sendmail(self, envsender, recips, msgtext):
"""Mimic `smtplib.SMTP.sendmail`."""
@@ -74,11 +76,11 @@ class Connection:
self.quit()
raise
# This session has been successfully completed.
- self._sessions_per_connection -= 1
+ self._session_count -= 1
# By testing exactly for equality to 0, we automatically handle the
# case for SMTP_MAX_SESSIONS_PER_CONNECTION <= 0 meaning never close
# the connection. We won't worry about wraparound <wink>.
- if self._sessions_per_connection == 0:
+ if self._session_count == 0:
self.quit()
return results