First: THANKS for reacting so friendly and civilized :)<br><br>Cliff<br>> Have you tried the finger tutorial.<br><br>Sure. When I say, I DID read what's available, then I did. Otherwise I wouldn't dare to complain.<br>
<br><br>Thomas Hervé <<a href="mailto:therve@free.fr">therve@free.fr</a>> wrote:<br><br>> ...<br>> > - How about getting 1 version of pykqueue properly running and into TM ?<br>> <br>> The current one is grossly working, even though there are some <br>
> problems, and that the setup is not triavial. But a new reactor has <br> > been developed, using Python 2.6 KQueue wrapper, and should be <br> > available some day. See <a href="http://twistedmatrix.com/trac/ticket/1918">http://twistedmatrix.com/trac/ticket/1918</a> for <br>
> the progress on this field. Any tests and feedback would help this <br> > going further.<br><br>Great. Thanks. PLEASE test it properly and prepare a reasonably conmplete readme at least.<br>And kindly see below for my current problems.<br>
<br><br><a href="mailto:mike@mkp.ca">mike@mkp.ca</a> wrote:<br><br>> Feel better now? ;-)<br>> <br>> I understand your pain. Twisted is very much written by hackers for<br>> hackers, with the old school practices of source and oral tradition in<br>
> place of documentation. It took me many attempts before I felt I was<br>> competent, and I still can't do anything without constantly consulting<br>> the source code. I confess, I haven't bothered to look at the docs<br>
> for years, and I suspect it is the same with the core Twisted<br>> developers.<br>> <br>> Life is made easier by having a mentor who can look over your work and<br>> point out misunderstandings and antipatterns. I find the mailing list<br>
> to be a mixed bag as a replacement. Sometimes you get real gems from<br>> Glyph and company, and sometimes you just get a hard time. I'd be<br>> happy to help if I can, but any deep thinking will probably have to<br>
> wait for weekends. I'm also a long time FreeBSD user and Python<br>> developer.<br>> <br>> Hope you make it over the curve!<br><br>Thanks, Mike, for your friendly welcome.<br><br>Yes, I do understand that attitude. I love to have it, too. <br>
BUT: twisted is having and looking for sponsors, that is, twisted is - gladly ! - meant to be a product and not some hackers private delight (only).<br><br>You see, I argue for using twisted. Possibly some of us argue against other solutions and, worst case, they risk their ass doing so.<br>
Again, I share your attitude and i understand it so well. But, PLEASE, understand that I need to get sth. working, that some colleagues put a lot of trust, valuable trust, into twisted, even taking a risk. That should be seen and properly respnonded to, too.<br>
<br>I'm not talking about script kiddies. I'm talking about seasoned colleages with a (couple) dozend years in the job.<br>We don't need pampering, not even mentoring, practical and welcome as that might be. We need realiabilty and a _fair_ chance to find our ways in twisted. A reasonable starting point.<br>
<br>--------<br><br>Here's what I tried today:<br><br>Using py-kqueue (1.4) in FreeBSDs ports.<br> <br>'twistd -r kqueue -no -f web.tap' works fine.<br> 'twistd -r kqueue -f web tap' breaks.<br><br>Next I checked, wether the changes proposed by IST where in version 1.4. Nope.<br>
So I edited them into the patch that comes with the port anyway (patch-kqsyscallmodule).<br>If anyone is interested, I'll post it.<br><br>Same as without, i.e. it works but it breaks if run as daemon.<br>Here's what I find in the log:<br>
<br>Log opened.<br>twistd 2.5.0 (/usr/local/bin/python2.5 2.5.2) starting up<br>reactor class: <class 'twisted.internet.kqreactor.KQueueReactor'><br>Loading web.tap...<br>Loaded.<br>Changing process name to test<br>
Log opened.<br>twistd 2.5.0 (/home/www/tm/ 2.5.2) starting up<br>reactor class: <class 'twisted.internet.kqreactor.KQueueReactor'><br>Loading web.tap...<br>Loaded.<br>twisted.web.server.Site starting on 80<br>
Starting factory <twisted.web.server.Site instance at 0x85935ec><br>Traceback (most recent call last):<br>File "/usr/local/bin/twistd", line 21, in <module><br> run()<br>File "/usr/local/lib/python2.5/site-packages/twisted/scripts/twistd.py", line 27, in run<br>
app.run(runApp, ServerOptions)<br>File "/usr/local/lib/python2.5/site-packages/twisted/application/app.py", line 379, in run<br> runApp(config)<br>File "/usr/local/lib/python2.5/site-packages/twisted/scripts/twistd.py", line 23, in runApp<br>
_SomeApplicationRunner(config).run()<br>File "/usr/local/lib/python2.5/site-packages/twisted/application/app.py", line 158, in run<br> self.postApplication()<br>File "/usr/local/lib/python2.5/site-packages/twisted/scripts/_twistd_unix.py", line 213, in postApplication<br>
startApplication(self.config, self.application)<br>File "/usr/local/lib/python2.5/site-packages/twisted/scripts/_twistd_unix.py", line 174, in startApplication<br> service.IService(application).privilegedStartService()<br>
File "/usr/local/lib/python2.5/site-packages/twisted/application/service.py", line 228, in privilegedStartService<br> service.privilegedStartService()<br>File "/usr/local/lib/python2.5/site-packages/twisted/application/service.py", line 228, in privilegedStartService<br>
service.privilegedStartService()<br>File "/usr/local/lib/python2.5/site-packages/twisted/application/internet.py", line 68, in privilegedStartService<br> self._port = self._getPort()<br>File "/usr/local/lib/python2.5/site-packages/twisted/application/internet.py", line 86, in _getPort<br>
return getattr(reactor, 'listen'+self.method)(*self.args, **self.kwargs)<br>File "/usr/local/lib/python2.5/site-packages/twisted/internet/posixbase.py", line 467, in listenTCP<br> p.startListening()<br>
File "/usr/local/lib/python2.5/site-packages/twisted/internet/tcp.py", line 750, in startListening<br> self.startReading()<br>File "/usr/local/lib/python2.5/site-packages/twisted/internet/abstract.py", line 265, in startReading<br>
self.reactor.addReader(self)<br>File "/usr/local/lib/python2.5/site-packages/twisted/internet/kqreactor.py", line 98, in addReader<br> self._updateRegistration(fd, EVFILT_READ, EV_ADD)<br>File "/usr/local/lib/python2.5/site-packages/twisted/internet/kqreactor.py", line 89, in _updateRegistration<br>
kq.kevent([kevent(*args)], 0, 0)<br>OSError: [Errno 9] Bad file descriptor<br><br><br><br><br>