qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 11/19] io/channel-socket: qio_channel_socket_writev


From: Vladimir Sementsov-Ogievskiy
Subject: [Qemu-devel] [PATCH 11/19] io/channel-socket: qio_channel_socket_writev handle EPIPE
Date: Tue, 30 May 2017 17:30:44 +0300

Return QIO_CHANNEL_ERR_EPIPE on EPIPE, we will need it to improve error
path in nbd server.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
 include/io/channel.h | 1 +
 io/channel-socket.c  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/io/channel.h b/include/io/channel.h
index 5d48906998..5529c2da31 100644
--- a/include/io/channel.h
+++ b/include/io/channel.h
@@ -38,6 +38,7 @@ typedef struct QIOChannel QIOChannel;
 typedef struct QIOChannelClass QIOChannelClass;
 
 #define QIO_CHANNEL_ERR_BLOCK -2
+#define QIO_CHANNEL_ERR_EPIPE -3
 
 typedef enum QIOChannelFeature QIOChannelFeature;
 
diff --git a/io/channel-socket.c b/io/channel-socket.c
index 53386b7ba3..50f9f966c6 100644
--- a/io/channel-socket.c
+++ b/io/channel-socket.c
@@ -542,7 +542,7 @@ static ssize_t qio_channel_socket_writev(QIOChannel *ioc,
         }
         error_setg_errno(errp, errno,
                          "Unable to write to socket");
-        return -1;
+        return errno == EPIPE ? QIO_CHANNEL_ERR_EPIPE : -1;
     }
     return ret;
 }
-- 
2.11.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]