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