Philippe M. Chiasson wrote: > Torsten Foertsch wrote: >> to have these 2 patches applied to trunk or to get a statement why they >> cannot >> be applied? > > Something very similar to what you've been doing already ;-) In general, > that's the correct approach. Post patches, explanations, test cases that > expose the problem, and generally poke people about it. > >> http://www.gossamer-threads.com/lists/modperl/dev/93415 > > This one looks pretty good, and I think it's a cleaner approach > to the currently uncorrect one.
I've just spent the evening looking at this more in details, and the more I look, the more things look significantly broken. My latest feeling was that your patch was not actually adressing the underlying problem. Here is where I am at so far. In many cases, once an interpreter has been acquired and not yet released, nothing should really need to call interp_select() to find an interpreter, as opposed to being handed that interpreter directly. On the topic of interp->refcnt, check out xs/APR/Pool/APR_Pool.h, it's the current customer of it, and uses it again in a strange/unobvious way. Anyways, I'll be poking at this some more shortly and post more of my findings. Torsten, thanks for the ithreads3 test case, it does correctly exercice the problems every time. (I'd like to include it, but it would need to be somewhat cleaned up to follow our current coding conventions, apart from that, pretty good). Good night! ------------------------------------------------------------------------ Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
signature.asc
Description: OpenPGP digital signature