apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Woolley <cliffwool...@yahoo.com>
Subject Re: [PATCH] Re: mmap_setaside?
Date Thu, 15 Nov 2001 00:26:15 GMT
On Wed, 14 Nov 2001, Brian Pane wrote:

> apr_mmap_dup() with an optimization for the ancestor-pool case sounds
> good to me.  Actually, with a slight modification, I think this can
> handle the non-ancestor-pool case too:
>   * Create a reference count, in storage outside of any pool.  (I have
>     no major reservations about doing a malloc for this, since it's quick
>     compared to the mmap itself.  If it ever became a bottleneck, we could
>     add a custom free list.)
>   * Set the reference count to 1 when it's created, and increment in
>     apr_mmap_dup().
>   * In mmap_cleanup(), decrement the reference count.  If it's now zero,
>     munmap, and free the struct that holds the reference count.  If the
>     reference count is nonzero, do nothing.

+1!  I like this.  The hackishness of doing all this in mmap_setaside was
making me queasy.  :-)


   Cliff Woolley
   Charlottesville, VA

View raw message