aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormistachkin <mistachkin@noemail.net>2015-01-19 20:05:53 +0000
committermistachkin <mistachkin@noemail.net>2015-01-19 20:05:53 +0000
commit89ea0d379a44c19f7ca9263705aeed5e81ffba2c (patch)
treebc4a9a8edce9f2228840f0d7b5837651ab31984b /src
parente4bb23a1a7f38eae02ba49c58854b674c37a8622 (diff)
downloadsqlite-89ea0d379a44c19f7ca9263705aeed5e81ffba2c.tar.gz
sqlite-89ea0d379a44c19f7ca9263705aeed5e81ffba2c.zip
Fix compilation on Cygwin when SQLITE_MAX_WORKER_THREADS is greater than zero.
FossilOrigin-Name: 2037442c582e51d85967bc911ea4a412eb4da573
Diffstat (limited to 'src')
-rw-r--r--src/os_win.h11
-rw-r--r--src/threads.c4
2 files changed, 13 insertions, 2 deletions
diff --git a/src/os_win.h b/src/os_win.h
index 5174ac778..17d6a2bef 100644
--- a/src/os_win.h
+++ b/src/os_win.h
@@ -74,4 +74,15 @@
# define SQLITE_WIN32_VOLATILE volatile
#endif
+/*
+** For some Windows sub-platforms, the _beginthreadex() / _endthreadex()
+** functions are not available (e.g. those not using MSVC, Cygwin, etc).
+*/
+#if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \
+ SQLITE_THREADSAFE>0 && !defined(__CYGWIN__)
+# define SQLITE_OS_WIN_THREADS 1
+#else
+# define SQLITE_OS_WIN_THREADS 0
+#endif
+
#endif /* _OS_WIN_H_ */
diff --git a/src/threads.c b/src/threads.c
index 16f52498c..4ce612227 100644
--- a/src/threads.c
+++ b/src/threads.c
@@ -101,7 +101,7 @@ int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
/********************************* Win32 Threads ****************************/
-#if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && SQLITE_THREADSAFE>0
+#if SQLITE_OS_WIN_THREADS
#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */
#include <process.h>
@@ -194,7 +194,7 @@ int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){
return (rc==WAIT_OBJECT_0) ? SQLITE_OK : SQLITE_ERROR;
}
-#endif /* SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT */
+#endif /* SQLITE_OS_WIN_THREADS */
/******************************** End Win32 Threads *************************/