module IMP::Daemon

Public Instance Methods

listener() click to toggle source
# File lib/daemon/start.rb, line 17
def listener
  loop do
    Thread.new(@@server.accept) do |client|
      Handler.new(client)
    end
  rescue IOError
    close
    Handler.each do |hand|
      hand.close
    end
    break
  end
end
start(config) click to toggle source
# File lib/daemon/start.rb, line 6
def start config
  socket = TCPServer.new(PORT)
  fork do
    @@server = socket
    Signal.trap("EXIT") { close }
    Process.daemon
    listener
  end
  socket.close
end
stop() click to toggle source
# File lib/daemon/stop.rb, line 4
def stop
  @@server&.close
end