I agree this ticks the ABI compatibility box. I doesn't check the API compatibility box, IMO. Code that will compile on 1.7.1 release still won't compile on 1.7.0, unless I misunderstand something.
I'd really like us to start on the 1.7 releases today, but I'd have to vote against this candidate. What are others' opinions? On Wed, Jan 19, 2022 at 10:53 AM <yla...@apache.org> wrote: > > Author: ylavic > Date: Wed Jan 19 16:53:54 2022 > New Revision: 1897209 > > URL: http://svn.apache.org/viewvc?rev=1897209&view=rev > Log: > apr_pools: Follow up to r1863234: APR_POOL_DEBUG macros for compat. > > To preserve ABI, define apr_pool_{join,find,num_bytes,lock}() as no-op > macros in 1.7.x. > > > Modified: > apr/apr/branches/1.7.x/ (props changed) > apr/apr/branches/1.7.x/include/apr_pools.h > apr/apr/branches/1.7.x/memory/unix/apr_pools.c > > Propchange: apr/apr/branches/1.7.x/ > ------------------------------------------------------------------------------ > Reverse-merged /apr/apr/trunk:r1863217 > > Modified: apr/apr/branches/1.7.x/include/apr_pools.h > URL: > http://svn.apache.org/viewvc/apr/apr/branches/1.7.x/include/apr_pools.h?rev=1897209&r1=1897208&r2=1897209&view=diff > ============================================================================== > --- apr/apr/branches/1.7.x/include/apr_pools.h (original) > +++ apr/apr/branches/1.7.x/include/apr_pools.h Wed Jan 19 16:53:54 2022 > @@ -754,12 +754,14 @@ APR_DECLARE(void) apr_pool_cleanup_for_e > * In this case the caller must call apr_pool_join() to indicate this > * guarantee to the APR_POOL_DEBUG code. > * > - * These functions have an empty implementation if APR is compiled > - * with #APR_POOL_DEBUG not set. > + * These functions are implemented when #APR_POOL_DEBUG is set and > + * defined as no-op macros otherwise. > * > * @{ > */ > > +#if APR_POOL_DEBUG || defined(DOXYGEN) > + > /** > * Guarantee that a subpool has the same lifetime as the parent. > * @param p The parent pool > @@ -791,7 +793,21 @@ APR_DECLARE(apr_size_t) apr_pool_num_byt > */ > APR_DECLARE(void) apr_pool_lock(apr_pool_t *pool, int flag); > > -/** @} */ > +#else /* APR_POOL_DEBUG or DOXYGEN */ > + > +#undef apr_pool_join > +#define apr_pool_join(a,b) > + > +#undef apr_pool_find > +#define apr_pool_find(mem) (NULL) > + > +#undef apr_pool_num_bytes > +#define apr_pool_num_bytes(p, rec) ((apr_size_t)0) > + > +#undef apr_pool_lock > +#define apr_pool_lock(pool, lock) > + > +#endif /* APR_POOL_DEBUG or DOXYGEN */ > > /** @} */ > > > Modified: apr/apr/branches/1.7.x/memory/unix/apr_pools.c > URL: > http://svn.apache.org/viewvc/apr/apr/branches/1.7.x/memory/unix/apr_pools.c?rev=1897209&r1=1897208&r2=1897209&view=diff > ============================================================================== > --- apr/apr/branches/1.7.x/memory/unix/apr_pools.c (original) > +++ apr/apr/branches/1.7.x/memory/unix/apr_pools.c Wed Jan 19 16:53:54 2022 > @@ -2929,29 +2929,6 @@ APR_DECLARE(apr_status_t) apr_pool_creat > return apr_pool_create_unmanaged_ex(newpool, abort_fn, allocator); > } > > -/* > - * Other stubs, for people who are running > - * mixed release/debug enviroments. > - */ > - > -APR_DECLARE(void) apr_pool_join(apr_pool_t *p, apr_pool_t *sub) > -{ > -} > - > -APR_DECLARE(apr_pool_t *) apr_pool_find(const void *mem) > -{ > - return NULL; > -} > - > -APR_DECLARE(apr_size_t) apr_pool_num_bytes(apr_pool_t *pool, int recurse) > -{ > - return 0; > -} > - > -APR_DECLARE(void) apr_pool_lock(apr_pool_t *pool, int flag) > -{ > -} > - > #else /* APR_POOL_DEBUG */ > > #undef apr_palloc > >