diff options
author | shaneh <shaneh@noemail.net> | 2010-12-07 17:12:21 +0000 |
---|---|---|
committer | shaneh <shaneh@noemail.net> | 2010-12-07 17:12:21 +0000 |
commit | 2c2e8eb1a8632c692ab538e5246528513c5ce416 (patch) | |
tree | 54327dddcb6b98b29802142d7726de3b4a3b8520 /src | |
parent | c216eee7ce2211ffd363b3885b34f161f3bc237f (diff) | |
download | sqlite-2c2e8eb1a8632c692ab538e5246528513c5ce416.tar.gz sqlite-2c2e8eb1a8632c692ab538e5246528513c5ce416.zip |
Work around restriction in Windows file locking.
FossilOrigin-Name: fe441df9ba447d97571e919099846efa3ec87427
Diffstat (limited to 'src')
-rw-r--r-- | src/test_superlock.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/test_superlock.c b/src/test_superlock.c index 464da5507..936fcad0c 100644 --- a/src/test_superlock.c +++ b/src/test_superlock.c @@ -151,10 +151,14 @@ static int superlockWalLock( void sqlite3demo_superunlock(void *pLock){ Superlock *p = (Superlock *)pLock; if( p->bWal ){ + int rc; /* Return code */ int flags = SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE; sqlite3_file *fd = 0; - sqlite3_file_control(p->db, "main", SQLITE_FCNTL_FILE_POINTER, (void *)&fd); - fd->pMethods->xShmLock(fd, 2, SQLITE_SHM_NLOCK-2, flags); + rc = sqlite3_file_control(p->db, "main", SQLITE_FCNTL_FILE_POINTER, (void *)&fd); + if( rc==SQLITE_OK ){ + fd->pMethods->xShmLock(fd, 2, 1, flags); + fd->pMethods->xShmLock(fd, 3, SQLITE_SHM_NLOCK-3, flags); + } } sqlite3_close(p->db); sqlite3_free(p); |