ben         99/07/10 06:32:48

  Modified:    mpm/src/include ap_hooks.h
               mpm/src/main http_config.c http_main.c
  Log:
  Rudimentary debugging for hooks.
  
  Revision  Changes    Path
  1.3       +4 -0      apache-2.0/mpm/src/include/ap_hooks.h
  
  Index: ap_hooks.h
  ===================================================================
  RCS file: /export/home/cvs/apache-2.0/mpm/src/include/ap_hooks.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_hooks.h        1999/07/06 21:32:08     1.2
  +++ ap_hooks.h        1999/07/10 13:32:46     1.3
  @@ -1,6 +1,8 @@
   #ifndef APACHE_AP_HOOKS_H
   #define APACHE_AP_HOOKS_H
   
  +extern int g_bDebugHooks;
  +
   #define DECLARE_HOOK(ret,name,args) \
   typedef ret HOOK_##name args; \
   void ap_hook_##name(HOOK_##name *pf); \
  @@ -24,6 +26,8 @@
       pHook->pNext=_hooks.link_##name; \
       pHook->pFunc=pf; \
       _hooks.link_##name=pHook; \
  +    if(g_bDebugHooks) \
  +     puts("  Hooked " #name); \
       } \
   ret ap_run_##name args \
       { \
  
  
  
  1.7       +16 -2     apache-2.0/mpm/src/main/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_config.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- http_config.c     1999/07/06 21:32:10     1.6
  +++ http_config.c     1999/07/10 13:32:47     1.7
  @@ -529,6 +529,21 @@
       return HTTP_INTERNAL_SERVER_ERROR;
   }
   
  +int g_bDebugHooks;
  +
  +static void register_hooks(module *m)
  +    {
  +    if(m->register_hooks)
  +     {
  +     if(ap_exists_config_define("SHOW_HOOKS"))
  +         {
  +         printf("Registering hooks for %s\n",m->name);
  +         g_bDebugHooks=1;
  +         }
  +     m->register_hooks();
  +     }
  +    }
  +
   /* One-time setup for precompiled modules --- NOT to be done on restart */
   
   API_EXPORT(void) ap_add_module(module *m)
  @@ -582,8 +597,7 @@
   #endif /*_OSD_POSIX*/
   
       /* FIXME: is this the right place to call this? */
  -    if(m->register_hooks)
  -     m->register_hooks();
  +    register_hooks(m);
   }
   
   /* 
  
  
  
  1.4       +15 -6     apache-2.0/mpm/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_main.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- http_main.c       1999/07/05 13:00:45     1.3
  +++ http_main.c       1999/07/10 13:32:47     1.4
  @@ -247,6 +247,7 @@
       pool *ptemp;             /* Pool for temporart config stuff */
       pool *pcommands;         /* Pool for -C and -c switches */
       extern char *optarg;
  +    extern int optind,optreset;
   
   
       /* TODO: PATHSEPARATOR should be one of the os defines */
  @@ -264,14 +265,26 @@
       pglobal = ap_init_alloc();
       g_pHookPool=pglobal;
   
  -    ap_setup_prelinked_modules();
  -
       pcommands = ap_make_sub_pool(pglobal);
       ap_server_pre_read_config  = ap_make_array(pcommands, 1, sizeof(char *));
       ap_server_post_read_config = ap_make_array(pcommands, 1, sizeof(char *));
       ap_server_config_defines   = ap_make_array(pcommands, 1, sizeof(char *));
  +
  +    while ((c = getopt(argc, argv, "D:C:c:Xd:f:vVlLR:th")) != -1) {
  +        char **new;
  +        switch (c) {
  +     case 'D':
  +         new = (char **)ap_push_array(ap_server_config_defines);
  +         *new = ap_pstrdup(pcommands, optarg);
  +         break;
  +     }
  +    }
  +
  +    ap_setup_prelinked_modules();
  +
       ap_pre_command_line_hook(pcommands);
   
  +    optind=optreset=1;
       while ((c = getopt(argc, argv, "D:C:c:Xd:f:vVlLR:th")) != -1) {
           char **new;
           switch (c) {
  @@ -281,10 +294,6 @@
            break;
        case 'C':
            new = (char **)ap_push_array(ap_server_pre_read_config);
  -         *new = ap_pstrdup(pcommands, optarg);
  -         break;
  -     case 'D':
  -         new = (char **)ap_push_array(ap_server_config_defines);
            *new = ap_pstrdup(pcommands, optarg);
            break;
        case 'd':
  
  
  

Reply via email to