Source: sqlite3
Version: 3.7.9-2
Severity: important
Tags: patch
User: debian-h...@lists.debian.org
Usertags: hurd

Hi,

sqlite3 3.7.8-1 basically disables patch 20-hurd-locking-style.patch
(which makes sqlite3 use the flock style for file locking on Hurd),
making sqlite3 use the POSIX style locking, which is broken on Hurd.

Attached there is a new patch for flock file locking on Hurd, which
replaces the current(ly disabled) 20-hurd-locking-style.patch.

Thanks,
-- 
Pino
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -123,7 +123,7 @@
 #include <sys/mman.h>
 #endif
 
-#if SQLITE_ENABLE_LOCKING_STYLE
+#if SQLITE_ENABLE_LOCKING_STYLE || defined(__GNU__)
 # include <sys/ioctl.h>
 # if OS_VXWORKS
 #  include <semaphore.h>
@@ -2052,7 +2052,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
@@ -4309,7 +4309,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 */
@@ -6726,6 +6726,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

Reply via email to