From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:47279) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQq35-0001yr-RV for qemu-devel@nongnu.org; Sun, 29 May 2011 20:09:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQq34-0001i8-8r for qemu-devel@nongnu.org; Sun, 29 May 2011 20:09:35 -0400 Received: from mail-pv0-f173.google.com ([74.125.83.173]:39588) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQq34-0001hv-4O for qemu-devel@nongnu.org; Sun, 29 May 2011 20:09:34 -0400 Received: by pvg3 with SMTP id 3so1518819pvg.4 for ; Sun, 29 May 2011 17:09:33 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <3DEA5664-CC27-46CF-B8BB-7EBE079143BD@web.de> References: <1306707770-14632-1-git-send-email-cerbere@gmail.com> <1306707770-14632-2-git-send-email-cerbere@gmail.com> <3DEA5664-CC27-46CF-B8BB-7EBE079143BD@web.de> From: Alexandre Raymond Date: Sun, 29 May 2011 20:09:13 -0400 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V2 1/3] Darwin: Fix incorrect check for fdatasync() in configure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Andreas_F=C3=A4rber?= Cc: qemu-devel@nongnu.org Sure, I'm fine with that. I wasn't sure how much detail you actually wanted in this commit message :) Alexandre On Sun, May 29, 2011 at 7:36 PM, Andreas F=C3=A4rber wrote: > Am 30.05.2011 um 00:22 schrieb Alexandre Raymond: > >> Under darwin (OS X 10.6.7), a symbol exists for the fdatasync() method >> but it is not supported because _POSIX_SYNCHRONIZED_IO is set to '-1'. > > Question: How did you notice? Did anything break that we could mention, o= r > did you just review the code? > >> Enable fdatasync() only if _POSIX_SYNCHRONIZED_IO is '>0', as per >> The Open Group Base Specifications Issue 7. > > Not quite what I meant. ;) Would you be okay with the following: > > configure: Fix check for fdatasync() > > Under Darwin, a symbol exists for the fdatasync() function, but it is > not supported. Yada yada. _POSIX_SYNCHRONIZED_IO is set to '-1'. > > According to POSIX:2008, a value of -1 means the feature is not supported= . > A value of 0 means supported at compilation time, and a value greater 0 > means supported at both compilation and run time. > > Enable fdatasync() only if _POSIX_SYNCHRONIZED_IO is '>0'. > > Andreas > >> Signed-off-by: Alexandre Raymond >> --- >> configure | =C2=A0 =C2=A08 +++++++- >> 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=3Dno >> 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 >> =C2=A0 =C2=A0fdatasync=3Dyes >> -- >> 1.7.5 >> > >