about summary refs log tree commit homepage
path: root/lib/yahns/worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yahns/worker.rb')
-rw-r--r--lib/yahns/worker.rb10
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