From: Junio C Hamano Date: Wed, 13 Sep 2006 04:48:28 GMT Subject: Re: [PATCH] connect.c: finish_connect(): allow null pid parameter Message-ID: <7vd5a0bcdf.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <4506771D.9040605@innova-card.com> Franck Bui-Huu writes: > git_connect() can return 0 if we use git protocol for example. > Users of this function don't know and don't care if a process > had been created or not, and to avoid them to check it before > calling finish_connect() this patch allows finish_connect() to > take a null pid. And in that case return 0. > > Signed-off-by: Franck Bui-Huu > --- > > Found it when debugging 'git archive --remote=git://...' > command. I noticed that this command always exited with 1 as > status. True. This should affect existing users of finish_connect(), but existing callers do not check its return value X-<. I think the return type of git_connect() should be changed to pid_t with a warning that says it returns negative on error, pid of a process finish_connect() should wait for if the underlying protocol driver forks, and 0 if we do not have to wait in finish_connect(). Making finish_connect() to accept 0 as its input is probably a good change.