]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add some docs explaining [64f4f3cd878b1a72].
authorstephan <stephan@noemail.net>
Thu, 11 Jul 2024 12:57:58 +0000 (12:57 +0000)
committerstephan <stephan@noemail.net>
Thu, 11 Jul 2024 12:57:58 +0000 (12:57 +0000)
FossilOrigin-Name: 4fdf9a322fccf7d68b03d07a42a526f18f951e2e19228b7d41e01121b667cc86

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

index da556224a613fd4ed41182ff98581c0a5f51e2fa..a5af548faa2495365bb81a7fe9a239af1bfd1967 100644 (file)
@@ -471,10 +471,22 @@ const installOpfsVfs = function callee(options){
       /* async thread will take over here */;
       const t = performance.now();
       while('not-equal'!==Atomics.wait(state.sabOPView, state.opIds.rc, -1)){
-        /* See discussion at https://github.com/sqlite/sqlite-wasm/issues/12 */
+        /*
+          The reason for this loop is burried in the details of
+          a long discussion at:
+
+          https://github.com/sqlite/sqlite-wasm/issues/12
+
+          Summary: in at least one browser flavor, under high loads,
+          this wait() call can, on rare occasion, end up returning
+          'ok', which indicates that it's returning _without_ the
+          other half of the proxy having called Atomics.notify(). When
+          this happens, we just wait() again.
+        */
       }
-      /* When this wait() call returns, the async half will have
-         completed the operation and reported its results. */;
+      /* When the above wait() call returns 'not-equal', the async
+         half will have completed the operation and reported its results
+         in the state.opIds.rc slot of the SAB. */
       const rc = Atomics.load(state.sabOPView, state.opIds.rc);
       metrics[op].wait += performance.now() - t;
       if(rc && state.asyncS11nExceptions){
index 5f957dd3c4695415ff834f48dd7809ff1b0cf688..bc736fbdec98e5aee7e470758ab5ab7bd6519a42 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Proposed\sworkaround\sfor\sthe\s"errant\sop"\scase\sin\sthe\sOPFS\sVFS,\sas\sdiscussed\sin\s[https://github.com/sqlite/sqlite-wasm/issues/12\s|\sissue\s#12\sof\sthe\snpm\sdistribution].
-D 2024-07-11T12:36:28.840
+C Add\ssome\sdocs\sexplaining\s[64f4f3cd878b1a72].
+D 2024-07-11T12:57:58.720
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -619,7 +619,7 @@ F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d299
 F ext/wasm/api/sqlite3-opfs-async-proxy.js 881af4643f037b6590c491cef5fac8bcdd4118993197a1fa222ccb8b01e3504a
 F ext/wasm/api/sqlite3-vfs-helper.c-pp.js 3f828cc66758acb40e9c5b4dcfd87fd478a14c8fb7f0630264e6c7fa0e57515d
 F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js 8433ee332d5f5e39fb19427fccb7bad7f44aa99b5504daad3343fc128c311e78
-F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 594b977dd78b0f1908acb21c8dcd29484182a243c5c43ecc4ca381a0a957c046
+F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 1d0a2d9d9c8b1eb0126e1abd00ef26a9be9d348786d7e415556ecc345832eabe
 F ext/wasm/api/sqlite3-vtab-helper.c-pp.js a2fcbc3fecdd0eea229283584ebc122f29d98194083675dbe5cb2cf3a17fe309
 F ext/wasm/api/sqlite3-wasm.c 9267174b9b0591b4f71193542ab57adf95bb9415f7d3453acf4a8ca8052f5e6c
 F ext/wasm/api/sqlite3-worker1-promiser.c-pp.js 46f303ba8ddd1b2f0a391798837beddfa72e8c897038c8047eda49ce7d5ed46b
@@ -2195,11 +2195,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 bcef3f71a2f68768819d9f716f2c29e752fb173df1506469c8669d95ecc2ff50
-R 6ee8d5e65620ff8ee09c10bb2590f6a1
-T *branch * opfs-errant-op
-T *sym-opfs-errant-op *
-T -sym-trunk * Cancelled\sby\sbranch.
+P 64f4f3cd878b1a723caa0cd54b21f10fdb27d4e2ecb19fc233cbc8dd9d06f259
+R 14a1d62c6182eceaa22bb6feac58e8ac
 U stephan
-Z d907f5fbcee0cc87b9f95edf029b0756
+Z d0a56f821b38fd7e590974af97a06665
 # Remove this line to create a well-formed Fossil manifest.
index 60a129ff46ed0619ff53aa032f20430ad279d5fc..df72f899494413e0babdc5e43742864ec4d5068e 100644 (file)
@@ -1 +1 @@
-64f4f3cd878b1a723caa0cd54b21f10fdb27d4e2ecb19fc233cbc8dd9d06f259
+4fdf9a322fccf7d68b03d07a42a526f18f951e2e19228b7d41e01121b667cc86