Re: [PATCH v2 3/2] credential-cache: use child_process.args
- From
Jeff King <peff@peff.net>
- Date
- Aug 27, 2020, 04:13 UTC
- Message-ID
- <20200827041328.GA3346457@coredump.intra.peff.net>
- In-Reply-To
- <xmqqzh6ht7fg.fsf_-_@gitster.c.googlers.com>
On Wed, Aug 26, 2020 at 02:37:39PM -0700, Junio C Hamano wrote:
Show 19 quoted lines
> diff --git a/builtin/credential-cache.c b/builtin/credential-cache.c
> index d0fafdeb9e..195335a783 100644
> --- a/builtin/credential-cache.c
> +++ b/builtin/credential-cache.c
> @@ -42,13 +42,13 @@ static int send_request(const char *socket, const struct strbuf *out)
> static void spawn_daemon(const char *socket)
> {
> struct child_process daemon = CHILD_PROCESS_INIT;
> - const char *argv[] = { NULL, NULL, NULL };
> char buf[128];
> int r;
>
> - argv[0] = "git-credential-cache--daemon";
> - argv[1] = socket;
> - daemon.argv = argv;
> + strvec_pushl(&daemon.args,
> + "credential-cache--daemon", socket,
> + NULL);
> + daemon.git_cmd = 1;Yep, this makes sense. I don't recall any reason to use the dashed form back then, but probably it was just that I knew it was a separate program. Doing it this way will mean an extra parent "git" process hanging around, but I don't think it's that big a deal. We never try to kill it by PID, etc (instead we connect to the socket and ask it to exit). And anyway, it is becoming a builtin in a parallel topic, so that extra process will go away. :)
-Peff