From deba3ed900eb4453d27412606cecfaf89b5a5643 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Fri, 8 Aug 2003 14:24:09 +0000 Subject: [PATCH] Correct error message when remote host closed connection. --- src/meta.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/meta.c b/src/meta.c index 0d103c03..18315ad1 100644 --- a/src/meta.c +++ b/src/meta.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: meta.c,v 1.1.2.38 2003/07/29 22:59:00 guus Exp $ + $Id: meta.c,v 1.1.2.39 2003/08/08 14:24:09 guus Exp $ */ #include "system.h" @@ -54,10 +54,14 @@ bool send_meta(connection_t *c, char *buffer, int length) while(length) { result = send(c->socket, bufp, length, 0); if(result <= 0) { - if(errno == EINTR) + if(!errno || errno == EPIPE) + ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Connection closed by %s (%s)"), + c->name, c->hostname); + else if(errno == EINTR) continue; - logger(LOG_ERR, _("Sending meta data to %s (%s) failed: %s"), c->name, - c->hostname, strerror(errno)); + else + logger(LOG_ERR, _("Sending meta data to %s (%s) failed: %s"), c->name, + c->hostname, strerror(errno)); return false; } bufp += result; @@ -117,10 +121,10 @@ bool receive_meta(connection_t *c) lenin = recv(c->socket, c->buffer + c->buflen, MAXBUFSIZE - c->buflen, 0); if(lenin <= 0) { - if(lenin == 0) { + if(!lenin || !errno) ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Connection closed by %s (%s)"), c->name, c->hostname); - } else if(errno == EINTR) + else if(errno == EINTR) return true; else logger(LOG_ERR, _("Metadata socket read error for %s (%s): %s"), -- 2.39.5