From: Junio C Hamano Date: Tue, 08 Dec 2009 23:34:34 GMT Subject: Re: [REROLL PATCH 2/8] Support mandatory capabilities Message-ID: <7vzl5t59bp.fsf@alter.siamese.dyndns.org> In-Reply-To: <1260278177-9029-3-git-send-email-ilari.liusvaara@elisanet.fi> Ilari Liusvaara writes: > diff --git a/transport-helper.c b/transport-helper.c > index a721dc2..f977d28 100644 > --- a/transport-helper.c > +++ b/transport-helper.c > @@ -93,25 +93,39 @@ static struct child_process *get_helper(struct transport *transport) > > data->out = xfdopen(helper->out, "r"); > while (1) { > + const char *capname; > + int mandatory = 0; > recvline(data, &buf); > ... > + } else if (mandatory) { > + fflush(stderr); > + die("Unknown madatory capability %s. This remote " > + "helper probably needs newer version of Git.\n", > + capname); Why fflush() here? Is the reason for needing to flush stderr before letting die() to write into it very specific to this codepath, or shared among other callers of die()? I am wondering if we should add this fflush() to report() in usage.c instead.