Make threads and coroutines interruptible in arbitrary multi-threading scenarios
$ luarocks install mtint
This package provides a way to make arbitrary Lua interpreter states (i.e. main
states and couroutines) interruptible from concurrently running threads.
The implementation is independent from the underlying threading
library (e.g. Lanes or lua-llthreads2).
The general principle is to interrupt a Lua state by installing a debug hook
that triggers an error. This can be useful for applications with interactive user
interface when a user wants to abort a long running background task or a user
supplied script that is stuck in an infinite loop.