<div dir="ltr">I was always intrigued by this unix tidbit, closing a file can return an error. In practice, it is rarely checked (as far as I&#39;ve seen)<div><br></div><div>What does it mean? If I understand it correctly, recent write can lie about its success.</div>

<div><br></div><div>But when do you really need it? If you have a piece of information you want to make sure it hits the disk, the reasonable thing to do is to fsync the file, and check the error of the fsync. If you don&#39;t care about it that much, then don&#39;t check the error, you don&#39;t have much to do even if it failed. It seems to me that one can make close return void, and point the one who wishes to make sure data hit the disk to fsync.</div>
<div><br></div><div>What&#39;s the practical use case, where you care about close() error, but you don&#39;t care enough to need an fsync.</div><div><br></div><div>Another question is, why let write lie about its success, what does it gain you? Let close return void, and force write never to defer its error reporting.</div>
</div>