Hilarious dream-logic (was Re: [Twisted-Python] [patch] (etc)
Andrea Arcangeli
andrea at cpushare.com
Thu May 18 13:25:07 MDT 2006
> Andrea don't understand the purpose of that code (he's effectively reading
> it backwards) and disabling it will make the situation with processes and
> threads worse, not better. Please don't apply this patch (or any of his
> patches) to your own copies of Twisted.
I didn't want to answer but I think I should to confirm that for this
single patch (2/4 posted to python-twisted) they're right: I misread the
code because defertothread(callback) means defer the callback to the
thread, but callfromthred _doesn't_ mean to call the callback from the
thread. callfromthread means to call the callback from the main event
loop instead, great API naming I would say.
But for all other patches I posted, they should be applied to
everybody's own twisted copy. Including the "no it isn't", since the bug
exists and needs fixing or I get exceptions.
If trac would have posted me updates via email I wouldn't have been
forced to resubmit here. I got zero feedback and I've better things to
do than to poll trac (I even tried to poll track but I couldn't find my
tickets anymore, probably because you closed them and I got no
notification by email). Perhaps I didn't include myself in some CC list
or whatever, but in all bugtracking software I used in my life so far, I
never needed to add myself to a CC list if I was the very submitter of
the report, perhaps trac is different I don't know, apologies for that
if that's the case.
Overall using twisted for my project was a mistake. One major core
design problem it has is that it can't pass POLLERR|POLLHUP|POLLNVAL to
the poll syscall unless POLLIN/POLLOUT are set too. This means that if I
throttle the I/O I can't notice anymore when a disconnect happens. But
the severe core design issues it has would be fixable and they are a
minor problem compared to the behaviour of some elements of the
community that exists around it. I don't need to enter the details
myself, if doc/fun/Twisted.Quotes isn't enough, quoting emails like
these is more than enough:
http://twistedmatrix.com/pipermail/twisted-python/2006-May/013137.html
http://www.mail-archive.com/twisted-web%40twistedmatrix.com/msg00352.html
(sadly there are many more)
The only bit for which I prefer to enter into the details (just in case
somebody didn't notice) is that the guy puts me words in my mouth that I
never said and that I never thought either.
Specifically I never said unittest are a waste of time, I only said that
I don't have time to write unittests and that lack of unittests should
not prevent valid bugfixes to be included and I think this is a very
reasonable development approach. We can argue about features or huge
changes, but I think valid bugfixes should not require unittests.
If somebody sends me a huge amount of unittests I will apply them
immediately. The more unittests the better! Exactly the opposite of
"unittests are a waste of time" that the guy claimed that I have said.
I even written "unittests are welcome" it in the CPUShare-Twisted
homepage, the last change in that page happened 2006-02-16, so quite a
few months ago.
http://www.cpushare.com/twisted
In the CPUShare-Twisted fork fixes and new features will be applied
without formalities. Notably, unit-tests are welcome, but they're
certainly not mandatory for inclusion of new features and bugfixes. If
you've objectives to reach quickly and you don't want having to maintain
your own version of Twisted, you may find this project useful to you.
More information about the Twisted-Python
mailing list