diff options
Diffstat (limited to 'net/dns_balance/files/patch-dns_balance.rb')
-rw-r--r-- | net/dns_balance/files/patch-dns_balance.rb | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/net/dns_balance/files/patch-dns_balance.rb b/net/dns_balance/files/patch-dns_balance.rb new file mode 100644 index 00000000000..f23d043f24e --- /dev/null +++ b/net/dns_balance/files/patch-dns_balance.rb @@ -0,0 +1,62 @@ +--- dns_balance.rb.orig Fri Dec 22 12:46:39 2000 ++++ dns_balance.rb Mon Mar 5 16:59:36 2001 +@@ -10,6 +10,8 @@ + require 'thread' + require 'getopts' + ++$:.unshift "!!PREFIX!!/etc/dns_balance", "!!PREFIX!!/lib/dns_balance" ++ + require 'datatype.rb' + require 'log_writer.rb' + require 'util.rb' +@@ -138,9 +140,10 @@ + end + + def usage() +- print "Usage: ruby dns_balance.rb [-lh] [-i ipaddr]\n" +- print " -l print log to stdout\n" ++ print "Usage: dns_balance [-h] [-i ipaddr] [-l logfile] [-p pidfile]\n" ++ print " -l logfile print log to logfile\n" + print " -i ipaddr listen IP address (default:0.0.0.0)\n" ++ print " -p pidfile record PID in pidfile\n" + print " -h help message\n" + exit(111) + end +@@ -149,9 +152,36 @@ + # main + + srand() +-getopts("lh", "i:0.0.0.0") ++getopts("h", "i:0.0.0.0", 'l:', 'p:') + + usage() if $OPT_h ++ ++exit! if fork ++Process::setsid ++exit! if fork ++STDIN.close ++STDOUT.close ++STDERR.close ++ ++$pidfile = nil ++if $OPT_p ++ $pidfile = $OPT_p ++ File::open($pidfile, 'w') { |f| f.puts $$ } ++end ++ ++$logout = nil ++if $OPT_l ++ $logout = File::open($OPT_l, 'a+') ++ $logout.sync = true ++end ++ ++[0, 2, 3, 5, 10, 13, 15].each do |sig| ++ trap(sig) { ++ File::unlink($pidfile) if $pidfile ++ $logout.close if $logout ++ exit ++ } ++end + + put_log("start\n") if $OPT_l + |