作者EntHeEnd (ㄆㄆ)
看板Python
标题[问题] twisted.web.client.Agent 的取消
时间Mon Sep 2 00:47:24 2013
请问各位
twisted.web.client的agent call request之後返回的defer
要怎样适当的取消他呢
不论是agent本身 还是 request 都没有可以带canceller的栏位
如果一直有一个连线连不上
程式重新发request 就算每次都把之前的defer cancel掉
可是资源(socket fd)并没有被释放
最後就fd leak 导致无法连线了...
--
一般好像是在defer init的时候带canceller给它...
这样在 cancel defer的时候 就会顺便call canceller做资源释放之类的事情
可是agent好像没这个栏位 或这种做法...(?
※ 编辑: EntHeEnd 来自: 1.162.48.181 (09/02 00:50)
1F:→ EntHeEnd:最新的Twisted解决这个问题了... 09/06 10:40