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
