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

Re: [PATCH] sparse-checkout: use fdopen_lock_file() instead of xfdopen()

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 5, 2024, 15:16 UTC
Message-ID
<xmqqle065dxm.fsf@gitster.g>
In-Reply-To
<20240905082749.GA88220@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 14 quoted lines
> We do have to adjust the code a bit:
>
>   - we have to handle errors ourselves; we can just die(), since that's
>     what xfdopen() would have done (and we can even provide a more
>     specific error message).
>
>   - we no longer need to call fflush(); committing the lock-file
>     auto-closes it, which will now do the flush for us. As a bonus, this
>     will actually check that the flush was successful before renaming
>     the file into place. Let's likewise report when committing the lock
>     fails (rather than quietly returning success from the command).
>
>   - we can get rid of the local "fd" variable, since we never look at it
>     ourselves now
OK.  The neessary change is surprisingly small.
> I found this because I was building git on an Android system,...
Sounds like fun.
Will queue.  Thanks.
Previous: Junio C HamanoNext: Jeff King
Message 7 of 12 in “sparse-checkout: use fdopen_lock_file() instead of xfdopen()”
  1. sparse-checkout: use fdopen_lock_file() instead of xfdopen()Jeff King, Sep 5, 2024
  2. Patrick SteinhardtSep 5, 2024
  3. Junio C HamanoSep 5, 2024
  4. Junio C HamanoSep 5, 2024
  5. Jeff KingSep 6, 2024
  6. Junio C HamanoSep 6, 2024
  7. Junio C HamanoSep 5, 2024
  8. 0/3 sparse-checkout file handle leak fixJeff King, Sep 6, 2024
  9. 1/3 sparse-checkout: consolidate cleanup when writing patternsJeff King, Sep 6, 2024
  10. 2/3 sparse-checkout: check commit_lock_file when writing patternsJeff King, Sep 6, 2024
  11. 3/3 sparse-checkout: use fdopen_lock_file() instead of xfdopen()Jeff King, Sep 6, 2024
  12. Patrick SteinhardtSep 6, 2024

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.