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: <1421274920.58.0.362888250388.issue22560@psf.upfronthosting.co.za> |
2015-01-14 22:35:20 | vstinner | link | issue22560 messages |
2015-01-14 22:35:20 | vstinner | create | |
|