finish_connect(): thinkofix

All but one callers have ignore the return value from this
function, but the only caller, builtin-tar-tree.c::remote_tar(),
assumed it returns non-zero on failure and zero on success.  The
implementation however was returning either the waited pid
(which must be the same as its input) or -1 (an error).

Fix this thinko, while getting rid of an assignment of return
value from waitpid() into a variable of type int.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2006-08-15 16:28:08 -07:00
parent 1d6249e609
commit 53e1a761be

View File

@ -737,14 +737,9 @@ int git_connect(int fd[2], char *url, const char *prog)
int finish_connect(pid_t pid)
{
int ret;
for (;;) {
ret = waitpid(pid, NULL, 0);
if (!ret)
break;
while (waitpid(pid, NULL, 0) < 0) {
if (errno != EINTR)
break;
return -1;
}
return ret;
return 0;
}