Pythonのお勉強 Part11
■ このスレッドは過去ログ倉庫に格納されています
0576デフォルトの名無しさん
2006/08/23(水) 15:09:03urllib2.AbstractHTTPHandler.do_open の下の方の r.recv = r.read が原因らしい。
循環参照問題が起こっているらしいので f.fp._sock.recv = None を入れるか
gc を使えば CLOSE_WAIT は残らなくなった。
(urllib.urlopen の戻り値 == urllib.addurlinfo,
urllib.addurlinfo.fp == socket._fileobject,
socket._fileobject._sock == httplib.HTTPRequest)
from urllib2 import urlopen
import gc
url = "http://www.yahoo.co.jp/"
for i in range(3):
f = urlopen(url)
#f.fp._sock.recv = None
f.close()
gc.collect()
raw_input("...")
■ このスレッドは過去ログ倉庫に格納されています