lib/celluloid/group.rb in celluloid-0.8.0 vs lib/celluloid/group.rb in celluloid-0.9.0
- old
+ new
@@ -50,9 +50,12 @@
# Restart a crashed supervisor
def restart_supervisor(supervisor, reason)
supervisable = @supervisors.delete supervisor
raise "a supervisable went missing. This shouldn't be!" unless supervisable
+ # Ignore supervisors that shut down cleanly
+ return unless reason
+
supervisor = supervisable.supervise
@supervisors[supervisor] = supervisable
end
# A subcomponent of an application to be supervised