You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Ruediger Pluem <rp...@apache.org> on 2021/10/29 17:59:54 UTC

Re: svn commit: r1894621 - in /apr/apr/trunk: atomic/unix/builtins.c atomic/unix/builtins64.c atomic/unix/mutex.c configure.in


On 10/29/21 5:09 PM, ylavic@apache.org wrote:
> Author: ylavic
> Date: Fri Oct 29 15:09:13 2021
> New Revision: 1894621
> 
> URL: http://svn.apache.org/viewvc?rev=1894621&view=rev
> Log:
> apr_atomic: Use __atomic builtins when available.
> 
> Unlike Intel's atomic builtins (__sync_*), the more recent __atomic builtins
> provide atomic load and store for weakly ordered architectures like ARM32 or
> powerpc[64], so use them when available (gcc 4.6.3+).
> 
> 
> Modified:
>     apr/apr/trunk/atomic/unix/builtins.c
>     apr/apr/trunk/atomic/unix/builtins64.c
>     apr/apr/trunk/atomic/unix/mutex.c
>     apr/apr/trunk/configure.in
> 

> 
> Modified: apr/apr/trunk/atomic/unix/mutex.c
> URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/mutex.c?rev=1894621&r1=1894620&r2=1894621&view=diff
> ==============================================================================
> --- apr/apr/trunk/atomic/unix/mutex.c (original)
> +++ apr/apr/trunk/atomic/unix/mutex.c Fri Oct 29 15:09:13 2021
> @@ -89,7 +89,7 @@ static APR_INLINE apr_thread_mutex_t *mu
>  
>  APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
>  {
> -    return apr__atomic_generic64_init(p);

Why is this no longer needed?

> +    return APR_SUCCESS;
>  }
>  
>  #endif /* APR_HAS_THREADS */
> 

Regards

RĂ¼diger


Re: svn commit: r1894621 - in /apr/apr/trunk: atomic/unix/builtins.c atomic/unix/builtins64.c atomic/unix/mutex.c configure.in

Posted by Ruediger Pluem <rp...@apache.org>.

On 10/29/21 11:10 PM, Yann Ylavic wrote:
> On Fri, Oct 29, 2021 at 8:00 PM Ruediger Pluem <rp...@apache.org> wrote:
>>
>>
>>
>> On 10/29/21 5:09 PM, ylavic@apache.org wrote:
>>> Author: ylavic
>>> Date: Fri Oct 29 15:09:13 2021
>>> New Revision: 1894621
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1894621&view=rev
>>> Log:
>>> apr_atomic: Use __atomic builtins when available.
>>>
>>> Unlike Intel's atomic builtins (__sync_*), the more recent __atomic builtins
>>> provide atomic load and store for weakly ordered architectures like ARM32 or
>>> powerpc[64], so use them when available (gcc 4.6.3+).
>>>
>>>
>>> Modified:
>>>     apr/apr/trunk/atomic/unix/builtins.c
>>>     apr/apr/trunk/atomic/unix/builtins64.c
>>>     apr/apr/trunk/atomic/unix/mutex.c
>>>     apr/apr/trunk/configure.in
>>>
>>
>>>
>>> Modified: apr/apr/trunk/atomic/unix/mutex.c
>>> URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/mutex.c?rev=1894621&r1=1894620&r2=1894621&view=diff
>>> ==============================================================================
>>> --- apr/apr/trunk/atomic/unix/mutex.c (original)
>>> +++ apr/apr/trunk/atomic/unix/mutex.c Fri Oct 29 15:09:13 2021
>>> @@ -89,7 +89,7 @@ static APR_INLINE apr_thread_mutex_t *mu
>>>
>>>  APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
>>>  {
>>> -    return apr__atomic_generic64_init(p);
>>
>> Why is this no longer needed?
> 
> apr__atomic_generic64_init() is APR_SUCCESS when !APR_HAS_THREADS.

Thanks. I missed this. Does it make sense to keep the current call if in the future apr__atomic_generic64_init does something
useful when !APR_HAS_THREADS? Or does this just bloat the code and does not make sense and should be tackled when changes to
apr__atomic_generic64_init happen?

Regards

RĂ¼diger

Re: svn commit: r1894621 - in /apr/apr/trunk: atomic/unix/builtins.c atomic/unix/builtins64.c atomic/unix/mutex.c configure.in

Posted by Yann Ylavic <yl...@gmail.com>.
On Fri, Oct 29, 2021 at 8:00 PM Ruediger Pluem <rp...@apache.org> wrote:
>
>
>
> On 10/29/21 5:09 PM, ylavic@apache.org wrote:
> > Author: ylavic
> > Date: Fri Oct 29 15:09:13 2021
> > New Revision: 1894621
> >
> > URL: http://svn.apache.org/viewvc?rev=1894621&view=rev
> > Log:
> > apr_atomic: Use __atomic builtins when available.
> >
> > Unlike Intel's atomic builtins (__sync_*), the more recent __atomic builtins
> > provide atomic load and store for weakly ordered architectures like ARM32 or
> > powerpc[64], so use them when available (gcc 4.6.3+).
> >
> >
> > Modified:
> >     apr/apr/trunk/atomic/unix/builtins.c
> >     apr/apr/trunk/atomic/unix/builtins64.c
> >     apr/apr/trunk/atomic/unix/mutex.c
> >     apr/apr/trunk/configure.in
> >
>
> >
> > Modified: apr/apr/trunk/atomic/unix/mutex.c
> > URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/mutex.c?rev=1894621&r1=1894620&r2=1894621&view=diff
> > ==============================================================================
> > --- apr/apr/trunk/atomic/unix/mutex.c (original)
> > +++ apr/apr/trunk/atomic/unix/mutex.c Fri Oct 29 15:09:13 2021
> > @@ -89,7 +89,7 @@ static APR_INLINE apr_thread_mutex_t *mu
> >
> >  APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
> >  {
> > -    return apr__atomic_generic64_init(p);
>
> Why is this no longer needed?

apr__atomic_generic64_init() is APR_SUCCESS when !APR_HAS_THREADS.

>
> > +    return APR_SUCCESS;
> >  }
> >
> >  #endif /* APR_HAS_THREADS */


Regards;
Yann.