Re: How to get at the apr_socket_t?
Tyler MacDonald [EMAIL PROTECTED] wrote: I'm working on a raw tcp/ip handler which is going to have to do nonblocking I/O. I'd like to get direct access to the apr_socket_t from the request_rec/conn_rec... OK, I found this in mod_proxy: apr_socket_t *client_socket = ap_get_module_config(r-connection-conn_config, core_module); But that is only avaialable if CORE_PRIVATE is defined... Does that mean my module needs to define CORE_PRIVATE in order to get access to an apr_socket_t? That seems dirty to me... is there some better way? - Tyler
Re: How to get at the apr_socket_t?
On Thu, 11 May 2006 13:36:44 -0700 Tyler MacDonald [EMAIL PROTECTED] wrote: Tyler MacDonald [EMAIL PROTECTED] wrote: I'm working on a raw tcp/ip handler which is going to have to do nonblocking I/O. I'd like to get direct access to the apr_socket_t from the request_rec/conn_rec... OK, I found this in mod_proxy: apr_socket_t *client_socket = ap_get_module_config(r-connection-conn_config, core_module); But that is only avaialable if CORE_PRIVATE is defined... Does that mean my module needs to define CORE_PRIVATE in order to get access to an apr_socket_t? That seems dirty to me... is there some better way? How about: conn_rec-cs-pfd-desc ? -- Davi Arnaut
Re: How to get at the apr_socket_t?
Davi Arnaut [EMAIL PROTECTED] wrote: apr_socket_t *client_socket = ap_get_module_config(r-connection-conn_config, core_module); But that is only avaialable if CORE_PRIVATE is defined... Does that mean my module needs to define CORE_PRIVATE in order to get access to an apr_socket_t? That seems dirty to me... is there some better way? How about: conn_rec-cs-pfd-desc ? That definately is better... so long as that's the right file descriptor. :-) I guess that would make me ask the question, why is mod_proxy not doing it that way? Thanks, Tyler
Re: How to get at the apr_socket_t?
Tyler MacDonald wrote: Tyler MacDonald [EMAIL PROTECTED] wrote: I'm working on a raw tcp/ip handler which is going to have to do nonblocking I/O. I'd like to get direct access to the apr_socket_t from the request_rec/conn_rec... OK, I found this in mod_proxy: apr_socket_t *client_socket = ap_get_module_config(r-connection-conn_config, core_module); But that is only avaialable if CORE_PRIVATE is defined... Does that mean my module needs to define CORE_PRIVATE in order to get access to an apr_socket_t? That seems dirty to me... is there some better way? In httpd 2.0 there's no assurance that httpd is even accessed by a socket, so of course you are rolling the dice. For example, in mod_perchild, the backend is a domain socket to another instance of Apache. In mod_ftp you would see the data socket, not the control socket, etc. It's private for a reason, if you know what you are doing, declare CORE_PRIVATE and use it. Bill
Re: How to get at the apr_socket_t?
William A. Rowe, Jr. [EMAIL PROTECTED] wrote: ap_get_module_config(r-connection-conn_config, core_module); But that is only avaialable if CORE_PRIVATE is defined... Does that mean my module needs to define CORE_PRIVATE in order to get access to an apr_socket_t? That seems dirty to me... is there some better way? In httpd 2.0 there's no assurance that httpd is even accessed by a socket, so of course you are rolling the dice. For example, in mod_perchild, the backend is a domain socket to another instance of Apache. In mod_ftp you would see the data socket, not the control socket, etc. It's private for a reason, if you know what you are doing, declare CORE_PRIVATE and use it. Okay, fair enough. I think I know what I'm doing, so I'll go ahead with it. :-) Davi Arnaut [EMAIL PROTECTED] wrote: How about: conn_rec-cs-pfd-desc ? So what exactly is that, William? Is that the same socket, the main listening socket that httpd accept()s on, or something else? Thanks, Tyler