William A. Rowe, Jr. wrote:Same basic idea, but a (much) better implementation. Sounds great to me.At 01:33 PM 9/20/2004, Jess Holle wrote:Brad Nicholes wrote:I'm still wondering if we shouldn't just stick with the local read/write lock on Windows and other single child MPMs (NetWare?) as this should allow better throughput in such cases and yet be safe, right? In fact,Actually on NetWare this is a non-issue. On NetWare everything is global (memory, locks, etc.), so there is no difference between a global mutex and a local one (other than previously we were using reader/writer locks rather than mutexes).It's similar for Win32 - except single process can be implemented as critical sections.On the contrary, if our #ifdef'ing is localized, I believe that doing this on a per-platform or per-MPM (or better yet a #ifdef HAS_MULTIPLE_WORKER_PROCESSES or some such) basis to maximize performance would be worthwhile.-1 Veto (not a vote) to test platforms.However, ap_mpm_query() will let you determine if you are running on a single or multi-process mpm, a threaded or non-threaded mpm, etc. If you want to test mpm behavior and make selections based on those characteristics, I'd see no issues with that. -- Jess Holle |