]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Fix logging to use class variable to avoid multiple file opens
authorAki Tuomi <cmouse@desteem.org>
Wed, 28 May 2014 07:36:46 +0000 (10:36 +0300)
committerAki Tuomi <cmouse@desteem.org>
Wed, 28 May 2014 07:36:46 +0000 (10:36 +0300)
modules/remotebackend/regression-tests/dnsbackend.rb

index 35de50207ffce44629d0094cc92145c21f9b6f56..0278dd2705fe8e0109e2b189dd3ea4ebb0334b09 100644 (file)
@@ -5,8 +5,11 @@ class DNSBackendHandler < WEBrick::HTTPServlet::AbstractServlet
    def initialize(server, dnsbackend)
      @dnsbackend = dnsbackend
      @semaphore = Mutex.new
-     @f = File.open("/tmp/remotebackend.txt.#{$$}","a")
-     @f.sync
+     unless defined? @@f
+       @@f = File.open("/tmp/remotebackend.txt.#{$$}","a")
+       @@f.sync
+     end
+     @dnsbackend.do_initialize({})
    end
 
    def parse_arrays(params)
@@ -103,7 +106,7 @@ class DNSBackendHandler < WEBrick::HTTPServlet::AbstractServlet
 
      args = parse_arrays args
  
-     @f.puts "#{Time.now.to_f} [http]: #{({:method=>method,:parameters=>args}).to_json}"
+     @@f.puts "#{Time.now.to_f} [http]: #{({:method=>method,:parameters=>args}).to_json}"
 
      @semaphore.synchronize do
        if @dnsbackend.respond_to?(method.to_sym)
@@ -117,7 +120,7 @@ class DNSBackendHandler < WEBrick::HTTPServlet::AbstractServlet
          res["Content-Type"] = "application/javascript; charset=utf-8"
          res.body = ({:result => false, :log => ["Method not found"]}).to_json
        end
-       @f.puts "#{Time.now.to_f} [http]: #{res.body}" 
+       @@f.puts "#{Time.now.to_f} [http]: #{res.body}" 
      end
    end