Index: modules/system/system.queue.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.queue.inc,v
retrieving revision 1.7
diff -u -p -r1.7 system.queue.inc
--- modules/system/system.queue.inc	31 Oct 2009 13:53:48 -0000	1.7
+++ modules/system/system.queue.inc	15 Dec 2009 07:18:32 -0000
@@ -136,6 +136,15 @@ interface DrupalQueueInterface {
   public function deleteItem($item);
 
   /**
+   * Release an item that the worker could not process, so another
+   * worker can come in and process it before the timeout expires.
+   *
+   * @param $item
+   * @return boolean
+   */
+  public function releaseItem($item);
+
+  /**
    * Create a queue.
    *
    * Called during installation and should be used to perform any necessary
@@ -216,6 +225,15 @@ class SystemQueue implements DrupalQueue
     }
   }
 
+  public function releaseItem($item) {
+    $update = db_update('queue')
+      ->fields(array(
+        'expire' => 0,
+      ))
+      ->condition('item_id', $item->item_id);
+      return $update->execute();
+  }
+
   public function deleteItem($item) {
     db_delete('queue')
       ->condition('item_id', $item->item_id)
