1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-10-27 08:52:26 +03:00

Defer the exclusive db lock until the pager cache is flushed to disk. 41

tests now fail. (CVS 1528)

FossilOrigin-Name: d2f69e5ef2f261a00bb8427a4e2a1638ecfd17a9
This commit is contained in:
danielk1977
2004-06-04 10:38:30 +00:00
parent 24162fe668
commit 9eed505701
5 changed files with 84 additions and 68 deletions

View File

@@ -641,30 +641,6 @@ int sqlite3OsFileSize(OsFile *id, off_t *pSize){
return SQLITE_OK;
}
/*
** Change the status of the lock on the file "id" to be a readlock.
** If the file was write locked, then this reduces the lock to a read.
** If the file was read locked, then this acquires a new read lock.
**
** Return SQLITE_OK on success and SQLITE_BUSY on failure. If this
** library was compiled with large file support (LFS) but LFS is not
** available on the host, then an SQLITE_NOLFS is returned.
*/
int sqlite3OsReadLock(OsFile *id){
return sqlite3OsLock(id, SHARED_LOCK);
}
/*
** Change the lock status to be an exclusive or write lock. Return
** SQLITE_OK on success and SQLITE_BUSY on a failure. If this
** library was compiled with large file support (LFS) but LFS is not
** available on the host, then an SQLITE_NOLFS is returned.
*/
int sqlite3OsWriteLock(OsFile *id){
return sqlite3OsLock(id, EXCLUSIVE_LOCK);
}
/*
** This routine checks if there is a RESERVED lock held on the specified
** file by this or any other process. If such a lock is held, return