diff options
author | 2013-06-09 14:42:05 +0000 | |
---|---|---|
committer | 2013-06-09 14:42:05 +0000 | |
commit | cd69e8a5c6f0a2e7f0abf1cec7d4b61d7e815574 (patch) | |
tree | d06abfde95a07742304802833c937beba3f86c2b /lib/libsqlite3/src/journal.c | |
parent | Add test for "true && true && false" and "set -e". (diff) | |
download | wireguard-openbsd-cd69e8a5c6f0a2e7f0abf1cec7d4b61d7e815574.tar.xz wireguard-openbsd-cd69e8a5c6f0a2e7f0abf1cec7d4b61d7e815574.zip |
Update to sqlite 3.7.17.
See for changes:
http://www.sqlite.org/releaselog/3_7_16.html
http://www.sqlite.org/releaselog/3_7_16_1.html
http://www.sqlite.org/releaselog/3_7_16_2.html
http://www.sqlite.org/releaselog/3_7_17.html
tested by sebastia@ on vax & sparc, by myself on
hppa/amd64/sparc64/sgi/i386/macppc.
looks ok to espie@
(a lot of kittens died during the preparation of this cvs import)
Diffstat (limited to 'lib/libsqlite3/src/journal.c')
-rw-r--r-- | lib/libsqlite3/src/journal.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libsqlite3/src/journal.c b/lib/libsqlite3/src/journal.c index 06605cc9566..fed27be3e38 100644 --- a/lib/libsqlite3/src/journal.c +++ b/lib/libsqlite3/src/journal.c @@ -59,6 +59,14 @@ static int createFile(JournalFile *p){ assert(p->iSize<=p->nBuf); rc = sqlite3OsWrite(p->pReal, p->zBuf, p->iSize, 0); } + if( rc!=SQLITE_OK ){ + /* If an error occurred while writing to the file, close it before + ** returning. This way, SQLite uses the in-memory journal data to + ** roll back changes made to the internal page-cache before this + ** function was called. */ + sqlite3OsClose(pReal); + p->pReal = 0; + } } } return rc; |