From 870de08db54cf6f2f768683329a84614d7f99334 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 23 May 2016 16:43:02 +0100 Subject: [PATCH] Add a little extra diagnostic to nno-blocking write --- common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common.c b/common.c index d7c32f2f..b4d95839 100644 --- a/common.c +++ b/common.c @@ -524,13 +524,15 @@ ssize_t non_blocking_write(int fd, const void *buf, size_t count) { ufds[0].events = POLLOUT; rc = poll(ufds, 1, config.metadata_pipe_timeout); if (rc < 0) { - debug(1, "error waiting for pipe to become ready for writing..."); + debug(1, "non-blocking write error waiting for pipe to become ready for writing..."); } else if (rc == 0) { - warn("timeout waiting for pipe to become ready for writing"); + warn("non-blocking write timeout waiting for pipe to become ready for writing"); rc = -2; } else { //rc > 0, implying it might be ready size_t bytes_written = write(fd,ibuf,bytes_remaining); if (bytes_written==-1) { + if (errno==EINTR) + debug(1,"non-blocking write interrupted by a signal interrupt"); if (!((errno == EAGAIN) || (errno == EWOULDBLOCK))) rc = -1; } else {