Bug#119974: Bug confirmed
On Mon, Jan 13, 2003 at 07:03:35PM +0100, José Luis González González wrote:
> On Mon, Jan 13, 2003 at 08:02:14AM -0500, H. S. Teoh wrote:
> > So you're saying that even if you ask for POSIX.1b, you still don't get
> > fsync()?
>
> Yes. Try this:
>
> $ cat test.c
> #include <unistd.h>
> void foo (void) { fsync(0); }
> $ gcc -Wall -D_POSIX_C_SOURCE=199309L -c test.c
> test.c: In function `foo':
> test.c:2: warning: implicit declaration of function `fsync'
OK, so this is a bug in unistd.h then.
> > According to my online research, fsync is NOT part of POSIX.1, but it IS a
> > part of POSIX.1b. There was an earlier contention over fsync's semantics
> > that precluded it from being in POSIX.1; but apparently the POSIX people
> > have decided to put it in 1b. Now, whether or not the glibc headers
> > correctly reflect this is something the glibc maintainers should check.
>
> Well, if it's part of POSIX then the function prototype is not correctly
> guarded by only the BSD and X/Open flags. It does not work for those
> who ask for POSIX.1b *but not more*.
Yeah, this should be fixed. One of the official glibc maintainers who has
access to the actual POSIX.1b specs should verify this.
> > Also, if the glibc docs are confusing, then it should be fixed so that
> > fsync is clearly labelled as POSIX.1b, not just POSIX (which, IIRC, means
> > POSIX.1 only---or at least, that's what the current glibc headers will
> > give you when you ask for POSIX.)
>
> Please, since you know the details and can point to facts (surely better
> than me), could you file the bug for glibc-doc?
Will do. Thanks.
T
--
Let's eat some disquits while we format the biskettes.
Reply to: