diff options
Diffstat (limited to 'lib/yahns/worker.rb')
-rw-r--r-- | lib/yahns/worker.rb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/yahns/worker.rb b/lib/yahns/worker.rb index d6e7364..aceaf4e 100644 --- a/lib/yahns/worker.rb +++ b/lib/yahns/worker.rb @@ -24,17 +24,17 @@ class Yahns::Worker # :nodoc: # dies unexpectedly. def yahns_step case buf = @to_io.kgio_tryread(4) - when String - # unpack the buffer and trigger the signal handler - signum = buf.unpack('l') - fake_sig(signum[0]) - # keep looping, more signals may be queued when nil # EOF: master died, but we are at a safe place to exit fake_sig(:QUIT) @to_io.close return :ignore when :wait_readable # keep waiting return :ignore + else # String + # unpack the buffer and trigger the signal handler + signum = buf.unpack('l') + fake_sig(signum[0]) + # keep looping, more signals may be queued end while true # loop, as multiple signals may be sent end |