0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-06-30 16:38:21 +02:00

Don't abortConnection() if the transport connection has already closed.

This commit is contained in:
Will Hunt 2018-05-03 12:31:47 +01:00
parent 7dcbcca68c
commit 2e7a94c36b

View file

@ -113,10 +113,15 @@ class _WrappedConnection(object):
if time.time() - self.last_request >= 2.5 * 60:
self.abort()
# Abort the underlying TLS connection. The abort() method calls
# loseConnection() on the underlying TLS connection which tries to
# loseConnection() on the TLS connection which tries to
# shutdown the connection cleanly. We call abortConnection()
# since that will promptly close the underlying TCP connection.
self.transport.abortConnection()
# since that will promptly close the TLS connection.
#
# In Twisted >18.4; the TLS connection will be None if it has closed
# which will make abortConnection() throw. Check that the TLS connection
# is not None before trying to close it.
if self.transport.getHandle() is not None:
self.transport.abortConnection()
def request(self, request):
self.last_request = time.time()