Mercurial > hg > dhcpcd
changeset 5420:d9038a8c3241 draft
privsep: Improve some errors
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sat, 08 Aug 2020 20:27:34 +0100 |
| parents | 25b6d0d2a59d |
| children | 0229b76cea16 |
| files | src/privsep.c |
| diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/privsep.c Sat Aug 08 20:06:55 2020 +0100 +++ b/src/privsep.c Sat Aug 08 20:27:34 2020 +0100 @@ -645,12 +645,12 @@ iovlen = 1; len = writev(fd, iov, iovlen); -#ifdef PRIVSEP_DEBUG - logdebugx("%s: %zd", __func__, len); -#endif - if ((len == -1 || len == 0) && ctx->options & DHCPCD_FORKED && - !(ctx->options & DHCPCD_PRIVSEPROOT)) - eloop_exit(ctx->eloop, len == 0 ? EXIT_SUCCESS : EXIT_FAILURE); + if (len == -1) { + logerr(__func__); + if (ctx->options & DHCPCD_FORKED && + !(ctx->options & DHCPCD_PRIVSEPROOT)) + eloop_exit(ctx->eloop, EXIT_FAILURE); + } return len; } @@ -789,10 +789,9 @@ }; ssize_t len = recvmsg(rfd, &msg, 0); -#ifdef PRIVSEP_DEBUG - logdebugx("%s: recv fd %d, %zd bytes", __func__, rfd, len); -#endif + if (len == -1) + logerr("%s: recvmsg", __func__); if (len == -1 || len == 0) { if (ctx->options & DHCPCD_FORKED && !(ctx->options & DHCPCD_PRIVSEPROOT)) @@ -803,12 +802,12 @@ iov[0].iov_len = (size_t)len; len = ps_sendcmdmsg(wfd, cmd, &msg); -#ifdef PRIVSEP_DEBUG - logdebugx("%s: send fd %d, %zu bytes", __func__, wfd, len); -#endif - if ((len == -1 || len == 0) && ctx->options & DHCPCD_FORKED && - !(ctx->options & DHCPCD_PRIVSEPROOT)) - eloop_exit(ctx->eloop, len == 0 ? EXIT_SUCCESS : EXIT_FAILURE); + if (len == -1) { + logerr("ps_sendcmdmsg"); + if (ctx->options & DHCPCD_FORKED && + !(ctx->options & DHCPCD_PRIVSEPROOT)) + eloop_exit(ctx->eloop, EXIT_FAILURE); + } return len; }
