aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2009-03-28 23:23:02 +0000
committerdrh <drh@noemail.net>2009-03-28 23:23:02 +0000
commitcd731cf540bcf9a669f2e6370e7c19e34141708a (patch)
tree8089b293f23cb2ed4b47eb151f30136acfef6c36 /src/os_unix.c
parent17561adc6100f2b02e48d327d8fc37e975641f81 (diff)
downloadsqlite-cd731cf540bcf9a669f2e6370e7c19e34141708a.tar.gz
sqlite-cd731cf540bcf9a669f2e6370e7c19e34141708a.zip
In the unix-backend, when simulating an I/O error on an unlock operation,
still mark the connection as unlocked to avoid a future assert(). (CVS 6401) FossilOrigin-Name: fb35cff855e17771caee2a992e7b2b4105b94862
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 4909baaa3..576d69f27 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -43,7 +43,7 @@
** * Definitions of sqlite3_vfs objects for all locking methods
** plus implementations of sqlite3_os_init() and sqlite3_os_end().
**
-** $Id: os_unix.c,v 1.245 2009/03/25 01:06:02 drh Exp $
+** $Id: os_unix.c,v 1.246 2009/03/28 23:23:03 drh Exp $
*/
#include "sqliteInt.h"
#if SQLITE_OS_UNIX /* This file is used on unix only */
@@ -1454,7 +1454,7 @@ static int unixUnlock(sqlite3_file *id, int locktype){
if( IS_LOCK_ERROR(rc) ){
pFile->lastErrno = tErrno;
}
- goto end_unlock;
+ goto end_unlock;
}
}
if( locktype==NO_LOCK ){
@@ -1481,7 +1481,8 @@ static int unixUnlock(sqlite3_file *id, int locktype){
pFile->lastErrno = tErrno;
}
pLock->cnt = 1;
- goto end_unlock;
+ pLock->locktype = locktype;
+ goto end_unlock;
}
}