doc: clarify that fs streams expect blocking fd

This clarifies that fs.createReadStream and fs.createWriteStream, when
passed a fd, expects the fd to be blocking, and suggests net.Socket as
an alternative.

PR-URL: https://github.com/nodejs/node/pull/3641
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Carl Lei 2015-11-03 19:21:31 +08:00 committed by Ben Noordhuis
parent 91ccbf0201
commit 3f4409e571

View File

@ -307,6 +307,8 @@ start at 0. The `encoding` can be any one of those accepted by [Buffer][].
If `fd` is specified, `ReadStream` will ignore the `path` argument and will use If `fd` is specified, `ReadStream` will ignore the `path` argument and will use
the specified file descriptor. This means that no `open` event will be emitted. the specified file descriptor. This means that no `open` event will be emitted.
Note that `fd` should be blocking; non-blocking `fd`s should be passed to
`net.Socket`.
If `autoClose` is false, then the file descriptor won't be closed, even if If `autoClose` is false, then the file descriptor won't be closed, even if
there's an error. It is your responsibility to close it and make sure there's an error. It is your responsibility to close it and make sure
@ -341,7 +343,8 @@ default mode `w`. The `defaultEncoding` can be any one of those accepted by [Buf
Like `ReadStream` above, if `fd` is specified, `WriteStream` will ignore the Like `ReadStream` above, if `fd` is specified, `WriteStream` will ignore the
`path` argument and will use the specified file descriptor. This means that no `path` argument and will use the specified file descriptor. This means that no
`open` event will be emitted. `open` event will be emitted. Note that `fd` should be blocking; non-blocking
`fd`s should be passed to `net.Socket`.
If `options` is a string, then it specifies the encoding. If `options` is a string, then it specifies the encoding.