? 286263-disabled_redirects_idea.patch ? sites/default/files ? sites/default/private ? sites/default/settings.php Index: cron.php =================================================================== RCS file: /cvs/drupal/drupal/cron.php,v retrieving revision 1.42 diff -u -p -r1.42 cron.php --- cron.php 8 Feb 2009 20:27:51 -0000 1.42 +++ cron.php 30 Oct 2009 02:44:16 -0000 @@ -13,7 +13,9 @@ define('DRUPAL_ROOT', getcwd()); include_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); + if (isset($_GET['cron_key']) && variable_get('cron_key', 'drupal') == $_GET['cron_key']) { + drupal_static('drupal_goto_disabled', 'Cron is running'); drupal_cron_run(); } else { Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.1031 diff -u -p -r1.1031 common.inc --- includes/common.inc 27 Oct 2009 19:29:12 -0000 1.1031 +++ includes/common.inc 30 Oct 2009 02:44:19 -0000 @@ -653,6 +653,11 @@ function drupal_goto($path = '', array $ drupal_alter('drupal_goto', $path, $options, $http_response_code); + if ($message = drupal_static('drupal_goto_disabled')) { + watchdog('system', 'Re-direction was aborted: %message.', array('%message' => $message), WATCHDOG_NOTICE); + return; + } + // The 'Location' HTTP header must be absolute. $options['absolute'] = TRUE; @@ -4332,7 +4337,7 @@ function drupal_page_set_cache() { function drupal_cron_run() { // Allow execution to continue even if the request gets canceled. @ignore_user_abort(TRUE); - + // Try to allocate enough time to run all the hook_cron implementations. drupal_set_time_limit(240);