[Python-checkins] cpython (merge 3.4 -> default): Merge 3.4 (asyncio)

victor.stinner python-checkins at python.org
Thu Jan 15 09:45:25 CET 2015


https://hg.python.org/cpython/rev/69285bf7e865
changeset:   94164:69285bf7e865
parent:      94161:681e54e6d11e
parent:      94163:3c37825d85d3
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Thu Jan 15 09:44:24 2015 +0100
summary:
  Merge 3.4 (asyncio)

files:
  Lib/asyncio/sslproto.py |  8 ++++++--
  1 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py
--- a/Lib/asyncio/sslproto.py
+++ b/Lib/asyncio/sslproto.py
@@ -572,8 +572,12 @@
             # wait until protocol.connection_made() has been called
             self._waiter._set_result_unless_cancelled(None)
         self._session_established = True
-        # In case transport.write() was already called
-        self._process_write_backlog()
+        # In case transport.write() was already called. Don't call
+        # immediatly _process_write_backlog(), but schedule it:
+        # _on_handshake_complete() can be called indirectly from
+        # _process_write_backlog(), and _process_write_backlog() is not
+        # reentrant.
+        self._loop.call_soon(self._process_write_backlog)
 
     def _process_write_backlog(self):
         # Try to make progress on the write backlog.

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list