diff options
| author | Barry Warsaw | 2009-10-18 20:05:15 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2009-10-18 20:05:15 -0400 |
| commit | 34e27b816aa120e81a8e970ac1d8847384bd3edf (patch) | |
| tree | ed28c04e1b0a15cef0cc528031ef243df21d3210 /src/mailman/mta/connection.py | |
| parent | 9f6eaef1d836a4234773c0f64dbb09b901ccf21f (diff) | |
| download | mailman-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.py | 6 |
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 |
