Below is the list of changes that have just been committed into a local
6.0 repository of hakank. When hakank does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2008-05-04 23:32:46+02:00, hakank@lu0011.(none) +1 -0
Fix for Bug#36486, really.
storage/falcon/Interlock.h@stripped, 2008-05-04 23:32:44+02:00, hakank@lu0011.(none) +6 -6
Fix for Bug#36486, really.
diff -Nrup a/storage/falcon/Interlock.h b/storage/falcon/Interlock.h
--- a/storage/falcon/Interlock.h 2008-05-03 16:17:42 +02:00
+++ b/storage/falcon/Interlock.h 2008-05-04 23:32:44 +02:00
@@ -89,7 +89,7 @@ inline int inline_cas (volatile int *tar
Need to perform explicit type casting to make the compiler happy.
*/
return COMPARE_EXCHANGE((volatile long *) target, compare, exchange);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
char ret;
__asm__ __volatile__ (
"lock\n\t"
@@ -159,7 +159,7 @@ inline char inline_cas_pointer (volatile
{
#ifdef _WIN32
return COMPARE_EXCHANGE_POINTER(target, compare, exchange);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
char ret;
__asm__ __volatile__ (
"lock\n\t"
@@ -269,7 +269,7 @@ inline INTERLOCK_TYPE interlockedIncreme
{
#ifdef _WIN32
return InterlockedIncrement ((long*) ptr);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
INTERLOCK_TYPE ret = 1;
__asm__ __volatile__ (
"lock\n\t"
@@ -310,7 +310,7 @@ inline INTERLOCK_TYPE interlockedDecreme
{
#ifdef _WIN32
return InterlockedDecrement ((long*) ptr);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
INTERLOCK_TYPE ret = -1;
__asm__ __volatile__ (
"lock\n\t"
@@ -352,7 +352,7 @@ inline INTERLOCK_TYPE interlockedAdd(vol
{
#ifdef _WIN32
return InterlockedExchangeAdd((long*) addend, value);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
INTERLOCK_TYPE ret = value;
__asm__ __volatile__ (
"lock\n\t"
@@ -394,7 +394,7 @@ inline INTERLOCK_TYPE interlockedExchang
{
#ifdef _WIN32
return InterlockedExchange((long*) addend, value);
-#elif (defined(__i386) || defined(__x86_64__)) && !defined(__sun)
+#elif (defined(__i386) || defined(__x86_64__)) && defined(__GNUC__)
long ret = value;
__asm__ __volatile__ (
"lock\n\t"
| Thread |
|---|
| • bk commit into 6.0 tree (hakank:1.2668) BUG#36486 | Hakan Kuecuekyilmaz | 4 May 2008 |