X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fssl-gnutls.c;h=9aa2f197cef1f5175ce3c4723ca64a775db74943;hb=fd0303c3260c6397b33912312af67e7a99523926;hp=1ab040d1dd85b9d4e7deb1298efb038cbc35fe9b;hpb=f24b7bb50470e554202f00ca7f66b6925f473ff1;p=ashd.git diff --git a/src/ssl-gnutls.c b/src/ssl-gnutls.c index 1ab040d..9aa2f19 100644 --- a/src/ssl-gnutls.c +++ b/src/ssl-gnutls.c @@ -364,7 +364,7 @@ static void listenloop(struct muth *muth, va_list args) struct sockaddr_storage name; socklen_t namelen; - fcntl(pd->fd, F_SETFL, fcntl(tcp->fd, F_GETFL) | O_NONBLOCK); + fcntl(pd->fd, F_SETFL, fcntl(pd->fd, F_GETFL) | O_NONBLOCK); while(1) { namelen = sizeof(name); if(block(pd->fd, EV_READ, 0) == 0) @@ -375,6 +375,8 @@ static void listenloop(struct muth *muth, va_list args) if(ns < 0) { if(errno == EAGAIN) break; + if(errno == ECONNABORTED) + continue; flog(LOG_ERR, "accept: %s", strerror(errno)); goto out; }