File: 145-assertion-on-dead.lua

package info (click to toggle)
lua-cqueues 20161214-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,672 kB
  • ctags: 3,228
  • sloc: ansic: 20,232; sh: 2,959; makefile: 24
file content (21 lines) | stat: -rwxr-xr-x 486 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
_=[[
	. "${0%%/*}/regress.sh"
	exec runlua "$0" "$@"
]]
require"regress".export".*"

local co = coroutine.create(function()
	coroutine.yield()
end)
coroutine.resume(co) -- kick off coroutine
coroutine.resume(co) -- resume a yield with no arguments

local status = coroutine.status(co)
check(status == "dead", "expected dead coroutine (got %q)", status)

local cq = require"cqueues".new()
cq:attach(co)
cq:step() -- previously would trigger C assert and abort process

say"OK"