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

Reply via email to