Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 1996 12:33:34 -0500 (CDT)
From:      "Karl Denninger, MCSNet" <karl@mcs.com>
To:        hackers@freebsd.org
Subject:   Silly socket question
Message-ID:  <m0u9EdD-000IDOC@venus.mcs.com>

next in thread | raw e-mail | index | archive | help
I am having a rough time with a funny application here.

We have a TCP application (it has to be stream oriented as we need
sequencing for encryption reasons) that receives LOTS of short transactions.

After a while, we end up with lots of sockets in this state:

tcp        0      0  192.160.127.126.50000  192.160.127.85.1946    CLOSE_WAIT
tcp        0      0  192.160.127.126.50000  192.160.127.85.1945    CLOSE_WAIT
tcp        0      0  192.160.127.126.50000  192.160.127.85.1944    CLOSE_WAIT
tcp        0      0  192.160.127.126.50000  192.160.127.85.1940    CLOSE_WAIT

In fact, hundreds of them.  This eventually overloads the system and it dies 
for processing transactions on that port.

I tried turning off LINGER, but didn't expect that to work (there's no data 
in the queue).   No effect (as expected).

Is there some option that can be passed to the stack to tell the system that
I don't *care* about any buffered metadata and that it needs to release the
socket resources *right now*?  The parent process which accepted these
connections (but closed them) is still around, but the child (which 
inherited them) is long gone.

Ideas?

--
--
Karl Denninger (karl@MCS.Net)| MCSNet - The Finest Internet Connectivity
Modem: [+1 312 248-0900]     | T1 from $600 monthly; speeds to DS-3 available
Voice: [+1 312 803-MCS1]     | 21 Chicagoland POPs, ISDN, 28.8, much more
Fax: [+1 312 248-9865]       | Email to "info@mcs.net" WWW: http://www.mcs.net/
ISDN - Get it here TODAY!    | Home of Chicago's only FULL Clarinet feed!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0u9EdD-000IDOC>