]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
windows portability.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 27 Oct 2015 15:35:08 +0000 (15:35 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 27 Oct 2015 15:35:08 +0000 (15:35 +0000)
git-svn-id: file:///svn/unbound/trunk@3521 be551aaa-1e26-0410-a405-d3ace91eadb9

config.h.in
configure
configure.ac
smallapp/unbound-anchor.c
validator/autotrust.c

index 32a9d88c660be5bb98cc0e23d7037950d1394f2d..1e44741a3a04df7c97f8f0879d6e941321e3c0fc 100644 (file)
 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
 #undef HAVE_FSEEKO
 
+/* Define to 1 if you have the `fsync' function. */
+#undef HAVE_FSYNC
+
 /* Whether getaddrinfo is available */
 #undef HAVE_GETADDRINFO
 
index bc09113f1929c497643a7060ab5e30b2ca285b58..a08112699ea5010839cf0541246a264630db5947 100755 (executable)
--- a/configure
+++ b/configure
@@ -18116,7 +18116,7 @@ if test "$ac_res" != no; then :
 
 fi
 
-for ac_func in tzset sigprocmask fcntl getpwnam getrlimit setrlimit setsid sbrk chroot kill chown sleep usleep random srandom recvmsg sendmsg writev socketpair glob initgroups strftime localtime_r setusercontext _beginthreadex endservent endprotoent
+for ac_func in tzset sigprocmask fcntl getpwnam getrlimit setrlimit setsid sbrk chroot kill chown sleep usleep random srandom recvmsg sendmsg writev socketpair glob initgroups strftime localtime_r setusercontext _beginthreadex endservent endprotoent fsync
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
index aa7a9f20bff8cdd484d0916ace6edea472cadb3f..dd7bd2a57b7cc5c053e224b0fb8eb47804b6c08f 100644 (file)
@@ -990,7 +990,7 @@ AC_INCLUDES_DEFAULT
 #endif
 ])
 AC_SEARCH_LIBS([setusercontext], [util])
-AC_CHECK_FUNCS([tzset sigprocmask fcntl getpwnam getrlimit setrlimit setsid sbrk chroot kill chown sleep usleep random srandom recvmsg sendmsg writev socketpair glob initgroups strftime localtime_r setusercontext _beginthreadex endservent endprotoent])
+AC_CHECK_FUNCS([tzset sigprocmask fcntl getpwnam getrlimit setrlimit setsid sbrk chroot kill chown sleep usleep random srandom recvmsg sendmsg writev socketpair glob initgroups strftime localtime_r setusercontext _beginthreadex endservent endprotoent fsync])
 AC_CHECK_FUNCS([setresuid],,[AC_CHECK_FUNCS([setreuid])])
 AC_CHECK_FUNCS([setresgid],,[AC_CHECK_FUNCS([setregid])])
 
index 612f0368fe4b0bf67f384dc58f510c8582b9501b..884cb01856484f29ea0cc0990c584ee8aad15636 100644 (file)
@@ -1833,7 +1833,11 @@ write_unsigned_root(const char* root_anchor_file)
                if(verb && errno != 0) printf("%s\n", strerror(errno));
        }
        fflush(out);
+#ifdef HAVE_FSYNC
        fsync(fileno(out));
+#else
+       FlushFileBuffers((HANDLE)_fileno(out));
+#endif
        fclose(out);
 }
 
@@ -1861,7 +1865,11 @@ write_root_anchor(const char* root_anchor_file, BIO* ds)
                if(verb && errno != 0) printf("%s\n", strerror(errno));
        }
        fflush(out);
+#ifdef HAVE_FSYNC
        fsync(fileno(out));
+#else
+       FlushFileBuffers((HANDLE)_fileno(out));
+#endif
        fclose(out);
 }
 
index 9c500e08eba08f5c08dc0b2948c693fdfc6a5590..6e0f160402a9ea46422dc8e1f34ce8c71f0cf245 100644 (file)
@@ -1197,8 +1197,12 @@ void autr_write_file(struct module_env* env, struct trust_anchor* tp)
        }
        if(fflush(out) != 0)
                log_err("could not fflush(%s): %s", fname, strerror(errno));
+#ifdef HAVE_FSYNC
        if(fsync(fileno(out)) != 0)
                log_err("could not fsync(%s): %s", fname, strerror(errno));
+#else
+       FlushFileBuffers((HANDLE)_fileno(out));
+#endif
        if(fclose(out) != 0) {
                fatal_exit("could not complete write: %s: %s",
                        fname, strerror(errno));