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.

Bill

Reply via email to