At 05:55 PM 5/29/2002, you wrote: >On Wed, 29 May 2002, William A. Rowe, Jr. wrote: > > > Cliff, in order to get together Sebastian's fixes for isapi, we need to > roll up > > to the current thread_mutex code with the APR_THREAD_MUTEX_UNNESTED > > flag... could you fold those changes in along with the mod_isapi.c fixes, > > and the change to the mod_deflate.dsp to incorporate the inflation API? > >I'll incorporate the thread_mutex changes after I've tested them, but I >will admit there are rather more /* XXX: implement this */ comments in >there than I'd like to see under normal circumstances.
Yes - however we used to assert that _DEFAULT was an unnested lock, but rather than return ENOTIMPL, Win32, OS2 and Netware blindly returned nested locks. That is a serious fault. Now _DEFAULT is platform's choice, _NESTED is implemented everywhere, and only _UNNESTED is is a new behavior/option and is only used in modules/arch/win32/mod_isapi.c so far. I'm sure someone will discover other locks that weren't supposed to be nested, they will fix these _DEFAULT cases, and then OS2/Netware will need to get on the ball or they will simply fail rather than proceeding with an inappropriate mutex. In the meantime, most _DEFAULTs throughout the server remain just fine for the 99% of cases. So ENOTIMPL only hits mod_isapi.c, and we went from /* XXX: aught to fix */ to returning ENOTIMPL, a safer behavior. >As for the mod_deflate.dsp, I'm intentionally leaving that out because I'm >intentionally leaving out the deflate_in filter for now. Very cool.
