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