I have been looking at the IIS isapi issues and came up with the
following patch:
Rob,
I've done some work in the past on ISAPI threading issues (although I
by no means claim to understand how all the ZTS stuff works). Can you
explain why you added the calls to ts_free_thread() after the
DLL_PROCESS_ATTACH and then each call to HttpExtensionProc()? In both
cases the actual thread under IIS does continue to exist and can be
called on again when a new HTTP request arrives at the server. It
would appear to me that this change would be causes PHP to have to
reinitialize with each request. Is there a specific issue that you
were able to fix with this change?
Michael Sisolak
msisolak@yahoo.com
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
At 08:06 PM 11/17/2003 -0800, Michael Sisolak wrote:
I have been looking at the IIS isapi issues and came up with the
following patch:Rob,
I've done some work in the past on ISAPI threading issues (although I
by no means claim to understand how all the ZTS stuff works). Can you
explain why you added the calls to ts_free_thread() after the
DLL_PROCESS_ATTACH and then each call to HttpExtensionProc()? In both
cases the actual thread under IIS does continue to exist and can be
called on again when a new HTTP request arrives at the server. It
would appear to me that this change would be causes PHP to have to
reinitialize with each request. Is there a specific issue that you
were able to fix with this change?
Rob,
Also, how sure are you about this patch? What tool did you use for
debugging. The code changes you made change some of the most fragile code
in PHP so I want to be absolutely sure it's OK. I'm going to run it by Zeev
who knows this part of the code the best.
Andi
At 06:06 18/11/2003, Michael Sisolak wrote:
I have been looking at the IIS isapi issues and came up with the
following patch:Rob,
I've done some work in the past on ISAPI threading issues (although I
by no means claim to understand how all the ZTS stuff works). Can you
explain why you added the calls to ts_free_thread() after the
DLL_PROCESS_ATTACH and then each call to HttpExtensionProc()? In both
cases the actual thread under IIS does continue to exist and can be
called on again when a new HTTP request arrives at the server. It
would appear to me that this change would be causes PHP to have to
reinitialize with each request. Is there a specific issue that you
were able to fix with this change?
Same questions here... The extra calls to ts_free_thread() seem
bogus. Not sure yet about the other changes although they probably make
more sense - I never made too much effort to ensure that the cleanup of a
thread is very complete...
Zeev