lib/zeus/server/acceptor.rb in zeus-0.2.4 vs lib/zeus/server/acceptor.rb in zeus-0.2.5
- old
+ new
@@ -7,20 +7,18 @@
class Acceptor
attr_accessor :name, :aliases, :description, :action
def initialize(server)
@server = server
- @client_handler = server.client_handler
- @registration_monitor = server.acceptor_registration_monitor
end
def register_with_client_handler(pid)
@s_client_handler, @s_acceptor = UNIXSocket.pair
@s_acceptor.puts registration_data(pid)
- @registration_monitor.acceptor_registration_socket.send_io(@s_client_handler)
+ @server.__CHILD__register_acceptor(@s_client_handler)
end
def registration_data(pid)
{type: 'registration', pid: pid, commands: [name, *aliases], description: description}.to_json
end
@@ -56,21 +54,21 @@
$0 = "zeus acceptor: #{@name}"
pid = Process.pid
register_with_client_handler(pid)
- @server.w_pid "#{pid}:#{Process.ppid}"
+ @server.__CHILD__pid_has_ppid(pid, Process.ppid)
Zeus.ui.as_zeus "starting acceptor `#{@name}`"
trap("INT") {
Zeus.ui.as_zeus "killing acceptor `#{@name}`"
exit 0
}
# Apparently threads don't continue in forks.
Thread.new {
$LOADED_FEATURES.each do |f|
- @server.w_feature "#{pid}:#{f}"
+ @server.__CHILD__pid_has_feature(pid, f)
end
}
loop do
prefork_action!