From ed0284a08d9960b681653961d327aaf1b631978a Mon Sep 17 00:00:00 2001 From: Joe Mistachkin Date: Thu, 9 Nov 2017 23:24:29 +0000 Subject: [PATCH] Avoid superfluous SHM unlock call in the Win32 VFS. --- src/os_win.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/os_win.c b/src/os_win.c index 2ee4ad1acf..086bbf90aa 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -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); } -- 2.11.4.GIT