<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/cb92cb90bdc7fb90212e928db32172546eca0f5b">https://github.com/macports/macports-ports/commit/cb92cb90bdc7fb90212e928db32172546eca0f5b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new cb92cb9  db{48,53,60}: Fix build failure with libc++
</span>cb92cb9 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit cb92cb90bdc7fb90212e928db32172546eca0f5b
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Sat Nov 25 15:29:48 2017 -0800

<span style='display:block; white-space:pre;color:#404040;'>    db{48,53,60}: Fix build failure with libc++
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 databases/db48/files/patch-dbinc_atomic.h     | 130 +++++++++++++++++++++++++-
 databases/db53/files/patch-src_dbinc_atomic.h | 130 +++++++++++++++++++++++++-
 databases/db60/Portfile                       |   3 +-
 databases/db60/files/patch-src_dbinc_atomic.h | 126 +++++++++++++++++++++++++
 4 files changed, 382 insertions(+), 7 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db48/files/patch-dbinc_atomic.h b/databases/db48/files/patch-dbinc_atomic.h
</span><span style='display:block; white-space:pre;color:#808080;'>index c8cb5f3..13da5ba 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/db48/files/patch-dbinc_atomic.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db48/files/patch-dbinc_atomic.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- dbinc/atomic.h.orig    2010-04-12 22:25:22.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ dbinc/atomic.h 2012-05-04 22:39:32.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://www.databaseusers.com/article/6047407/Bug%3A+Build+failure+on+Linux+with+clang+libc%2B%2B+(atomic+issues)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git dbinc/atomic.h dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6a858f7..9f338dc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@ typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * These have no memory barriers; the caller must include them when necessary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_read(p)          ((p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define   atomic_init(p, val)     ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define   atomic_init_db(p, val)  ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_ATOMIC_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
  #define       atomic_inc(env, p)      __atomic_inc(p)
  #define       atomic_dec(env, p)      __atomic_dec(p)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +23,7 @@
</span>  static inline int __atomic_inc(db_atomic_t *p)
  {
        int     temp;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
</span>   * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
   * which configure could be changed to use.
   */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,3 +32,113 @@
</span>   db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
  {
        atomic_value_t was;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_dec(env, p)      (--(p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_compare_exchange(env, p, oldval, newval)         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (DB_ASSERT(env, atomic_read(p) == (oldval)),            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_inc(env, p)        __atomic_inc(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_dec(env, p)        __atomic_dec(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mp/mp_fget.c mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 16de695..d0dcc29 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -649,7 +649,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* Initialize enough so we can call __memp_bhfree. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->flags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef DIAGNOSTIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   __db_errx(env, DB_STR("3025",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -955,7 +955,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MVCC_MPROTECT(bhp->buf, mfp->pagesize,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       PROT_READ);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->priority = bhp->priority;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->pgno = bhp->pgno;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mp/mp_mvcc.c mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 770bad8..e28cce0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   memcpy(frozen_bhp, bhp, SSZA(BH, buf));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (mutex != MUTEX_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           frozen_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           F_CLR(alloc_bhp, BH_FROZEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mp/mp_region.c mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4952030..47645f8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   SH_TAILQ_INIT(&htab[i].hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -302,7 +302,7 @@ no_prealloc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_TAILQ_INIT(&hp->hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_STATISTICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_io_wait = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mutex/mut_method.c mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 09353b0..177353c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_LOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ret = atomic_read(v) == oldval;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (ret)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_UNLOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mutex/mut_tas.c mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 106b161..fc4de9d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_SHARED_LATCHES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (F_ISSET(mutexp, DB_MUTEX_SHARED))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (MUTEX_INIT(&mutexp->tas)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   F_CLR(mutexp, DB_MUTEX_LOCKED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /* Flush flag update before zeroing count */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   DB_ASSERT(env, sharecount > 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db53/files/patch-src_dbinc_atomic.h b/databases/db53/files/patch-src_dbinc_atomic.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 8682bcd..4e674cf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/db53/files/patch-src_dbinc_atomic.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db53/files/patch-src_dbinc_atomic.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/dbinc/atomic.h.orig        2012-02-29 19:48:38.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/dbinc/atomic.h     2012-05-04 22:39:32.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://www.databaseusers.com/article/6047407/Bug%3A+Build+failure+on+Linux+with+clang+libc%2B%2B+(atomic+issues)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/dbinc/atomic.h src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6a858f7..9f338dc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@ typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * These have no memory barriers; the caller must include them when necessary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_read(p)          ((p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define   atomic_init(p, val)     ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define   atomic_init_db(p, val)  ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_ATOMIC_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
  #define       atomic_inc(env, p)      __atomic_inc(p)
  #define       atomic_dec(env, p)      __atomic_dec(p)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +23,7 @@
</span>  static inline int __atomic_inc(db_atomic_t *p)
  {
        int     temp;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
</span>   * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
   * which configure could be changed to use.
   */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,3 +32,113 @@
</span>   db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
  {
        atomic_value_t was;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_dec(env, p)      (--(p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_compare_exchange(env, p, oldval, newval)         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (DB_ASSERT(env, atomic_read(p) == (oldval)),            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_inc(env, p)        __atomic_inc(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_dec(env, p)        __atomic_dec(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_fget.c src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 16de695..d0dcc29 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -649,7 +649,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* Initialize enough so we can call __memp_bhfree. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->flags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef DIAGNOSTIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   __db_errx(env, DB_STR("3025",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -955,7 +955,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MVCC_MPROTECT(bhp->buf, mfp->pagesize,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       PROT_READ);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->priority = bhp->priority;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->pgno = bhp->pgno;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_mvcc.c src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 770bad8..e28cce0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   memcpy(frozen_bhp, bhp, SSZA(BH, buf));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (mutex != MUTEX_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           frozen_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           F_CLR(alloc_bhp, BH_FROZEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_region.c src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4952030..47645f8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   SH_TAILQ_INIT(&htab[i].hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -302,7 +302,7 @@ no_prealloc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_TAILQ_INIT(&hp->hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_STATISTICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_io_wait = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mutex/mut_method.c src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 09353b0..177353c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_LOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ret = atomic_read(v) == oldval;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (ret)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_UNLOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mutex/mut_tas.c src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 106b161..fc4de9d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_SHARED_LATCHES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (F_ISSET(mutexp, DB_MUTEX_SHARED))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (MUTEX_INIT(&mutexp->tas)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   F_CLR(mutexp, DB_MUTEX_LOCKED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /* Flush flag update before zeroing count */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   DB_ASSERT(env, sharecount > 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db60/Portfile b/databases/db60/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 159ee27..163ab33 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/db60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,8 @@ checksums       md5     ad28eb86ad3203b5422844db179c585b \
</span>                 sha1    038dca3ef2984c6cb95ff088d1ab7c7b9da40883 \
                 rmd160  8684dba9e28ddc14dede4b633f2afb56f79c3b89
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles      yosemite-libtool.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles      yosemite-libtool.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-src_dbinc_atomic.h
</span> 
 configure.dir   ${worksrcpath}/build_unix
 build.dir       ${configure.dir}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db60/files/patch-src_dbinc_atomic.h b/databases/db60/files/patch-src_dbinc_atomic.h
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a59d54e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db60/files/patch-src_dbinc_atomic.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,126 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://www.databaseusers.com/article/6047407/Bug%3A+Build+failure+on+Linux+with+clang+libc%2B%2B+(atomic+issues)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/dbinc/atomic.h src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6a858f7..9f338dc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/dbinc/atomic.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +70,7 @@ typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * These have no memory barriers; the caller must include them when necessary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_read(p)          ((p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define   atomic_init(p, val)     ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define   atomic_init_db(p, val)  ((p)->value = (val))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_ATOMIC_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_dec(env, p)      (--(p)->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define   atomic_compare_exchange(env, p, oldval, newval)         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (DB_ASSERT(env, atomic_read(p) == (oldval)),            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(p, (newval)), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_inc(env, p)        __atomic_inc(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_dec(env, p)        __atomic_dec(env, p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_fget.c src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 16de695..d0dcc29 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_fget.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -649,7 +649,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* Initialize enough so we can call __memp_bhfree. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->flags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef DIAGNOSTIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   __db_errx(env, DB_STR("3025",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -955,7 +955,7 @@ alloc:         /* Allocate a new buffer header and data space. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MVCC_MPROTECT(bhp->buf, mfp->pagesize,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       PROT_READ);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->priority = bhp->priority;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->pgno = bhp->pgno;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_mvcc.c src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 770bad8..e28cce0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_mvcc.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   memcpy(frozen_bhp, bhp, SSZA(BH, buf));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  atomic_init(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  atomic_init_db(&frozen_bhp->ref, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (mutex != MUTEX_INVALID)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           frozen_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           alloc_bhp->mtx_buf = mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUTEX_LOCK(env, alloc_bhp->mtx_buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&alloc_bhp->ref, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           F_CLR(alloc_bhp, BH_FROZEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mp/mp_region.c src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4952030..47645f8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mp/mp_region.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   SH_TAILQ_INIT(&htab[i].hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&htab[i].hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -302,7 +302,7 @@ no_prealloc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_TAILQ_INIT(&hp->hash_bucket);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&hp->hash_page_dirty, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_STATISTICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_io_wait = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mutex/mut_method.c src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 09353b0..177353c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mutex/mut_method.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_LOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ret = atomic_read(v) == oldval;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (ret)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(v, newval);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MUTEX_UNLOCK(env, mtx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/mutex/mut_tas.c src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 106b161..fc4de9d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mutex/mut_tas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_SHARED_LATCHES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (F_ISSET(mutexp, DB_MUTEX_SHARED))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (MUTEX_INIT(&mutexp->tas)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   F_CLR(mutexp, DB_MUTEX_LOCKED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /* Flush flag update before zeroing count */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  atomic_init(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  atomic_init_db(&mutexp->sharecount, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   DB_ASSERT(env, sharecount > 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   MEMBAR_EXIT();
</span></pre><pre style='margin:0'>

</pre>