aboutsummaryrefslogtreecommitdiffstats
path: root/dns/dns_balance/files/patch-dns_balance.rb
diff options
context:
space:
mode:
authorAkinori MUSHA <knu@FreeBSD.org>2001-03-05 08:58:43 +0000
committerAkinori MUSHA <knu@FreeBSD.org>2001-03-05 08:58:43 +0000
commit274812f3fe38b8ce4d8fb0ded275f156113c8730 (patch)
treee7f0bacb494bbb61a73f26c7d1f6ac6a46d84e3b /dns/dns_balance/files/patch-dns_balance.rb
parentef9a3858956118fbfdcc5451ef2ae2274804ffe5 (diff)
Add dns_balance, a dynamic load-balancing DNS server.
Diffstat (limited to 'dns/dns_balance/files/patch-dns_balance.rb')
-rw-r--r--dns/dns_balance/files/patch-dns_balance.rb62
1 files changed, 62 insertions, 0 deletions
diff --git a/dns/dns_balance/files/patch-dns_balance.rb b/dns/dns_balance/files/patch-dns_balance.rb
new file mode 100644
index 000000000000..f23d043f24eb
--- /dev/null
+++ b/dns/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
+