diff --git a/lib/goru/reactor.rb b/lib/goru/reactor.rb index e44f6d4..4b9577c 100644 --- a/lib/goru/reactor.rb +++ b/lib/goru/reactor.rb @@ -105,7 +105,9 @@ def finished? # [public] # def wakeup - @selector.wakeup rescue IOError + @selector.wakeup + rescue IOError + # nothing to do end # [public] diff --git a/lib/goru/scheduler.rb b/lib/goru/scheduler.rb index 36acf89..bf5774a 100644 --- a/lib/goru/scheduler.rb +++ b/lib/goru/scheduler.rb @@ -85,7 +85,7 @@ def wait @waiting = true @reactors.each(&:wakeup) @selector.select while @waiting - rescue Interrupt + rescue IOError, Interrupt # nothing to do ensure stop @@ -110,7 +110,9 @@ def signal end def wakeup - @selector.wakeup rescue IOError + @selector.wakeup + rescue IOError + # nothing to do end end end