]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Clear the write buffer when an IOStream is closed.
authorBen Darnell <ben@bendarnell.com>
Sun, 7 Jul 2013 17:38:08 +0000 (13:38 -0400)
committerBen Darnell <ben@bendarnell.com>
Sun, 7 Jul 2013 17:38:08 +0000 (13:38 -0400)
Closes #828.

tornado/iostream.py

index 550e68da946306545604ff97dcac2db2cc3548ad..6a507a81d567ab2eab352ec31fd12b023c3220c4 100644 (file)
@@ -274,6 +274,10 @@ class BaseIOStream(object):
             self._run_callback(cb)
             # Delete any unfinished callbacks to break up reference cycles.
             self._read_callback = self._write_callback = None
+            # Clear the buffers so they can be cleared immediately even
+            # if the IOStream object is kept alive by a reference cycle.
+            # TODO: Clear the read buffer too; it currently breaks some tests.
+            self._write_buffer = None
 
     def reading(self):
         """Returns true if we are currently reading from the stream."""