On Oct 12, 2005, at 2:45 PM, William A. Rowe, Jr. wrote:

Jim Jagielski wrote:

It's looking like the logic in selecting the default lock
method is somewhat wonky... We recreate the order, kinda, in
2 places (configure.in and proc_mutex.c), and have
a combo of APR_HAS and APR_USE taken from the old 1.3
logic.
I'd like to propose streamlining it, doing away with the
APR_USE stuff and having the default order specified
fully in proc_mutex.c.


APR_HAS_ means that you can directly request a specific kind of
lock, which is useful.

APR_USE_ really should result in only one value, which reflects
the 'default choice' for that platform.

It probably would have been clearer if we had

#define APR_HAS_QUIRK_FOO
#define APR_HAS_QUIRK_BAR

#define APR_USE_QUIRK apr_quirk_bar

but then again, that has it's own issues.

In any can, APR_USE_QUIRK_XXX should only have occurred once, so
there's no potential that in one code path, it evaluated _FOO first,
and in another code path, it may evaluate _BAR first, causing major
pain and commotion.


The rub, as I said, is that we place the order in configure.in
instead of in proc_mutex.c. Not only that, but we clean up
the doubling of the APR_HAS_ and APR_USE configure.in
segments... let em work up a patch to show what I mean.

Reply via email to