iliaa Fri Nov 18 14:01:50 2005 EDT Modified files: /php-src/sapi/apache2handler sapi_apache2.c Log: MFB51: Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module) http://cvs.php.net/diff.php/php-src/sapi/apache2handler/sapi_apache2.c?r1=1.63&r2=1.64&ty=u Index: php-src/sapi/apache2handler/sapi_apache2.c diff -u php-src/sapi/apache2handler/sapi_apache2.c:1.63 php-src/sapi/apache2handler/sapi_apache2.c:1.64 --- php-src/sapi/apache2handler/sapi_apache2.c:1.63 Thu Nov 17 15:56:09 2005 +++ php-src/sapi/apache2handler/sapi_apache2.c Fri Nov 18 14:01:50 2005 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.63 2005/11/17 20:56:09 iliaa Exp $ */ +/* $Id: sapi_apache2.c,v 1.64 2005/11/18 19:01:50 iliaa Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -443,6 +443,18 @@ php_request_shutdown(NULL); } +static void php_apache_ini_dtor(request_rec *r, request_rec *p TSRMLS_DC) +{ + if (strcmp(r->protocol, "INCLUDED")) { + zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); + } + if (p) { + ((php_struct *)SG(server_context))->r = p; + } else { + apr_pool_cleanup_run(r->pool, (void *)&SG(server_context), php_server_context_cleanup); + } +} + static int php_handler(request_rec *r) { php_struct *ctx; @@ -453,11 +465,7 @@ request_rec *parent_req = NULL; TSRMLS_FETCH(); -#define PHPAP_INI_OFF \ - if (strcmp(r->protocol, "INCLUDED")) { \ - zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \ - } \ - apr_pool_cleanup_run(r->pool, (void *)&SG(server_context), php_server_context_cleanup); \ +#define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req TSRMLS_CC); conf = ap_get_module_config(r->per_dir_config, &php5_module);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php