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.


Reply via email to