diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/os_unix.c | 15 | ||||
-rw-r--r-- | src/sqlite.h.in | 6 |
2 files changed, 6 insertions, 15 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index daca1c365..34f98f55a 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -5266,8 +5266,7 @@ static int unixShmLock( ** directly requested; they are side effects from requesting ** SQLITE_SHM_READ and SQLITE_SHM_CHECKPOINT, respectively. */ - assert( desiredLock==SQLITE_SHM_QUERY - || desiredLock==SQLITE_SHM_UNLOCK + assert( desiredLock==SQLITE_SHM_UNLOCK || desiredLock==SQLITE_SHM_READ || desiredLock==SQLITE_SHM_WRITE || desiredLock==SQLITE_SHM_CHECKPOINT @@ -5276,8 +5275,7 @@ static int unixShmLock( /* Return directly if this is just a lock state query, or if ** the connection is already in the desired locking state. */ - if( desiredLock==SQLITE_SHM_QUERY - || desiredLock==p->lockState + if( desiredLock==p->lockState || (desiredLock==SQLITE_SHM_READ && p->lockState==SQLITE_SHM_READ_FULL) ){ OSTRACE(("SHM-LOCK shmid-%d, pid-%d request %s and got %s\n", @@ -5320,15 +5318,12 @@ static int unixShmLock( p->lockState = SQLITE_SHM_READ; } } - }else if( p->lockState==SQLITE_SHM_WRITE ){ + }else{ + assert( p->lockState==SQLITE_SHM_WRITE + || p->lockState==SQLITE_SHM_RECOVER ); rc = unixShmSharedLock(pFile, p, UNIX_SHM_A); unixShmUnlock(pFile, p, UNIX_SHM_C|UNIX_SHM_D); p->lockState = SQLITE_SHM_READ; - }else{ - assert( p->lockState==SQLITE_SHM_RECOVER ); - unixShmUnlock(pFile, p, UNIX_SHM_C); - p->lockState = SQLITE_SHM_READ; - rc = SQLITE_OK; } break; } diff --git a/src/sqlite.h.in b/src/sqlite.h.in index f7d462f01..2672690b7 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -879,10 +879,7 @@ struct sqlite3_vfs { ** CAPI3REF: Flags for the xShmLock VFS method ** ** These integer constants define the various locking states that -** an sqlite3_shm object can be in. The SQLITE_SHM_QUERY integer -** is not a valid data - it is a constant pasted to the -** sqlite3_vfs.xShmLock() method for querying the current lock -** state. +** an sqlite3_shm object can be in. */ #define SQLITE_SHM_UNLOCK 0 #define SQLITE_SHM_READ 1 @@ -891,7 +888,6 @@ struct sqlite3_vfs { #define SQLITE_SHM_PENDING 4 #define SQLITE_SHM_CHECKPOINT 5 #define SQLITE_SHM_RECOVER 6 -#define SQLITE_SHM_QUERY (-1) /* ** CAPI3REF: Initialize The SQLite Library |