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ärber <andreas.faer...@web.de> 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, or
> 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 <cerb...@gmail.com>
>> ---
>> 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 <unistd.h>
>> -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
>>
>
>

Reply via email to