Message146958
| Author |
giampaolo.rodola |
| Recipients |
François-Xavier.Bourlet, giampaolo.rodola, josiahcarlson, neologix, stutzbach, xdegaye |
| Date |
2011年11月03日.18:19:12 |
| SpamBayes Score |
1.431054e-05 |
| Marked as misclassified |
No |
| Message-id |
<1320344352.9.0.0158976273756.issue12498@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Follow my comments about half_duplex_close.diff (current latest patch).
+ def handle_close(self):
+ if not self._closing:
+ self._closing = True
+ # try to drain the output buffer
+ while self.writable() and self.initiate_send() > 0:
+ pass
+ self.close()
*Any* while loop should be avoided in the dispatcher.
The risk is you keep the poller busy for more than a single loop or, at worst, forever.
Also, you expect initiate_send() to return a meaningful value which breaks compatibility with existing asynchat code overriding it. |
|