summaryrefslogtreecommitdiff
path: root/queue.lua
diff options
context:
space:
mode:
Diffstat (limited to 'queue.lua')
-rw-r--r--queue.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/queue.lua b/queue.lua
index 303728e..8c9c373 100644
--- a/queue.lua
+++ b/queue.lua
@@ -11,8 +11,12 @@ function Queue.make()
}, {__index=Queue})
end
-function Queue.enqueue(self, item)
+function Queue.enqueue(self, ...)
+ local item = table.pack(...)
table.insert(self.items, item)
+ if #self.items > 128 then
+ print('warning: queue is quite big')
+ end
self.cv:signal()
end
@@ -23,7 +27,7 @@ function Queue.iter(self)
local items = self.items
self.items = {} -- the old switcheroo
for _, item in ipairs(items) do
- coroutine.yield(item)
+ coroutine.yield(table.unpack(item, 1, item.n))
end
end
self.cv:wait()