[mod-lisp-devel] Possible bug

Marc Battyani marc.battyani at fractalconcept.com
Thu Mar 31 22:02:52 UTC 2005


> Sorry to follow up on myself again, but I discovered that,
> in "int OpenLispSocket(excfg *cfg)",
>
> if after the successful socket open, I change the code
> from
>
>   /* Check if we connected */
>   if (ret == -1)
>     return -1;
>
> to
>
>   /* Check if we connected */
>   if (ret == -1)
>     {
>       ap_pclosesocket(SocketPool, sock);
>       return -1;
>     }
>
> The broken behaviour disappears.
>
> I do not know if there are other places in the code which may
> also be leaking descriptors in other call paths.

Good catch, thanks! Those languages without unwind-protect are a pain ;-)
There is at least the equivalent code in mod_lisp2. I will fix it and commit
both versions.
Generaly though the Apache processes are killed after serving a given number
of replies. This is probably why this was not catched before.

Cheers,

Marc





More information about the mod-lisp-devel mailing list