>>ok. I don't suppose that sleeping between startups makes a difference?
>>
>
> Sleeping between what? One test /on its own/ doesn't work!
yes, I realized after I sent it that you already found the problem has
nothing to do with stopping or starting. oops :)
>>the only thing I could suggest at this point is to comment out the
>>apr_hook_sort_all() call in modperl_apache_resort_hooks() to see if there
>>isn't something about that function (or calling it) that is mucking up the
>>works. what that would leave is the altering of the hook structure but (in
>>theory) have no real effect since the hook order is the same as it was going in.
>>
>
> That makes a difference: The original test suite now gets as far as the
> second test (-DReallyLast)
> There's nothing interesting in the error_log, and the test suite is
> aborted there. I assume the failure is simply because what's being
> tested for hasn't actually been done this time.
right - the test should fail because the order hasn't actually changed here.
but it ran.
so cool, we've isolated the "I can't start problem" to something in
apr_hook_sort_all().
so I guess the place to start looking is apr_hooks.c. I'll take a look at
it some more and throw in some debugging statement to see if anything jumps
out at me. one thing I've done already is to add some more details to the
core sort (attached). that gives me stuff like this:
[ from setup_prelinked_modules I think ]
Sorting translate_name: core.c (30)
[ from the main loop ]
Sorting translate_name: mod_perl.c (-10) mod_proxy.c (0) mod_rewrite.c (0)
mod_hook_order.c (0) mod_alias.c (10) mod_userdir.c (10) mod_vhost_alias.c
(10) core.c (30)
[ for mod_perl's post-config call ]
Sorting translate_name: mod_proxy.c (0) mod_rewrite.c (0) mod_hook_order.c
(0) mod_alias.c (10) mod_userdir.c (10) mod_vhost_alias.c (10) mod_perl.c
(30) core.c (30)
anyway, probably unimportant but I wanted to make sure that my new int
didn't get corrupt someplace. ymmv :)
>>anyway, thanks so much for taking the time to play with this. I hope it's
>>fun at least :)
>>
>
> For the appropriate definition of "fun", yes ;)
:)
--Geoff
Index: srclib/apr-util/hooks/apr_hooks.c
===================================================================
RCS file: /home/cvspublic/apr-util/hooks/apr_hooks.c,v
retrieving revision 1.47.2.1
diff -u -r1.47.2.1 apr_hooks.c
--- srclib/apr-util/hooks/apr_hooks.c 13 Feb 2004 09:52:42 -0000 1.47.2.1
+++ srclib/apr-util/hooks/apr_hooks.c 2 Mar 2004 21:03:28 -0000
@@ -33,7 +33,7 @@
#endif
APU_DECLARE_DATA apr_pool_t *apr_hook_global_pool = NULL;
-APU_DECLARE_DATA int apr_hook_debug_enabled = 0;
+APU_DECLARE_DATA int apr_hook_debug_enabled = 1;
APU_DECLARE_DATA const char *apr_hook_debug_current = NULL;
/** @deprecated @see apr_hook_global_pool */
@@ -178,7 +178,7 @@
pHook=apr_array_push(pNew);
memcpy(pHook,pSort->pData,sizeof *pHook);
if(apr_hook_debug_enabled)
- printf(" %s",pHook->szName);
+ printf(" %s (%d)",pHook->szName, pHook->nOrder);
}
if(apr_hook_debug_enabled)
fputc('\n',stdout);
@@ -217,10 +217,16 @@
#endif
int n;
+ if(apr_hook_debug_enabled)
+ printf("------ starting apr_hook_sort_all ------\n");
+
for(n=0 ; n < s_aHooksToSort->nelts ; ++n) {
HookSortEntry *pEntry=&((HookSortEntry *)s_aHooksToSort->elts)[n];
*pEntry->paHooks=sort_hook(*pEntry->paHooks,pEntry->szHookName);
}
+
+ if(apr_hook_debug_enabled)
+ printf("------ ending apr_hook_sort_all ------\n");
}
/** @deprecated @see apr_hook_sort_all */
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]