Executes registered shutdown functions.
function _drupal_shutdown_function() {
$callbacks =& drupal_register_shutdown_function();
// Set the CWD to DRUPAL_ROOT as it is not guaranteed to be the same as it
// was in the normal context of execution.
chdir(DRUPAL_ROOT);
try {
while (list($key, $callback) = each($callbacks)) {
call_user_func_array($callback['callback'], $callback['arguments']);
}
} catch (Exception $exception) {
// If we are displaying errors, then do so with no possibility of a further
// uncaught exception being thrown.
require_once DRUPAL_ROOT . '/core/includes/errors.inc';
if (error_displayable()) {
print '<h1>Uncaught exception thrown in shutdown function.</h1>';
print '<p>' . _drupal_render_exception_safe($exception) . '</p><hr />';
}
error_log($exception);
}
}