On Sat, Dec 28, 2002 at 07:23:06PM -0500, Daniel Jacobowitz wrote:
[snip]
> It's guarded by:
> #if defined __USE_BSD || defined __USE_XOPEN
>
> _POSIX_SOURCE is:
> _POSIX_SOURCE IEEE Std 1003.1.
> i.e. not 1b.
Ahh, that explains it.
> On the other hand, given:
> _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
> if >=199309L, add IEEE Std 1003.1b-1993;
> if >=199506L, add IEEE Std 1003.1c-1995
>
> but _POSIX_C_SOURCE=199309 is not enough to turn on the prototype of
> fsync... so there is a problem, but _POSIX_SOURCE is behaving as
> intended.
[snip]
Wow, this is a messier tangle than I previously thought. :-)
Is any of this documented anywhere? I think the original bug submitter
filed the bug because according to his understanding of the documentation,
fsync *should* be included when _POSIX_SOURCE is defined. The manpage
*does* mention POSIX.1b; so if what you describe above is actually
documented somewhere, then the submitter should be referred to it, and the
bug should be closed.
T
--
Roasting my brains over a slow fire. Please do not interrupt this process.