[libvirt] [PATCH 3/9] fdstream: Raise explicit error when iohelper gets SIGPIPE

Cole Robinson crobinso at redhat.com
Mon Apr 25 18:46:29 UTC 2016


This happens when virStreamFinish/Abort are called, but iohelper
still has data to process.
---
 src/fdstream.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/fdstream.c b/src/fdstream.c
index b0a46e9..155311a 100644
--- a/src/fdstream.c
+++ b/src/fdstream.c
@@ -264,6 +264,10 @@ virFDStreamCloseCommand(struct virFDStreamData *fdst)
     if (status != 0) {
         if (buf[0] != '\0') {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s", buf);
+        } else if (WIFSIGNALED(status) && WTERMSIG(status) == SIGPIPE) {
+            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                           _("I/O helper exited "
+                             "before all data was processed"));
         } else {
             char *str = virProcessTranslateStatus(status);
             virReportError(VIR_ERR_INTERNAL_ERROR,
-- 
2.7.3




More information about the libvir-list mailing list