httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: Detecting when KeepAlive connection timeouts (retrieving the browser fd)
Date Tue, 25 Aug 2009 08:56:35 GMT
On 25.08.2009 09:05, Alexander Farber wrote:
> On Mon, Aug 24, 2009 at 9:11 AM, Sorin Manolache<sorinm@gmail.com> wrote:
>> On Mon, Aug 24, 2009 at 00:08, Alexander
>> Farber<alexander.farber@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

Mime
View raw message