You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Massimo Manghi <ma...@unipr.it> on 2015/07/15 11:01:44 UTC
apache 2.2 support for trunk
I forgot to advertise that code for mod_rivet in trunk now builds also
for Apache 2.2. I just changed the way the APR thread id is fetched.
Apache controlled threads now allocate data from the thread pool by
calling apr_thread_pool_get and set up a clean up procedure to dispose
of the resources allocated on that memory (critical points are a mutex
and condition variable). I expected this pool to have the same lifespan
of the thread that owns it but to my surprise I noticed it's deleted
every now and then. This mechanics implies a certain overhead in the
request handling as the mutex and condition variable pair used to
communicate with the pool of threads have to be recreated every time a
single thread's memory pool is recreated.
For the time being I can't figure our a better way to handle this as MPM
controlled threads don't have a callback on which you can hook a cleanup
procedure
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org
Re: apache 2.2 support for trunk
Posted by Massimo Manghi <mx...@apache.org>.
Apache 2.4 first of all. Prefork MPM would be a safer choice as it
should be working exactly like 2.2.3. But I desperately need more tests
for the worker MPM. It works for me but I don't use it in production.
Any feedback would be appreciated. The good thing about 2.4 is that you
can switch from an MPM to another in the configuration (requires a
restart, a reload wouldn't be enough)
-- Massimo
On 07/17/2015 11:28 PM, Damon Courtney wrote:
> So, at this point, what would be the recommended Apache release / MPM
> model to load on a fresh install? I’m getting ready to build a new
> VM, and I want to go with the best option. :)
>
> D
>
>
>> On Jul 15, 2015, at 4:01 AM, Massimo Manghi
>> <ma...@unipr.it> wrote:
>>
>> I forgot to advertise that code for mod_rivet in trunk now builds
>> also for Apache 2.2. I just changed the way the APR thread id is
>> fetched.
>>
>> Apache controlled threads now allocate data from the thread pool by
>> calling apr_thread_pool_get and set up a clean up procedure to
>> dispose of the resources allocated on that memory (critical points
>> are a mutex and condition variable). I expected this pool to have
>> the same lifespan of the thread that owns it but to my surprise I
>> noticed it's deleted every now and then. This mechanics implies a
>> certain overhead in the request handling as the mutex and condition
>> variable pair used to communicate with the pool of threads have to
>> be recreated every time a single thread's memory pool is
>> recreated.
>>
>> For the time being I can't figure our a better way to handle this
>> as MPM controlled threads don't have a callback on which you can
>> hook a cleanup procedure
>>
>> -- Massimo
>>
>> ---------------------------------------------------------------------
>>
>>
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
>> For additional commands, e-mail: rivet-dev-help@tcl.apache.org
>>
>
>
> ---------------------------------------------------------------------
>
>
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
> For additional commands, e-mail: rivet-dev-help@tcl.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org
Re: apache 2.2 support for trunk
Posted by Damon Courtney <da...@tclhome.com>.
So, at this point, what would be the recommended Apache release / MPM model to load on a fresh install? I’m getting ready to build a new VM, and I want to go with the best option. :)
D
> On Jul 15, 2015, at 4:01 AM, Massimo Manghi <ma...@unipr.it> wrote:
>
> I forgot to advertise that code for mod_rivet in trunk now builds also for Apache 2.2. I just changed the way the APR thread id is fetched.
>
> Apache controlled threads now allocate data from the thread pool by calling apr_thread_pool_get and set up a clean up procedure to dispose of the resources allocated on that memory (critical points are a mutex and condition variable). I expected this pool to have the same lifespan of the thread that owns it but to my surprise I noticed it's deleted every now and then. This mechanics implies a certain overhead in the request handling as the mutex and condition variable pair used to communicate with the pool of threads have to be recreated every time a single thread's memory pool is recreated.
>
> For the time being I can't figure our a better way to handle this as MPM controlled threads don't have a callback on which you can hook a cleanup procedure
>
> -- Massimo
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
> For additional commands, e-mail: rivet-dev-help@tcl.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org