Closed Drakulix closed 8 years ago
Something went wrong and the hang seems real. I'm investigating if it was your patch, or previously unknown problem.
Travis failed without your patch. So something else, it seems.
I have answered all your comments. Once that travis build error is sorted out, I will push the name and comment changes to trigger a new build.
Travis hanged, looks like the existing issue yet to be fixed, so merged. Thanks!
This PR adds runtime configuration of catching panics.
When no catching is enabled, that panic is actually still catched, because coroutine-rs does execute the init_fn in a foreign function context, causing a SIGILL if a panic would occure. Instead the panic is then passed to the
mio::EventLoop
, where it is propageted to get a nice backtrace.Panic catching is configurable through the
Config
struct, but the actual flag is passed into each coroutine to be able to read it inside theCoroutine::spawned
function.Additionally sending the panic requires the
thread_id
to access the rightMio::Sender
, which was added toHandlerShared
.