arpad                                    Wed, 02 Nov 2011 16:53:22 +0000

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

Log:
fix calling user close func when it isn't open

Changed paths:
    U   php/php-src/branches/PHP_5_4/ext/session/session.c
    U   
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt
    A   
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt
    U   php/php-src/trunk/ext/session/session.c
    U   
php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt
    A   
php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt

Modified: php/php-src/branches/PHP_5_4/ext/session/session.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/session/session.c  2011-11-02 16:10:32 UTC 
(rev 318697)
+++ php/php-src/branches/PHP_5_4/ext/session/session.c  2011-11-02 16:53:22 UTC 
(rev 318698)
@@ -1649,7 +1649,6 @@
                        remove_user_shutdown_function("session_shutdown" 
TSRMLS_CC);
                }

-               PS(mod_user_implemented) = 1;
                if (PS(mod) && PS(session_status) == php_session_none && 
PS(mod) != &ps_mod_user) {
                        zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);
                }
@@ -1674,7 +1673,6 @@
                efree(name);
        }

-       PS(mod_user_implemented) = 1;

        if (PS(mod) && PS(mod) != &ps_mod_user) {
                zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);

Modified: 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt
===================================================================
--- 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt
      2011-11-02 16:10:32 UTC (rev 318697)
+++ 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_014.phpt
      2011-11-02 16:53:22 UTC (rev 318698)
@@ -28,5 +28,3 @@
 *** Testing session_set_save_handler() : calling default handler when 
save_handler=user ***

 Fatal error: SessionHandler::open(): Cannot call default session handler in %s 
on line %d
-
-Fatal error: Unknown: Cannot call default session handler in %s on line %d

Added: 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt
===================================================================
--- 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt
                              (rev 0)
+++ 
php/php-src/branches/PHP_5_4/ext/session/tests/session_set_save_handler_class_015.phpt
      2011-11-02 16:53:22 UTC (rev 318698)
@@ -0,0 +1,24 @@
+--TEST--
+Test session_set_save_handler() : register session handler but don't start
+--INI--
+session.save_handler=files
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+/*
+ * Prototype : bool session_set_save_handler(SessionHandler $handler [, bool 
$register_shutdown_function = true])
+ * Description : Sets user-level session storage functions
+ * Source code : ext/session/session.c
+ */
+
+echo "*** Testing session_set_save_handler() : register session handler but 
don't start  ***\n";
+
+session_set_save_handler(new SessionHandler);
+
+--EXPECTF--
+*** Testing session_set_save_handler() : register session handler but don't 
start  ***

Modified: php/php-src/trunk/ext/session/session.c
===================================================================
--- php/php-src/trunk/ext/session/session.c     2011-11-02 16:10:32 UTC (rev 
318697)
+++ php/php-src/trunk/ext/session/session.c     2011-11-02 16:53:22 UTC (rev 
318698)
@@ -1649,7 +1649,6 @@
                        remove_user_shutdown_function("session_shutdown" 
TSRMLS_CC);
                }

-               PS(mod_user_implemented) = 1;
                if (PS(mod) && PS(session_status) == php_session_none && 
PS(mod) != &ps_mod_user) {
                        zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);
                }
@@ -1674,8 +1673,6 @@
                efree(name);
        }

-       PS(mod_user_implemented) = 1;
-
        if (PS(mod) && PS(mod) != &ps_mod_user) {
                zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);
        }

Modified: 
php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt
===================================================================
--- php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt 
2011-11-02 16:10:32 UTC (rev 318697)
+++ php/php-src/trunk/ext/session/tests/session_set_save_handler_class_014.phpt 
2011-11-02 16:53:22 UTC (rev 318698)
@@ -28,5 +28,3 @@
 *** Testing session_set_save_handler() : calling default handler when 
save_handler=user ***

 Fatal error: SessionHandler::open(): Cannot call default session handler in %s 
on line %d
-
-Fatal error: Unknown: Cannot call default session handler in %s on line %d

Added: 
php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt
===================================================================
--- php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt 
                        (rev 0)
+++ php/php-src/trunk/ext/session/tests/session_set_save_handler_class_015.phpt 
2011-11-02 16:53:22 UTC (rev 318698)
@@ -0,0 +1,24 @@
+--TEST--
+Test session_set_save_handler() : register session handler but don't start
+--INI--
+session.save_handler=files
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+/*
+ * Prototype : bool session_set_save_handler(SessionHandler $handler [, bool 
$register_shutdown_function = true])
+ * Description : Sets user-level session storage functions
+ * Source code : ext/session/session.c
+ */
+
+echo "*** Testing session_set_save_handler() : register session handler but 
don't start  ***\n";
+
+session_set_save_handler(new SessionHandler);
+
+--EXPECTF--
+*** Testing session_set_save_handler() : register session handler but don't 
start  ***

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

Reply via email to