1. Stefan Saasen
  2. git

Commits

Junio C Hamano  committed 53e1a76

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>

  • Participants
  • Parent commits 1d6249e
  • Branches master

Comments (0)

Files changed (1)

File connect.c

View file
 
 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;
 }