List:Commits« Previous MessageNext Message »
From:antony Date:December 21 2007 1:18am
Subject:bk commit into 6.0 tree (antony:1.2769)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of antony. When antony 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, 2007-12-20 17:18:35-08:00, antony@stripped +1 -0
  Fix Windows 64 bit builds.

  storage/falcon/Interlock.h@stripped, 2007-12-20 17:18:33-08:00, antony@stripped +6 -2
    Fix Windows 64 bit builds.
    See msdn2.microsoft.com/en-us/library/ms683560.aspx

diff -Nrup a/storage/falcon/Interlock.h b/storage/falcon/Interlock.h
--- a/storage/falcon/Interlock.h	2007-12-15 00:22:13 -08:00
+++ b/storage/falcon/Interlock.h	2007-12-20 17:18:33 -08:00
@@ -55,7 +55,7 @@ extern "C"
 	long  InterlockedDecrement(long* lpAddend);
 	long  InterlockedExchange(long* volatile addend, long value);
 	long  InterlockedExchangeAdd(long* volatile addend, long value);
-	long  InterlockedCompareExchange(volatile int *Destination, int Exchange, int Comperand);
+	long  InterlockedCompareExchange(volatile long *Destination, long Exchange, long Comperand);
 	//void* InterlockedCompareExchangePointer(void *volatile* *Destination, void *Exchange, void *Comperand);
 	}
 #endif /* __MACHINEX64 */
@@ -80,7 +80,11 @@ extern "C"
 inline int inline_cas (volatile int *target, int compare, int exchange)
 {
 #ifdef _WIN32
-	return COMPARE_EXCHANGE(target, compare, exchange);
+	/*
+	   Windows 64 bit model is LLP64, longs are still 4 bytes like ints.
+	   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__)
 	char ret;
 	__asm__ __volatile__ (
Thread
bk commit into 6.0 tree (antony:1.2769)antony21 Dec