dmitry                                   Tue, 14 Feb 2012 13:31:23 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=323212

Log:
Fixed reinitialization of SAPI callbacks after php_module_startup()

Changed paths:
    U   php/php-src/branches/PHP_5_4/NEWS
    U   php/php-src/branches/PHP_5_4/sapi/cgi/cgi_main.c
    U   php/php-src/trunk/sapi/cgi/cgi_main.c

Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS   2012-02-14 13:05:31 UTC (rev 323211)
+++ php/php-src/branches/PHP_5_4/NEWS   2012-02-14 13:31:23 UTC (rev 323212)
@@ -7,6 +7,10 @@
   . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with
     $double=false). (Gustavo)

+- CGI/FastCGI SAPI
+  . Fixed reinitialization of SAPI callbacks after php_module_startup().
+    (Dmitry)
+
 02 Feb 2012, PHP 5.4.0 RC 7
 - Core:
   . Fixed bug #60895 (Possible invalid handler usage in windows random

Modified: php/php-src/branches/PHP_5_4/sapi/cgi/cgi_main.c
===================================================================
--- php/php-src/branches/PHP_5_4/sapi/cgi/cgi_main.c    2012-02-14 13:05:31 UTC 
(rev 323211)
+++ php/php-src/branches/PHP_5_4/sapi/cgi/cgi_main.c    2012-02-14 13:31:23 UTC 
(rev 323212)
@@ -1860,6 +1860,15 @@
        php_optind = orig_optind;
        php_optarg = orig_optarg;

+       if (fastcgi || bindpath) {
+               /* Override SAPI callbacks */
+               cgi_sapi_module.ub_write     = sapi_fcgi_ub_write;
+               cgi_sapi_module.flush        = sapi_fcgi_flush;
+               cgi_sapi_module.read_post    = sapi_fcgi_read_post;
+               cgi_sapi_module.getenv       = sapi_fcgi_getenv;
+               cgi_sapi_module.read_cookies = sapi_fcgi_read_cookies;
+       }
+
 #ifdef ZTS
        SG(request_info).path_translated = NULL;
 #endif
@@ -1929,13 +1938,6 @@
                fastcgi = fcgi_is_fastcgi();
        }
        if (fastcgi) {
-               /* Override SAPI callbacks */
-               sapi_module.ub_write     = sapi_fcgi_ub_write;
-               sapi_module.flush        = sapi_fcgi_flush;
-               sapi_module.read_post    = sapi_fcgi_read_post;
-               sapi_module.getenv       = sapi_fcgi_getenv;
-               sapi_module.read_cookies = sapi_fcgi_read_cookies;
-
                /* How many times to run PHP scripts before dying */
                if (getenv("PHP_FCGI_MAX_REQUESTS")) {
                        max_requests = atoi(getenv("PHP_FCGI_MAX_REQUESTS"));

Modified: php/php-src/trunk/sapi/cgi/cgi_main.c
===================================================================
--- php/php-src/trunk/sapi/cgi/cgi_main.c       2012-02-14 13:05:31 UTC (rev 
323211)
+++ php/php-src/trunk/sapi/cgi/cgi_main.c       2012-02-14 13:31:23 UTC (rev 
323212)
@@ -1859,6 +1859,15 @@
        php_optind = orig_optind;
        php_optarg = orig_optarg;

+       if (fastcgi || bindpath) {
+               /* Override SAPI callbacks */
+               cgi_sapi_module.ub_write     = sapi_fcgi_ub_write;
+               cgi_sapi_module.flush        = sapi_fcgi_flush;
+               cgi_sapi_module.read_post    = sapi_fcgi_read_post;
+               cgi_sapi_module.getenv       = sapi_fcgi_getenv;
+               cgi_sapi_module.read_cookies = sapi_fcgi_read_cookies;
+       }
+
 #ifdef ZTS
        SG(request_info).path_translated = NULL;
 #endif
@@ -1928,13 +1937,6 @@
                fastcgi = fcgi_is_fastcgi();
        }
        if (fastcgi) {
-               /* Override SAPI callbacks */
-               sapi_module.ub_write     = sapi_fcgi_ub_write;
-               sapi_module.flush        = sapi_fcgi_flush;
-               sapi_module.read_post    = sapi_fcgi_read_post;
-               sapi_module.getenv       = sapi_fcgi_getenv;
-               sapi_module.read_cookies = sapi_fcgi_read_cookies;
-
                /* How many times to run PHP scripts before dying */
                if (getenv("PHP_FCGI_MAX_REQUESTS")) {
                        max_requests = atoi(getenv("PHP_FCGI_MAX_REQUESTS"));

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to