3 # The God::Server oversees the DRb server which dishes out info on this God daemon.
10 def self.socket_file(port)
11 "/tmp/god.#{port}.sock"
15 "drbunix://#{self.socket_file(port)}"
19 self.class.socket_file(@port)
23 self.class.socket(@port)
26 def initialize(port = nil)
35 def method_missing(*args, &block)
36 God.send(*args, &block)
43 @drb ||= DRb.start_service(self.socket, self)
44 applog(nil, :info, "Started on #{DRb.uri}")
45 rescue Errno::EADDRINUSE
47 server = DRbObject.new(nil, self.socket)
51 abort "Socket #{self.socket} already in use by another instance of god"
53 File.delete(self.socket_file) rescue nil
54 @drb ||= DRb.start_service(self.socket, self)