title: Not checking close()'s return value: how serious, really?
body: <p>Linux's "man close" warns (SVr4, 4.3BSD, POSIX.1-2001):</p>
  
  <blockquote>
    <p>Not checking the return value of close() is a <em>common</em> but nevertheless <em>serious</em> programming error.  It is quite possible that errors on a previous write(2) operation are first reported at the final close().  Not checking the return value when closing the file may lead to silent loss of data.  This can especially be observed with NFS and with disk quota.</p>
  </blockquote>
  
  <p>I can believe that this error is <em>common</em> (at least in applications; I'm no kernel hacker).  But how <em>serious</em> is it, today or at any point in the past three decades?  In particular:</p>
  
  <p>Is there a simple, reproducible example of such silent loss of data?  Even a contrived one like sending SIGKILL during close()?</p>
  
  <p>If such an example exists, can the data loss be handled more gracefully than just</p>
  
  <p><code>printf("Sorry, dude, you lost some data.\n");</code> ?</p>