On Thu, Nov 19, 2009 at 6:47 AM, Jeff Trawick <[email protected]> wrote: > On Thu, Nov 19, 2009 at 4:23 AM, Joe Orton <[email protected]> wrote: >> On Wed, Nov 18, 2009 at 01:18:55PM -0500, Jeff Trawick wrote: >>> A. simplistic goal: Just make it simple for modules with no special >>> issues or love of complexity. Provide these directives to set global >>> defaults for modules that have been modified to query them: >>> >>> use MutexMethod and MutexFileDir to configure method and lock location >>> globally or for a specific mutex use >>> >>> MutexMethod method-keyword # "none" not supported as global default >>> MutexFileDir /var/httpd/locks >>> >>> Modules call ap_global_mutex_method() and ap_global_mutex_file_dir() >>> to retrieve that information and use in their APR calls. >>> >>> b. more complex goal: Try to meet requirements of more complex (or >>> configurable) modules to get rid of some of the varying , complex >>> mplementations we already have, as well as handle the simple use. A >>> rough sketch is shown below: >> >> Yes! I've looked into doing something like this before and I thought a >> single "Mutex" directive would suffice: >> >> Mutex {default,rewrite-map,...} {none,sysvsem,fcntl:/blah} >> >> where the 3rd arg is parsed by ap_parse_mutex(). > > "blah" always has to point to a dir, and the lock identifier is used > when constructing the basename. > > --/-- > > I envisioned the conf (perhaps a vendor conf) declaring something like > > MutexDir logs > or > MutexDir /var/apache2/2.2/locks > > The admin can then adjust the mutex methods as necessary and not worry > about paths to locks. Or change MutexDir as necessary and not affect > the mutex methods at all. MutexDir can be used as a preventative > measure even if no file-based mutexes are currently configured. > > With the single directive solution, I don't see a way to declare "if > lock files must be used, put them here."
I sure hope there's no reason to put different mutexes on different filesystems...
