Message146958
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. |
|
Date |
User |
Action |
Args |
2011-11-03 18:19:12 | giampaolo.rodola | set | recipients:
+ giampaolo.rodola, josiahcarlson, stutzbach, neologix, xdegaye, François-Xavier.Bourlet |
2011-11-03 18:19:12 | giampaolo.rodola | set | messageid: <1320344352.9.0.0158976273756.issue12498@psf.upfronthosting.co.za> |
2011-11-03 18:19:12 | giampaolo.rodola | link | issue12498 messages |
2011-11-03 18:19:12 | giampaolo.rodola | create | |
|