[mod-lisp-devel] Re: [tbnl-devel] Odd behavior (socket leak)

pete-tbnl-dev at kazmier.com pete-tbnl-dev at kazmier.com
Fri Jul 16 14:44:03 UTC 2004


This bounced the first time I sent it to the list because I was not
subscribed.

----- Forwarded message from pete-tbnl-dev at kazmier.com -----

From: pete-tbnl-dev at kazmier.com
To: edi at agharta.de
Cc: pete-tbnl-dev at kazmier.com, tbnl-devel at common-lisp.net,
	mod-lisp-devel at common-lisp.net
Subject: Re: [tbnl-devel] Odd behavior (socket leak)

On Fri, Jul 16, 2004 at 12:37:49PM +0200, edi at miles wrote:
> I'm sitting in a train and trying to send this via my cell
> phone. Let's see if it works... :)

Nice :-)

> I've looked at the source code of mod_lisp.c (version 2.33) and Apache
> (1.3.29) and I'm beginning to ask myself whether the "Keep-Socket"
> option makes any sense at all. What I see with my limited knowledge of
> Apache is the following:

You missed one key part of the process.

> 2. To get a socket, lisp-handler calls OpenLispSocket.
> 
> 3. OpenLispSocket uses ap_psocket (using the global variable
>    SocketPool) to get a socket from Apache.

OpenLispSocket only fetches a new socket if and only if one has not
already established and is safe to use (see here):

    if (cfg->LispSocket)                                                                             if (cfg->UnsafeLispSocket)
        {                                                                                                ap_pclosesocket(SocketPool, cfg->LispSocket);
            cfg->LispSocket = 0;
            cfg->UnsafeLispSocket = 0;
        }
        else
        {   
            return cfg->LispSocket;
        }

This is the step that bypasses the creation of a new socket.  Thus,
Keep-Socket does make sense.  I'll continue looking at the TBNL and
mod_Lisp interaction to see if I can find anything else.

Thanks,
Pete


----- End forwarded message -----




More information about the mod-lisp-devel mailing list