]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows.
authordan <Dan Kennedy>
Mon, 24 Feb 2025 21:27:16 +0000 (21:27 +0000)
committerdan <Dan Kennedy>
Mon, 24 Feb 2025 21:27:16 +0000 (21:27 +0000)
FossilOrigin-Name: e88212b10a7829ff42ef51a02863d788c929e54161faf492f9ef2ad90fd7074e

1  2 
manifest
manifest.uuid
src/os_win.c
src/sqlite.h.in

diff --cc manifest
index f2b2a13a5717e630ad6a6c3a732a0ef74b3cdf0c,59780b40612b04a5bc8a84554d905065a04f5863..223ce17db64f729faa6461870da53ac5356dc88f
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Tamp\sdown\svarious\sharmless\scompiler\swarnings.\s\sUse\s"int"\sin\splaces\sinstead\nof\s"u16"\sor\s"i16"\ssince\sthe\scompiler\scomplains\sless\sand\sgenerates\sfaster\ncode.
- D 2025-02-22T16:44:14.174
 -C Merge\slatest\schanges\sfrom\strunk\sinto\sthis\sbranch.
 -D 2025-02-24T10:52:34.195
++C Support\sSQLITE_ENABLE_SETLK_TIMEOUT\son\swindows.
++D 2025-02-24T21:27:16.284
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@@ -766,8 -766,8 +766,8 @@@ F src/os.h 1ff5ae51d339d0e30d8a9d814f4b
  F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
  F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
  F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
- F src/os_unix.c 4c73f89479d90412cb736a180e9ef89ac1495a158753a7f5de1260c197bc8e1f
- F src/os_win.c 2423a45e70c2cda01bfc84106f7e9f34feb1add42121ab2e35a67ba24589ac52
+ F src/os_unix.c 1e887f1f926a76a65ebcef79aa6da76e369ad7f899fa211c6ee56ff953c098a2
 -F src/os_win.c 191f28f28bae23bcfe493b913a381fd626c9c28903a39b620b89a9535039a580
++F src/os_win.c ab9912a2c1cb39a6429b8de919a5b63ad1c7775e511d748391c57bf9ad03bd29
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
  F src/pager.c 8d73e7a0ebbecd8bb4996ff285cc055cec56b7e3edb5a4609d0748e0fa39d28a
  F src/pager.h 6137149346e6c8a3ddc1eeb40aee46381e9bc8b0fcc6dda8a1efde993c2275b8
@@@ -783,10 -783,10 +783,10 @@@ F src/resolve.c 626c24b258b111f75c22107
  F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
  F src/select.c a076f7db3a0fcbd9f710d7746cfc07e0b3baadee45eb3136bedc29c598ef8f1c
  F src/shell.c.in bf997e43faaa1ef0ff78d4d7b9be6a9430cf1edda9a47a14e7fef646fcb459af
- F src/sqlite.h.in 8d4486fb28a90de818ac1e8c6206ea458e7de6bd8e0dfa3d554494f155be8c01
 -F src/sqlite.h.in 2c7474551c17d3e0375001714d0f62ceccd2ed9e7f9aaa8ac71490084f1bec5c
++F src/sqlite.h.in 95c01911006f42019ee4dacd62101740a75fdfaeeca9b1c5fd7a70cfac3bb6f8
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
- F src/sqliteInt.h e74f0ea0bc4d3c16afd5004557b264137d6f1d61d2a1ff2a49877b0589945462
+ F src/sqliteInt.h c997c67257778a3a866424adea36d4f2b4439742a978c0ddc11e694c1e9ea3ca
  F src/sqliteLimit.h 6d817c28a8f19af95e6f4921933b7fbbca48a962bce0eb0ec81e8bb3ef38e68b
  F src/status.c 0e72e4f6be6ccfde2488eb63210297e75f569f3ce9920f6c3d77590ec6ce5ffd
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@@ -2210,8 -2212,8 +2212,8 @@@ F tool/version-info.c 3b36468a90faf1bbd
  F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
  F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P eeea11278bdebe336f0c30fbad79e30e3456ab67dae46abdd5f9951ea1b61bed
- R 8078ee78be0e4d7d18ee35dbad7406fe
- U drh
- Z 2ee0c7ad1f2d8a9853a04c1df0464ab5
 -P 5127509abb10cb1da35b9874ea63e0c2f882b10567606e2bdd636a50811a693c 742827f049768c4f69ccdfaadfad339aaad3bc126d3a68b90cfea01d825bf7ce
 -R 854185a3386627bebb43b1eb8b00be85
++P 742827f049768c4f69ccdfaadfad339aaad3bc126d3a68b90cfea01d825bf7ce 55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59
++R 2117afef50ba03929efd8c7065744408
+ U dan
 -Z 2a6af25e8c45c2884591452bb31003a2
++Z f60d38f782589947a9438a2ed64b4320
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 5eab3882ff1021e34a25e1ebfdaf9ab7090c8b3f,9d0382dd156aef7199849f525bb7750956ba2afe..0b9834aaf602eeed21d7694e2bb001833b8cb242
@@@ -1,1 -1,1 +1,1 @@@
- 742827f049768c4f69ccdfaadfad339aaad3bc126d3a68b90cfea01d825bf7ce
 -55324d1c862c42b95251a398c40930d9fa94debb1aec7d3d0ae734d6b17b4a59
++e88212b10a7829ff42ef51a02863d788c929e54161faf492f9ef2ad90fd7074e
diff --cc src/os_win.c
index 4258b8d8a3d7505785ce66e42cc984806c8636ad,928742ea7afd806fb40f85b8cea17cd7c89fcc3c..dab8af34c4419ef6e3cddc9dd8b2bacab8f61248
@@@ -3312,7 -3524,7 +3524,11 @@@ static int winLock(sqlite3_file *id, in
    */
    if( locktype==SHARED_LOCK && res ){
      assert( pFile->locktype==NO_LOCK );
-     res = winGetReadLock(pFile);
++#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
+     res = winGetReadLock(pFile, pFile->bBlockOnConnect);
++#else
++    res = winGetReadLock(pFile, 0);
++#endif
      if( res ){
        newLocktype = SHARED_LOCK;
      }else{
diff --cc src/sqlite.h.in
index 43cc4962e9f4a651ed389d2218cf38a1adcd61d5,703c38a5110cc7eecd02634af3aa083b141859aa..2bd51d27f7454cefac4a018b72facc458f1b2db4
@@@ -1163,6 -1163,11 +1163,12 @@@ struct sqlite3_io_methods 
  ** the value that M is to be set to. Before returning, the 32-bit signed
  ** integer is overwritten with the previous value of M.
  **
 -** VFS to block when taking SHARED locks. This is used to implement the
 -** functionality associated with SQLITE_SETLK_BLOCK_ON_CONNECT.
+ ** <li>[[SQLITE_FCNTL_BLOCK_ON_CONNECT]]
+ ** The [SQLITE_FCNTL_BLOCK_ON_CONNECT] opcode is used to configure the
++** VFS to block when taking a SHARED lock to connect to a wal mode database.
++** This is used to implement the functionality associated with
++** SQLITE_SETLK_BLOCK_ON_CONNECT.
+ **
  ** <li>[[SQLITE_FCNTL_DATA_VERSION]]
  ** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to
  ** a database file.  The argument is a pointer to a 32-bit unsigned integer.