digital-fabric / libev_scheduler

A libev-based fiber scheduler for Ruby 3.0
MIT License
34 stars 3 forks source link

Support Fiber#raise #2

Closed wjordan closed 3 years ago

wjordan commented 3 years ago

Add support for Fiber#raise by rescuing exceptions during the calls to rb_fiber_yield. This allows the two added tests (and one un-skipped test) to pass without hanging.

The code change to Scheduler_io_wait conflicts with the fix in #1 so I've left that commit in this PR as well.