2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
|
# File 'lib/roby/app.rb', line 2437
def start_log_server(logfile, options = {})
require "roby/droby/logfile/server"
sampling_period = Float(options["sampling_period"] ||
DRoby::Logfile::Server::DEFAULT_SAMPLING_PERIOD)
tcp_server = TCPServer.new(Integer(options["port"] || 0))
server_flags = [
"--fd=#{tcp_server.fileno}",
"--sampling=#{sampling_period}",
logfile
]
redirect_flags = { tcp_server => tcp_server }
if options["debug"]
server_flags << "--debug"
elsif options["silent"]
redirect_flags[:out] = redirect_flags[:err] = "/dev/null"
end
@log_server_port = tcp_server.local_address.ip_port
@log_server_pid = Kernel.spawn(
Gem.ruby, File.join(Roby::BIN_DIR, "roby-display"),
"server", *server_flags, redirect_flags
)
ensure
tcp_server&.close
end
|