summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2009-06-10 11:13:53 +0200
committerunknown <knielsen@knielsen-hq.org>2009-06-10 11:13:53 +0200
commitd2d7b5bbb6796ee171ef605f5ea61cb782918b72 (patch)
tree934b8008ec7b77064ee02b3a86f7a4358cd2e83e /include
parentbb9a3f0c2b46491ec3234f8a9df8612f88469b90 (diff)
downloadmariadb-git-d2d7b5bbb6796ee171ef605f5ea61cb782918b72.tar.gz
Fix XtraDB to build with atomic operations, for good performance.
The root of the problem is that ./configure mixed together two different things. One is the availability of GCC atomic operation intrinsics. The other is the selection of which primitives to use for my_atomic implementation. Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around some test failures. But because the two things are mixed in ./configure, this as a side effect also makes GCC intrinsics unavailable for XtraDB. Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
Diffstat (limited to 'include')
-rw-r--r--include/atomic/nolock.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/atomic/nolock.h b/include/atomic/nolock.h
index cafd916981d..550b53adcd9 100644
--- a/include/atomic/nolock.h
+++ b/include/atomic/nolock.h
@@ -14,7 +14,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#if defined(__i386__) || defined(_MSC_VER) || \
- defined(__x86_64__) || defined(HAVE_GCC_ATOMIC_BUILTINS)
+ defined(__x86_64__) || defined(MY_ATOMIC_MODE_GCC_BUILTINS)
# ifdef MY_ATOMIC_MODE_DUMMY
# define LOCK_prefix ""
@@ -22,7 +22,7 @@
# define LOCK_prefix "lock"
# endif
-# ifdef HAVE_GCC_ATOMIC_BUILTINS
+# ifdef MY_ATOMIC_MODE_GCC_BUILTINS
# include "gcc_builtins.h"
# elif __GNUC__
# include "x86-gcc.h"