Bug#119974: Bug confirmed
On Sat, Dec 28, 2002 at 08:03:40PM -0500, H. S. Teoh wrote:
> 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.
Documented? Well, sort of. There's practical documentation in the
source; please read /usr/include/features.h near the top, which is
_extensively_ commented.
Aha, I see that there is a "Feature Test Macros" in the info
documentation also.
I'm not sure if the bug should be closed; it depends exactly where
fsync belongs.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: