git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] bundle, fast-import: detect write failure

From
PHPierre Habouzit <madcoder@artemis.madism.org>
Date
Jan 10, 2008, 16:25 UTC
Message-ID
<20080110162526.GB27808@artemis.madism.org>
In-Reply-To
<87hchlhm3k.fsf@rho.meyering.net>
On Thu, Jan 10, 2008 at 01:00:15PM +0000, Jim Meyering wrote:
Show 13 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Are you aware what this code does?  It writes a ".keep" file.  Whose
> > purpose is to _exist_, and whose purpose is fulfilled, even if the write
> > or the push-back did not succeed.
> 
> Hi,
> 
> I do see what you mean.
> 
> If the write is not necessary, then perhaps you would prefer a comment
> documenting that failures of the write and following close are ignorable.
> And add a '(void)' stmt prefix, to tell compilers that ignoring the
> return value is deliberate.
  Note that (void) isn't enough with the most recent gcc flavours, which
is a pain. I do use:
#define IGNORE(expr)  do { if (expr) (void)0; } while (0)

for that purpose in my code. I know IGNORE isn't a brilliant name, but it's modeled after the ocaml function doing the same thing.

> However, even if it's not technically required to fail at that point,
> if it were my choice, I'd prefer to know when a .keep file whose
> contents are unimportant just happens to reside on a bad spot on my
> disk.  I/O errors should never be ignored.
  Actually I think .keep files are empty, so the write() should not be
there in the first place, and we should only check for close() right ?
not that it matters that much.
Show 7 quoted lines
> > I could not care less what the manual says.  What is important is if the
> > defensive programming is done mindlessly, and therefore can fail so not
> > gracefully.
> 
> On the other hand, if that write failure is truly ignorable,
> a mindless minimalist :-) might argue that it's best just to
> omit the syscall.
  And leak a file descriptor :)
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Jim MeyeringNext: Jim Meyering
Message 7 of 13 in “bundle, fast-import: detect write failure”
  1. bundle, fast-import: detect write failureJim Meyering, Jan 10, 2008
  2. Pierre HabouzitJan 10, 2008
  3. Johannes SchindelinJan 10, 2008
  4. Jim MeyeringJan 10, 2008
  5. Johannes SchindelinJan 10, 2008
  6. Jim MeyeringJan 10, 2008
  7. Pierre HabouzitJan 10, 2008
  8. Jim MeyeringJan 10, 2008
  9. Pierre HabouzitJan 10, 2008
  10. Jakub NarebskiJan 11, 2008
  11. Junio C HamanoJan 11, 2008
  12. David TweedJan 11, 2008
  13. Johannes SchindelinJan 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.