diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-03-03 18:18:04 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-03-03 18:18:04 +0000 |
commit | c0102611b1f1bd1ce2a2952e9b74ff33fa02717e (patch) | |
tree | 31177266a6797f3c30d0493619d0f06f3f59afe1 /libc/manual/llio.texi | |
parent | 33f3f8954d202664c7c7a224d13ba5a0c14a0e01 (diff) | |
download | eglibc2-c0102611b1f1bd1ce2a2952e9b74ff33fa02717e.tar.gz |
Merge changes between r17194 and r17384 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@17385 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/manual/llio.texi')
-rw-r--r-- | libc/manual/llio.texi | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/libc/manual/llio.texi b/libc/manual/llio.texi index 8154de741..f3ed54272 100644 --- a/libc/manual/llio.texi +++ b/libc/manual/llio.texi @@ -332,7 +332,7 @@ some input. But if the @code{O_NONBLOCK} flag is set for the file reading any data, and reports this error. @strong{Compatibility Note:} Most versions of BSD Unix use a different -error code for this: @code{EWOULDBLOCK}. In the GNU library, +error code for this: @code{EWOULDBLOCK}. In @theglibc{}, @code{EWOULDBLOCK} is an alias for @code{EAGAIN}, so it doesn't matter which name you use. @@ -483,7 +483,7 @@ flow control, where output has been suspended by receipt of a STOP character. @strong{Compatibility Note:} Most versions of BSD Unix use a different -error code for this: @code{EWOULDBLOCK}. In the GNU library, +error code for this: @code{EWOULDBLOCK}. In @theglibc{}, @code{EWOULDBLOCK} is an alias for @code{EAGAIN}, so it doesn't matter which name you use. @@ -776,8 +776,8 @@ character. @comment sys/types.h @comment POSIX.1 @deftp {Data Type} off_t -This is an arithmetic data type used to represent file sizes. -In the GNU system, this is equivalent to @code{fpos_t} or @code{long int}. +This is a signed integer type used to represent file sizes. In +@theglibc{}, this type is no narrower than @code{int}. If the source is compiled with @code{_FILE_OFFSET_BITS == 64} this type is transparently replaced by @code{off64_t}. @@ -844,7 +844,7 @@ null pointer is returned instead. In some other systems, @code{fdopen} may fail to detect that the modes for file descriptor do not permit the access specified by -@code{opentype}. The GNU C library always checks for this. +@code{opentype}. @Theglibc{} always checks for this. @end deftypefun For an example showing the use of the @code{fdopen} function, @@ -1000,21 +1000,10 @@ for linked channels; see @ref{Linked Channels}. @node Cleaning Streams @subsection Cleaning Streams -On the GNU system, you can clean up any stream with @code{fclean}: - -@comment stdio.h -@comment GNU -@deftypefun int fclean (FILE *@var{stream}) -Clean up the stream @var{stream} so that its buffer is empty. If -@var{stream} is doing output, force it out. If @var{stream} is doing -input, give the data in the buffer back to the system, arranging to -reread it. -@end deftypefun - -On other systems, you can use @code{fflush} to clean a stream in most +You can use @code{fflush} to clean a stream in most cases. -You can skip the @code{fclean} or @code{fflush} if you know the stream +You can skip the @code{fflush} if you know the stream is already clean. A stream is clean whenever its buffer is empty. For example, an unbuffered stream is always clean. An input stream that is at end-of-file is clean. A line-buffered stream is clean when the last @@ -1028,12 +1017,10 @@ not random access, there is no way to give back the excess data already read. When an input stream reads from a random-access file, @code{fflush} does clean the stream, but leaves the file pointer at an unpredictable place; you must set the file pointer before doing any -further I/O. On the GNU system, using @code{fclean} avoids both of -these problems. +further I/O. Closing an output-only stream also does @code{fflush}, so this is a -valid way of cleaning an output stream. On the GNU system, closing an -input stream does @code{fclean}. +valid way of cleaning an output stream. You need not clean a stream before using its descriptor for control operations such as setting terminal modes; these operations don't affect @@ -1056,8 +1043,8 @@ with multiple calls to @code{read} and @code{write}, it is inefficient because there is overhead associated with each kernel call. Instead, many platforms provide special high-speed primitives to perform -these @dfn{scatter-gather} operations in a single kernel call. The GNU C -library will provide an emulation on any system that lacks these +these @dfn{scatter-gather} operations in a single kernel call. @Theglibc{} +will provide an emulation on any system that lacks these primitives, so they are not a portability threat. They are defined in @code{sys/uio.h}. @@ -1229,7 +1216,7 @@ systems. They are also useful to share data between multiple tasks without creating a file. On some systems using private anonymous mmaps is more efficient than using -@code{malloc} for large blocks. This is not an issue with the GNU C library, +@code{malloc} for large blocks. This is not an issue with @theglibc{}, as the included @code{malloc} automatically uses @code{mmap} where appropriate. @c Linux has some other MAP_ options, which I have not discussed here. @@ -2511,7 +2498,7 @@ At the point of this writing, the available implementation is a userlevel implementation which uses threads for handling the enqueued requests. While this implementation requires making some decisions about limitations, hard limitations are something which is best avoided -in the GNU C library. Therefore, the GNU C library provides a means +in @theglibc{}. Therefore, @theglibc{} provides a means for tuning the AIO implementation according to the individual use. @comment aio.h |