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>
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
#undef HAVE_CANBERRA
#undef HAVE_SODIUM
#undef HAVE_ST_BLKSIZE
+#undef HAVE_SYNC
#undef HAVE_SYSCONF
#undef HAVE_SYSCTL
#undef HAVE_SYSINFO
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
}
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
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 842,
/**/
841,
/**/