Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.756.2.60
diff -u -r1.756.2.60 common.inc
--- includes/common.inc	21 Jul 2009 08:59:10 -0000	1.756.2.60
+++ includes/common.inc	5 Aug 2009 17:58:05 -0000
@@ -2632,9 +2632,9 @@
  * Returns TRUE if ran successfully
  */
 function drupal_cron_run() {
-  // If not in 'safe mode', increase the maximum execution time:
-  if (!ini_get('safe_mode')) {
-    set_time_limit(240);
+  // Try to allocate enough time to run all the hook_cron implementations.
+  if (function_exists('set_time_limit')) {
+    @set_time_limit($time_limit);
   }
 
   // Fetch the cron semaphore
Index: includes/locale.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/locale.inc,v
retrieving revision 1.174.2.9
diff -u -r1.174.2.9 locale.inc
--- includes/locale.inc	18 Jun 2009 12:50:33 -0000	1.174.2.9
+++ includes/locale.inc	5 Aug 2009 18:01:44 -0000
@@ -1018,9 +1018,9 @@
  *   Text group to import PO file into (eg. 'default' for interface translations)
  */
 function _locale_import_po($file, $langcode, $mode, $group = NULL) {
-  // If not in 'safe mode', increase the maximum execution time.
-  if (!ini_get('safe_mode')) {
-    set_time_limit(240);
+  // Try to allocate enough time to parse and import the data.
+  if (function_exists('set_time_limit')) {
+    @set_time_limit(240);
   }
 
   // Check if we have the language already in the database.
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.947.2.15
diff -u -r1.947.2.15 node.module
--- modules/node/node.module	16 Feb 2009 14:39:40 -0000	1.947.2.15
+++ modules/node/node.module	5 Aug 2009 17:58:17 -0000
@@ -2318,9 +2318,9 @@
       batch_set($batch);
     }
     else {
-      // If not in 'safe mode', increase the maximum execution time.
-      if (!ini_get('safe_mode')) {
-        set_time_limit(240);
+      // Try to allocate enough time to rebuild node grants
+      if (function_exists('set_time_limit')) {
+        @set_time_limit($time_limit);
       }
       $result = db_query("SELECT nid FROM {node}");
       while ($node = db_fetch_object($result)) {

