lib/einhorn/command.rb in einhorn-0.7.3 vs lib/einhorn/command.rb in einhorn-0.7.4
- old
+ new
@@ -38,10 +38,12 @@
end
case type = spec[:type]
when :worker
Einhorn.log_info("===> Exited worker #{pid.inspect}#{extra}", :upgrade)
+ when :state_passer
+ Einhorn.log_debug("===> Exited state passing process #{pid.inspect}", :upgrade)
else
Einhorn.log_error("===> Exited process #{pid.inspect} has unrecgonized type #{type.inspect}: #{spec.inspect}", :upgrade)
end
end
@@ -216,9 +218,10 @@
# Spawn a child to pass the state through the pipe
read, write = Einhorn::Compat.pipe
fork do
Einhorn::TransientState.whatami = :state_passer
+ Einhorn::State.children[Process.pid] = {type: :state_passer}
Einhorn::State.generation += 1
read.close
begin
write.write(YAML.dump(dumpable_state))