mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Refinements to synchronous logic:
(1) Use PAGER_SYNCHRONOUS_FULL rather than the corresponding magic number. (2) Honor SQLITE_NO_SYNC on xDelete calls with sync (3) Count xDelete syncs during testing (4) Fix #ifs on SQLITE_EXTRA_DURABLE so that directory syncs on journal unlink are off by default. FossilOrigin-Name: e3157cb5ad0d22758e766a95fb1463a7810f7d7f
This commit is contained in:
@@ -5887,12 +5887,7 @@ static int unixDelete(
|
||||
int fd;
|
||||
rc = osOpenDirectory(zPath, &fd);
|
||||
if( rc==SQLITE_OK ){
|
||||
#if OS_VXWORKS
|
||||
if( fsync(fd)==-1 )
|
||||
#else
|
||||
if( fsync(fd) )
|
||||
#endif
|
||||
{
|
||||
if( full_fsync(fd,0,0) ){
|
||||
rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath);
|
||||
}
|
||||
robust_close(0, fd, __LINE__);
|
||||
@@ -6936,7 +6931,7 @@ static int proxyTakeConch(unixFile *pFile){
|
||||
writeSize = PROXY_PATHINDEX + strlen(&writeBuffer[PROXY_PATHINDEX]);
|
||||
robust_ftruncate(conchFile->h, writeSize);
|
||||
rc = unixWrite((sqlite3_file *)conchFile, writeBuffer, writeSize, 0);
|
||||
fsync(conchFile->h);
|
||||
full_fsync(conchFile->h,0,0);
|
||||
/* If we created a new conch file (not just updated the contents of a
|
||||
** valid conch file), try to match the permissions of the database
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user