On 25.08.2009 09:05, Alexander Farber wrote: > On Mon, Aug 24, 2009 at 9:11 AM, Sorin Manolache<sor...@gmail.com> wrote: >> On Mon, Aug 24, 2009 at 00:08, Alexander >> Farber<alexander.far...@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