mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks.
FossilOrigin-Name: 55f5af5e174df7a28deeb36faa51138926669897
This commit is contained in:
@@ -5240,9 +5240,9 @@ static int unixShmLock(
|
||||
}
|
||||
}
|
||||
}else if( p->lockState==SQLITE_SHM_WRITE ){
|
||||
rc = unixShmSharedLock(pFile, p, UNIX_SHM_A);
|
||||
unixShmUnlock(pFile, p, UNIX_SHM_C|UNIX_SHM_D);
|
||||
p->lockState = p->readLock;
|
||||
rc = SQLITE_OK;
|
||||
p->lockState = SQLITE_SHM_READ;
|
||||
}else{
|
||||
assert( p->lockState==SQLITE_SHM_RECOVER );
|
||||
unixShmUnlock(pFile, p, UNIX_SHM_MUTEX);
|
||||
|
||||
Reference in New Issue
Block a user