You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by yl...@apache.org on 2019/01/17 16:04:55 UTC

svn commit: r1851541 - in /apr/apr/trunk: atomic/netware/ atomic/os390/ atomic/unix/ atomic/win32/ include/arch/unix/

Author: ylavic
Date: Thu Jan 17 16:04:55 2019
New Revision: 1851541

URL: http://svn.apache.org/viewvc?rev=1851541&view=rev
Log:
atomics: follow up to r1841078: provide specific initializer for generic 64bit

The can't be two apr_atomic_init(), atomic/mutex64.c shouldn't implement one
since generic/mutex implementation may be used by several platforms.

So introduce private apr__atomic_generic64_init() and use it where needed.

Modified:
    apr/apr/trunk/atomic/netware/apr_atomic.c
    apr/apr/trunk/atomic/os390/atomic.c
    apr/apr/trunk/atomic/unix/ia32.c
    apr/apr/trunk/atomic/unix/mutex.c
    apr/apr/trunk/atomic/unix/mutex64.c
    apr/apr/trunk/atomic/unix/ppc.c
    apr/apr/trunk/atomic/unix/s390.c
    apr/apr/trunk/atomic/unix/solaris.c
    apr/apr/trunk/atomic/win32/apr_atomic.c
    apr/apr/trunk/include/arch/unix/apr_arch_atomic.h

Modified: apr/apr/trunk/atomic/netware/apr_atomic.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/netware/apr_atomic.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/netware/apr_atomic.c (original)
+++ apr/apr/trunk/atomic/netware/apr_atomic.c Thu Jan 17 16:04:55 2019
@@ -14,14 +14,17 @@
  * limitations under the License.
  */
 
-#include "apr.h"
-#include "apr_atomic.h"
+#include "apr_arch_atomic.h"
 
 #include <stdlib.h>
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *pool)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)

Modified: apr/apr/trunk/atomic/os390/atomic.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/os390/atomic.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/os390/atomic.c (original)
+++ apr/apr/trunk/atomic/os390/atomic.c Thu Jan 17 16:04:55 2019
@@ -14,15 +14,17 @@
  * limitations under the License.
  */
 
-
-#include "apr.h"
-#include "apr_atomic.h"
+#include "apr_arch_atomic.h"
 
 #include <stdlib.h>
 
 apr_status_t apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 apr_uint32_t apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)

Modified: apr/apr/trunk/atomic/unix/ia32.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/ia32.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/ia32.c (original)
+++ apr/apr/trunk/atomic/unix/ia32.c Thu Jan 17 16:04:55 2019
@@ -20,7 +20,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)

Modified: apr/apr/trunk/atomic/unix/mutex.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/mutex.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/mutex.c (original)
+++ apr/apr/trunk/atomic/unix/mutex.c Thu Jan 17 16:04:55 2019
@@ -15,6 +15,7 @@
  */
 
 #include "apr_arch_atomic.h"
+#include "apr_thread_mutex.h"
 
 #ifdef USE_ATOMICS_GENERIC
 
@@ -70,7 +71,7 @@ APR_DECLARE(apr_status_t) apr_atomic_ini
         }
     }
 
-    return APR_SUCCESS;
+    return apr__atomic_generic64_init(p);
 }
 
 static APR_INLINE apr_thread_mutex_t *mutex_hash(volatile apr_uint32_t *mem)
@@ -88,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_SUCCESS;
+    return apr__atomic_generic64_init(p);
 }
 
 #endif /* APR_HAS_THREADS */

Modified: apr/apr/trunk/atomic/unix/mutex64.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/mutex64.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/mutex64.c (original)
+++ apr/apr/trunk/atomic/unix/mutex64.c Thu Jan 17 16:04:55 2019
@@ -15,6 +15,7 @@
  */
 
 #include "apr_arch_atomic.h"
+#include "apr_thread_mutex.h"
 
 #if defined(USE_ATOMICS_GENERIC) || defined (NEED_ATOMICS_GENERIC64)
 
@@ -50,7 +51,7 @@ static apr_status_t atomic_cleanup(void
     return APR_SUCCESS;
 }
 
-APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
+apr_status_t apr__atomic_generic64_init(apr_pool_t *p)
 {
     int i;
     apr_status_t rv;
@@ -86,7 +87,7 @@ static APR_INLINE apr_thread_mutex_t *mu
 
 #else
 
-APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
+apr_status_t apr__atomic_generic64_init(apr_pool_t *p)
 {
     return APR_SUCCESS;
 }

Modified: apr/apr/trunk/atomic/unix/ppc.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/ppc.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/ppc.c (original)
+++ apr/apr/trunk/atomic/unix/ppc.c Thu Jan 17 16:04:55 2019
@@ -26,7 +26,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)

Modified: apr/apr/trunk/atomic/unix/s390.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/s390.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/s390.c (original)
+++ apr/apr/trunk/atomic/unix/s390.c Thu Jan 17 16:04:55 2019
@@ -20,7 +20,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)

Modified: apr/apr/trunk/atomic/unix/solaris.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/unix/solaris.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/unix/solaris.c (original)
+++ apr/apr/trunk/atomic/unix/solaris.c Thu Jan 17 16:04:55 2019
@@ -22,7 +22,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)

Modified: apr/apr/trunk/atomic/win32/apr_atomic.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/atomic/win32/apr_atomic.c?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/atomic/win32/apr_atomic.c (original)
+++ apr/apr/trunk/atomic/win32/apr_atomic.c Thu Jan 17 16:04:55 2019
@@ -14,13 +14,15 @@
  * limitations under the License.
  */
 
-#include "apr.h"
-#include "apr_atomic.h"
-#include "apr_thread_mutex.h"
+#include "apr_arch_atomic.h"
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)

Modified: apr/apr/trunk/include/arch/unix/apr_arch_atomic.h
URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/arch/unix/apr_arch_atomic.h?rev=1851541&r1=1851540&r2=1851541&view=diff
==============================================================================
--- apr/apr/trunk/include/arch/unix/apr_arch_atomic.h (original)
+++ apr/apr/trunk/include/arch/unix/apr_arch_atomic.h Thu Jan 17 16:04:55 2019
@@ -18,9 +18,9 @@
 #define ATOMIC_H
 
 #include "apr.h"
+#include "apr_pools.h"
 #include "apr_private.h"
 #include "apr_atomic.h"
-#include "apr_thread_mutex.h"
 
 #if defined(USE_ATOMICS_GENERIC)
 /* noop */
@@ -32,6 +32,7 @@
 #   define USE_ATOMICS_BUILTINS
 #elif defined(SOLARIS2) && SOLARIS2 >= 10
 #   define USE_ATOMICS_SOLARIS
+#   define NEED_ATOMICS_GENERIC64
 #elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
 #   define USE_ATOMICS_IA32
 #   define NEED_ATOMICS_GENERIC64
@@ -43,7 +44,10 @@
 #   define NEED_ATOMICS_GENERIC64
 #else
 #   define USE_ATOMICS_GENERIC
-#   define NEED_ATOMICS_GENERIC64
+#endif
+
+#if defined(USE_ATOMICS_GENERIC) || defined (NEED_ATOMICS_GENERIC64)
+apr_status_t apr__atomic_generic64_init(apr_pool_t *p);
 #endif
 
 #endif /* ATOMIC_H */