Re: [PATCH 4/4] Replace fork_with_pipe in bundle with run_command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes:

> Now that the run_command family supports all of the redirection
> modes needed by builtin-bundle, we can use those functions rather
> than the underlying POSIX primitives.  This should help to make the
> bundle command slightly more portable to other systems, like Windows.
>
> Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx>
> ...
> @@ -263,9 +202,10 @@ static int create_bundle(struct bundle_header *header, const char *path,
>  	int bundle_fd = -1;
>  	const char **argv_boundary = xmalloc((argc + 4) * sizeof(const char *));
>  	const char **argv_pack = xmalloc(5 * sizeof(const char *));
> -	int pid, in, out, i, status, ref_count = 0;
> +	int i, status, ref_count = 0;
>  	char buffer[1024];
>  	struct rev_info revs;
> +	struct child_process rls;
>  
>  	bundle_fd = (!strcmp(path, "-") ? 1 :
>  			open(path, O_CREAT | O_EXCL | O_WRONLY, 0666));
> ...
>  			write_or_die(bundle_fd, buffer, i);
> @@ -303,11 +245,8 @@ static int create_bundle(struct bundle_header *header, const char *path,
>  			object->flags |= SHOWN;
>  		}
>  	}
> -	while ((i = waitpid(pid, &status, 0)) < 0)
> -		if (errno != EINTR)
> -			return error("rev-list died");
> -	if (!WIFEXITED(status) || WEXITSTATUS(status))
> -		return error("rev-list died %d", WEXITSTATUS(status));
> +	if (finish_command(&rls))
> +		return error("rev-list died");
> ...
> +	if (finish_command(&rls))
>  		return error ("pack-objects died");
>  
>  	return status;

As the variable 'status' is not used anymore, I think this should return 0.


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]