From 21a2d1b69cc4e63468e23d2ca30c8124d3258a12 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 17 Mar 2017 16:18:08 +0100 Subject: [PATCH] rpc: serverclient: Add option to suppress errors on EOF The protocol may not use an explicit API to close the connection and just close the socket instead. Add option to suppress errors in such case. --- src/rpc/virnetserverclient.c | 13 +++++++++++++ src/rpc/virnetserverclient.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index 81da82cab3..85857bc3ef 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -1637,3 +1637,16 @@ virNetServerClientGetInfo(virNetServerClientPtr client, virObjectUnlock(client); return ret; } + + +/** + * virNetServerClientSetQuietEOF: + * + * Don't report errors for protocols that close connection by hangup of the + * socket rather than calling an API to close it. + */ +void +virNetServerClientSetQuietEOF(virNetServerClientPtr client) +{ + virNetSocketSetQuietEOF(client->sock); +} diff --git a/src/rpc/virnetserverclient.h b/src/rpc/virnetserverclient.h index a53cc00b20..e45c78882e 100644 --- a/src/rpc/virnetserverclient.h +++ b/src/rpc/virnetserverclient.h @@ -152,4 +152,6 @@ int virNetServerClientGetInfo(virNetServerClientPtr client, bool *readonly, char **sock_addr, virIdentityPtr *identity); +void virNetServerClientSetQuietEOF(virNetServerClientPtr client); + #endif /* __VIR_NET_SERVER_CLIENT_H__ */