From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQ0mX-0000Uj-4w for qemu-devel@nongnu.org; Fri, 27 May 2011 13:25:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQ0mW-0003dJ-G0 for qemu-devel@nongnu.org; Fri, 27 May 2011 13:25:05 -0400 From: Alexandre Raymond Date: Fri, 27 May 2011 13:22:26 -0400 Message-Id: <1306516951-31105-2-git-send-email-cerbere@gmail.com> In-Reply-To: <1306516951-31105-1-git-send-email-cerbere@gmail.com> References: <1306516951-31105-1-git-send-email-cerbere@gmail.com> Subject: [Qemu-devel] [PATCH 1/6] Fix incorrect check for fdatasync() in configure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, Alexandre Raymond For some reason, darwin provides a symbol for fdatasync(), but doesn't officially support it. The manpage for fdatasync on Linux states the following: "On POSIX systems on which fdatasync() is available, _POSIX_SYNCHRONIZED_IO is defined in to a value greater than 0." In fact, unistd.h defines this value to "-1", at least on OSX 10.6.7. Add this check to the configure file. Signed-off-by: Alexandre Raymond --- configure | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/configure b/configure index a318d37..b21ef75 100755 --- a/configure +++ b/configure @@ -2477,7 +2477,13 @@ fi fdatasync=no cat > $TMPC << EOF #include -int main(void) { return fdatasync(0); } +int main(void) { +#if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0 +return fdatasync(0); +#else +#abort Not supported +#endif +} EOF if compile_prog "" "" ; then fdatasync=yes -- 1.7.5