mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
* Get rid of the memory leak messages in case of fatal errors or exit()
* .dsp fixes * Minor fixes
This commit is contained in:
@@ -348,6 +348,8 @@ static void convert_browscap_pattern(pval *pattern)
|
||||
%token EXTENSION
|
||||
%token T_ZEND_EXTENSION
|
||||
%token T_ZEND_EXTENSION_TS
|
||||
%token T_ZEND_EXTENSION_DEBUG
|
||||
%token T_ZEND_EXTENSION_DEBUG_TS
|
||||
|
||||
%%
|
||||
|
||||
@@ -380,13 +382,25 @@ statement:
|
||||
php3_dl(&$3,MODULE_PERSISTENT,&dummy);
|
||||
}
|
||||
| T_ZEND_EXTENSION '=' string {
|
||||
#ifndef ZTS
|
||||
#if !defined(ZTS) && !defined(ZEND_DEBUG)
|
||||
zend_load_extension($3.value.str.val);
|
||||
#endif
|
||||
free($3.value.str.val);
|
||||
}
|
||||
| T_ZEND_EXTENSION_TS '=' string {
|
||||
#ifdef ZTS
|
||||
#if defined(ZTS) && !defined(ZEND_DEBUG)
|
||||
zend_load_extension($3.value.str.val);
|
||||
#endif
|
||||
free($3.value.str.val);
|
||||
}
|
||||
| T_ZEND_EXTENSION_DEBUG '=' string {
|
||||
#if !defined(ZTS) && defined(ZEND_DEBUG)
|
||||
zend_load_extension($3.value.str.val);
|
||||
#endif
|
||||
free($3.value.str.val);
|
||||
}
|
||||
| T_ZEND_EXTENSION_DEBUG_TS '=' string {
|
||||
#if defined(ZTS) && defined(ZEND_DEBUG)
|
||||
zend_load_extension($3.value.str.val);
|
||||
#endif
|
||||
free($3.value.str.val);
|
||||
|
||||
@@ -64,6 +64,17 @@ void init_cfg_scanner()
|
||||
return T_ZEND_EXTENSION_TS;
|
||||
}
|
||||
|
||||
|
||||
<INITIAL>"zend_extension_debug" {
|
||||
return T_ZEND_EXTENSION_DEBUG;
|
||||
}
|
||||
|
||||
|
||||
<INITIAL>"zend_extension_debug_ts" {
|
||||
return T_ZEND_EXTENSION_DEBUG_TS;
|
||||
}
|
||||
|
||||
|
||||
<INITIAL>[ ]*("true"|"on"|"yes")[ ]* {
|
||||
cfglval->value.str.val = php3_strndup("1",1);
|
||||
cfglval->value.str.len = 1;
|
||||
|
||||
11
main/main.c
11
main/main.c
@@ -597,8 +597,10 @@ static void php_message_handler_for_zend(long message, void *data)
|
||||
|
||||
|
||||
|
||||
int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
|
||||
int php_request_startup(CLS_D ELS_DC PLS_DC)
|
||||
{
|
||||
PG(unclean_shutdown) = 0;
|
||||
|
||||
zend_output_startup();
|
||||
|
||||
php3_set_timeout(PG(max_execution_time));
|
||||
@@ -629,7 +631,6 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
|
||||
|
||||
init_compiler(CLS_C ELS_CC);
|
||||
init_executor(CLS_C ELS_CC);
|
||||
|
||||
startup_scanner(CLS_C);
|
||||
|
||||
|
||||
@@ -659,6 +660,7 @@ void php_request_shutdown(void *dummy)
|
||||
#endif
|
||||
CLS_FETCH();
|
||||
ELS_FETCH();
|
||||
PLS_FETCH();
|
||||
|
||||
php3_header();
|
||||
zend_end_ob_buffering(1);
|
||||
@@ -673,7 +675,7 @@ void php_request_shutdown(void *dummy)
|
||||
shutdown_executor(ELS_C);
|
||||
|
||||
php3_destroy_request_info(NULL);
|
||||
shutdown_memory_manager(0, 0);
|
||||
shutdown_memory_manager(PG(unclean_shutdown), 0);
|
||||
php3_unset_timeout();
|
||||
|
||||
|
||||
@@ -1130,6 +1132,7 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
|
||||
}
|
||||
|
||||
if (setjmp(EG(bailout))!=0) {
|
||||
PG(unclean_shutdown) = 1;
|
||||
return;
|
||||
}
|
||||
_php3_hash_environment(PLS_C);
|
||||
@@ -1156,6 +1159,8 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
|
||||
if (EG(main_op_array)) {
|
||||
EG(active_op_array) = EG(main_op_array);
|
||||
zend_execute(EG(main_op_array) ELS_CC);
|
||||
} else {
|
||||
PG(unclean_shutdown) = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ struct _php_core_globals {
|
||||
long y2k_compliance;
|
||||
|
||||
unsigned char header_is_being_sent;
|
||||
unsigned char unclean_shutdown;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\libzend" /I "." /I "regex" /I "..\bindlib_w32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40d /d "_DEBUG"
|
||||
@@ -69,7 +69,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\libzend" /I "." /I "regex" /I "..\bindlib_w32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40d /d "NDEBUG"
|
||||
|
||||
@@ -43,7 +43,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "WIN32" /D "_MBCS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /I "..\bindlib_w32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "WIN32" /D "_MBCS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40d /d "_DEBUG"
|
||||
@@ -69,7 +69,7 @@ LINK32=link.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /I "..\bindlib_w32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40d /d "NDEBUG"
|
||||
|
||||
Reference in New Issue
Block a user