This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients geertj, giampaolo.rodola, gvanrossum, pitrou, python-dev, sbt, vstinner, yselivanov
Date 2015-01-14.22:35:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1421274920.58.0.362888250388.issue22560@psf.upfronthosting.co.za>
In-reply-to
Content
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().
History
Date User Action Args
2015-01-14 22:35:20vstinnersetrecipients: + vstinner, gvanrossum, geertj, pitrou, giampaolo.rodola, python-dev, sbt, yselivanov
2015-01-14 22:35:20vstinnersetmessageid: <1421274920.58.0.362888250388.issue22560@psf.upfronthosting.co.za>
2015-01-14 22:35:20vstinnerlinkissue22560 messages
2015-01-14 22:35:20vstinnercreate