diff --git a/lib/dcell/server.rb b/lib/dcell/server.rb index 1ccdb1c..03dcba3 100644 --- a/lib/dcell/server.rb +++ b/lib/dcell/server.rb @@ -29,10 +29,12 @@ def handle_message(message) return end - begin - message.dispatch - rescue => ex - Logger.crash("message dispatch failed", ex) + Celluloid::Future.new do + begin + message.dispatch + rescue => ex + Logger.crash("message dispatch failed", ex) + end end end @@ -72,7 +74,7 @@ def initialize(cell) # Wait for incoming 0MQ messages def run while true - async.handle_message @socket.read + handle_message @socket.read end end end