Suppose either the input or output of FILEDESCRIPTOR is expected to be a binary stream with no particular record separators. What does FILEDESCRIPTOR take as a "record"? The Author's Edition doesn't make this clear. Does it insert record separators in its output? Which? Can the programmer control this?
For a slowly-paced input stream, when is the output of FILEDESCRIPTOR available. Does it issue nonblocking reads and retry on receiving EAGAIN? "... filedescriptor reads from the file until it receives zero bytes ..." Shouldn't it keep trying until end-of-input? -- gil
