Sorry fo my question. I'm new in twisted ad may misunderstand some things:-), and my questions may look like trivial<br><br>I have follow stack trace:<br><br>cant connect to fcgi socket: [Failure instance: Traceback: <type 'exceptions.ValueError'>: file descriptor can not be a negative integer (-1)<br>
/usr/local/lib/python2.6/site-packages/twisted/internet/base.py:796:runUntilCurrent<br>/usr/local/lib/python2.6/site-packages/twisted/internet/protocol.py:184:fire<br>/usr/local/lib/python2.6/site-packages/twisted/internet/defer.py:318:callback<br>
/usr/local/lib/python2.6/site-packages/twisted/internet/defer.py:424:_startRunCallbacks<br>--- <exception caught here> ---<br>/usr/local/lib/python2.6/site-packages/twisted/internet/defer.py:441:_runCallbacks<br>/usr/local/fastcgi-0.1/fcgi/proxy.py:124:connectionMade<br>
/usr/local/lib/python2.6/site-packages/twisted/internet/abstract.py:340:resumeProducing<br>/usr/local/lib/python2.6/site-packages/twisted/internet/abstract.py:278:startReading<br>/usr/local/lib/python2.6/site-packages/twisted/internet/kqreactor.py:82:addReader<br>
/usr/local/lib/python2.6/site-packages/twisted/internet/kqreactor.py:71:_updateRegistration<br>]<br><br>My connectionMade function looks like this:<br><br> def connectionMade(protocol):<br> protocol._setPeer(self);<br>
self._setPeer(protocol);<br><br> for chunk in self._chunks:<br> protocol.transport.write(chunk);<br><br> self._chunks = [];<br> self.transport.resumeProducing();<br><br><br><br>All code that i use look like this:<br>
def proxy(self):<br> def connectionMade(protocol):<br> protocol._setPeer(self);<br> self._setPeer(protocol);<br><br> for chunk in self._chunks:<br> protocol.transport.write(chunk);<br><br> self._chunks = [];<br>
self.transport.resumeProducing();<br><br> def cantConnect(fail):<br> log.err("cant connect to fcgi socket: %s" % (fail.getErrorMessage()));<br> self.transport.loseConnection();<br><br> #ÕÓŌĮĪĮ×ĢÉ×ĮÅĶ ÓĻÅÄÉĪÅĪÉÅ Ó ŅÅĮĢŲĪŁĶ ĻĀŅĮĀĻŌŽÉĖĻĶ (× ĪĮŪÅĶ ÓĢÕŽĮÅ ÜŌĻ php)<br>
self.transport.pauseProducing();<br> l_client = protocol.ClientCreator(reactor, Proxy);<br> l_client.connectUNIX(self.factory.proxysock).addCallback(connectionMade).addErrback(cantConnect);<br><br><br>Its a simply fastcgi proxy, which reads all request(analize it, do some pending things and then proxy request to real worker)<br>
Thank for your help.<br><br>PS: i use kqreactor.py from this branch <a href="http://twistedmatrix.com/trac/browser/branches/kqreactor-1918-3/" target="_blank">http://twistedmatrix.com/trac/browser/branches/kqreactor-1918-3/</a>