# File lib/em/pool.rb, line 139 def process work, resource deferrable = work.call resource if deferrable.kind_of?(EM::Deferrable) completion deferrable, resource else raise ArgumentError, "deferrable expected from work" end rescue Exception failure resource raise end