class Servolux::Daemon

def run_startup_command

def run_startup_command
  after_fork.call if after_fork.respond_to? :call
  case startup_command
  when String; exec(startup_command)
  when Array; exec(*startup_command)
  when Proc, Method; startup_command.call
  when ::Servolux::Server; startup_command.startup
  else
    raise Error, "Unrecognized startup command #{startup_command.inspect}"
  end
rescue Exception => err
  unless err.is_a?(SystemExit)
    logger.fatal err
    @piper.puts err
  end
ensure
  @piper.close
end