X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fmeta.c;h=c2fbd7edaa921830c9941eef7674c16149081f78;hp=0d103c03581ede781d7ff77dd02e432e79a9e506;hb=9bde92ce97d5503ff2d31dcc6f0648902580ec14;hpb=721e4caee0f7c6e003c297c95fb6d93bd4102219 diff --git a/src/meta.c b/src/meta.c index 0d103c03..c2fbd7ed 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.40 2003/08/08 22:11:54 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,7 +121,7 @@ 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)