Browse Source

do this only on win32

PHP-4.0.5
Shane Caraveo 27 years ago
parent
commit
42c874ba5f
  1. 9
      sapi/isapi/php4isapi.c

9
sapi/isapi/php4isapi.c

@ -504,6 +504,7 @@ static void my_endthread()
#endif
}
#ifdef PHP_WIN32
// ___except can only call a function, so we have to do this
// to retrieve the pointer.
BOOL exceptionhandler(LPEXCEPTION_POINTERS *e,LPEXCEPTION_POINTERS ep)
@ -511,6 +512,7 @@ BOOL exceptionhandler(LPEXCEPTION_POINTERS *e,LPEXCEPTION_POINTERS ep)
*e=ep;
return TRUE;
}
#endif
DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
{
@ -520,7 +522,9 @@ DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
CLS_FETCH();
ELS_FETCH();
PLS_FETCH();
#ifdef PHP_WIN32
LPEXCEPTION_POINTERS e;
#endif
if (setjmp(EG(bailout))!=0) {
php_request_shutdown(NULL);
@ -540,8 +544,11 @@ DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
if (SG(request_info).cookie_data) {
efree(SG(request_info).cookie_data);
}
#ifdef PHP_WIN32
} __except(exceptionhandler(&e,GetExceptionInformation())) {
// } __except(EXCEPTION_EXECUTE_HANDLER) {
#else
} __except(EXCEPTION_EXECUTE_HANDLER) {
#endif
#ifdef PHP_WIN32
char buf[1024];
if (_exception_code()==EXCEPTION_STACK_OVERFLOW) {

Loading…
Cancel
Save