commit - b642df222fe314b84ca87cefd3f086907f35df5c
commit + c3ff86b21e8e12f5af1145b9e6fe2aa5b735a141
blob - 0258f1df3dcad137a19421f6c9b65c513b5b6efe
blob + 0208d34446408dede8a64218a54434810ff24a14
--- lib/pack.c
+++ lib/pack.c
static const struct got_error *
pack_stop_privsep_child(struct got_pack *pack)
{
- const struct got_error *err = NULL, *close_err = NULL;
+ const struct got_error *err = NULL;
+ const struct got_error *close_err = NULL, *child_err = NULL;
if (pack->privsep_child == NULL)
return NULL;
err = got_privsep_send_stop(pack->privsep_child->imsg_fd);
- if (err)
- return err;
if (close(pack->privsep_child->imsg_fd) == -1)
close_err = got_error_from_errno("close");
- err = got_privsep_wait_for_child(pack->privsep_child->pid);
if (close_err && err == NULL)
err = close_err;
+ child_err = got_privsep_wait_for_child(pack->privsep_child->pid);
+ if (child_err && err == NULL)
+ err = child_err;
imsgbuf_clear(pack->privsep_child->ibuf);
free(pack->privsep_child->ibuf);
free(pack->privsep_child);