improved error check on shutdown

This commit is contained in:
Steffen Schröder 2014-05-03 22:26:49 +02:00
parent 334892c287
commit ca7d5863bf
2 changed files with 15 additions and 9 deletions

View File

@ -111,9 +111,9 @@ class ErrorHandler {
}
/**
* Triggers a Debug Notice to the ManiaControl Website
* Trigger a Debug Notice to the ManiaControl Website
*
* @param $message
* @param string $message
*/
public function triggerDebugNotice($message) {
$this->handleError(self::MC_DEBUG_NOTICE, $message);
@ -122,10 +122,10 @@ class ErrorHandler {
/**
* Error Handler
*
* @param int $errorNumber
* @param int $errorNumber
* @param string $errorString
* @param string $errorFile
* @param int $errorLine
* @param int $errorLine
* @return bool
*/
public function handleError($errorNumber, $errorString, $errorFile = null, $errorLine = -1) {
@ -263,4 +263,14 @@ class ErrorHandler {
private function shouldStopExecution($errorNumber) {
return ($errorNumber === E_ERROR || $errorNumber === E_USER_ERROR || $errorNumber === E_FATAL);
}
/**
* Check if the Shutdown was caused by a Fatal Error and report it
*/
public function handleShutdown() {
$error = error_get_last();
if ($error && ($error['type'] & E_FATAL)) {
$this->handleError($error['type'], $error['message'], $error['file'], $error['line']);
}
}
}

View File

@ -302,11 +302,7 @@ class ManiaControl implements CommandListener, TimerListener {
}
}
// Check and Trigger Fatal Errors
$error = error_get_last();
if ($error && ($error['type'] & E_FATAL)) {
$this->errorHandler->handleError($error['type'], $error['message'], $error['file'], $error['line']);
}
$this->errorHandler->handleShutdown();
// Disable Garbage Collector
$this->collectGarbage();