Catch session already closed exception in destructor

This commit is contained in:
Victor Dubiniuk 2017-04-12 21:25:22 +03:00 committed by Joas Schilling
parent 8ef25a7628
commit 131df248ef
No known key found for this signature in database
GPG Key ID: E166FD8976B3BAC8
2 changed files with 7 additions and 2 deletions

View File

@ -64,7 +64,12 @@ class CryptoSessionData implements \ArrayAccess, ISession {
* Close session if class gets destructed
*/
public function __destruct() {
$this->close();
try {
$this->close();
} catch (SessionNotAvailableException $e){
// This exception can occur if session is already closed
// So it is safe to ignore it and let the garbage collector to proceed
}
}
protected function initializeSession() {

View File

@ -151,7 +151,7 @@ class Internal extends Session {
*/
private function validateSession() {
if ($this->sessionClosed) {
throw new \Exception('Session has been closed - no further changes to the session are allowed');
throw new SessionNotAvailableException('Session has been closed - no further changes to the session are allowed');
}
}
}