aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-11-26 10:37:05 +0000
committerdrh <drh@noemail.net>2015-11-26 10:37:05 +0000
commitacb6b28d6065e07b73587c9ca5671f9ebf341678 (patch)
tree7f216cee0a387fcc689cb6178cbc0dc3d371cbee /src
parent5a2d970a1a0e1d2a292ae60552dacbb77c1ca598 (diff)
downloadsqlite-acb6b28d6065e07b73587c9ca5671f9ebf341678.tar.gz
sqlite-acb6b28d6065e07b73587c9ca5671f9ebf341678.zip
Simplify logic for syncing directories after creating or deleting a file in
the unix VFS. FossilOrigin-Name: eb180b4f04d412dcd0af138e2dd7f62fbb5ac439
Diffstat (limited to 'src')
-rw-r--r--src/os_unix.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index d86a4a745..43eec4c1f 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3500,7 +3500,8 @@ static int openDirectory(const char *zFilename, int *pFd){
}
}
*pFd = fd;
- return (fd>=0?SQLITE_OK:unixLogError(SQLITE_CANTOPEN_BKPT, "open", zDirname));
+ if( fd>=0 ) return SQLITE_OK;
+ return unixLogError(SQLITE_CANTOPEN_BKPT, "openDirectory", zDirname);
}
/*
@@ -3553,10 +3554,11 @@ static int unixSync(sqlite3_file *id, int flags){
OSTRACE(("DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n", pFile->zPath,
HAVE_FULLFSYNC, isFullsync));
rc = osOpenDirectory(pFile->zPath, &dirfd);
- if( rc==SQLITE_OK && dirfd>=0 ){
+ if( rc==SQLITE_OK ){
full_fsync(dirfd, 0, 0);
robust_close(pFile, dirfd, __LINE__);
- }else if( rc==SQLITE_CANTOPEN ){
+ }else{
+ assert( rc==SQLITE_CANTOPEN );
rc = SQLITE_OK;
}
pFile->ctrlFlags &= ~UNIXFILE_DIRSYNC;
@@ -5903,7 +5905,8 @@ static int unixDelete(
rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath);
}
robust_close(0, fd, __LINE__);
- }else if( rc==SQLITE_CANTOPEN ){
+ }else{
+ assert( rc==SQLITE_CANTOPEN );
rc = SQLITE_OK;
}
}