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>
diff --git a/src/auto/configure b/src/auto/configure
index db8a89b..062119e 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -13642,6 +13642,12 @@
   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
 
 
 
diff --git a/src/config.h.in b/src/config.h.in
index 530c082..3ff4605 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -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
diff --git a/src/configure.ac b/src/configure.ac
index 24479d3..56895f6 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -3769,7 +3769,7 @@
 	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
 
diff --git a/src/memfile.c b/src/memfile.c
index abb7c3f..4707969 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -594,13 +594,10 @@
 	}
 	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
diff --git a/src/version.c b/src/version.c
index 3c18aa4..7d02e6c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    842,
+/**/
     841,
 /**/
     840,