From: phk Date: Fri, 7 Jul 2006 07:48:49 +0000 (+0000) Subject: Set SO_LINGER to zero X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c9f2474f1111226a20eeea5d57c01eda4993662;p=varnish Set SO_LINGER to zero git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@373 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/cache_acceptor.c b/varnish-cache/bin/varnishd/cache_acceptor.c index ada07107..66fc17a6 100644 --- a/varnish-cache/bin/varnishd/cache_acceptor.c +++ b/varnish-cache/bin/varnishd/cache_acceptor.c @@ -187,6 +187,7 @@ accept_f(int fd, short event, void *arg) struct sess *sp; char port[NI_MAXSERV]; int i; + struct linger linger; VSL_stats->client_conn++; @@ -212,6 +213,12 @@ accept_f(int fd, short event, void *arg) i = 1; AZ(setsockopt(sp->fd, SOL_SOCKET, SO_NOSIGPIPE, &i, sizeof i)); #endif +#ifdef SO_LINGER /* XXX Linux*/ + linger.l_onoff = 0; + linger.l_linger = 0; + AZ(setsockopt(sp->fd, SOL_SOCKET, SO_LINGER, &linger, sizeof linger)); +#endif + i = getnameinfo(addr, l, sp->addr, VCA_ADDRBUFSIZE, port, sizeof port, NI_NUMERICHOST | NI_NUMERICSERV);