aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2014-10-17 11:53:22 +0000
committerdrh <drh@noemail.net>2014-10-17 11:53:22 +0000
commitbc2866ca7abc2ad7cbb6878d65cd18e584cff8f5 (patch)
treec5f9da03e2890e5ddd58c0570e40590f8ebcfd39 /src
parentabae0c4f1d3b9ce7a9d6342b61ec000117df1d63 (diff)
parent81b567a4c73c06069d72b95ee2b09a0aca46b3ec (diff)
downloadsqlite-bc2866ca7abc2ad7cbb6878d65cd18e584cff8f5.tar.gz
sqlite-bc2866ca7abc2ad7cbb6878d65cd18e584cff8f5.zip
Merge all version 3.8.7 updates from trunk.
FossilOrigin-Name: f4de9e07be3819db222317725e62ea997cd22a20
Diffstat (limited to 'src')
-rw-r--r--src/os_win.c7
-rw-r--r--src/threads.c4
-rw-r--r--src/vdbesort.c2
3 files changed, 9 insertions, 4 deletions
diff --git a/src/os_win.c b/src/os_win.c
index e12ce4e53..8ca2107d9 100644
--- a/src/os_win.c
+++ b/src/os_win.c
@@ -943,7 +943,11 @@ static struct win_syscall {
#define osWaitForSingleObject ((DWORD(WINAPI*)(HANDLE, \
DWORD))aSyscall[63].pCurrent)
+#if !SQLITE_OS_WINCE
{ "WaitForSingleObjectEx", (SYSCALL)WaitForSingleObjectEx, 0 },
+#else
+ { "WaitForSingleObjectEx", (SYSCALL)0, 0 },
+#endif
#define osWaitForSingleObjectEx ((DWORD(WINAPI*)(HANDLE,DWORD, \
BOOL))aSyscall[64].pCurrent)
@@ -1286,7 +1290,8 @@ void sqlite3_win32_sleep(DWORD milliseconds){
#endif
}
-#if SQLITE_MAX_WORKER_THREADS>0 && !SQLITE_OS_WINRT && SQLITE_THREADSAFE>0
+#if SQLITE_MAX_WORKER_THREADS>0 && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \
+ SQLITE_THREADSAFE>0
DWORD sqlite3Win32Wait(HANDLE hObject){
DWORD rc;
while( (rc = osWaitForSingleObjectEx(hObject, INFINITE,
diff --git a/src/threads.c b/src/threads.c
index 6d39042fd..18d7320a1 100644
--- a/src/threads.c
+++ b/src/threads.c
@@ -98,7 +98,7 @@ int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
/********************************* Win32 Threads ****************************/
-#if SQLITE_OS_WIN && !SQLITE_OS_WINRT && SQLITE_THREADSAFE>0
+#if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && SQLITE_THREADSAFE>0
#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */
#include <process.h>
@@ -191,7 +191,7 @@ int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
return (rc==WAIT_OBJECT_0) ? SQLITE_OK : SQLITE_ERROR;
}
-#endif /* SQLITE_OS_WIN && !SQLITE_OS_WINRT */
+#endif /* SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT */
/******************************** End Win32 Threads *************************/
diff --git a/src/vdbesort.c b/src/vdbesort.c
index d9679caa0..46c9f3789 100644
--- a/src/vdbesort.c
+++ b/src/vdbesort.c
@@ -2292,7 +2292,7 @@ static int vdbeSorterSetupMerge(VdbeSorter *pSorter){
assert( pSorter->bUseThreads==0 || pSorter->nTask>1 );
if( pSorter->bUseThreads ){
int iTask;
- PmaReader *pReadr;
+ PmaReader *pReadr = 0;
SortSubtask *pLast = &pSorter->aTask[pSorter->nTask-1];
rc = vdbeSortAllocUnpacked(pLast);
if( rc==SQLITE_OK ){