Re: [PATCH 1/2] commit-graph.c: remove temporary graph layers on exit
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 7, 2024, 21:47 UTC
- Message-ID
- <xmqqo78ce86p.fsf@gitster.g>
- In-Reply-To
- <ZmN+crXyZOze122U@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
Show 11 quoted lines
>> > - result = rename(ctx->graph_name, final_graph_name); >> > + result = rename_tempfile(&graph_layer, final_graph_name); >> >> Before this rename, after the close(fd) we saw in the previous hunk, >> there is one early error return when we fail to rename the base >> graph file. Do we need to do anything there, or an unfinished >> tempfile getting removed at the process termination is sufficient >> for cleaning up the mess? > > We could explicitly clean it up, but we'll do so implicitly upon exit, > so I think it's fine to leave it as-is.
I am not worried about cleaning it up. Upon exit, the underlying file descriptor will be closed, but this new code never does fclose() on the FILE* that has a buffer around the underlying file descriptor. How are we guaranteeing that we are not losing anything buffered but not flushed yet?