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' > 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*. > 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? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]