On 05/02/2016 04:48 AM, Michal Privoznik wrote:
On 25.04.2016 20:46, Cole Robinson wrote:
> Let's us de-nest some of the logic, and will simplify upcoming
> patches
> ---
> src/fdstream.c | 73 +++++++++++++++++++++++++++++++++-------------------------
> 1 file changed, 42 insertions(+), 31 deletions(-)
>
> diff --git a/src/fdstream.c b/src/fdstream.c
> index a6a0fbe..681b90e 100644
> --- a/src/fdstream.c
> +++ b/src/fdstream.c
> @@ -240,6 +240,46 @@ virFDStreamAddCallback(virStreamPtr st,
> return ret;
> }
>
> +static int
> +virFDStreamCloseCommand(struct virFDStreamData *fdst)
> +{
> + char buf[1024];
> + ssize_t len;
> + int status;
> + int ret = -1;
> +
> + if (!fdst->cmd)
> + return 0;
> +
> + if ((len = saferead(fdst->errfd, buf, sizeof(buf)-1)) < 0)
> + buf[0] = '\0';
> + else
> + buf[len] = '\0';
> +
> + virCommandRawStatus(fdst->cmd);
> + if (virCommandWait(fdst->cmd, &status) < 0)
> + goto error;
> +
> + if (status != 0) {
> + if (buf[0] != '\0') {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", buf);
> + } else if (WIFEXITED(status)) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("I/O helper exited with status %d"),
> + WEXITSTATUS(status));
> + } else {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("I/O helper exited abnormally"));
> + }
> + goto error;
> + }
> +
> + ret = 0;
> + error:
Just a small nit, we tend to name 'cleanup' labels that are used in both
successful and unsuccessful return paths. So this should be 'cleanup' to
follow our style.
Thanks for the review. I fixed this and pushed the series now
- Cole