From 30fa81a763d5624437cb066d555ea1c1880de394 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Wed, 14 Oct 2009 10:59:15 +0000
Subject: [PATCH] - Patch #602306 by David Strauss, Damien Tournoud: Fixed bug
 in the default queue implementation.

---
 modules/system/system.queue.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/system/system.queue.inc b/modules/system/system.queue.inc
index c384f581de96..3e2979be1e3b 100644
--- a/modules/system/system.queue.inc
+++ b/modules/system/system.queue.inc
@@ -198,7 +198,7 @@ public function claimItem($lease_time = 30) {
     // until an item is successfully claimed or we are reasonably sure there
     // are no unclaimed items left.
     while (TRUE) {
-      $item = db_query_range('SELECT data, item_id FROM {queue} q WHERE name = :name ORDER BY created ASC', 0, 1, array(':name' => $this->name))->fetchObject();
+      $item = db_query_range('SELECT data, item_id FROM {queue} q WHERE expire = 0 AND name = :name ORDER BY created ASC', 0, 1, array(':name' => $this->name))->fetchObject();
       if ($item) {
         // Try to update the item. Only one thread can succeed in UPDATEing the
         // same row. We cannot rely on REQUEST_TIME because items might be
-- 
GitLab