On Mon, Jul 5, 2010 at 10:03 AM, Samisa Abeysinghe <[email protected]> wrote:

> When we developed the Axis2/C httpd module, we did not consider opening up
> APR API from the module.


Considering how many other open source projects us APR, it would be really
great if someday Axis2 switched from using it's own set of cross platform
API's to using APR.  In the end, I think it will make everyone's life easier
because there is just one general, cross platform library to use and no
duplication of work.  Just a thought...

We have used our own pool to guard against httpd coming and cleaning up our
> env and the like when it wants. If the cleaning is unpredictable, we will
> not be able to assume that env will be there when we want it to, across
> requests.
>

I think there might be some holes in this thought process:  The allocation I
am talking about is at the Apache module handler level, not in the core
Axis2 engine.  Your logic makes perfect sense for the core engine, where it
will want to maintain state between requests.  From what it looks like the
axis2_handler ALWAYS calls apr_pool_create_ex() towards the top of the
function and ALWAYS calls apr_pool_destroy() at the end of the call, so even
if something in the engine was hoping that the pool would be there for the
next request, the axis2_handler is cleaning it up.

All in all, I hope you revisit this, fore I think it could be a performance
issue, considering axis2 never knows exactly how the current pool was
created, piggy backing on the parent pool could serious improve performance!

Only trying to help make this a better product!

Sam

Reply via email to