summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morrow <acm@10gen.com>2013-06-03 15:49:16 -0400
committerAndrew Morrow <acm@10gen.com>2013-06-04 16:59:34 -0400
commit75095e78e03d16d08f29770c9c80ec8f34792bc0 (patch)
treef7fdd365d4fadd5b62729da31bf25a440c8cb08b
parent4cb7655e3da3466265ace5d6cf44c55b931f3d15 (diff)
downloadmongo-75095e78e03d16d08f29770c9c80ec8f34792bc0.tar.gz
SERVER-9410 Permit use of Interlocked operations on Windows Server 2003
-rw-r--r--SConstruct13
-rw-r--r--src/mongo/platform/atomic_intrinsics_win32.h2
-rw-r--r--src/mongo/platform/windows_basic.h8
3 files changed, 12 insertions, 11 deletions
diff --git a/SConstruct b/SConstruct
index c2dbed8fc52..0e21da381fb 100644
--- a/SConstruct
+++ b/SConstruct
@@ -614,11 +614,12 @@ elif "win32" == os.sys.platform:
env['DIST_ARCHIVE_SUFFIX'] = '.zip'
win_version_min_choices = {
- 'xpsp3' : ('0501', '0300'),
- 'vista' : ('0600', '0000'),
- 'ws08r2' : ('0601', '0000'),
- 'win7' : ('0601', '0000'),
- 'win8' : ('0602', '0000'),
+ 'xpsp3' : ('0501', '0300'),
+ 'ws03sp2' : ('0502', '0200'),
+ 'vista' : ('0600', '0000'),
+ 'ws08r2' : ('0601', '0000'),
+ 'win7' : ('0601', '0000'),
+ 'win8' : ('0602', '0000'),
}
add_option("win-version-min", "minimum Windows version to support", 1, False,
@@ -920,7 +921,7 @@ def doConfigure(myenv):
if windows:
win_version_min = None
default_32_bit_min = 'xpsp3'
- default_64_bit_min = 'vista'
+ default_64_bit_min = 'ws03sp2'
if has_option('win-version-min'):
win_version_min = get_option('win-version-min')
elif has_option('win2008plus'):
diff --git a/src/mongo/platform/atomic_intrinsics_win32.h b/src/mongo/platform/atomic_intrinsics_win32.h
index b48805e331a..176a6a53449 100644
--- a/src/mongo/platform/atomic_intrinsics_win32.h
+++ b/src/mongo/platform/atomic_intrinsics_win32.h
@@ -88,7 +88,7 @@ namespace mongo {
class AtomicIntrinsics<T, typename boost::enable_if_c<sizeof(T) == sizeof(LONGLONG)>::type> {
public:
-#if defined(NTDDI_VERSION) && defined(NTDDI_VISTA) && (NTDDI_VERSION >= NTDDI_VISTA)
+#if defined(NTDDI_VERSION) && defined(NTDDI_WS03SP2) && (NTDDI_VERSION >= NTDDI_WS03SP2)
static const bool kHaveInterlocked64 = true;
#else
static const bool kHaveInterlocked64 = false;
diff --git a/src/mongo/platform/windows_basic.h b/src/mongo/platform/windows_basic.h
index 371e3416da8..b516900cd79 100644
--- a/src/mongo/platform/windows_basic.h
+++ b/src/mongo/platform/windows_basic.h
@@ -28,8 +28,8 @@
#if !defined(_WIN32_WINNT)
// Can't use symbolic versions here, since we may not have seen sdkddkver.h yet.
#if defined(_WIN64)
-// 64-bit builds default to Windows Vista support.
-#define _WIN32_WINNT 0x0600
+// 64-bit builds default to Windows Server 2003 support.
+#define _WIN32_WINNT 0x0502
#else
// 32-bit builds default to Windows XP support.
#define _WIN32_WINNT 0x0501
@@ -62,8 +62,8 @@
#endif
#if defined(_WIN64)
-#if !defined(NTDDI_VISTA) || (NTDDI_VERSION < NTDDI_VISTA)
-#error "64 bit mongo does not support Windows versions older than Vista"
+#if !defined(NTDDI_WS03SP2) || (NTDDI_VERSION < NTDDI_WS03SP2)
+#error "64 bit mongo does not support Windows versions older than Windows Server 2003 SP 2"
#endif
#else
#if !defined(NTDDI_WINXPSP3) || (NTDDI_VERSION < NTDDI_WINXPSP3)