According to the documentation, coroutine should run the subroutine in a separate thread, but this does not happen:
function test() while true do --nothing end end co = coroutine.create(test) print("STARTED") coroutine.resume(co) print("FINISHED") I expect to get on the output of the line "STARTED" and "FINISHED", and I get only "STARTED"! The test function, launched via coroutine, continues to block the general thread.