local cqueues = require'cqueues' local condition = require'cqueues.condition' local cv = condition.new() local function task1() while true do print('1 top') cv:wait() print('1 waited') end end local function task2() while true do print('2 top') cv:signal() print('2 signalled') cqueues.poll() end end local cq = cqueues.new() cq:wrap(task1) cq:wrap(task2) print(cq:loop())