mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
(PHP session_destroy) return the error condition from storage handler's
session_destroy method. Submitted by: juhl@eisenstein.dk
This commit is contained in:
parent
94d7e1fa5b
commit
277b0e15b8
@ -275,7 +275,9 @@ PS_DESTROY_FUNC(files)
|
||||
if (!_ps_files_path_create(buf, sizeof(buf), data, key))
|
||||
return FAILURE;
|
||||
|
||||
V_UNLINK(buf);
|
||||
if (V_UNLINK(buf) == -1) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ PHP_MINFO_FUNCTION(session);
|
||||
|
||||
static void php_rinit_session_globals(PSLS_D);
|
||||
static void php_rshutdown_session_globals(PSLS_D);
|
||||
static void _php_session_destroy(PSLS_D);
|
||||
static zend_bool _php_session_destroy(PSLS_D);
|
||||
|
||||
zend_module_entry session_module_entry = {
|
||||
"session",
|
||||
@ -874,18 +874,24 @@ static void _php_session_start(PSLS_D)
|
||||
}
|
||||
}
|
||||
|
||||
static void _php_session_destroy(PSLS_D)
|
||||
static zend_bool _php_session_destroy(PSLS_D)
|
||||
{
|
||||
zend_bool retval = SUCCESS;
|
||||
|
||||
if (PS(nr_open_sessions) == 0) {
|
||||
php_error(E_WARNING, "Trying to destroy uninitialized session");
|
||||
return;
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (PS(mod)->destroy(&PS(mod_data), PS(id)) == FAILURE) {
|
||||
retval = FAILURE;
|
||||
php_error(E_WARNING, "Destroying the session object failed");
|
||||
}
|
||||
|
||||
php_rshutdown_session_globals(PSLS_C);
|
||||
php_rinit_session_globals(PSLS_C);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
@ -1224,13 +1230,17 @@ PHP_FUNCTION(session_start)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto void session_destroy(void)
|
||||
/* {{{ proto bool session_destroy(void)
|
||||
Destroy the current session and all data associated with it */
|
||||
PHP_FUNCTION(session_destroy)
|
||||
{
|
||||
PSLS_FETCH();
|
||||
|
||||
_php_session_destroy(PSLS_C);
|
||||
if (_php_session_destroy(PSLS_C) == SUCCESS) {
|
||||
RETURN_TRUE;
|
||||
} else {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user