title: Behavior of a pipe after a fork()
body: <p>When reading about pipes in Advanced Programming in the UNIX Environment, I noticed that after a fork the parent can <code>close()</code> the read end of a pipe and it doesn't close the read end for the child.  When a process forks, does its file descriptors get retained?  </p>
  
  <p>What I mean by this is that before the fork the pipe read file descriptor had a retain count of 1, and after the fork 2.  When the parent closed its read side the fd went to 1 and is kept open for the child.  Is this essentially what is happening?  Does this behavior also occur for regular file descriptors?</p>