]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
OPFS VFS: remove an invalid TODO and fix a property name typo which caused xCheckRese...
authorstephan <stephan@noemail.net>
Wed, 30 Nov 2022 07:48:35 +0000 (07:48 +0000)
committerstephan <stephan@noemail.net>
Wed, 30 Nov 2022 07:48:35 +0000 (07:48 +0000)
FossilOrigin-Name: 3b037caa2fa07b6c44c485574e9e5dc71f4a8e82bc902c1321bb0b918b139c74

ext/wasm/api/sqlite3-vfs-opfs.js
manifest
manifest.uuid

index 7c7eed7efa4ab8a7ead7a140756e87f7f6920202..bd258759c448121c954313711241008509b76099 100644 (file)
@@ -659,13 +659,9 @@ const installOpfsVfs = function callee(options){
            involve an inherent race condition. For the time being,
            pending a better solution, we simply report whether the
            given pFile is open.
-
-           FIXME: we need to ask the async half whether a lock is
-           held, as it's possible (since long after this method was
-           implemented) that we do not hold a lock on an OPFS file.
         */
         const f = __openFiles[pFile];
-        wasm.setMemValue(pOut, f.lockMode ? 1 : 0, 'i32');
+        wasm.setMemValue(pOut, f.lockType ? 1 : 0, 'i32');
         return 0;
       },
       xClose: function(pFile){
@@ -706,7 +702,11 @@ const installOpfsVfs = function callee(options){
         mTimeStart('xLock');
         const f = __openFiles[pFile];
         let rc = 0;
-        if( capi.SQLITE_LOCK_NONE === f.lockType ) {
+        /* All OPFS locks are exclusive locks. If xLock() has
+           previously succeeded, do nothing except record the lock
+           type. If no lock is active, have the async counterpart
+           lock the file. */
+        if( !f.lockType ) {
           rc = opRun('xLock', pFile, lockType);
           if( 0===rc ) f.lockType = lockType;
         }else{
index 6bce7f15cc567e110169d33bc705c2b6986c0446..8f95e10ebdc7c29f8dd7771f647ab47944ee58aa 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Rename\ssome\sOPFS\sJS\sfiles.\sPrevent\sJS\sbindings\sof\ssqlite3_uri_...()\sfrom\sperforming\sJS-to-C-string\sargument\sconversion\son\stheir\sfirst\sargument,\sas\sdoing\sso\sis\sspecifically\sillegal.
-D 2022-11-30T07:17:29.596
+C OPFS\sVFS:\sremove\san\sinvalid\sTODO\sand\sfix\sa\sproperty\sname\stypo\swhich\scaused\sxCheckReservedLock()\sto\salways\sreport\sfalse.
+D 2022-11-30T07:48:35.434
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -510,7 +510,7 @@ F ext/wasm/api/sqlite3-api-worker1.js e94ba98e44afccfa482874cd9acb325883ade50ed1
 F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
 F ext/wasm/api/sqlite3-opfs-async-proxy.js efb0a7142c64c6a0f4cfbb588e6ea5baac9941364dfb0d40de2a21af1815bed3
 F ext/wasm/api/sqlite3-vfs-helper.js 4ad4faf02e1524bf0296be8452c00b5708dce6faf649468d0377e26a0b299263
-F ext/wasm/api/sqlite3-vfs-opfs.js cb38965f0f0a52d22bddd3a40312dbdb7826bc90f1a5ce9692b7986cd05bdf43 w ext/wasm/api/sqlite3-api-opfs.js
+F ext/wasm/api/sqlite3-vfs-opfs.js 6848abfd6dcc9e2e5ed99193929c735984c1784186d6130839ea5f5bcc7fd7df
 F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9
 F ext/wasm/api/sqlite3-wasm.c 8b32787a3b6bb2990cbaba2304bd5b75a9652acbc8d29909b3279019b6cbaef5
 F ext/wasm/api/sqlite3-worker1-promiser.js 0c7a9826dbf82a5ed4e4f7bf7816e825a52aff253afbf3350431f5773faf0e4b
@@ -2065,8 +2065,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P e25d7b080a807e35b32cb885ea75b384130e5c6e936dfef783c5b45d9bfe77d8
-R e53006d34fb1afaea0f4ce19d105453b
+P 79832808de2cbdba140ed9e0558f1502b51d131ab4315265315922cda7b748cb
+R d6a46579cca1740ff67e566c55a1e4a7
 U stephan
-Z 3ad9d27606a854f1ad4ff4e5ecee27f6
+Z c6b01228f796eacb2c5dcc52cd57eff3
 # Remove this line to create a well-formed Fossil manifest.
index d65c6da2235a016e91f92df912f322c9d5084e49..3a518c054a197a02dabaeb576d813be7967955ab 100644 (file)
@@ -1 +1 @@
-79832808de2cbdba140ed9e0558f1502b51d131ab4315265315922cda7b748cb
\ No newline at end of file
+3b037caa2fa07b6c44c485574e9e5dc71f4a8e82bc902c1321bb0b918b139c74
\ No newline at end of file