title: how is select() alerted to an fd becoming "ready"?
body: <p>I don't know why I'm having a hard time finding this, but I'm looking at some linux code where we're using <code>select()</code> waiting on a file descriptor to report it's ready. From the man page of select:</p>
  
  <pre><code>select() and pselect() allow a program to monitor multiple file descriptors,
  waiting until one or more of the file descriptors become "ready" for some
  class of I/O operation 
  </code></pre>
  
  <p>So, that's great... I call select on some descriptor, give it some time out value and start to wait for the indication to go. How does the file descriptor (or owner of the descriptor) report that it's "ready" such that the <code>select()</code> statement returns?</p>