From cd731cf540bcf9a669f2e6370e7c19e34141708a Mon Sep 17 00:00:00 2001 From: drh Date: Sat, 28 Mar 2009 23:23:02 +0000 Subject: [PATCH] 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 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/os_unix.c | 7 ++++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 7552c6da08..4d2c75bb7a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\stest_async.c\smodule\smust\spass\san\sunchanging\sfilename\sto\sthe\sunderlying\sVFS.\s(CVS\s6400) -D 2009-03-28T18:56:14 +C In\sthe\sunix-backend,\swhen\ssimulating\san\sI/O\serror\son\san\sunlock\soperation,\nstill\smark\sthe\sconnection\sas\sunlocked\sto\savoid\sa\sfuture\sassert().\s(CVS\s6401) +D 2009-03-28T23:23:03 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -141,7 +141,7 @@ F src/os.c c2aa4a7d8bb845222e5c37f56cde377b20c3b087 F src/os.h fa3f4aa0119ff721a2da4b47ffd74406ac864c05 F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 -F src/os_unix.c 7bf3ebde13154a97f797df1551d19cf0d2785c15 +F src/os_unix.c 344fb50f9a4b28bd484a3e3fa99eb153a604754a F src/os_win.c 40636702058ed4dcd35d68151bfab56d4997cdc1 F src/pager.c 7a2b4b118708de09e580de66d46e51c1b655f76a F src/pager.h 0c9f3520c00d8a3b8e792ca56c9a11b6b02b4b0f @@ -710,7 +710,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 45df27a22d283871ed1de334fe3b74b0121d57a6 -R b2c300e5a67a0d35085f0d7b6bcaa3a8 +P d1eeee21677a3dffdb4ee1182322007bf24ef03a +R 8eaf718d3cdf3ef51537232a8fdcbe0f U drh -Z b72fefd8125b338ab724065aa07e2cdb +Z 0e4c9bc244abba3ef5692d84d4fc0bf2 diff --git a/manifest.uuid b/manifest.uuid index 87713b3ce7..25e26732d2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d1eeee21677a3dffdb4ee1182322007bf24ef03a \ No newline at end of file +fb35cff855e17771caee2a992e7b2b4105b94862 \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index 4909baaa39..576d69f273 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; } } -- 2.47.2