Drift Diary XV

Socket problems on Mac OS X Tiger with TurboGears(CherryPy 2.2)

Posted by drikin on 2007年8月28日 09:56

突拍子もなくTurboGearsの話題ですが、自分のためのメモ
TurboGears 1.0.3.2に内蔵されてるCherryPy 2.2.1をOSX(Tiger)で利用すると、imageなど大きめのバイナリーデータを取り扱うときにsocket apiの不具合で

error 35: Resource temporarily unavailable.

となってしまう問題のworkaround


Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/CherryPy-2.2.1-py2.5.egg/cherrypy/_cpwsgiserver.py

356Lあたり

if hasattr(s, 'settimeout'):
    s.settimeout(self.timeout)
if hasattr(s, 'setblocking'):
    s.setblocking(1)

に変更する。ここのtracでやりとりされてますが、比較的ネガティブ対応?とりあえずCherryPy 3でなおってくれるといいんですが、、、close<->reopen攻防がすごいw

このエントリーをはてなブックマークに追加
comments powered by Disqus