You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modules-dev@httpd.apache.org by Rainer Jung <ra...@kippdata.de> on 2009/08/25 10:56:35 UTC

Re: Detecting when KeepAlive connection timeouts (retrieving the browser fd)

On 25.08.2009 09:05, Alexander Farber wrote:
> On Mon, Aug 24, 2009 at 9:11 AM, Sorin Manolache<so...@gmail.com> wrote:
>> On Mon, Aug 24, 2009 at 00:08, Alexander
>> Farber<al...@gmail.com> wrote:
>>>
>>> So I think I should select() or poll() on 2 fds
>>> in my Apache module - one is the Unix pipe
>>> to the game daemon and another fd should
>>> be the socket fd to the browser.
>>>
>>> My question is how do I retrieve the latter fd,
>>> so that I can select() or poll() on it?
>>>
>>
>> Hook pre_connection(conn_rec *c, void *csd)
>>
>> The csd is the abstract type apr_socket_t. This one has a field
>> socketdes. I think this is the descriptor you are looking for.
>>
>> Please note that I base my recommendation on Apache 2.2.x (not 1.3.x)!
>> Also, I have not tried out the solution I'm proposing ;-).
> 
> I keep looking and can't find it for Apache 1.3.x.
> Which one of these is it please:
> 
> module asis_module = {
> STANDARD_MODULE_STUFF,
> NULL, /* initializer */
> NULL, /* create per-directory config structure */
> NULL, /* merge per-directory config structures */
> NULL, /* create per-server config structure */
> NULL, /* merge per-server config structures */
> NULL, /* command table */
> asis_handlers, /* handlers */
> NULL, /* translate_handler */
> NULL, /* check_user_id */
> NULL, /* check auth */
> NULL, /* check access */
> NULL, /* type_checker */
> NULL, /* prerun fixups */
> NULL /* logger */
> NULL, /* header parser */
> NULL, /* child_init */
> NULL, /* child_exit */
> NULL /* post read request */
> };
> 
> Also there is no access to the browser socket from the conn_rec structure?
> 
> Regards
> Alex

There is a similar hook for Apache 1.3 when compiled with mod_ssl.
mod_ssl comes with source patches adding more hooks to Apache 1.3 (the
so called Extended API = EAPI). The extended API has a new_connection().

I didn't check the non-EAPI one, but at least with EAPI conn_rec
contains a BUFF, that encapsulated the FDs and more.

Regards,

Rainer

Re: Detecting when KeepAlive connection timeouts (retrieving the browser fd)

Posted by Alexander Farber <al...@gmail.com>.
Thank you

On Tue, Aug 25, 2009 at 10:56 AM, Rainer Jung<ra...@kippdata.de> wrote:
> There is a similar hook for Apache 1.3 when compiled with mod_ssl.
> mod_ssl comes with source patches adding more hooks to Apache 1.3 (the
> so called Extended API = EAPI). The extended API has a new_connection().
>
> I didn't check the non-EAPI one, but at least with EAPI conn_rec
> contains a BUFF, that encapsulated the FDs and more.
>