Message234041
While I tried to write an unit test to reproduce a bug (cancelled waiter), I noticed that the handshake callback of the protocol can be called indirectly from _process_write_backlog(). So _process_write_backlog() may be called indirectly from _process_write_backlog(), whereas this function doesn't support reentrant call.
A fix is to modify the handshake callback to schedule a call to _process_write_backlog(), instead of calling it immediatly.
Note: The shutdown callback doesn't have this issue, it only calls transport.close(). |
|
| Date |
User |
Action |
Args |
| 2015-01-14 22:35:20 | vstinner | set | recipients:
+ vstinner, gvanrossum, geertj, pitrou, giampaolo.rodola, python-dev, sbt, yselivanov |
| 2015-01-14 22:35:20 | vstinner | set | messageid: <[email protected]> |
| 2015-01-14 22:35:20 | vstinner | link | issue22560 messages |
| 2015-01-14 22:35:20 | vstinner | create | |
|