1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -131,7 +131,7 @@
#endif
-#if SQLITE_ENABLE_LOCKING_STYLE
+#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__)
# include <sys/ioctl.h>
# if OS_VXWORKS
# include <semaphore.h>
@@ -2124,7 +2124,7 @@
** Omit this section if SQLITE_ENABLE_LOCKING_STYLE is turned off or if
** compiling for VXWORKS.
*/
-#if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS
+#if (SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS) || defined(__GNU__)
/*
** Retry flock() calls that fail with EINTR
@@ -4531,7 +4531,7 @@
dotlockCheckReservedLock /* xCheckReservedLock method */
)
-#if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS
+#if (SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS) || defined(__GNU__)
IOMETHODS(
flockIoFinder, /* Finder function name */
flockIoMethods, /* sqlite3_io_methods object name */
@@ -6969,6 +6969,8 @@
static sqlite3_vfs aVfs[] = {
#if SQLITE_ENABLE_LOCKING_STYLE && (OS_VXWORKS || defined(__APPLE__))
UNIXVFS("unix", autolockIoFinder ),
+#elif defined(__GNU__)
+ UNIXVFS("unix", flockIoFinder ),
#else
UNIXVFS("unix", posixIoFinder ),
#endif
|