Re: [PATCHv2 3/4] bundle: don't leak an fd in case of early return
- From
Stefan Beller <sbeller@google.com>
- Date
- Apr 1, 2016, 00:25 UTC
- Message-ID
- <CAGZ79kYMxJdh_8n8zaaaEQP_BqWfS12JEry1MHkYqwQPJTWTNw@mail.gmail.com>
- In-Reply-To
- <9C112693D94545DC917C90299E52A719@PhilipOakley>
On Thu, Mar 31, 2016 at 12:00 PM, Philip Oakley <philipoakley@iee.org> wrote:
Show 19 quoted lines
> From: "Stefan Beller" <sbeller@google.com> >> >> In successful operation `write_pack_data` will close the `bundle_fd`, >> but when we exit early, we need to take care of the file descriptor >> as well as the lock file ourselves. The lock file may be deleted at the >> end of running the program, but we are in library code, so we should >> not rely on that. >> >> Helped-by: Jeff King <peff@peff.net> >> Signed-off-by: Stefan Beller <sbeller@google.com> > > > Has this been tested on Windows? I had a similar problem very recently > https://groups.google.com/forum/#!msg/git-for-windows/6LPxf9xZKhI/-s7XD18yCwAJ > where a bad rev-list-arg would cause the `bundle create` to die, and, on > windows, leave the incomplete bundle file locked. > > dscho suggested one possible solution for that, but I haven't had any time > to try any patches.
I think with Jeffs suggestion to only rollback the lock in case of (!bundle_to_stdout) we're not making it worse. I do not have a Windows machine at hand to test it :(