You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by dr...@apache.org on 2001/07/04 05:16:37 UTC

cvs commit: httpd-2.0/server config.c

dreid       01/07/03 20:16:36

  Modified:    server   config.c
  Log:
  Having gone through and expnaded out the hook macro it seemed a waste
  to throw it away, so here it is added as comments for people who are
  in the same place I was trying to debug what was going on inside a hook.
  
  Revision  Changes    Path
  1.130     +60 -8     httpd-2.0/server/config.c
  
  Index: config.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/config.c,v
  retrieving revision 1.129
  retrieving revision 1.130
  diff -u -r1.129 -r1.130
  --- config.c	2001/05/11 23:33:46	1.129
  +++ config.c	2001/07/04 03:16:33	1.130
  @@ -106,14 +106,14 @@
   AP_DECLARE_DATA ap_directive_t *ap_conftree;
   
   APR_HOOK_STRUCT(
  -	       APR_HOOK_LINK(header_parser)
  -	       APR_HOOK_LINK(pre_config)
  -	       APR_HOOK_LINK(post_config)
  -	       APR_HOOK_LINK(open_logs)
  -	       APR_HOOK_LINK(child_init)
  -	       APR_HOOK_LINK(handler)
  -               APR_HOOK_LINK(quick_handler)
  -	       APR_HOOK_LINK(optional_fn_retrieve)
  +           APR_HOOK_LINK(header_parser)
  +           APR_HOOK_LINK(pre_config)
  +           APR_HOOK_LINK(post_config)
  +           APR_HOOK_LINK(open_logs)
  +           APR_HOOK_LINK(child_init)
  +           APR_HOOK_LINK(handler)
  +           APR_HOOK_LINK(quick_handler)
  +           APR_HOOK_LINK(optional_fn_retrieve)
   )
   
   AP_IMPLEMENT_HOOK_RUN_ALL(int,header_parser,
  @@ -124,6 +124,58 @@
   AP_IMPLEMENT_HOOK_VOID(post_config,
   		       (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp,
                           server_rec *s),(pconf,plog,ptemp,s))
  +/* During the course of debugging I expanded this macro out, so
  + * rather than remove all the useful information there is in the
  + * following lines, I'm going to leave it here in case anyone
  + * else finds it useful.
  + *
  + * Ben has looked at it and thinks it correct :)
  + *
  +AP_DECLARE(void) ap_hook_post_config(ap_HOOK_post_config_t *pf,
  +                                     const char * const *aszPre,
  +                                     const char * const *aszSucc,
  +                                     int nOrder)
  +{
  +    ap_LINK_post_config_t *pHook;
  +
  +    if(!_hooks.link_post_config) { 
  +        _hooks.link_post_config=apr_array_make(apr_global_hook_pool,1,
  +	                                           sizeof(ap_LINK_post_config_t));
  +	    apr_hook_sort_register("post_config",&_hooks.link_post_config);
  +	}
  +
  +    pHook=apr_array_push(_hooks.link_post_config);
  +    pHook->pFunc=pf;
  +    pHook->aszPredecessors=aszPre;
  +    pHook->aszSuccessors=aszSucc;
  +    pHook->nOrder=nOrder;
  +    pHook->szName=apr_current_hooking_module;
  +
  +    if(apr_debug_module_hooks)
  +        apr_show_hook("post_config",aszPre,aszSucc);
  +}
  +
  +AP_DECLARE(apr_array_header_t *) ap_hook_get_post_config(void) {
  +    return _hooks.link_post_config;
  +}
  +
  +AP_DECLARE(void) ap_run_post_config (apr_pool_t *pconf,
  +                                     apr_pool_t *plog,
  +                                     apr_pool_t *ptemp,
  +                                     server_rec *s)
  +{
  +    ap_LINK_post_config_t *pHook;
  +    int n;
  +
  +    if(!_hooks.link_post_config)
  +        return;
  +
  +    pHook=(ap_LINK_post_config_t *)_hooks.link_post_config->elts;
  +    for(n=0 ; n < _hooks.link_post_config->nelts ; ++n)
  +        pHook[n].pFunc (pconf, plog, ptemp, s);
  +}
  + */
  +
   AP_IMPLEMENT_HOOK_VOID(open_logs,
   		       (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, 
                           server_rec *s),(pconf,plog,ptemp,s))