Re: [PATCH v2] upload-pack: use buffered I/O to talk to rev-list
- From
René Scharfe <l.s.r@web.de>
- Date
- Aug 13, 2020, 05:57 UTC
- Message-ID
- <866055fd-7857-3eb3-6dae-befc8f891994@web.de>
- In-Reply-To
- <CAP8UFD1rDZOQSDWhc+xdEQVX+Umq-nE-sd-orgKZ3UWTWFHJhw@mail.gmail.com>
Am 13.08.20 um 07:17 schrieb Christian Couder:
Show 9 quoted lines
> On Wed, Aug 12, 2020 at 6:54 PM René Scharfe <l.s.r@web.de> wrote: > >> - close(cmd->in); >> + if (ferror(cmd_in) || fflush(cmd_in)) >> + goto error; >> + fclose(cmd_in); >> cmd->in = -1; > > I wonder if setting cmd->in to -1 is still useful...
The patch doesn't change its usefulness. It probably was not necessary to begin with.
> >> sigchain_pop(SIGPIPE); >>
The next line right here (not shown in the diff) returns 0.
Show 12 quoted lines
>> @@ -660,8 +658,8 @@ static int do_reachable_revlist(struct child_process *cmd, >> error: >> sigchain_pop(SIGPIPE); >> >> - if (cmd->in >= 0) >> - close(cmd->in); >> + if (cmd_in) >> + fclose(cmd_in); > > ...as we don't check cmd->in anymore at the end of the function, but > we now check cmd_in instead. So should cmd_in have been set to -1 > instead of cmd->in?
This error handler is not reached from the place that sets cmd->in back to -1. It can be reached from a place where cmd_in is still NULL, so this check is necessary and setting cmd_in to NULL above is not needed.
René