1
0
forked from aniani/vim

patch 9.1.0842: not checking for the sync() systemcall

Problem:  not checking for the sync() systemcall
Solution: check for sync in configure script, fix related #ifdefs
          (Jonas Termansen)

It's better to check for features directly rather than maintaining a
denylist of operating systems without them.

closes: #15985

Signed-off-by: Jonas 'Sortie' Termansen <sortie@maxsi.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Jonas Sortie Termansen 2024-11-04 20:32:27 +01:00 committed by Christian Brabandt
parent cef8ab2c75
commit 8bb5eaf019
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
5 changed files with 13 additions and 7 deletions

6
src/auto/configure vendored
View File

@ -13642,6 +13642,12 @@ then :
printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "sync" "ac_cv_func_sync"
if test "x$ac_cv_func_sync" = xyes
then :
printf "%s\n" "#define HAVE_SYNC 1" >>confdefs.h
fi

View File

@ -209,6 +209,7 @@
#undef HAVE_CANBERRA
#undef HAVE_SODIUM
#undef HAVE_ST_BLKSIZE
#undef HAVE_SYNC
#undef HAVE_SYSCONF
#undef HAVE_SYSCTL
#undef HAVE_SYSINFO

View File

@ -3769,7 +3769,7 @@ AC_CHECK_FUNCS(fchdir fchown fchmod fsync getcwd getpseudotty \
sigprocmask sigvec strcasecmp strcoll strerror strftime stricmp strncasecmp \
strnicmp strpbrk strptime strtol tgetent towlower towupper iswupper \
tzset usleep utime utimes mblen ftruncate unsetenv posix_openpt \
clock_gettime)
clock_gettime sync)
AC_FUNC_SELECT_ARGTYPES
AC_FUNC_FSEEKO

View File

@ -594,13 +594,10 @@ mf_sync(memfile_T *mfp, int flags)
}
else
# endif
// OpenNT is strictly POSIX (Benzinger)
// Tandem/Himalaya NSK-OSS doesn't have sync()
// No sync() on Stratus VOS
# if defined(__OPENNT) || defined(__TANDEM) || defined(__VOS__)
fflush(NULL);
# else
# ifdef HAVE_SYNC
sync();
# else
fflush(NULL);
# endif
#endif
#ifdef VMS

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
842,
/**/
841,
/**/