Now that proposal I like. We will still need one flag, however, and I'd suggest APR_LOCK_DEFAULT_NAMED, to insist to APR that it choose a lockmech, appropriate to the platform, which will take the fname and create a joinable mutex. If this flag isn't passed, and no specific locking mechansim is requested, APR is free to use any anonymous and therefore unjoinable mechanism it prefers in apr_global_mutex_create().
Sounds reasonable to add a new apr_lockmech_e for this. -- justin