httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Giovanni Donelli" <giovanni.done...@gmail.com>
Subject Re: Get the actual socket of a request_rec
Date Thu, 29 Nov 2007 14:33:49 GMT
Hi!     I totally understand your concerns regarding working directly with
the socket file descriptor.

However the module I am working on needs to cooperate with an extension in
the kernel and I would like to pass small data from the kernel to the module
by using the getsockopt API.

As soon as you have have the source code with you please post it here!

Thank you very much!
Giovanni


On Nov 29, 2007 10:32 AM, bronto <bronto@noip.sk> wrote:

> Hello,
>
> I don't have access o my source code right now, but the mentioned method
> is not one that I used (and mine worked).
> I guess, in a day or two I will be able to get to my source, and send it
> here.
>
> But to mention, are you sure you need the socket file descriptor? Since
> the api is done the way, that maybe 90% of modules actually don't need
> to know the socket(and use buckets&brigades). There *are* situations
> though, but think about it twice.
>
> Regards,
> Stefan
>
> Giovanni Donelli  wrote / napĂ­sal(a):
> > I needed to:
> > #define CORE_PRIVATE
> > Sorry about that.
> >
> > Anyway, this doesn't seem to be working. I'm logging the file
> > descriptor of different request_rec and the result is always the same,
> > (this can't be, right?).
> >
> > Any other way to get the actual socket of a request_rec ?
> >
> > Thanks!
> >
> >
> > On Nov 22, 2007 4:10 PM, Giovanni Donelli <giovanni.donelli@gmail.com>
> wrote:
> >
> >> Thank you very much,
> >>       what is the core_module symbol referencing to? I can't compile
> >> it without binding that to something.
> >>
> >> Giovanni
> >>
> >>
> >>
> >>
> >> On Nov 22, 2007 4:05 PM, Tamas Palagyi <tamas.palagyi@ge.com> wrote:
> >>
> >>> Try this:
> >>>
> >>> struct apr_socket_t_internal {
> >>>
> >>>     apr_pool_t *pool;
> >>>     int socketdes;
> >>> };
> >>>
> >>> int getfd(request_rec *r) {
> >>>
> >>>   conn_rec *c = r->connection;
> >>>   apr_socket_t *s = ap_get_module_config(c->conn_config,&core_module);
> >>>   struct apr_socket_t_internal *i = (struct apr_socket_t_internal *)
> s;
> >>>
> >>>   return i->socketdes;
> >>> }
> >>>
> >>> I have seen somewhere some other way to get fd tough...
> >>>
> >>> Tamas
> >>>
> >>>
> >>>
> >>>
> >>> On Thu, 2007-11-22 at 15:44 +0000, Giovanni Donelli wrote:
> >>>
> >>>> Dear fellow module developer,
> >>>>
> >>>>      given a request_rec*r is there anyway to get to the actual
> socket
> >>>> file descriptor from which the request came in?
> >>>>
> >>>> I have been struggling all day trying to get this info out of a
> >>>> request_rec. Please help!
> >>>>
> >>>> Thank you!
> >>>> Giovanni
> >>>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message