Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Dev

Please help adding ModPerl::Interpreter

 

 

First page Previous page 1 2 Next page Last page  View All ModPerl dev RSS feed   Index | Next | Previous | View Threaded


torsten.foertsch at gmx

Oct 9, 2007, 8:59 AM

Post #1 of 39 (11856 views)
Permalink
Please help adding ModPerl::Interpreter

Hi,

for testing purposes I need an interface to the modperl_interp_t. That means
I'd like to check the current interp's refcnt and num_requests members from
perl level.

So I thought of adding a ModPerl::Interpreter XS module. But after reading
http://perl.apache.org/docs/2.0/devel/core/explained.html I am only more
confused.

Why is it so complicated to add a new XS module? Is it really necessary to
edit all these tables and maps? Further, somewhere is said that the source
scanning is not yet stable. In fact I have tried it some time ago and got
completely different results.

I know how to create such a module outside modperl but it would depend on
modperl. But I need it to test modperl itself. Hence I cannot build the
module outside modperl because I would not be able to install it without
modperl.

So, if someone knows better than me please help. A patch that adds a framework
for the new module to modperl so that I could simply fill in my stuff would
be best.

An explanation what to would also be most appreciated.

Thanks,
Torsten


geoff at modperlcookbook

Oct 9, 2007, 10:19 AM

Post #2 of 39 (11697 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> Hi,
>
> for testing purposes I need an interface to the modperl_interp_t. That means
> I'd like to check the current interp's refcnt and num_requests members from
> perl level.
>
> So I thought of adding a ModPerl::Interpreter XS module. But after reading
> http://perl.apache.org/docs/2.0/devel/core/explained.html I am only more
> confused.
>
> Why is it so complicated to add a new XS module? Is it really necessary to
> edit all these tables and maps?

yeah :)

if you're really confused, see the commits when I added Apache::MPM

http://marc.info/?l=apache-modperl-cvs&m=106978727408877&w=2
http://marc.info/?l=apache-modperl-cvs&m=106978912311523&w=2

the bulk of the main commit consists of the tests, but the interesting
changes are at the bottom. if you just follow that pattern you should
be able to add the module of your choice.

> Further, somewhere is said that the source
> scanning is not yet stable. In fact I have tried it some time ago and got
> completely different results.

yeah. IIRC we were leaving it to doug and his hacked version of C::Scan
to generate the official scan, with the rest of us modifying it as you
see in the commits.

>
> I know how to create such a module outside modperl but it would depend on
> modperl. But I need it to test modperl itself. Hence I cannot build the
> module outside modperl because I would not be able to install it without
> modperl.
>
> So, if someone knows better than me please help. A patch that adds a framework
> for the new module to modperl so that I could simply fill in my stuff would
> be best.
>
> An explanation what to would also be most appreciated.

HTH

--Geoff

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe [at] perl
For additional commands, e-mail: dev-help [at] perl


torsten.foertsch at gmx

Oct 10, 2007, 6:43 AM

Post #3 of 39 (11683 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Hi Geoff,

On Tuesday 09 October 2007 19:19, Geoffrey Young wrote:
> if you're really confused, see the commits when I added Apache::MPM
>
>   http://marc.info/?l=apache-modperl-cvs&m=106978727408877&w=2
>   http://marc.info/?l=apache-modperl-cvs&m=106978912311523&w=2
>
> the bulk of the main commit consists of the tests, but the interesting
> changes are at the bottom.  if you just follow that pattern you should
> be able to add the module of your choice.

I think I did it. Please have a look at the attached patch to see if it is all
that is needed to be done.

The patch is a bit edited to suppress other changes in xs/. So I don't think
it would apply to trunk without warnings.

Thanks,
Torsten
Attachments: xx (3.97 KB)


geoff at modperlcookbook

Oct 10, 2007, 6:58 AM

Post #4 of 39 (11693 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> Hi Geoff,
>
> On Tuesday 09 October 2007 19:19, Geoffrey Young wrote:
>> if you're really confused, see the commits when I added Apache::MPM
>>
>> http://marc.info/?l=apache-modperl-cvs&m=106978727408877&w=2
>> http://marc.info/?l=apache-modperl-cvs&m=106978912311523&w=2
>>
>> the bulk of the main commit consists of the tests, but the interesting
>> changes are at the bottom. if you just follow that pattern you should
>> be able to add the module of your choice.
>
> I think I did it. Please have a look at the attached patch to see if it is all
> that is needed to be done.

it looks ok. the proof is in the tests, of course :)

>
> The patch is a bit edited to suppress other changes in xs/. So I don't think
> it would apply to trunk without warnings.

I don't understand that. what other changes in xs/? if you mean
missing directories, etc, you can use utils/getdiff.pl to generate a
reasonable diff that adds them.

--Geoff

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe [at] perl
For additional commands, e-mail: dev-help [at] perl


gozer at ectoplasm

Oct 10, 2007, 12:20 PM

Post #5 of 39 (11687 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> Hi Geoff,
>
> On Tuesday 09 October 2007 19:19, Geoffrey Young wrote:
>> if you're really confused, see the commits when I added Apache::MPM
>>
>> http://marc.info/?l=apache-modperl-cvs&m=106978727408877&w=2
>> http://marc.info/?l=apache-modperl-cvs&m=106978912311523&w=2
>>
>> the bulk of the main commit consists of the tests, but the interesting
>> changes are at the bottom. if you just follow that pattern you should
>> be able to add the module of your choice.
>
> I think I did it. Please have a look at the attached patch to see if it is all
> that is needed to be done.

It looks pretty good, awesome!

> The patch is a bit edited to suppress other changes in xs/. So I don't think
> it would apply to trunk without warnings.

It did apply clean for me.

The only question I have is wherever it's necessary to also expose the
following 2 items:

modperl_interp_pool_t * | IV
PerlInterpreter * | IV

Especially in the current patch, what you get out will pretty much
be a useless blessed scalar you can't do anything with.

Apart that, looks great. At this point, I'd be happy to see it go in,
without documentation even, but at least with a minimal set of tests,
something like:

my $int = ModPerl::Interpreter->current;
ok($int);
is($int, 'ModPerl::Intereter');

ok($int->mip);
ok($int->refcnt);
[...]

To at least cover normal usage cases.

Good work !
------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


torsten.foertsch at gmx

Oct 11, 2007, 2:31 AM

Post #6 of 39 (11688 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Wednesday 10 October 2007 21:20, Philippe M. Chiasson wrote:
> The only question I have is wherever it's necessary to also expose the
> following 2 items:
>
> modperl_interp_pool_t * | IV
> PerlInterpreter *       | IV
>
> Especially in the current patch, what you get out will pretty much
> be a useless blessed scalar you can't do anything with.

Without these 2 lines no accessor methods would be created because the wrapxs
process obviously doesn't know how to convert it. In my first version I had
declared mip and perl as void* in
xs/tables/current/Apache2/StructureTable.pm. This way I also got these
members compiled in. But then I suspected that a source scan would never
generate that. Am I right?

BTW, I forgot to mention, the patch creates a new map:
xs/maps/modperl_structures.map. Is that OK?

> Apart that, looks great. At this point, I'd be happy to see it go in,
> without documentation even, but at least with a minimal set of tests,
> something like:
>
> my $int = ModPerl::Interpreter->current;
> ok($int);
> is($int, 'ModPerl::Intereter');
>
> ok($int->mip);
> ok($int->refcnt);
> [...]
>
> To at least cover normal usage cases.

Of course.

I need this module mainly for testing the interpreter management. The pair
($$interp, $interp->num_requests) can be used as unique identifier for one
particular usage (the time between interp_select and interp_unselect) of that
interpreter.

refcnt is used to check for example if creating pnotes would lock the interp.

mip and perl are currently not used. They can be dropped if you think that
would be better. I am aware that if later on someone decides that a perl
interface to the mip structure would be good he has to change the API. But
that can be documented. On the other hand mip may be a useful tool to check
if a vhost with +Parent has really got a separate mip. But then an interface
to the mip->tipool might be useful to check how much interpreters are in use
at a certain point in time. Maybe I should provide a perl interface to that
too.

Torsten


gozer at ectoplasm

Oct 12, 2007, 11:31 PM

Post #7 of 39 (11699 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Wednesday 10 October 2007 21:20, Philippe M. Chiasson wrote:
>> The only question I have is wherever it's necessary to also expose the
>> following 2 items:
>>
>> modperl_interp_pool_t * | IV
>> PerlInterpreter * | IV
>>
>> Especially in the current patch, what you get out will pretty much
>> be a useless blessed scalar you can't do anything with.
>
> Without these 2 lines no accessor methods would be created because the wrapxs
> process obviously doesn't know how to convert it. In my first version I had
> declared mip and perl as void* in
> xs/tables/current/Apache2/StructureTable.pm. This way I also got these
> members compiled in. But then I suspected that a source scan would never
> generate that. Am I right?

Yes, absolutely correct!

> BTW, I forgot to mention, the patch creates a new map:
> xs/maps/modperl_structures.map. Is that OK?

That's more than okay, that was the correct thing to do.

>> Apart that, looks great. At this point, I'd be happy to see it go in,
>> without documentation even, but at least with a minimal set of tests,
>> something like:
>>
>> my $int = ModPerl::Interpreter->current;
>> ok($int);
>> is($int, 'ModPerl::Intereter');
>>
>> ok($int->mip);
>> ok($int->refcnt);
>> [...]
>>
>> To at least cover normal usage cases.
>
> Of course.

In the meantime, I've created a threading branch here:

http://svn.apache.org/repos/asf/perl/modperl/branches/threading

And I've applied this change (rev 584377) as the first one in hopefully many more of
your patches. Only change is that I added minimal tests.

Note, this patch/test doesn't behave correctly with a non-threaded Apache.

> I need this module mainly for testing the interpreter management. The pair
> ($$interp, $interp->num_requests) can be used as unique identifier for one
> particular usage (the time between interp_select and interp_unselect) of that
> interpreter.
>
> refcnt is used to check for example if creating pnotes would lock the interp.
>
> mip and perl are currently not used. They can be dropped if you think that
> would be better

It's not much work to include them, so might as well keep them in.

> I am aware that if later on someone decides that a perl
> interface to the mip structure would be good he has to change the API.

It's a change that would add to the existing API, so I wouldn't worry about
that case.

> But
> that can be documented. On the other hand mip may be a useful tool to check
> if a vhost with +Parent has really got a separate mip. But then an interface
> to the mip->tipool might be useful to check how much interpreters are in use
> at a certain point in time. Maybe I should provide a perl interface to that
> too.

Maybe, yes. At some point I remember thinking that it would have simplified
things to just expose Perl interpreters to Perl, and do interpreter managment
in perl, but that's for another time ;-)

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


torsten.foertsch at gmx

Oct 17, 2007, 9:58 AM

Post #8 of 39 (11681 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Saturday 13 October 2007 08:31, Philippe M. Chiasson wrote:
> In the meantime, I've created a threading branch here:
>
> http://svn.apache.org/repos/asf/perl/modperl/branches/threading
>
> And I've applied this change (rev 584377) as the first one in hopefully
> many more of your patches. Only change is that I added minimal tests.
>
> Note, this patch/test doesn't behave correctly with a non-threaded Apache.

Thanks!

Please apply the enclosed x.patch to the threading branch. I have tested it
with perl 5.8.8 (with threads), apache 2.2.6 (worker and prefork) on linux.

I think it needs some polishing to work with a perl without ithreads.

The patch contains all my findings so far including the pnotes refcount
problem. Pnotes now lock the interpreter like pools do.

There is a new ${r|c}->pnotes_kill function that can be used to prematurely
delete pnotes. It is useful if you want to use pnotes say from trans to fixup
and thus bind the interp to the request but remove that binding before
response. So, PerlInterpScope is advisory now.

Also new interfaces incl. tests (but without docs) for ModPerl::Interpreter,
ModPerl::InterpPool, ModPerl::TiPool and ModPerl::TiPoolConfig are included.

The PUTBACK flag for interpreters is removed since it is not used anymore.

The attached xx patch deletes an unused structure member from
modperl_interp_pool_t.

Torsten
Attachments: xx (0.42 KB)
  x.patch (58.3 KB)


gozer at ectoplasm

Oct 17, 2007, 3:10 PM

Post #9 of 39 (11671 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Saturday 13 October 2007 08:31, Philippe M. Chiasson wrote:
>> In the meantime, I've created a threading branch here:
>>
>> http://svn.apache.org/repos/asf/perl/modperl/branches/threading
>>
>> And I've applied this change (rev 584377) as the first one in hopefully
>> many more of your patches. Only change is that I added minimal tests.
>>
>> Note, this patch/test doesn't behave correctly with a non-threaded Apache.
>
> Thanks!

No problems! While you are at it, why don't you submit a patch for:

http://perl.apache.org/about/contributors/people.html

Source here:

http//svn.apache.org/repos/asf/perl/modperl/docs/trunk/src/about/contributors/

> Please apply the enclosed x.patch to the threading branch. I have tested it
> with perl 5.8.8 (with threads), apache 2.2.6 (worker and prefork) on linux.
>
> I think it needs some polishing to work with a perl without ithreads.

It certainly needs some #ifdef foo to be friendly to non-ithreads perls

> The patch contains all my findings so far including the pnotes refcount
> problem. Pnotes now lock the interpreter like pools do.

Any chance you can break the patch into multiple patches, one for each
feature/fix? Ideally with an accompanying entry in Changes ? It'll be simpler
to merge these one at a time back to the trunk/

> There is a new ${r|c}->pnotes_kill function that can be used to prematurely
> delete pnotes.

Not sure about kill, how aobut:

->pnotes_reset() ?
->pnotes_destroy() ?

> It is useful if you want to use pnotes say from trans to fixup
> and thus bind the interp to the request but remove that binding before
> response. So, PerlInterpScope is advisory now.
>
> Also new interfaces incl. tests (but without docs) for ModPerl::Interpreter,
> ModPerl::InterpPool, ModPerl::TiPool and ModPerl::TiPoolConfig are included.

Cool, will need to have a look at all that.

> The PUTBACK flag for interpreters is removed since it is not used anymore.

Good riddance.

> The attached xx patch deletes an unused structure member from
> modperl_interp_pool_t.

Comitted on the trunk/ as revision 585724.

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


torsten.foertsch at gmx

Oct 21, 2007, 8:45 AM

Post #10 of 39 (11657 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> > The patch contains all my findings so far including the pnotes refcount
> > problem. Pnotes now lock the interpreter like pools do.
>
> Any chance you can break the patch into multiple patches, one for each
> feature/fix? Ideally with an accompanying entry in Changes ? It'll be
> simpler to merge these one at a time back to the trunk/

Is the test suite expected to succeed after each patch? I can think of a few
minor patches like pnotes, cleanuphandler, logging the pid with modperl_trace
plus one big chunk with the basic interpreter management. Otherwise it
doesn't make sense for me.

> > There is a new ${r|c}->pnotes_kill function that can be used to
> > prematurely delete pnotes.
>
> Not sure about kill, how aobut:
>
> ->pnotes_reset() ?
> ->pnotes_destroy() ?

It was named after apr_pool_cleanup_kill(). If you don't like it then what do
you prefer _destroy or _reset? To me it's all the same.

Torsten
Attachments: signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 21, 2007, 10:21 AM

Post #11 of 39 (11651 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one adds the current pid to the output of modperl_trace.

Torsten
Attachments: add_pid_to_modperl_trace.patch (0.41 KB)
  signature.asc (0.19 KB)


gozer at ectoplasm

Oct 22, 2007, 12:12 AM

Post #12 of 39 (11664 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Thursday 18 October 2007, Philippe M. Chiasson wrote:
>> Any chance you can break the patch into multiple patches
>
> This one adds the current pid to the output of modperl_trace.

Wouldn't a better all-around approach use a pid/tid combination for
threaded MPMs and fallback to pid only otherwise ?

modperl_tid_pid() does just that.

Why not clean up things like in modperl_mgv.c:

MP_TRACE_h(MP_FUNC, "[%s] new anon handler",
modperl_pid_tid(p));

And make modperl_trace always prefix log messages with modperl_tid_pid()?

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


torsten.foertsch at gmx

Oct 22, 2007, 3:20 AM

Post #13 of 39 (11652 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Monday 22 October 2007, Philippe M. Chiasson wrote:
> And make modperl_trace always prefix log messages with modperl_tid_pid()?

That makes sense. I didn't know about modperl_pid_tid(). But the
implementation is not good.

1) It requires a pool that is not always available
2) It introduces a memory leak if the pool is long living

So I have implemented it directly in modperl_trace.

On question, the old implementation reads:

...
if (modperl_threaded_mpm()) {
return apr_psprintf(p, "%lu"
#if APR_HAS_THREADS
"/%lu"
#endif /* APR_HAS_THREADS */
, (unsigned long)getpid()
#if APR_HAS_THREADS
, modperl_threads_started()
? (unsigned long)apr_os_thread_current()
: 0
#endif /* APR_HAS_THREADS */
...

That suggests that it is possible to use a modperl built with a non-threaded
perl with a threaded MPM. I think that can be ruled out.

BTW, modperl_trace adds a newline to the output. But almost all occurrences of
MP_TRACE_x do the same. So, almost all trace lines appear with empty lines in
between. Not that I want to patch that but why is it so?

Torsten
Attachments: add_pid_to_modperl_trace.patch (17.6 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 23, 2007, 7:07 AM

Post #14 of 39 (11640 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one is supposed to be applied after the pid-tid patch to the threading
branch. It adds the last pnotes refcount fix.

Torsten
Attachments: pnotes-refcount.patch (4.20 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 23, 2007, 11:35 AM

Post #15 of 39 (11645 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one implements the refcount based interpreter management. Is supposed to
be applied on top of the pnotes-refcount patch.

It implements basically the same functionality as the patch posted on Sep 25,
see http://www.gossamer-threads.com/lists/modperl/dev/94911#94911.

Torsten
Attachments: basic-interp-mgmt.patch (23.9 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 23, 2007, 11:39 AM

Post #16 of 39 (11640 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one removes the unused tipool_cfg from modperl_interp_pool_t.

Torsten
Attachments: remove-tipool_cfg-from-modperl_interp_pool_t.patch (0.42 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 4:25 AM

Post #17 of 39 (11655 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one needs the refcount based interpreter management to work. It moves the
registration of the PerlCleanupHandler callback to
modperl_hook_create_request.

It also fixes a problem that occurres if the only Perl handler in the request
cycle is the PerlCleanupHandler. Previously the cleanup callback was
registered in modperl_callback_run_handlers. To be called at least one other
perl handler must be installed in the request cycle. So, if there is no such
handler the cleanup callback is not registered and hence not called.

Torsten
Attachments: register-Perlcleanuphandler-in-modperl_hook_create_request.patch (3.41 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 4:32 AM

Post #18 of 39 (11643 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Wednesday 24 October 2007, Torsten Foertsch wrote:
> This one ...

Ups, forgot to add t/directive/perlcleanuphandler.t

Torsten
Attachments: register-Perlcleanuphandler-in-modperl_hook_create_request.patch (4.27 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 5:09 AM

Post #19 of 39 (11636 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one registers the cleanup phase with a subpool to ensure it is run before
pnotes are destroyed. Subpools are destroyed first thing in
apr_pool_{clear,destroy}. Hence, a pool cleanup registered with a subpool is
always called before a cleanup registered with the main pool.

Torsten
Attachments: register-PerlCleanupHandler-with-a-subpool.patch (3.18 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 10:45 AM

Post #20 of 39 (11644 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one makes PerlInterpScope more advisory. Using pnotes increment the
refcnt of the interp thus binding it to the lifetime of the pnotes. So, using
$c->pnotes binds the interp to the lifetime of the connection, $r->pnotes to
the request lifetime.

$[rc]->pnotes_kill() can be used to prematurely drop pnotes and thus remove
the binding.

Torsten
Attachments: pnotes-bind-interp.patch (5.87 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 11:01 AM

Post #21 of 39 (11647 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Wednesday 24 October 2007, Torsten Foertsch wrote:
> On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> > Any chance you can break the patch into multiple patches
>
> This one ...

I forgot the changes in xs/maps and xs/tables.

Torsten
Attachments: pnotes-bind-interp.patch (8.20 KB)
  signature.asc (0.19 KB)


torsten.foertsch at gmx

Oct 24, 2007, 11:27 AM

Post #22 of 39 (11640 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

On Thursday 18 October 2007, Philippe M. Chiasson wrote:
> Any chance you can break the patch into multiple patches

This one adds ModPerl::InterpPool, ModPerl::TiPool and ModPerl::TiPoolConfig,
changes ModPerl::Interpreter a bit and provides some basic testing.

Torsten
Attachments: ModPerl::Interpreter-etc.patch (7.08 KB)
  signature.asc (0.19 KB)


gozer at ectoplasm

Oct 24, 2007, 11:56 PM

Post #23 of 39 (11637 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Thursday 18 October 2007, Philippe M. Chiasson wrote:
>> Any chance you can break the patch into multiple patches
>
> This one is supposed to be applied after the pid-tid patch to the threading
> branch. It adds the last pnotes refcount fix.

It's already been applied to the trunk/ as r584380.

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


gozer at ectoplasm

Oct 24, 2007, 11:58 PM

Post #24 of 39 (11640 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Thursday 18 October 2007, Philippe M. Chiasson wrote:
>> Any chance you can break the patch into multiple patches
>
> This one removes the unused tipool_cfg from modperl_interp_pool_t.

Already applied to the trunk/ as r585724

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)


gozer at ectoplasm

Oct 25, 2007, 12:43 AM

Post #25 of 39 (11644 views)
Permalink
Re: Please help adding ModPerl::Interpreter [In reply to]

Torsten Foertsch wrote:
> On Thursday 18 October 2007, Philippe M. Chiasson wrote:
>> Any chance you can break the patch into multiple patches
>
> This one registers the cleanup phase with a subpool to ensure it is run before
> pnotes are destroyed. Subpools are destroyed first thing in
> apr_pool_{clear,destroy}. Hence, a pool cleanup registered with a subpool is
> always called before a cleanup registered with the main pool.

Nice and elegant, and removes a piece of annoying, special-case code.

Applied to trunk/ as r588156.

Little style nit (see http://perl.apache.org/docs/2.0/devel/core/coding_style.html
for the whole details.

We globally use 4 spece indents, _not_ the \t (tab) character.

------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
Attachments: signature.asc (0.24 KB)

First page Previous page 1 2 Next page Last page  View All ModPerl dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.