Hi, I have a problem with APR which is related to creating pools.
In my software (Apache Celix), a library can be loaded/unloaded at runtime. Before the library is loaded, I create a memory pool to use by the loaded library. After unloading a library, the pool gets destroyed. In a test scenario I have two libraries which are almost identical. When starting the framework and loading the libraries for the first time, each library gets an own pool, which is what I expect to happen. But on a second load (after unloading the 2 libraries), they both end up using the same pool, which in turn result in unexpected behavior. A palloc returns a pointer to an already allocated block of memory. I tried reproducing this in a smaller example, but haven't succeeded yet. What did work was removing the apr_pool_destroy after the unloading. The result of this is that for each load a new pool is created. Of course this isn't a solution, because the old pool still uses memory. Is there some thing going on with the creation of pools which might be a problem in this case? Maybe some optimization? If so, can I force APR to create an actual new pool? Thanks in advance, -- Met vriendelijke groet, Alexander Broekhuis
