mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
For sqlite3_win32_is_nt(), assume WinRT is NT-based and revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available.
FossilOrigin-Name: be0a037244762cc0f5ff4a6d7822902f862767bd
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Tweak\sthe\sdocumentation\sfor\sSQLITE_LIMIT_WORKER_THREADS.\s\sNo\schanges\sto\nexecutable\scode.
|
C For\ssqlite3_win32_is_nt(),\sassume\sWinRT\sis\sNT-based\sand\srevise\s#ifdef\sordering\sto\sprefer\sthe\sANSI\sversion\sof\sGetVersionEx,\swhen\savailable.
|
||||||
D 2014-09-01T18:21:27.480
|
D 2014-09-01T19:29:19.886
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
|
F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -209,7 +209,7 @@ F src/os.h 60d419395e32a8029fa380a80a3da2e9030f635e
|
|||||||
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
|
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
|
||||||
F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
|
F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
|
||||||
F src/os_unix.c 8525ca79457c5b4673a5fda2774ee39fe155f40f
|
F src/os_unix.c 8525ca79457c5b4673a5fda2774ee39fe155f40f
|
||||||
F src/os_win.c 08ce5616a5755da9400931fb39146e4a97801a2a
|
F src/os_win.c 2aa8aa7780d7cf03e912d2088ab2ec5c32f33dc5
|
||||||
F src/os_win.h 09e751b20bbc107ffbd46e13555dc73576d88e21
|
F src/os_win.h 09e751b20bbc107ffbd46e13555dc73576d88e21
|
||||||
F src/pager.c 3e732d2bbdd8d8d95fed0c5ae7e718d73153c4c5
|
F src/pager.c 3e732d2bbdd8d8d95fed0c5ae7e718d73153c4c5
|
||||||
F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428
|
F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428
|
||||||
@@ -1193,7 +1193,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
|||||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||||
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
|
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
|
||||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||||
P b1c0f0bc1bd8a3477cd7a7ab510f0442ac88b517
|
P 672e7387b1bda8d007da7de4244226577d7ab2dc 9fe0f0754c063c17fffa9d4814b7180397cf5226
|
||||||
R e35acb2d59911a863984f6391f72c8a4
|
R d670693d3a9e7f5751de171ad69fa48b
|
||||||
U drh
|
U mistachkin
|
||||||
Z 81654d2ebb78f72eec51a460f9ce0ce5
|
Z f220ace468e0f2c0622bd628ba90e47a
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
672e7387b1bda8d007da7de4244226577d7ab2dc
|
be0a037244762cc0f5ff4a6d7822902f862767bd
|
||||||
27
src/os_win.c
27
src/os_win.c
@@ -1320,27 +1320,36 @@ DWORD sqlite3Win32Wait(HANDLE hObject){
|
|||||||
** based on the NT kernel.
|
** based on the NT kernel.
|
||||||
*/
|
*/
|
||||||
int sqlite3_win32_is_nt(void){
|
int sqlite3_win32_is_nt(void){
|
||||||
#if defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX
|
#if SQLITE_OS_WINRT
|
||||||
|
/*
|
||||||
|
** NOTE: The WinRT sub-platform is always assumed to be based on the NT
|
||||||
|
** kernel.
|
||||||
|
*/
|
||||||
|
return 1;
|
||||||
|
#elif defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX
|
||||||
if( osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0 ){
|
if( osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0 ){
|
||||||
#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE) && \
|
#if defined(SQLITE_WIN32_HAS_ANSI)
|
||||||
defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WIN8
|
|
||||||
OSVERSIONINFOW sInfo;
|
|
||||||
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
|
|
||||||
osGetVersionExW(&sInfo);
|
|
||||||
osInterlockedCompareExchange(&sqlite3_os_type,
|
|
||||||
(sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0);
|
|
||||||
#elif defined(SQLITE_WIN32_HAS_ANSI)
|
|
||||||
OSVERSIONINFOA sInfo;
|
OSVERSIONINFOA sInfo;
|
||||||
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
|
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
|
||||||
osGetVersionExA(&sInfo);
|
osGetVersionExA(&sInfo);
|
||||||
osInterlockedCompareExchange(&sqlite3_os_type,
|
osInterlockedCompareExchange(&sqlite3_os_type,
|
||||||
(sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0);
|
(sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0);
|
||||||
|
#elif defined(SQLITE_WIN32_HAS_WIDE)
|
||||||
|
OSVERSIONINFOW sInfo;
|
||||||
|
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
|
||||||
|
osGetVersionExW(&sInfo);
|
||||||
|
osInterlockedCompareExchange(&sqlite3_os_type,
|
||||||
|
(sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
|
return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
|
||||||
#elif SQLITE_TEST
|
#elif SQLITE_TEST
|
||||||
return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
|
return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2;
|
||||||
#else
|
#else
|
||||||
|
/*
|
||||||
|
** NOTE: All sub-platforms where the GetVersionEx[AW] functions are
|
||||||
|
** deprecated are always assumed to be based on the NT kernel.
|
||||||
|
*/
|
||||||
return 1;
|
return 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user