Hi all,

I would like to propose a change to the mpm_register_socket_callback() hooks to 
add the ability to support both pipes as well as sockets. In addition, I need 
more control over the individual events to support the idea that one 
socket/pipe might want to read at the same time another might want to write.

What I have in mind is to swap the apr_socket_t with a apr_pollfd_t, with all 
operation staying the same.

Index: include/mpm_common.h
===================================================================
--- include/mpm_common.h        (revision 1734657)
+++ include/mpm_common.h        (working copy)
@@ -427,14 +427,14 @@
  * @ingroup hooks
  */
 AP_DECLARE_HOOK(apr_status_t, mpm_register_socket_callback,
-                (apr_socket_t **s, apr_pool_t *p, int for_read, 
ap_mpm_callback_fn_t *cbfn, void *baton))
+                (apr_pollfd_t **pds, apr_pool_t *p, ap_mpm_callback_fn_t 
*cbfn, void *baton))
 
 /* register the specified callback, with timeout 
  * @ingroup hooks
  *
  */
 AP_DECLARE_HOOK(apr_status_t, mpm_register_socket_callback_timeout,
-                (apr_socket_t **s, apr_pool_t *p, int for_read, 
+                (apr_pollfd_t **pds, apr_pool_t *p,
                  ap_mpm_callback_fn_t *cbfn,  
                  ap_mpm_callback_fn_t *tofn, 
                  void *baton, 
@@ -444,7 +444,7 @@
  * @ingroup hooks
  */
 AP_DECLARE_HOOK(apr_status_t, mpm_unregister_socket_callback,
-                (apr_socket_t **s, apr_pool_t *p))
+                (apr_pollfd_t **pds, apr_pool_t *p))
 
 /** Resume the suspended connection 
  * @ingroup hooks

Regards,
Graham
—

Reply via email to