diff options
author | drh <drh@noemail.net> | 2015-11-26 10:37:05 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-11-26 10:37:05 +0000 |
commit | acb6b28d6065e07b73587c9ca5671f9ebf341678 (patch) | |
tree | 7f216cee0a387fcc689cb6178cbc0dc3d371cbee /src | |
parent | 5a2d970a1a0e1d2a292ae60552dacbb77c1ca598 (diff) | |
download | sqlite-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.c | 11 |
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; } } |