There were some changes made recently to accomodate the ackwardness of the non-portable functions on platforms that have no use for them, specifically for use in the worker MPM. If APR_HAS_CREATE_LOCKS_NP is not defined, we no longer use the apr_proc_mutex_create_np() routine. This seems reasonable, except that since we don't define this symbol anywhere, we've effectively broken the AcceptMutex directive for the worker MPM.
I started to implement a hack on Unix (where this function is defined and usable), but after discovering this to be more work than it's worth, I decided to come back to the list so that we can sort this whole thing out once and for all: What do we do about these _np functions? I've grown quite accustomed to being able to switch over to AcceptMutex pthread whenever I want, but this whole concept goes against the grain in APR. I could go either way (for keeping or removing), but aparently others cannot. Duke it out or whatever, but let's get this solved. -aaron For now, here's a lame hack for apache to get the AcceptMutex working again on the worker MPM under Unix: Index: os/unix/os.h =================================================================== RCS file: /home/cvs/httpd-2.0/os/unix/os.h,v retrieving revision 1.17 diff -u -r1.17 os.h --- os/unix/os.h 23 Aug 2001 19:08:20 -0000 1.17 +++ os/unix/os.h 29 Dec 2001 01:15:30 -0000 @@ -66,4 +66,6 @@ #define PLATFORM "Unix" #endif +#define APR_HAS_CREATE_LOCKS_NP 1 + #endif /* !APACHE_OS_H */
