]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid superfluous SHM unlock call in the Win32 VFS.
authormistachkin <mistachkin@noemail.net>
Thu, 9 Nov 2017 23:24:29 +0000 (23:24 +0000)
committermistachkin <mistachkin@noemail.net>
Thu, 9 Nov 2017 23:24:29 +0000 (23:24 +0000)
FossilOrigin-Name: 5a384be6979b783d1f3af2ac6307e7e731c415d052f9405f04c0216f59414633

manifest
manifest.uuid
src/os_win.c

index 125e07f68da4f0f3e3952435860642c6fd963c2b..453bed54e55a7bdd0e184c5094f9a59069956e5c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Cleanup\ssuperfluous\swhitespace\schanges.
-D 2017-11-09T22:25:58.319
+C Avoid\ssuperfluous\sSHM\sunlock\scall\sin\sthe\sWin32\sVFS.
+D 2017-11-09T23:24:29.716
 F Makefile.in 5bae3f2f3d42f2ad52b141562d74872c97ac0fca6c54953c91bb150a0e6427a8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 3a5cb477ec3ce5274663b693164e349db63348667cd45bad78cc13d580b691e2
@@ -448,7 +448,7 @@ F src/os.h 48388821692e87da174ea198bf96b1b2d9d83be5dfc908f673ee21fafbe0d432
 F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
 F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
 F src/os_unix.c e87cef0bb894b94d96ee3af210be669549d111c580817d14818101b992640767
-F src/os_win.c 670d296c06f8bfce01887baacf52ec19ec2d682b169a6a0ad8b85a830c2b4db0
+F src/os_win.c 7f36120492e4a23c48d1dd685edf29ae459c6d555660c61f1323cea3e5a1191d
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 F src/pager.c 07cf850241667874fcce9d7d924c814305e499b26c804322e2261247b5921903
 F src/pager.h 581698f2177e8bd4008fe4760898ce20b6133d1df22139b9101b5155f900df7a
@@ -1669,7 +1669,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d0997b0f5bc9a9869684e39a17a01c430d6383c8b31d6c00ea17a5eac15bc6f0
-R d62fe3d1eed9309359251a90225ada34
+P a2908e2c88f7a30638a7e791fc7ad0325b663097c12cecd1f4726b0d60a9a3ed
+R 9d6be609689f3743af6adbbc5cf401b2
 U mistachkin
-Z 112940bd575d10def1c3f99e15024bb0
+Z 39f42e393c5183ce2049496b416ae681
index 1dbf5a7d5c4567bdc47d88206019dcd23852c26f..ba222182caf44206df4b1aeb02459d75994d9af2 100644 (file)
@@ -1 +1 @@
-a2908e2c88f7a30638a7e791fc7ad0325b663097c12cecd1f4726b0d60a9a3ed
\ No newline at end of file
+5a384be6979b783d1f3af2ac6307e7e731c415d052f9405f04c0216f59414633
\ No newline at end of file
index 2ee4ad1acf96ffbc4b0d4c3b367fbaea1818393e..086bbf90aa12511c63032dd5dfce6ce56126ce99 100644 (file)
@@ -3834,6 +3834,7 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){
 */
 static int winLockSharedMemory(winShmNode *pShmNode){
   int rc = winShmSystemLock(pShmNode, WINSHM_WRLCK, WIN_SHM_DMS, 1);
+
   if( rc==SQLITE_OK ){
     if( pShmNode->isReadonly ){
       pShmNode->isUnlocked = 1;
@@ -3846,7 +3847,10 @@ static int winLockSharedMemory(winShmNode *pShmNode){
     }
   }
 
-  winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
+  if( rc==SQLITE_OK ){
+    winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1);
+  }
+
   return winShmSystemLock(pShmNode, WINSHM_RDLCK, WIN_SHM_DMS, 1);
 }