|
|
|
@ -1758,7 +1758,9 @@ static void php_rinit_session_globals(TSRMLS_D) |
|
|
|
static void php_rshutdown_session_globals(TSRMLS_D) |
|
|
|
{ |
|
|
|
if (PS(mod_data)) { |
|
|
|
PS(mod)->s_close(&PS(mod_data) TSRMLS_CC); |
|
|
|
zend_try { |
|
|
|
PS(mod)->s_close(&PS(mod_data) TSRMLS_CC); |
|
|
|
} zend_end_try(); |
|
|
|
} |
|
|
|
if (PS(id)) { |
|
|
|
efree(PS(id)); |
|
|
|
@ -1794,9 +1796,11 @@ PHP_RINIT_FUNCTION(session) |
|
|
|
|
|
|
|
static void php_session_flush(TSRMLS_D) |
|
|
|
{ |
|
|
|
if(PS(session_status)==php_session_active) { |
|
|
|
php_session_save_current_state(TSRMLS_C); |
|
|
|
PS(session_status)=php_session_none; |
|
|
|
if (PS(session_status) == php_session_active) { |
|
|
|
PS(session_status) = php_session_none; |
|
|
|
zend_try { |
|
|
|
php_session_save_current_state(TSRMLS_C); |
|
|
|
} zend_end_try(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1809,10 +1813,8 @@ PHP_FUNCTION(session_write_close) |
|
|
|
|
|
|
|
PHP_RSHUTDOWN_FUNCTION(session) |
|
|
|
{ |
|
|
|
zend_try { |
|
|
|
php_session_flush(TSRMLS_C); |
|
|
|
php_rshutdown_session_globals(TSRMLS_C); |
|
|
|
} zend_end_try(); |
|
|
|
php_session_flush(TSRMLS_C); |
|
|
|
php_rshutdown_session_globals(TSRMLS_C); |
|
|
|
|
|
|
|
return SUCCESS; |
|
|
|
} |
|
|
|
|