patch 8.1.0915: fsync() may not work properly on Mac
Problem: fsync() may not work properly on Mac. Solution: Use fcntl() with F_FULLFSYNC. (suggested by Justin M. Keyes)
This commit is contained in:
@ -600,7 +600,7 @@ mf_sync(memfile_T *mfp, int flags)
|
||||
*/
|
||||
if (STRCMP(p_sws, "fsync") == 0)
|
||||
{
|
||||
if (fsync(mfp->mf_fd))
|
||||
if (vim_fsync(mfp->mf_fd))
|
||||
status = FAIL;
|
||||
}
|
||||
else
|
||||
@ -617,7 +617,7 @@ mf_sync(memfile_T *mfp, int flags)
|
||||
#ifdef VMS
|
||||
if (STRCMP(p_sws, "fsync") == 0)
|
||||
{
|
||||
if (fsync(mfp->mf_fd))
|
||||
if (vim_fsync(mfp->mf_fd))
|
||||
status = FAIL;
|
||||
}
|
||||
#endif
|
||||
@ -627,7 +627,7 @@ mf_sync(memfile_T *mfp, int flags)
|
||||
#endif
|
||||
#ifdef AMIGA
|
||||
# if defined(__AROS__) || defined(__amigaos4__)
|
||||
if (fsync(mfp->mf_fd) != 0)
|
||||
if (vim_fsync(mfp->mf_fd) != 0)
|
||||
status = FAIL;
|
||||
# else
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user