summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdio/feof.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdio/feof.c')
-rw-r--r--newlib/libc/stdio/feof.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/newlib/libc/stdio/feof.c b/newlib/libc/stdio/feof.c
index c0216ffed..7aadd8209 100644
--- a/newlib/libc/stdio/feof.c
+++ b/newlib/libc/stdio/feof.c
@@ -17,24 +17,44 @@
/*
FUNCTION
-<<feof>>---test for end of file
+<<feof>>, <<feof_unlocked>>---test for end of file
INDEX
feof
+INDEX
+ feof_unlocked
ANSI_SYNOPSIS
#include <stdio.h>
int feof(FILE *<[fp]>);
+ #define _BSD_SOURCE
+ #include <stdio.h>
+ int feof_unlocked(FILE *<[fp]>);
+
TRAD_SYNOPSIS
#include <stdio.h>
int feof(<[fp]>)
FILE *<[fp]>;
+ #define _BSD_SOURCE
+ #include <stdio.h>
+ int feof_unlocked(<[fp]>)
+ FILE *<[fp]>;
+
DESCRIPTION
<<feof>> tests whether or not the end of the file identified by <[fp]>
has been reached.
+<<feof_unlocked>> is a non-thread-safe version of <<feof>>.
+<<feof_unlocked>> may only safely be used within a scope
+protected by flockfile() (or ftrylockfile()) and funlockfile(). This
+function may safely be used in a multi-threaded program if and only
+if they are called while the invoking thread owns the (FILE *)
+object, as is the case after a successful call to the flockfile() or
+ftrylockfile() functions. If threads are disabled, then
+<<feof_unlocked>> is equivalent to <<feof>>.
+
RETURNS
<<feof>> returns <<0>> if the end of file has not yet been reached; if
at end of file, the result is nonzero.
@@ -42,6 +62,8 @@ at end of file, the result is nonzero.
PORTABILITY
<<feof>> is required by ANSI C.
+<<feof_unlocked>> is a BSD extension also provided by GNU libc.
+
No supporting OS subroutines are required.
*/